为了学习,把数据库的verify_function功能打开,,自动将default概要文件的密码过期时间设置成60天,密码重用的天数为18000天,密码满足复杂性要求等等,关闭verify_function功能后,没有及时修改default概要文件,导致sysman和dbsnmp用户密码过期后,打开oem界面直接报错如下图,其他部件均正常!
查看sysman和dbsnmp用户的状态均为密码过期,修改密码后重新登录oem,依然报错如下图!
sql> select username,account_status from dba_users where username='sysman';
username account_status
sysman expired
sql> alter user sysman identified by 123456;
user altered.
sql> alter user dbsnmp identified by 123456;
user altered.
再次查询sysman和dbsnmp用户的状态,这次的状态为locked(timed)
sql> select username,account_status from dba_users where username='sysman';
username account_status
sysman locked(timed)
原因:
dbsnmp和sysman这两个用户和oem紧密相关,dbsnmp用户启动oracle智能代理,用于收集oracle系统运行状态的相关数据,sysman是oem的超级管理员。如果配置了oem后,又使用alter user identified by ;修改了这两用户的口令,就会出现dbsnmp 和sysman locked(timed). 的情况。
解决方法:
还必须同步修改oem中记录的dbsnmp和sysman用户的口令。
$emca -config dbcontrol db
根据提示修改sysman和dbsnmp的口令即可。
