Oracle 10g Database Control (OEM) 對主機名、IP、時區極度敏感,網路環境變更(筆電切換網路、重啟、DHCP 換 IP)極易導致啟動失敗或頁面報錯。
現象:emctl start dbconsole 顯示的 URL IP 與當前不符,或直接報錯。
根因:OEM 儲存庫記錄安裝時的主機名/IP,啟動時讀取此值而非動態解析。
最簡修復:編輯 $ORACLE_HOME/bin/emctl (Linux) 或 emctl.bat (Windows),在 setlocal 後加入:
set ORACLE_SID=YOUR_SID
set ORACLE_HOSTNAME=INSTALL_HOSTNAME # 安裝時的主機名,可查 $ORACLE_HOME/hostname_sid 目錄名
此法強制 OEM 使用固定主機名,免受網路變更影響,避免重建儲存庫的漫長過程。
java.lang.Exception: Exception in sending Request :: null根因:Agent 時區設定與資料庫/作業系統不一致。
修復:
emctl stop dbconsole$ORACLE_HOME/hostname_sid/sysman/config/emd.propertiesagentTZRegion=GMT 改為 agentTZRegion=Asia/Shanghai(或查 $ORACLE_HOME/sysman/admin/supportedtzs.lst 選最近時區)emctl start dbconsole時區修改後仍報此錯,需手動同步 Agent 時區至儲存庫:
set ORACLE_SID=yourdbsid
emctl stop dbconsole
emctl config agent getTZ
emctl start dbconsole
/etc/hosts、靜態 IP)。emctl config emkey -repos -sysman_pwd xxx 重新配置。掌握 ORACLE_HOSTNAME 與 agentTZRegion 兩大關鍵參數,OEM 遷移與環境變更不再頭痛。