轉載自:http://www.cnblogs.com/spatial/archive/0001/01/01/1529366.html
Oracle:啟動 Database Control 時出錯
問題描述:
原來一直用oracle10g學習的,EM安裝沒出問題,一直比較正常,后來卸了10g,裝上了oracle最新發布的11g,安裝過程中,數據庫的安裝不存在問題,在最后啟動database control時,出現無法啟動,當時沒太在意,就先跳過去了,因為這個不影響數據庫自身的運轉的,后來又經過一段時間,需要收集數據庫的運行狀態信息,不得已就得需要配置安裝EM,通過emca語句來配置創建EM,無料在安裝過程中,同樣出現此問題,于是查看安裝日志log,追蹤到下面錯誤的語句:
oracle.sysman.emcp.exception.EMConfigException:啟動 Database Control 時出錯
at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:869)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:250)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:213)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:235)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:468)
可以確定EM資料檔案庫數據的上載配置都沒有錯誤,就是這個服務無法啟動,以至于后面的配置無法完成。
一看是基于java語言開發的配置程序在安裝配置過程中拋出的異常,首先懷疑可能是java虛擬機與jdk版本的問題,這個問題在以前也遇到過,版本不一致很可能導致程序拋出一定錯誤,于是打開任務管理器追蹤java.exe版本,追蹤方法可以用下面cmd方法查詢:

發現java.exe是oracle自身版本帶的jdk,跑到其源文件夾一查詢,是1.5的,而我的java虛擬機是1.6,很可能是這方面的原因,于是又再sun主頁上下載了最新的1.6的jdk,全部代替了oracle版本自身的1.5版的,本想這應該行了吧,可是通過ecma語句重新創建EM,還是無法啟動database control服務,于是真的怪哉乎了,問題依然存在,那么排除java版本的問題,還有什么問題呢?于是再看拋出的語句,EMDBPostConfig拋出的錯誤,肯定是在配置過程中出的問題,可是問題在哪里呢?思來思去,估計恐怕只有網絡連接的問題了,于是打開網絡連接,一看傻了眼了,居然有兩套網絡連接著,去cmd下面用ipconfig一看,居然有兩套不同的ip地址在同時運行,于是問題可能出現在這里,僅僅是直覺,但是為什么還是說不上來,那就先禁止一個再試試,于是禁止掉一個,再通過emca試試,通過一系列安裝配置,在最后啟動database control時,的確捏了一把汗,如果再起不來,就真的沒有辦法了啊!幸運的是,終于在最后關頭,順利的啟動了database control,完成了最后的配置,終于成功的配置了11g下面的EM平臺,但是回頭總結一下,問題根源還是沒鬧明白,到底與java版本的沖突有關系嗎?“網絡連接”兩套ip地址問題為什么會對EM的創建造成阻礙?暫時回答不了,以后有機會追查清楚了再來補充吧!
問題解決方法總結:
1, 先去檢查一下java虛擬機安裝情況和版本情況,如果存在沖突,那么首先解決版本的問題吧!一種簡單的方法,就是下載一個與jvm配套的jdk直接替換掉oracle自帶的版本吧,相信大家這點都可以做到的。
2, 檢查你的網絡連接情況,如果有多個網絡連接,也可能存在問題,那就暫時禁止掉吧,留一個再去試試吧!有的網友反應有時候也要斷網才行,本人覺得斷網與否應該沒太大關系,如果實在不行,也可以斷掉網試試吧!
下面是emca創建em的過程,大致演示一下:
1, 刪除建立失敗的em檔案庫:
C:\Documents and Settings\Administrator>emca -deconfig dbcontrol db-repos drop
EMCA 開始于 2009-7-23 11:19:18
EM Configuration Assistant, 11.1.0.5.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。
輸入以下信息:
數據庫 SID: verafzy
監聽程序端口號: 1521
SYS 用戶的口令:
SYSMAN 用戶的口令:
SYSMAN 用戶的口令:
是否繼續? [是(Y)/否(N)]: y
2009-7-23 11:19:40 oracle.sysman.emcp.EMConfig perform
信息: 正在將此操作記錄到E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009
_07_23_11_19_17.log。
2009-7-23 11:19:42 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段時間)...
2009-7-23 11:20:23 oracle.sysman.emcp.EMReposConfig invoke
信息: 正在刪除 EM 資料檔案庫 (此操作可能需要一段時間)...
2009-7-23 11:24:42 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功刪除資料檔案庫
已成功完成 Enterprise Manager 的配置
EMCA 結束于 2009-7-23 11:24:56
2, 重新創建em檔案庫:
C:\Documents and Settings\Administrator>emca -config dbcontrol db-repos create
EMCA 開始于 2009-7-23 11:26:55
EM Configuration Assistant, 11.1.0.5.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。
輸入以下信息:
數據庫 SID: verafzy
監聽程序端口號: 1521
SYS 用戶的口令:
DBSNMP 用戶的口令:
SYSMAN 用戶的口令:
SYSMAN 用戶的口令: 通知的電子郵件地址 (可選):
通知的發件 (SMTP) 服務器 (可選):
-----------------------------------------------------------------
已指定以下設置
數據庫 ORACLE_HOME ................ E:\app\Administrator\product\11.1.0\db_1
本地主機名 ................ PC-200901030636
監聽程序端口號 ................ 1521
數據庫 SID ................ verafzy
通知的電子郵件地址 ...............
通知的發件(SMTP) 服務器 ...............
是否繼續? [是(Y)/否(N)]: y
009-7-23 11:27:13 oracle.sysman.emcp.EMConfig perform
信息: 正在將此操作記錄到E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009
07_23_11_26_55.log。
009-7-23 11:27:15 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在創建 EM 資料檔案庫 (此操作可能需要一段時間)...
009-7-23 11:39:46 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功創建資料檔案庫
009-7-23 11:39:59 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
信息: 正在將配置數據上載到 EM資料檔案庫 (此操作可能需要一段時間)...
009-7-23 11:41:42 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功上載配置數據
009-7-23 11:41:47 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 軟件庫已配置成功。
009-7-23 11:41:47 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 正在部署預配檔案...
009-7-23 11:42:02 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 預配檔案部署成功。
009-7-23 11:42:03 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保護 Database Control (此操作可能需要一段時間)...
2009-7-23 11:42:19 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保護Database Control。
2009-7-23 11:42:19 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在啟動 Database Control (此操作可能需要一段時間)...
2009-7-23 11:46:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功啟動Database Control
2009-7-23 11:46:34 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 為 https://PC-200901030636:1158/em <<<<<<
<<<<<
2009-7-23 11:47:10 oracle.sysman.emcp.EMDBPostConfig invoke
警告:
************************ WARNING ************************
管理資料檔案庫已置于安全模式下, 在此模式下將對Enterprise Manager 數據進行加密。
加密密鑰已放置在文件 E:\app\Administrator\product\11.1.0\db_1\PC-200901030636_ve
rafzy\sysman\config\emkey.ora 中。請務必備份此文件, 因為如果此文件丟失, 則加密數
據將不可用。
***********************************************************
已成功完成 Enterprise Manager 的配置
EMCA 結束于 2009-7-23 11:47:13
Ok!建立成功,就可以去瀏覽器下面去登陸em管理平臺了!
偶以此地址在IE8登陸:https://localhost:1158/em/console/logon/logon視圖如下,em正式建立成功,可能安全方面存在驗證的問題,只要導入證書,重新啟動下就ok了!

最后說明:方法僅供參考,并非完全有效,因為環境不同,可能差異也比較明顯,如果哪位高人能夠回答上面的問題,就麻煩留個言,我們共同學習探討吧!