建立資料庫過程中更改了sys,system等密碼後,EM可以正常登入,但是登入後提示“資料庫狀態當前不可用。可能是因為資料庫的狀態為裝載或不裝載。單擊 '啟動' 可以獲得目前狀態並開啟資料庫。如果無法開啟資料庫, 單擊 '執行恢複' 可執行相應的恢複操作。”
解決方案如下:
1、停止dbconsole
[oracle@star~]$ emctl stop dbconsole
查看狀態,確認dbconsole已經停止
[oracle@star~]$ emctl status dbconsole
**如果執行emctl stop dbconsole
報錯:Environment variable ORACLE_SID not defined. Please define it.
則執行:set ORACLE_SID=資料庫名
2、修改sysman使用者的密碼,我把密碼改成oracle123
[oracle@star~]$ sqlplus / as sysdba
SQL> alter user sysman identified by oracle123;
解鎖使用者:
SQL> alter user sysman account unlock;
確認密碼已修改:
SQL> conn sysman/oracle123@csc
Connected.
3、轉到$ORACLE_HOME/host_sid/sysman/config目錄下
a. 把emoms.properties另存新檔emoms.properties.old
b. 修改emoms.properties檔案
找到oracle.sysman.eml.mntr.emdRepPwd=把等於後的加密字串替換成剛才更改的密碼oracle123;
找到oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE 把TRUE換成FALSE。
4、重啟dbconsole,訪問EM恢複正常
[oracle@star~]$ emctl start dbconsole
在此登入http://loclahost:5500/em,提示讓輸入使用者名稱密碼。
至此,恢複正常。