创建数据库过程中更改了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,提示让输入用户名密码。
至此,恢复正常。