Oracle 11g是一款十分優(yōu)秀穩(wěn)定的數(shù)據(jù)庫軟件,它的運(yùn)維管理更是得到了廣泛的應(yīng)用,其中數(shù)據(jù)庫控制臺(tái)EM(Emergency)更是一個(gè)提供圖形化操作的工具,可以為管理員管理數(shù)據(jù)庫提供十分便捷的體驗(yàn)。但是,在使用EM進(jìn)行數(shù)據(jù)庫運(yùn)維管理時(shí),有時(shí)會(huì)遭遇EM無法正常啟動(dòng)的問題,這個(gè)時(shí)候就需要重建EM,重新搭建一個(gè)可用的數(shù)據(jù)庫控制臺(tái)。
案例:舉個(gè)例子,假設(shè)我們的數(shù)據(jù)庫服務(wù)器主機(jī)是192.168.0.100,數(shù)據(jù)庫實(shí)例名稱為orcl,EM訪問端口為1158。而現(xiàn)在我們面臨的問題是EM無法正常啟動(dòng),需要重建EM。
[oracle@oracle ~]$ emctl stop dbconsole [oracle@oracle ~]$ emctl start dbconsole
但是,在執(zhí)行了上述重建EM的操作后,可能出現(xiàn)如下錯(cuò)誤信息:
[oracle@oracle ~]$ emctl start dbconsole OC4J Configuration issue. /oracle/product/11.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_hostname_orcl not found.
解決這個(gè)問題,我們需要先備份原來的EM文件,例如可以將原來的EM文件進(jìn)行重命名,如下所示:
[oracle@oracle ~]$ mv /oracle/product/11.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_192.168.0.100_orcl /oracle/product/11.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_192.168.0.100_orcl_bak
執(zhí)行完備份后,我們還需要修改一下$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostame_orcl/config/jdbc.properties文件中的監(jiān)聽地址,將它改為數(shù)據(jù)庫服務(wù)器所在的IP地址:
em.jdbc.host=localhost #該處應(yīng)改為數(shù)據(jù)庫所在的IP地址,例如em.jdbc.host=192.168.0.100 em.jdbc.port=1521 em.jdbc.driver=oracle.jdbc.driver.OracleDriver em.jdbc.sid=orcl em.jdbc.url=jdbc:oracle:thin:@(description=(address=(host=\${em.jdbc.host})(protocol=tcp)(port=\${em.jdbc.port}))(connect_data=(sid=\${em.jdbc.sid}))) em.jdbc.username=sysman em.jdbc.password=sysman
接著,我們還需要修改$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostame_orcl/config/ias.properties文件,將其中的webconsole.http.ssl.mode和webconsole.https.port兩個(gè)項(xiàng)的值都改為false。修改后,它的配置內(nèi)容如下:
#EM Console SSL switch(HTTP Mode by default) webconsole.http.ssl.mode=false #The port for the HTTPS web console webconsole.https.port=false
最后,我們再關(guān)閉和啟動(dòng)EM服務(wù),以確保重建操作完成,EM能夠正常運(yùn)行,執(zhí)行如下代碼:
[oracle@oracle ~]$ emctl stop dbconsole #先關(guān)閉EM服務(wù) [oracle@oracle ~]$ emctl start dbconsole #再啟動(dòng)EM服務(wù)
到此為止,我們已經(jīng)成功重建了EM,可以正常的使用EM來進(jìn)行數(shù)據(jù)庫的管理和維護(hù)。