1. 程式人生 > 其它 >曲折的10g,11g中EM的安裝配置過程(r4筆記第98天)

曲折的10g,11g中EM的安裝配置過程(r4筆記第98天)

今天在本地搭了一套oracle環境,首先安裝資料庫的時候順帶了EM,結果安裝好之後想修改監聽器的埠,把原本15521的埠換成別的,結果在目錄中修改了幾個引數檔案,EM竟然直接起不來了。最後自己分析了,其實有好幾種思路來完成密碼的修改。 一種是直接刪除EM,然後重建,可以使用emca -deconfig dbcontrol db -repos drop來完成刪除,然後通過emca -config dbcontrol db -repos create來重新建立EM, 還有一種方式可以通過圖形介面來完成,這種方式更加直觀清晰。 還有一種最麻煩,也算最笨的辦法就是刪除資料庫,重建資料庫,不選擇EM安裝,然後等資料庫重建之後手動安裝EM。 因為嘗試使用第一種方法的時候等待的時間還挺長,就選擇了第三種方法,結果在新建EM的時候碰到了一些問題。看似簡單的一個工作其實還是有不少的細節問題需要注意,自己在上面也著實花了不少的時間。 首先是再10g環境中通過emca -config dbcontrol db -repos create來新建EM的問題。 10g中的EM相對比較簡單,如果新建由於種種原因失敗,重新建立的時候,很可能sysman使用者沒有刪除,還存在一些role和public synonym. 不過相對來說,這些問題都是有規律可循,基本按照下面的方法,對於10gEM的配置算是如虎添翼,清理的乾乾淨淨,重灌過程就很順利。 drop user sysman cascade; drop user MGMT_VIEW cascade; drop role MGMT_USER; drop public synonym MGMT_TARGET_BLACKOUTS; drop public synonym SETEMVIEWUSERCONTEXT;

然後重新配置,使用 emca -config dbcontrol db -repos create 但是11g中的EM採用同樣的方法就碰到不少的問題。 首先從日誌中看到了下面幾個錯誤。 Apr 6, 2015 9:33:45 PM oracle.sysman.emcp.util.GeneralUtil initSQLEngineLoacly CONFIG: ORA-28000: the account is locked CONFIG: ORA-20001: SYSMAN already exists.. ORA-06512: at line 17 進一步檢視日誌,發現是由於DBSNMP被鎖定導致,sysman預設建立導致。解鎖DBSNMP,刪除sysman,然後採用10g中的清理方法,結果又碰到了另外的錯誤。 CREATE PUBLIC SYNONYM MGMT_AVAILABILITY FOR MGMT_AVAILABILITY * ERROR at line 1: ORA-00955: name is already used by an existing object
從這個可以看出,10g和11g還是有一些區別。 清理了public synonoym MGMT_AVAILABILITY ,重新安裝EM還是失敗,這個時候又報了另外一個MGMT的同義詞錯誤。 最後通過select *from dba_synonyms where synonym_name like 'MGM%' 來檢視關聯的MGM相關的public synonym,發現竟然有差不多300多個public synonym,這些public synonym是無法通過drop user sysman cascade來刪除的,只能指定刪除。 從這個細節可以看出,10g,11g的EM中的一些配置細節還是差別很大。 刪除了MGMT_相關的公共同義詞之後,本以為可以順順利利完成,結果又丟擲了SMP_EMD_AVAIL_OBJ的問題。 CREATE PUBLIC SYNONYM SMP_EMD_AVAIL_OBJ FOR SMP_EMD_AVAIL_OBJ * ERROR at line 1: ORA-00955: name is already used by an existing object
看啦問題真是層出不窮啊,最後進一步改進,採用這個sql語句來檢視有哪些公共同義詞在sysman上鬥毆給它清理掉。 select 'DROP '||OWNER||' SYNONYM '||SYNONYM_NAME||';' from dba_synonyms where TABLE_owner='SYSMAN';

發現是將近20個這樣的public synonym 再次清理,就順順利利完成了EM的安裝。 但是通過瀏覽器想檢視的時候發現預設使用的https協議,在本地還有遠端都遇到了一些證書和安全的問題,因為是學習使用,採用http方式更加方便。可以使用unsecure方式來解決。 [ora11g@oel1 ~]$ emctl unsecure dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. https://oel1.oracle.com:5500/em/console/aboutApplication Configuring DBConsole for HTTP... Done. DBCONSOLE successfully stopped... Done. Agent is already stopped... Done. Unsecuring dbconsole... Started. DBConsole is now unsecured... Done. Unsecuring dbconsole... Sucessful. DBCONSOLE successfully restarted... Done. 通過截圖來看看10g和11g中EM的差別和改進之處。 11g中的功能選單明顯比10g要多,而且更加細緻,針對性更強,想data movement這個版塊在10g中式放在maintenance這個部分裡面的,在11g就單獨抽出了一個模組,可見在11g中這個部分也得到了增加和更多的關注。 11g新增的SPA,SPM在“software and Support"這個部分單獨列出,其它的功能點也確實豐富了不少。