解決OracleDBConsoleorcl不能啟動,報錯誤碼2
今天來公司啟動電腦,到登陸介面,電腦報有個服務啟動失敗,我的電腦沒有新裝軟體,週六還沒有問題,怎麼突然報這個錯誤?於是到事件檢視器中看看什麼問題,顯示是OracleDBConsoleorcl啟動失敗,到服務裡一看,確實沒有啟動.手動啟動一下,報錯誤碼2
我裝的是10g,於是到ORACLE/product/10.2.0/db_1/test_orcl/sysman/log目錄看一下log裡寫了什麼,開啟OracleDBConsoleorclsrvc.log.
log最後記錄的是:
-------------- [OracleDBConsoleorcl] ------------
EMDROOT=c:/oracle/product/10.2.0/db_1
ORACLE_HOME=c:/oracle/product/10.2.0/db_1
EMDSTATE=c:/oracle/product/10.2.0/db_1/wangzh_orcl
CONSOLE_CFG=dbconsole
TRACE_LEVEL=16
TIMEOUT=15
12/10/07 10:56:03 Start pending...
12/10/07 10:56:03 Verifying dbconsole is not started already. Command line "c:/oracle/product/10.2.0/db_1/bin/emctl.bat" istatus dbconsole
12/10/07 10:56:04 dbconsole launch commandline is "c:/oracle/product/10.2.0/db_1/bin/emctl.bat" istart dbconsole
12/10/07 10:56:04 Tracking process launch...
12/10/07 10:56:34 dbconsole exited with retCode 2.
12/10/07 10:56:34 Check c:/oracle/product/10.2.0/db_1/test_orcl/sysman/log/emdbconsole.nohup for details
日誌讓看emdbconsole.nohup檔案,目錄裡沒有這個檔案呀.
手動執行一下emctl.bat,於是啟動控制檯,執行emctl.bat istart dbconsole,報錯,ORACLE_SID沒有定義,開啟emctl.bat看看,這裡是定義環境變數的地方,其中已經設定了這些:
if not defined REMOTE_EMDROOT (set ORACLE_HOME=Ec:/oracle/product/10.2.0/db_1)
if not defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)
if defined REMOTE_EMDROOT (set ORACLE_HOME=%REMOTE_EMDROOT%)
if defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)
if defined REMOTE_EMDROOT (set LOCAL_EMDROOT=c:/oracle/product/10.2.0/db_1)
......
後邊還有一條設定:
if not defined DBCONSOLE_SERVICE_NAME (set DBCONSOLE_SERVICE_NAME=OracleDBConsole%ORACLE_SID%),用到了ORACLE_SID,但沒有看到前面設定,只能手動設定ORACLE_SID試試,於是加了一條設定:
if defined REMOTE_EMDROOT (set ORACLE_SID=orcl) orcl是我的資料庫例項名
到服務中啟動OracleDBConsoleorcl,ok,沒有報錯;
重新啟動計算機,也沒有報錯,OracleDBConsoleorcl服務也啟動了。