批次檔功能
- 自動檢測 Oracle 服務是否已啟動
- 未啟動則依序啟動 Listener 與 Instance 服務
- 已啟動則依序停止(可作為切換開關)
- 執行過程顏色提示,完成後暫停顯示結果
核心程式碼
@echo off
color 0B
:: 服務名稱請根據實際安裝修改
set LISTENER=OracleOraDb10g_home1TNSListener
set INSTANCE=OracleServiceORCL
net start > service.txt
find /i "service.txt" "%LISTENER%"
if errorlevel 1 goto start_svc
if errorlevel 0 goto stop_svc
:start_svc
net start %LISTENER%
net start %INSTANCE%
goto success
:stop_svc
net stop %LISTENER%
net stop %INSTANCE%
goto end
:success
echo 服務開啟成功,按任意鍵結束!
goto end
:end
del service.txt
pause > nul
進階擴充建議
- 使用
wmic 替代 net start 可精確判斷服務狀態 (RUNNING/STOPPED) 並支援遠端管理。
- 加入
sc config <svc> start= auto 確保服務為自動啟動。
- 整合至 Windows 排程工作,實現定時重啟或故障自動拉起。