1. 程式人生 > >Windows 不能在 本地計算機 啟動 OracleDBConsoleORCL。

Windows 不能在 本地計算機 啟動 OracleDBConsoleORCL。

最近安裝10G,遇到了修改IP之後服務起不來的情況,在網上找了一些文章,對解決問題很有指導意義.

---------------------------------------------------------------------------------------

LOG1:

在c:/windows/system32/drivers/etc 資料夾中找到HOST檔案,在最後加入
192.168.?.?(你自己目前IP) localhost

---------------------------------------------------------------------------------------

LOG2:

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]服務、監聽器服務和資料庫服務。

經過網上查詢,知道是網路埠重複了,使用以下方法解決:

emca -config dbcontrol db -DBCONTROL_HTTP_PORT 5508 -AGENT_PORT 3940 -RMI_PORT 5524 -JMS_PORT 5545

再停用一次EM,再啟動EM,就好了.

emctl stop dbconsole

emctl start dbconsole

不過提醒點,如果你的計算機IP地址不是固定的話,裝Oracle時 把網斷(禁用與斷網是兩個不同的概念)了,這樣裝就不會出問題,再者在啟動該服務與監聽服務時,不能有網路的,因為如果有網路oracle會自動配置,所 以就會出現以上的問題了,最好把些兩項服務設定為手動最好

也就是在什麼IP環境下裝的資料庫,服務才能在這種 情況下啟動

還有如果安裝了 ODTwithODAC1110621工具的話,PL/SQL連線會出現以下錯誤

pl/sql ora-12154

我的做法是修改PATH變數

修改後為:D:/Oracle11/product/11.1.0/client_1;D:/Oracle11 /product/11.1.0/client_1/bin;D:/Oracle11/product/11.1.0/db_1;D:/Oracle11/product/11.1.0/db_1/bin;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;D:/Program Files/CodeSmith/v5.0/

---------------------------------------------------------------------------------------

LOG3:

其實這個問題根據我在網上查資料瞭解的情況應該是個老問題了,只不過大部 分都基於10g以前的版本。在WINXP下安裝11g版本的時候我都是按照預設的操作執行,在重啟機器後,OracleDBConsoleorcl服 務就無法開啟,錯誤提示:
Windows 不能在 本地計算機 啟動 OracleDBConsoleorcl。 有關更多資訊,查閱系統事件日誌。如果這是非 Microsoft 服務,請與服務廠商聯絡,並參考特定服務錯誤程式碼 2。
    在網上搜索了很多方法都無效,包括拔網線重啟、重新命名HOSTNAME_ORCL/OC4J_DBConsole_orcl
資料夾等 (其實這個方法思路是對的,但是網上提供這個答案的朋友沒有講解清楚),下面是我解決問題的過程
在命令列下輸入
    emctl start dbconsole
    提示
報 錯,ORACLE_SID沒有定義
    輸入
set ORACLE_SID=ORAL(ORAL是我的例項名,也 是服務名)
沒有問題,接著繼續輸入
emctl start dbconsole
提示
OC4J Configuration issue. D:oracleproduct10.2.0db_1/oc4j/j2ee/OC4J_DBConsole_192.168.1.103_orcl not found.
接著聯想到前面看到的解決 方法,茅塞頓開:複製一份j2ee下的OC4J_DBConsole_HOSTNAME_orcl資料夾,重新命名為OC4J_DBConsole_192.168.1.103_orcl,複製一份db_1下的HOSTNAME_orcl資料夾,重 命名為192.168.1.103_orcl
最後 重新啟動dbconsole, 服務啟動成 功

總結:因為機器在內網,路由器設定為強制DHCP分配IP地址,雖然每次設定的IP地址都是一樣的(我這裡為 192.168.1.103)但因為設定的原因造成服務啟動失敗。除了上面的解決辦法之外,還有一種我沒有驗證的方法,不過原理上應該也是可以的:
c:/windows/system32/drivers/etc 資料夾中找到HOST檔案,在最後加入
192.168.?.? (你自己目前IP) localhost
或者乾脆使用固定IP,省去這些麻煩的設定。
最後附上服務啟動成功後的 EM登入地址:

---------------------------------------------------------------------------------------

LOG4:

---------------------------------------------------------------------------------------

LOG5:

問題描述:

我的oracle不知道為什麼OracleDBConsoleorcl 啟動不了 出現“服務特定錯誤2”現在我也不知道原因

估計是因為我電腦的IP經常變動,有時在公司用,有時在家裡用!

我的oracle版本:oracle10g

問題解決:

上網搜尋,發現很多人遇到過這問題,不過導致這問題的原因也很多,我是試了幾個方法都不行,後來進行如下:

第一步:先刪 除原來的配置:
D:/Documents and Settings/guanhao>emca -repos drop
EMCA 開始於 2007-11-19 14:45:06
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
監聽程式埠號: 1521
SYS 使用者的口令:
SYSMAN 使用者的口令:
SYSMAN 使用者的口令:
是否繼續? [yes(Y)/no(N)]: y
2007-11-19 14:45:20 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_02-45-06- 下午.log。
2007-11-19 14:45:21 oracle.sysman.emcp.EMReposConfig dropRepository
資訊: 正在刪除 EM 資料檔案庫 (此操作可能需要一段時間)...
2007-11-19 14:48:13 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功刪除資料檔案庫
已 成功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 14:48:13 


--------------------------------------------------------------------------------
第二步:建立新的配置:
D:/Documents and Settings/guanhao>emca -repos create
EMCA 開始於 2007-11-19 14:53:35
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
監聽程式埠號: 1521
SYS 使用者的口令:
SYSMAN 使用者的口令:

是否繼續? [yes(Y)/no(N)]: y
2007-11-19 14:53:50 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_02-53-35- 下午.log。
2007-11-19 14:53:50 oracle.sysman.emcp.EMReposConfig createRepository
資訊: 正在建立 EM 資料檔案庫 (此操作可能需要一段時間)...
2007-11-19 14:57:40 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功建立資料檔案庫
已 成功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 14:57:40 

--------------------------------------------------------------------------------
第三步:

D:/Documents and Settings/guanhao>emca -config dbcontrol db 

EMCA 開始於 2007-11-19 15:02:45
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
已為資料庫 tuosi 配置了 Database Control
您 已選擇配置 Database Control, 以便管理資料庫 tuosi
此操作將移去現有配置和預設設定, 並重新執行配置
是 否繼續? [yes(Y)/no(N)]: y
監聽程式埠號: 1521
SYS 使用者的口令:
DBSNMP 使用者的口令:
使用者名稱/口令無效。
DBSNMP 使用者的口令:
SYSMAN 使用者的口令:
通知的電子郵件地址 (可選):
通知的發件 (SMTP) 伺服器 (可選):
-----------------------------------------------------------------

已指定以下設定

資料庫 ORACLE_HOME ................ E:/oracle/product/10.2.0/db_1

資料庫主機名 ................ server
監聽程式埠號 ................ 1521
數 據庫 SID ................ tuosi
通知的電子郵件地址 ...............
通知的發件 (SMTP) 伺服器 ...............

-----------------------------------------------------------------
是 否繼續? [yes(Y)/no(N)]: y
2007-11-19 15:03:25 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_03-02-45- 下午.log。
2007-11-19 15:03:27 oracle.sysman.emcp.util.DBControlUtil stopOMS
資訊: 正在停止 Database Control (此操作可能需要一段時間)...
2007-11-19 15:03:39 oracle.sysman.emcp.util.DBControlUtil startOMS
資訊: 正在啟動 Database Control (此操作可能需要一段時間)...
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: 已成功啟動 Database Control
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 無法建立 Database Control 快捷方式
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: >>>>>>>>>>> Database Control URL 為 http://server:5500/em <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 15:04:29

在這一步,OracleDBConsoleorcl已經啟動了,只是監聽器還沒啟動

第四步:登陸http://server:5500/em 啟 動監聽器,(有時候會啟動不成功,報adapter錯誤,不過我最後是成功了)在裡面有需要用到系統身份驗證,可見本blog前面一篇日誌:ORACLE 網路服務 主機登陸

這樣,大概是解決問題了。

備註:

這裡面我還是有很多地方不是很明白,慢慢學習咯:)

啟動時oracledbconsoleorcl服務提示:
--Windows不能在本地計算機啟動oracledbconsoleorcl   有關更多資訊,   查閱系統事件日誌,如果這是非Microsoft服務,請與伺服器廠商聯絡 。

網上的觀點:修改tnsname.ora和listener.ora兩個檔案(D:/oracle/product/10.2.0/db_1 /NETWORK/ADMIN路徑下),不過貌似沒用。

第一步:先刪除原來的配置:
D:/Documents and Settings/guanhao>emca -repos drop
EMCA 開始於 2007-11-19 14:45:06
EM Configuration Assistant 10.2.0.1.0 正式版
版 權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
監 聽程式埠號: 1521
SYS 使用者的口令:
SYSMAN 使用者的口令:
SYSMAN 使用者的口令: 是 否繼續? [yes(Y)/no(N)]: y
2007-11-19 14:45:20 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_02-45-06- 下午.log。
2007-11-19 14:45:21 oracle.sysman.emcp.EMReposConfig dropRepository
資訊: 正在刪除 EM 資料檔案庫 (此操作可能需要一段時間)...
2007-11-19 14:48:13 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功刪除資料檔案庫
已成 功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 14:48:13 


--------------------------------------------------------------------------------
第 二步:建立新的配置:
D:/Documents and Settings/guanhao>emca -repos create
EMCA 開始於 2007-11-19 14:53:35
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
監 聽程式埠號: 1521
SYS 使用者的口令:
SYSMAN 使用者的口令:

是否繼續? [yes(Y)/no(N)]: y
2007-11-19 14:53:50 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_02-53-35- 下午.log。
2007-11-19 14:53:50 oracle.sysman.emcp.EMReposConfig createRepository
資訊: 正在建立 EM 資料檔案庫 (此操作可能需要一段時間)...
2007-11-19 14:57:40 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功建立資料檔案庫
已成 功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 14:57:40 

--------------------------------------------------------------------------------
第三步:

D:/Documents and Settings/guanhao>emca -config dbcontrol db 

EMCA 開始於 2007-11-19 15:02:45
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。

輸入以下資訊:
資料庫 SID: tuosi
已 為資料庫 tuosi 配置了 Database Control
您已選擇配置 Database Control, 以便管理資料庫 tuosi
此操作將移去現有配置和預設設定, 並重新執行配置
是否繼續? [yes(Y)/no(N)]: y
監聽程式埠號: 1521
SYS 使用者的口令:
DBSNMP 使用者的口令:
使用者名稱/口令無效。
DBSNMP 使用者的口令:
SYSMAN 使用者的口令:
通知的電子郵件地址 (可選):
通知的發件 (SMTP) 伺服器 (可選):
-----------------------------------------------------------------

已指定以下設定

資料庫 ORACLE_HOME ................ E:/oracle/product/10.2.0/db_1

資料庫主機名 ................ server
監聽程式埠號 ................ 1521
資料 庫 SID ................ tuosi
通知的電子郵件地址 ...............
通知的發件 (SMTP) 伺服器 ...............

-----------------------------------------------------------------
是 否繼續? [yes(Y)/no(N)]: y
2007-11-19 15:03:25 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 E:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/tuosi/em
ca_2007-11-19_03-02-45- 下午.log。
2007-11-19 15:03:27 oracle.sysman.emcp.util.DBControlUtil stopOMS
資訊: 正在停止 Database Control (此操作可能需要一段時間)...
2007-11-19 15:03:39 oracle.sysman.emcp.util.DBControlUtil startOMS
資訊: 正在啟動 Database Control (此操作可能需要一段時間)...
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: 已成功啟動 Database Control
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 無法建立 Database Control 快捷方式
2007-11-19 15:04:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: >>>>>>>>>>> Database Control URL 為 http://server:5500/em <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 結束於 2007-11-19 15:04:29

在這一步,OracleDBConsoleorcl已經啟動了,只是監聽器還沒啟動

————————————————————

以上,紅色是手工輸入的,其他事直接自動顯示的。這樣算是配置完畢。

修改前為:D:/Oracle11/product/11.1.0/client_1;D:/Oracle11/product /11.1.0/client_1/bin;D:/Oracle11/product/11.1.0/db_1/bin;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;D:/Program Files/CodeSmith/v5.0/