重裝了筆記本上的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-