Oracle 資料庫在 Windows 環境下以多項 Windows 服務的形式運行,每項服務負責特定功能。正確理解這些服務的角色、啟動類型與相關程式檔案,對於資料庫管理、效能調校與故障排除至關重要。本文將詳細梳理常見的 Oracle 服務元件,幫助 DBA 快速掌握核心架構。
這是資料庫實例的心臟。服務進程為 Oracle.exe,負責自動啟動與關閉資料庫。預設啟動類型為「自動」。關鍵檔案包括參數檔 init、警示日誌 ,管理工具為 SVRMGRL.exe 與 SQLPLUS.exe。若安裝了資料庫,此服務必須運行。
監聽器服務 (TNSLSNR.exe) 處理所有遠端連線請求,無論是跨主機還是本機透過 SQL*Net 協議連線均屬遠端存取。預設啟動類型為「自動」,預設通訊埠為 1521 與 1526。組態檔為 Listener.ora,日誌為 listener.log,控制工具為 LSNRCTL.exe。若無遠端存取需求,本地連線不需此服務。
服務進程 DBSNMP.exe 接收來自 Oracle Enterprise Manager (OEM) 控制台的任務與事件請求。僅在使用 OEM 管理資料庫時需要,預設啟動類型為「自動」。參數檔 snmp_rw.ora,日誌 nmi.log,控制工具 LSNRCTL.exe,預設埠 1748。
提供 OEM 中央管理功能的核心服務 (OMSNTSVR.exe),使用 OEM 時必須啟動,預設為「手動」啟動。日誌檔為 oms.nohup。
快取用於連接遠端資料庫的 Oracle Names 資料 (ONRSD.exe),預設「手動」啟動。除非環境中部署了 Oracle Names 伺服器,否則無需運行。組態檔 NAMES.ora,日誌 ONRSD.log,控制工具 NAMESCTL.exe。
提供集中命名解析服務 (NAMES.exe),僅當伺服器扮演 Names Server 角色時需要,預設「手動」。組態檔 NAMES.ora,日誌 NAMES.log,控制工具 NAMESCTL.exe,預設埠 1575。
CMADMIN.exe):管理服務,預設埠 1830,組態檔 CMAN.ora,日誌 CMADM_PID.trc,控制工具 CMCTL.exe。CMGW.exe):閘道服務,預設埠 1630,組態檔同為 CMAN.ora,日誌 CMAN_PID.trc。兩者均為「手動」啟動,僅在伺服器配置為 Connection Manager 時需要。
服務進程 VPPDC.exe,支援 Oracle Capacity Planner 與 Performance Manager。除非使用上述工具,否則無需啟動,預設「手動」。日誌 alert_dg.log,控制工具 vppcntl.exe。
提供 JSP、mod_plsql 等 Web 頁面存取 (apache.exe),預設埠 80,組態檔 httpd.conf。預設「手動」啟動,啟動後會接管 IIS 服務,僅在作為 HTTP 服務時需要。
透過調變解調器或 Email 發送警示 (PAGNTSRV.exe),預設「手動」,日誌 paging.log。
AGNTSVC.exe):支援 SNMP 網管軟體監控資料庫,預設埠 161,組態檔 MASTER.cfg。ENCSVC.exe):協議封裝轉換,預設埠 1161,組態檔 ENCAPS.cfg。兩者均為「手動」啟動,僅在部署 SNMP 監控方案時需要。
理解各服務的依賴關係與適用場景,可避免不必要的資源佔用。生產環境建議:核心服務 (資料庫、監聽器) 設為自動;管理、命名、連線管理器等依業務需求啟用;SNMP、HTTP、傳呼等邊緣服務按需手動啟動。定期檢查服務狀態與日誌,是維穩的關鍵。