重裝了筆記本上的oracle,安裝完成後,可以正常使用OEM控制台,但是登出後重新登入或者重啟系統後登入,或者筆記本使用網路環境發生了變化,都有可能遇到問題。這些遇到問題的解決辦法使用過,但是很久沒折騰就忘記了,今天把這些問題和解決方案記錄在此。
1、網路環境變化導致無法啟動
這個問題的現象是無法啟動OEM。使用命令列如下: 複製代碼 代碼如下:C:/Users/Administrator>set ORACLE_SID=TEST
C:/Users/Administrator>emctl stop dbconsol
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://IP:1158/em/console/aboutApplication
.....
這種現象遇到過多次,經常是在你電腦的網路環境(IP地址)發生變化之後,導致在啟動的時候oracle會根據你現在的IP地址構造OEM地址,而不是你當初安裝的那個IP。注意上面這個地方,http://IP:1158/em。
針對這個問題,當初我也根據google搜尋到的辦法重建OEM,但是這種方法還是比較繁瑣和漫長,而且往往會遇到莫名其妙的錯誤。
我使用最簡單的解決辦法是修改$ORACLE_HOME/BIN/emctl.bat檔案,開啟這個檔案,在檔案開頭或者合適位置(比如我的是在42行的setlocal之後)添加如下2行代碼: 複製代碼 代碼如下:set ORACLE_SID=TEST
set ORACLE_HOSTNAME=Laidye
注意,ORACLE_HOSTNAME要設定成你初始安裝時候oracle讀取和設定的名稱,在沒有網路環境下安裝oem的時候往往就是你的電腦名稱,具體可以查看$ORACLE_HOME/HOSTNAME_SID這個檔案夾。這樣,無論你使用的網路環境如何變化,都可以正常啟動OEM了。
2、登陸後頁面顯示報錯
2.1、 錯誤 java.lang.Exception: Exception in sending Request :: null
這個問題根本原因是時區設定的問題,解決辦法是修改設定檔的時區。
停掉OEM,然後開啟$ORACLE_HOME/HOSTNAME_SID/sysman/config/emd.properties,將最後一行
agentTZRegion=GMT
改成
agentTZRegion=Asia/Shanghai
具體時區名稱可以查看$ORACLE_HOME/sysman/admin/supportedtzs.lst或者通過資料查詢Select TZNAME From v$timezone_names;
一般情況下,這樣設定完成後重新啟動即可。可能還會遇到這錯誤:資料庫錯誤 Io 異常: Unknown host specified
2.2、資料庫錯誤 Io 異常: Unknown host specified
如果是遇到這個問題,那麼手動註冊配置下新配置的時區參數即可,使用如下命令: 複製代碼 代碼如下:set ORACLE_SID=youdbsid
emctl stop dbconsole
emctl config agent getTZ
emctl start dbconsol
-The End-