這個問題以前自己也遇到過,今天看到論壇上有朋友在問,inthirties 老大給了個連結,看了看覺得不錯,轉過來學習學習。
===============================================================================
網絡斷掉,不能啟動DBConsole服務的解決
這個問題有不少剛剛接觸的Oracle 10g的XDJM都遇到過,我在筆記本上也遇到過,本來DBConsole是可以用的,但是一旦筆記本是使用無線網卡連網的,是以有時候出去的時候沒有接上wifi的話,也會出現同樣的狀況。
錯誤狀況:
Window平台
以前的DBConsole是可以啟動的,但是拔掉網絡啟動OracleDBConsoleXXX服務,服務啟動不了。
錯誤排查:
先設定window環境變量 ORACLE_SID=資料庫SID
打開cmd
輸入 emctl start dbconsole
将會有錯誤資訊提示,如果沒有設定ORACLE_SID 則提示
Environment variable ORACLE_SID not defined. Please define it.
如果已經設定了ORACLE_SID 則錯誤提示為
oc4j configration issue.D:oracleproduct10.1.0db_1 oc4jj2eeOC4J_DBConsole_localhost_java not found.
其中D:oracleproduct10.1.0db_1為你自己機器中ORacle10g的home目錄
這個資訊非常的重要,也是服務起不來的根本原因
DBConsole是一個java的web application,在建立dbconsole的時候,我們會根據機器以及Oracle的資訊建立repos,這個repos就是存放DBConsole的配置資訊的倉庫,由于機器斷網,會把機器的名字映射為localhost,而建庫的時候是預設用的是機器名,是以這時候兩個目錄不比對了,DBConsole找不到配置倉庫的目錄也就出錯了。
解決方案,
解決方案有兩種,一種是比較正式的
通過emca重建立立repos
指令如下
emca -config dbcontrol db -repos recreate
方法二是自己實驗出來的,并不是一個正式的方法,但是比上一種方法簡單,易于操作。
資訊提示裡找不到一個目錄D:oracleproduct10.1.0db_1 oc4jj2eeOC4J_DBConsole_localhost_java, 到這個資訊提示的上一層目錄裡一看,可以看到有個類似的目錄, 形如OC4J_DBConsole_janes _java, 這裡janes是我的機器名,把這個目錄copy到目前目錄下,改成資訊提示裡沒有找到的目錄名,比如 我這裡就改成D:oracleproduct10.1.0db_1 oc4jj2eeOC4J_DBConsole_localhost _java
同時來到D:oracleproduct10.1.0db_1 目錄下,可以找到一個名字形如janes _ORCL的目錄,
注意janes _ORCL 這裡的janes是我的機器名,ORCL是我這裡ORacle的SID,你可以根據你的具體情況,來找到類似的目錄, 同樣在目前copy到目前目錄,并改名為localhost _ORCL.
還有第三方法,不過沒有試過
有出現這樣問題的幫着試試 set ORACLE_HOSTNAME=localhost
然後通過emctl start dbconsole或者服務裡的ORacleDBConsoleXXXX的服務就可以啟動了。
本文來自CSDN部落格,轉載請标明出處:http://blog.csdn.net/inthirties/archive/2009/08/20/4464583.aspx