在windows 操作系統下安裝oracle 9i時會安裝很多服務——并且其中一些配置為在windows 啟動時啟動。在oracle 運行在windows 下時,它會消耗很多資源,并且有些服務可能我們并不總是需要。你會發現不使用windows 圖形界面就可以快速、完全地關閉數據庫會很有用。
只要擁有管理員權限就可以通過net start 啟動一個服務,或者通過net stop 命令停止一個服務,從而控制以下服務中的任何一個。在windows xp 中,可以通過在控制面板的服務中改變想要禁用的服務(oracleorahome...)的啟動類型(startup type)參數,雙擊某個服務查看其屬性,然后將啟動類型屬性從自動改為手動。
使數據庫在本地工作唯一需要運行的服務是oracleserviceorcl 服務(其中orcl 是sid)。這個服務會自動地啟動和停止數據庫(使用shutdown 中斷)。如果安裝了一個數據庫,它的缺省啟動類型為自動。如果主要是訪問一個遠程數據庫,那么可以把啟動類型由自動改為手動。
oracleorahome92httpserver 服務(orahome92 是oracle home 的名稱)是在安裝oracle 時自動安裝的apache 服務器。一般情況下我們只用它來訪問oracle apache 目錄下的web 頁面,比如說jsp 或者modplsql 頁面。
oracleorahome92tnslistener 服務只有在數據庫需要遠程訪問時才需要(無論是通過另外一臺主機還是在本地通過 sql*net 網絡協議都屬于遠程訪問)。不用這個服務就可以訪問本地數據庫。
oracleorahome92clientcache 服務緩存用于連接遠程數據庫的oracle names 數據。正常情況下該服務的啟動類型是配置為手動的。然而,除非有一臺oracle names 服務器,否則沒有必要運行這個服務。
有四個服務是oracle 企業管理器所必須的(oracle enterprise manager),這個服務分別為:oracleorahome92agent(智能代理),該服務監視數據庫和企業管理器請求,缺省啟動類型為自動。oracleorahome92snmppeerencapsulator 和oracleorahome92snmppeermasteragent,處理安全網絡管理協議服務。oracleorahome92pagingserver 通過一個使用調制解調器的數字傳呼機或者電子郵件發出警告。
oraclemtsrecoveryservice 是可選的,該服務允許數據庫充當一個微軟事務服務器、com/com+對象和分布式環境下的事務的資源管理器。
如果只是偶爾使用一下數據庫,那么可以創建一個簡單的腳本任務來啟動和關閉服務器,這樣每次只要雙擊腳本就可以了,可以不使用圖形界面。
1. 保存一個快捷方式自動地裝載這些文件。
2. 將oracle 服務設為手動避免在windows 啟動時啟動。
rem "dbstart.cmd" @echo off set orahome="orahome92" set orasid="orcl" net start oracleservice%orasid% rem net start oracle%orahome%httpserver rem net start oracle%orahome%tnslistener rem net start oracle%orahome%clientcache rem net start oracle%orahome%agent rem net start oracle%orahome%snmppeerencapsulator rem net start oracle%orahome%snmppeermasteragent rem net start oracle%orahome%pagingserver rem net start oraclemtsrecoverservice rem "dbshut.cmd" @echo off set orahome="orahome92" set orasid="orcl" net stop oracleservice%orasid% rem net stop oracle%orahome%httpserver rem net stop oracle%orahome%tnslistener rem net stop oracle%orahome%clientcache rem net stop oracle%orahome%agent rem net stop oracle%orahome%snmppeerencapsulator rem net stop oracle%orahome%snmppeermasteragent rem net stop oracle%orahome%pagingserver rem net stop oraclemtsrecoverservice |