OracleDBConsole服務不能啓動原因與解決

OracleDBConsole服務不能啓動的經歷 發佈時間:2009-2-5 10:34:07 作者:IT168 開心果 編輯:曉熊   

   OracleDBConsole[SID]服務簡介
  OracleDBConsole[SID]服務負責Windows平臺下啓動Oracle企業管理器,從Oracle 10g開始引入這個服務,也是從Oracle 10g開始,Oracle的企業管理器從客戶端形式變爲瀏覽器操作模式,這裏的[SID]即Oracle SID,如果是默認安裝就是orcl,故這個服務在你的機器上可能就是OracleDBConsoleORCL,事實上在我的機器上也是它。   本文基於Oracle 11g,操作系統爲Windows xp,故本文描述的解決辦法僅供參考。
  故障描述   在一次正常使用企業管理器後,重新啓動計算機,再次啓動OracleDBConsoleORCL服務時,報:   Windows 不能在 本地計算機 啓動 OracleDBConsoleORCL。有關更多信息,查閱系統事件日誌。如果這是非 Microsoft 服務,請與服務廠商聯繫,並參考特定服務錯誤代碼 1。

   在應用程序事件日誌中記錄瞭如下錯誤信息:   Process exited abnormally during initialization.   解決過程   嘗試從命令行下啓動該服務,也以失敗告終,正尋思着是否刪除數據庫再重新安裝,突然想起Oracle企業管理器其實是一個單獨的組件,可以將其單獨刪除,再重新安裝的,其實這裏並不是刪除Oracle企業管理器,而是Oracle數據庫控制檯資料檔案庫,刪除資料檔案庫會同時刪除OracleDBConsoleORCL服務,並刪除用戶SYSMAN及其所屬對象,重新創建資料檔案庫就會重新添加OracleDBConsoleORCL服務,並創建SYSMAN用戶及其所屬對象。搞清楚這一點關係後,開始動手實施修復。
  首先刪除資料檔案庫,注意此時Oracle的監聽器服務和數據庫服務必須處於啓動狀態,因爲刪除命令會連接到數據庫刪除SYSMAN用戶及其所屬對象:
  C:/>emca -repos drop   EMCA 開始於 2009-1-31 9:13:24   EM Configuration Assistant, 11.1.0.5.0 正式版   版權所有 (c) 2003, 2005, Oracle。保留所有權利。
  輸入以下信息:   數據庫 SID: orcl   監聽程序端口號: 1521   SYS 用戶的口令:【輸入SYS用戶的口令,輸入口令時屏幕不會回顯】   SYSMAN 用戶的口令:【輸入SYSMAN用戶的口令】   SYSMAN 用戶的口令:   是否繼續? [是(Y)/否(N)]: y   2009-1-31 9:15:04 oracle.sysman.emcp.EMConfig perform   信息: 正在將此操作記錄到 c:/app/Administrator/cfgtoollogs/emca/orcl/emca_2009_01   _31_09_13_24.log。   2009-1-31 9:15:05 oracle.sysman.emcp.EMReposConfig invoke   信息: 正在刪除 EM 資料檔案庫 (此操作可能需要一段時間)...   開始等待刪除,這個過程可能比較長,來杯咖啡,休息休息吧。
  刪除結束後,往往有人會想到使用命令重新創建資料檔案庫,但經過我多次嘗試,使用這種辦法創建好資料檔案庫後,OracleDBConsoleORCL服務仍然無法啓動,企業管理器依舊無法使用,於是想到使用dbca來創建,於是在運行窗口輸入:dbca,啓動數據庫配置助手,在第一步時選擇“配置數據庫選件”,後面的操作只需要一直點擊下一步就可以了,注意在選擇是否使用EM資料檔案庫時,一定要選中,默認沒有選中,dbca檢查到系統中已經沒有EM資料檔案庫,於是就會重新創建,OracleDBConsoleORCL服務也會重新添加了,這也會花一段時間,如果dbca重新配置過程中不出現錯誤,那配置結束後,OracleDBConsoleORCL服務就能夠正常啓動,就可以正常使用Oracle企業管理器了。如果刪除EM資料檔案庫不徹底,運行dbca期間可能會報錯,一般是SYSMAN用戶及其對象沒有刪除乾淨,遇到這種問題時,只需要再次運行一次emca –repos drop即可。
  如果在刪除EM資料檔案庫時,刪除了SYSMAN用戶及其所屬對象,但OracleDBConsole[SID]服務沒有刪除時,如果該服務還能夠啓動,並能夠通過瀏覽器進入,那此時就可以使用emca –repos create重新創建EM資料檔案庫即可。

   總結   經過這次冒險,總覺得Oracle的OracleDBConsole[SID]服務很脆弱,在沒有任何誤操作的情況下,重新啓動計算機後,它也可能就啓動不了了,但在這時,大家一定要保持冷靜,多思考,辦法總是有的,不到萬不得已,不要重新安裝,建議大家在重新啓動系統前,先手動停止OracleDBConsole[SID]服務、監聽器服務和數據庫服務。|

 

另一種情況是IP變動了的原因,比如你在XP之類的系統通過DHCP獲得IP時容易出現這個問題,解決方法:

1:運行cmd
  2:執行emctl start dbconsole,提示“找不到環境變量ORCALE_SID”,請運行SET ORCALE_SID=***
  3:再次執行emctl start dbconsole,提示“無法找到D:/oracle/product/10.2.0/db_1/e1c8cd_SKYORCL”,複製該目錄下的“localhost_skyorcl”文件夾放在同一目錄下,且把名稱改成“e1c8cd_SKYORCL”。
  4:再次執行emctl start dbconsole,提示“無法找到D:/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_e1c8cd_skyorcl”,複製該目錄下的“OC4J_DBConsole_localhost_skyorcl”文件夾放在同一目錄下,且把名稱改成“OC4J_DBConsole_e1c8cd_skyorcl”。
  4:再次執行emctl start dbconsole,既可以啓動
  注意:“localhost_skyorcl”與“OC4J_DBConsole_localhost_skyorcl”倆個文件夾的我名稱與目錄由您自己安裝決定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章