自從安裝了Oracle數據庫後,我電腦的運行速度滿了不少。爲此我想了一個辦法,讓我在不須要使用Oracle數據庫的時候,能夠輕鬆地關掉Oracle相關服務。數據庫
我安裝的Oracle版本爲Oracle11g,與Oracle有關的服務以下圖所示:函數
這些服務包括:工具
一、Oracle ORCL VSS Writer Service(手動啓動)測試
二、OracleDBConsoleorcl(自動啓動)code
三、OracleJobSchedulerORCL(禁用)圖片
四、OracleMTSRecoveryService(自動啓動)ip
五、OracleOraDb11g_home1ClrAgent(手動)文檔
六、OracleOraDb11g_home1TNSListener(自動啓動)get
七、OracleServiceORCL(自動啓動)it
其中,須要咱們用腳本關閉的服務,都是開機自啓動且當前已啓動的服務,一共有四個(二、四、六、7)。
咱們可使用WQL查出這四個服務,逐一關閉便可。
VBS腳本(StopServiceLikeOracle.vbs)以下:
Set ServiceSet = GetObject("winmgmts:"). _ ExecQuery("select * from Win32_Service where name like 'Oracle%' and started = true") For Each Service In ServiceSet WScript.Echo "Deal with service: " & Service.Name RetVal = Service.StopService() If RetVal = 0 Then WScript.Echo "Service stopped: " & Service.Name ElseIf RetVal = 5 Then WScript.Echo "Service already stopped: " & Service.Name Else WScript.Echo "Return value: " & RetVal End if Next
其中Service下的StopService函數返回值,能夠參閱MSDN文檔:
https://msdn.microsoft.com/en-us/library/aa393673%28v=vs.85%29.aspx
調用這個VBS腳本的BAT腳本以下:
call C:\Users\Tsybius\Desktop\StopServiceLikeOracle\StopServiceLikeOracle.vbs pause
注意要使用管理員身份調用此BAT腳本,不然會在關閉服務的時候觸發權限不足的錯誤。使用管理員身份調用BAT腳本時,裏面的VBS腳本地址,要寫絕對地址(或相對於System32目錄的相對地址)。
使用效果以下:
執行完畢後,能夠看到各服務都已中止(或在中止的過程當中,此時狀態列會顯示爲「中止」)
順便總結一下,在寫WQL查詢時,可使用Windows自帶的測試工具wbemtest.exe,步驟以下:
步驟1,在開始菜單中輸入wbemtest.exe,找到這個程序後打開改程序。
(限於圖片大小限制,上圖中省去了開始菜單中間大片的白色無內容區域)
步驟2,點擊【鏈接】按鈕,進入鏈接界面,再點擊【鏈接】
步驟3,鏈接成功後,點擊【查詢】按鈕,彈出查詢界面,在查詢界面中輸入查詢WQL語句,再點擊【應用】按鈕
步驟4,此時會彈出一個查詢結果頁面,顯示WQL語句的查詢結果
END