- 本文出自 “inthirties(三十而立) ”博客,轉載請務必註明作者和保留出處http://blog.csdn.net/inthirties/archive/2009/08/19/4464583.aspx
網 絡斷掉,不能啓動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:/oracle/product/10.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_localhost_java not found.
其中D:/oracle/product/10.1.0/db_1爲你自己機器中ORacle10g的home目錄
這個信息非常的重要,也是服務起不來的根本原因
DBConsole是一個java的web application,在建立dbconsole的時候,我們會根據機器以及Oracle的信息創建repos,這個repos就是存放 DBConsole的配置信息的倉庫,由於機器斷網,會把機器的名字映射爲localhost,而建庫的時候是默認用的是機器名,所以這時候兩個目錄不匹 配了,DBConsole找不到配置倉庫的目錄也就出錯了。
解決方案,
解決方案有兩種,一種是比較正式的
通過emca重新建立repos
命令如下
emca -config dbcontrol db -repos recreate
方法二是自己實驗出來的,並不是一個正式的方法,但是比上一種方法簡單,易於操作。
信息提示裏找不到一個目錄D:/oracle/product/10.1.0/db_1/oc4j/j2ee /OC4J_DBConsole_localhost_java, 到這個信息提示的上一層目錄裏一看,可以看到有個類似的目錄, 形如OC4J_DBConsole_janes_java, 這裏janes是我的機器名,把這個目錄copy到當前目錄下,改成信息提示裏沒有找到的目錄名,比如 我這裏就改成D:/oracle/product/10.1.0/db_1/oc4j/j2ee /OC4J_DBConsole_localhost_java
同時來到D:/oracle/product/10.1.0/db_1目錄下,可以找到一個名字形如janes_ORCL的目錄,
注意janes_ORCL 這裏的janes是我的機器名,ORCL是我這裏ORacle的SID,你可以根據你的具體情況,來找到類似的目錄, 同樣在當前copy到當前目錄,並改名爲localhost_ORCL.
還有第三方法,不過沒有試過
有出現這樣問題的幫着試試 set ORACLE_HOSTNAME=localhost
然後通過emctl start dbconsole或者服務裏的ORacleDBConsoleXXXX的服務就可以啓動了
錯誤狀況:
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:/oracle/product/10.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_localhost_java not found.
其中D:/oracle/product/10.1.0/db_1爲你自己機器中ORacle10g的home目錄
這個信息非常的重要,也是服務起不來的根本原因
DBConsole是一個java的web application,在建立dbconsole的時候,我們會根據機器以及Oracle的信息創建repos,這個repos就是存放 DBConsole的配置信息的倉庫,由於機器斷網,會把機器的名字映射爲localhost,而建庫的時候是默認用的是機器名,所以這時候兩個目錄不匹 配了,DBConsole找不到配置倉庫的目錄也就出錯了。
解決方案,
解決方案有兩種,一種是比較正式的
通過emca重新建立repos
命令如下
emca -config dbcontrol db -repos recreate
方法二是自己實驗出來的,並不是一個正式的方法,但是比上一種方法簡單,易於操作。
信息提示裏找不到一個目錄D:/oracle/product/10.1.0/db_1/oc4j/j2ee /OC4J_DBConsole_localhost_java, 到這個信息提示的上一層目錄裏一看,可以看到有個類似的目錄, 形如OC4J_DBConsole_janes_java, 這裏janes是我的機器名,把這個目錄copy到當前目錄下,改成信息提示裏沒有找到的目錄名,比如 我這裏就改成D:/oracle/product/10.1.0/db_1/oc4j/j2ee /OC4J_DBConsole_localhost_java
同時來到D:/oracle/product/10.1.0/db_1目錄下,可以找到一個名字形如janes_ORCL的目錄,
注意janes_ORCL 這裏的janes是我的機器名,ORCL是我這裏ORacle的SID,你可以根據你的具體情況,來找到類似的目錄, 同樣在當前copy到當前目錄,並改名爲localhost_ORCL.
還有第三方法,不過沒有試過
有出現這樣問題的幫着試試 set ORACLE_HOSTNAME=localhost
然後通過emctl start dbconsole或者服務裏的ORacleDBConsoleXXXX的服務就可以啓動了