emctl start dbconsole遇到錯誤:OC4J Configuration issue

  oracle在剛開始安裝好之後OEM(Oracle Enterprise Manager)可以正常打開在打開OEM的網頁控制檯,實際上很多人也都會遇到在剛安裝好的時候可以打開,但是在之後(可能是重啓了電腦或者是隔了幾天)可能就會出現無法打開網頁控制檯的情況。 今天我也遇到了無法打開的情況,在經過一番摸索之後恍然大悟。首先用命令方式打開控制檯


C:\Documents and Settings\Administrator>set oracle_sid=demo
C:\Documents and Settings\Administrator>emctl start dbconsole   

OC4J Configuration issue.     

D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_localhost_demo not found.
C:\Documents and Settings\Administrator>emctl status
EM Configuration issue. D:\oracle\product\10.2.0\db_1/localhost_demo not found.





可以看到提示說OC4J_DBConsole _localhost_demo not found. 

進入相關目錄查看,發現的是一個以機器名稱+ORACLE_SID的文件夾,

D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_informat-815891_demo

而並沒有OC4J_DBConsole _localhost_demo這個名稱的文件夾,同時查看狀態當中提示的文件路徑,我這裏只有informat-815891_demo,informat-815891是我的計算機名稱,demo是我安裝時設定的oracle的SID,並沒有localhost_demo的文件夾,就是因爲如此造成控制檯無法打開,可爲什麼OEM會選擇以localhost來作爲他默認的路徑?而剛開始安裝好的時候,沒有這種情況呢? 


這個問題先暫時放一放,我先給出我的解決辦法:首先添加了一個虛擬網卡

控制面板→添加硬件→選擇(是,我已經連接了此硬件)→添加新的硬件設備→安裝我手動從列表選擇的硬件(高級)→網絡適配器→Microsoft→Microsoft      Loopback Adapter     

安裝好了虛擬網卡,手動指定IP地址: 10.10.10.1  子網掩碼 255.255.255.0  默認網關 10.10.10.0
然後開始→運行 輸入 system32 這樣快捷的打開system32文件夾,找到drivers\etc\hosts文件,以文本文件打開後,進行修改

10.10.10.1       localhost
#127.0.0.1       localhost

將127屏蔽掉或者刪除掉也可以, 並且將localhost改成虛擬網卡的IP地址,保存,再次以命令行形式打開OEM控制檯

C:\Documents and Settings\Administrator>emctl start dbconsole
OC4J Configuration issue.
D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_10.10.10.1_demo not found.

這次就提示一個新的文件夾名稱不存在了,這個時候我再次修改了hosts文件

10.10.10.1       informat-815891
#127.0.0.1       localhost

用機器名稱替換掉localhost,然後再次打開OEM控制檯

C:\Documents and Settings\Administrator>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://informat-815891:1158/em/console/aboutApplicationStarting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoledemo
服務正在啓動 ...................
OracleDBConsoledemo 服務已經啓動成功。


  這 個時候想必大家都清楚了oracle OEM是通過這個hosts文件來確定文件的名稱,那麼有的人安裝好的oracle裏面的文件夾是localhost+SID,有的是 machine+SID,這又是什麼原因呢? 在這裏要告訴大家一個前提OEM控制檯無法啓動是由於hosts錯誤的指引了Oracle OEM,但是hosts爲什麼會錯誤的指引oracle OEM呢? 就是因爲你在安裝的時候的環境和當前的環境發生了變化造成的,假如你安裝的時候沒有網絡環境,完成之後OEM的文件夾名稱就是 localhost+SID,而如果有網絡環境的話則會是machine+SID的文件名稱,而之後網絡環境發生了變化,則出現了無法啓動,當然也就無法 打開OEM控制檯的頁面了,我這裏使用了虛擬的網卡 並且在hosts裏面指定了虛擬的地址,這樣一來不管我的網絡是否連接都不會對OEM的啓動和頁面查看造成影響。

  另外如果是集羣環境的話,ORACLE_SID和ORACLE_UNQNAME這兩個環境變量一定要配對,ORACLE_UNQNAME這個變量名是要等於SID而不是當前主機的SID。比如下面這個報錯,就是ORACLE_UNQNAME配置錯誤引起的。

OC4J Configuration issue. /u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_nlojadb1_psucumbi1 not found.

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

附 OEM 的命令行語句:
創建一個EM資料庫

emca -repos create

重建一個EM資料庫

emca -repos recreate

刪除一個EM資料庫

emca -repos drop

配置數據庫的 Database Control

emca -config dbcontrol db

刪除數據庫的 Database Control配置

emca -deconfig dbcontrol db

重新配置db control的端口,默認端口在1158

emca -reconfig ports
emca -reconfig ports -dbcontrol_http_port 1160

emca -reconfig ports -agent_port 3940

注:查看端口號可查如下路徑。<oracle_Home/install/portlist.ini>

先設置ORACLE_SID環境變量後,啓動EM console服務

emctl start dbconsole

先設置ORACLE_SID環境變量後,停止EM console服務

emctl stop dbconsole

先設置ORACLE_SID環境變量後,查看EM console服務的狀態

emctl status dbconsole

配置dbconsole的步驟

emca -repos create

emca -config dbcontrol db

emctl start dbconsole


重新配置dbconsole的步驟

emca -repos drop

emca -repos create

emca -config dbcontrol db

emctl start dbconsole

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

例如emca -config dbcontrol db 可以解決oem頁面上出現的如下錯誤

OEM - java.lang.Exception: Exception in sending Request :: null
以及以下錯誤

{at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:1402)
       at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1196)
       at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:637)
       at oracle.sysman.emo.perf.metric.rt.DbHomeTab._getAllData(DbHomeTab.java:324)
       at oracle.sysman.emo.perf.metric.rt.DbHomeTab.getData(DbHomeTab.java:139)
       at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:402)
       at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:596)
       at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:320)
       at java.lang.Thread.run(Thread.java:534)}:

C:\Windows\system32>emca -config dbcontrol db

EMCA 開始於 2011-8-9 20:40:00
EM Configuration Assistant, 10.2.0.5.0 正式版
版權所有 (c) 2003, 2009, Oracle。保留所有權利。

輸入以下信息:
數據庫 SID: demo
已爲數據庫 demo 配置了 Database Control
您已選擇配置 Database Control, 以便管理數據庫 demo
此操作將移去現有配置和默認設置, 並重新執行配置
是否繼續? [是(Y)/否(N)]: y
監聽程序端口號: 1521
SYS 用戶的口令:
DBSNMP 用戶的口令:
SYSMAN 用戶的口令:
SYSMAN 用戶的口令:

通知的電子郵件地址 (可選):
通知的發件 (SMTP) 服務器 (可選):
-------------------------------------------------------------------------------------------

已指定以下設置數據庫

ORACLE_HOME ................ D:\oracle\product\10.2.0\db_1

Local hostname ................ aa123-PC
監聽程序端口號 ................ 1521
數據庫 SID ................ demo
通知的電子郵件地址 ...............
通知的發件 (SMTP) 服務器 ...............

-------------------------------------------------------------------------------------------
是否繼續? [是(Y)/否(N)]: y
2011-8-9 20:40:58 oracle.sysman.emcp.EMConfig perform
信息: 正在將此操作記錄到 D:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\demo\emc
a_2011-08-09_08-39-59-下午.log。
2011-8-9 20:41:09 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段時間)...
2011-8-9 20:41:53 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保護 Database Control (此操作可能需要一段時間)...
2011-8-9 20:42:11 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保護 Database Control。
2011-8-9 20:42:11 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在啓動 Database Control (此操作可能需要一段時間)...
2011-8-9 20:42:51 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功啓動 Database Control
2011-8-9 20:42:51 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 爲 https://aa123-PC:1158/em <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 結束於 2011-8-9 20:42:51


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