Oracle服務 一鍵開啓關閉腳本

 

因爲oracle 服務器佔用資源比較大,所以 最好是需要的時候打開,不用的時候自動不啓動

爲此參照網上的教程寫了下面的腳本

 

配置服務爲手動.bat

sc config OracleRemExecServiceV2 start= DEMAND

sc config OracleOraDB12Home1TNSListener start= DEMAND

sc config OracleServiceORCL start= DEMAND

sc config OracleJobSchedulerORCL start= DEMAND

sc config OracleVssWriterORCL start= DEMAND

sc config OracleOraDB12Home1MTSRecoveryService start= DEMAND

 

一鍵啓停oracle服務器.bat

@echo Restore The Service Start State Saved At 14:32:04.85 2022/02/24 週四

@echo off

title Oracle服務管理

cls

color 2f

goto MENU

:MENU

cls

@echo. =-=-=-=-=Oracle服務管理=-=-=-=-=

@echo.

@echo. 1 開啓服務

@echo.

@echo. 2 關閉服務

@echo.

@echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

@echo. 請輸入選擇項目的序號:

set /p ID=

if "%id%"=="1" goto cmd1

if "%id%"=="2" goto cmd2

@echo 請輸入正確序號!&ping -n 2 127.1>nul&goto MENU

:cmd1

@echo 開啓Oracle服務中...

net Start OracleRemExecServiceV2

net Start OracleOraDB12Home1TNSListener

net Start OracleServiceORCL

net Start OracleJobSchedulerORCL

net Start OracleVssWriterORCL

net Start OracleOraDB12Home1MTSRecoveryService

@echo Oracle服務打開完成,按任意鍵退出...

@pause

exit

:cmd2

@echo 關閉Oracle服務中...

net stop OracleRemExecServiceV2

net stop OracleOraDB12Home1TNSListener

net stop OracleServiceORCL

net stop OracleJobSchedulerORCL

net stop OracleVssWriterORCL

net stop OracleOraDB12Home1MTSRecoveryService

@echo Oracle服務關閉完成,按任意鍵退出...

@pause

exit

 

但是 我因爲測試不同的oralce 服務器版本,上面的oracle服務名稱 每次會發生變化,然後還經常重裝系統,所以每次去修改 上面腳本中的服務名稱很麻煩

爲此 我又 寫了個腳本 來產生上面的腳本,可以適應任何的oralce服務器版本 比如10 ,11 ,10 免費版,oracle 12 ……..

 

產生oralce服務器一鍵啓停腳本.bat

echo.

 

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME1=oracle服務設置爲手動_%%j_%%k_%%l_%%m

for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME1=%FILENAME1%_%%j_%%k.bat

 

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME2=oracle服務一鍵啓停_%%j_%%k_%%l_%%m

for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME2=%FILENAME2%_%%j_%%k.bat

 

 

sc query type= service state= all| findstr /r /C:"SERVICE_NAME: Oracle" >tmpsrv.txt

 

echo Save Service Start State In %FILENAME1%

echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME1%"

 

echo Save Service Start State In %FILENAME2%

echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME2%"

 

echo @echo off >>"%FILENAME2%"

echo title Oracle服務管理 >>"%FILENAME2%"

echo cls >>"%FILENAME2%"

echo color 2f >>"%FILENAME2%"

echo goto MENU >>"%FILENAME2%"

echo :MENU >>"%FILENAME2%"

echo cls >>"%FILENAME2%"

echo @echo. =-=-=-=-=Oracle服務管理=-=-=-=-= >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 1 開啓服務 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 2 關閉服務 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >>"%FILENAME2%"

echo @echo. 請輸入選擇項目的序號: >>"%FILENAME2%"

echo set /p ID= >>"%FILENAME2%"

echo if "%%id%%"=="1" goto cmd1 >>"%FILENAME2%"

echo if "%%id%%"=="2" goto cmd2 >>"%FILENAME2%"

echo @echo 請輸入正確序號!^&ping -n 2 127.1^>nul^&goto MENU >>"%FILENAME2%"

 

echo :cmd1 >>"%FILENAME2%"

echo @echo 開啓Oracle服務中... >>"%FILENAME2%"

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo net Start %%j >>"%FILENAME2%")

echo @echo Oracle服務打開完成,按任意鍵退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

echo :cmd2 >>"%FILENAME2%"

echo @echo 關閉Oracle服務中... >>"%FILENAME2%"

 

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config %%j start= DEMAND >>"%FILENAME1%")

echo @pause >>"%FILENAME1%"

 

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo net stop %%j >>"%FILENAME2%")

echo @echo Oracle服務關閉完成,按任意鍵退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

del tmpsrv.txt

del tmpstype.txt

 

cd ..

cd bat

 

 

總結:懶是人類進步最大的動力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章