欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle教程:OEM错误之ORA-28001

程序员文章站 2022-06-15 22:34:06
...

为了学习,把数据库的verify_function功能打开,自动将default概要文件的密码过期时间设置成60天,密码重用的天数为18000天,密码

为了学习,把数据库的verify_function功能打开,,自动将default概要文件的密码过期时间设置成60天,密码重用的天数为18000天,密码满足复杂性要求等等,关闭verify_function功能后,没有及时修改default概要文件,导致sysman和dbsnmp用户密码过期后,打开OEM界面直接报错如下图,其他部件均正常!

查看sysman和dbsnmp用户的状态均为密码过期,修改密码后重新登录OEM,依然报错如下图!

Oracle教程:OEM错误之ORA-28001

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的口令即可。

Oracle教程:OEM错误之ORA-28001