ORA-28002 密码过期解决方案

错误场景:当使用sqlplus进行登录时报错:ORA-28002 密码过期。
错误原因:由于oracle 11g 在默认在default概要文件中设置了密码过期天数,“PASSWORD_LIFE_TIME=180”,密码过期后就会报此提示。

解决方案:
1、查看用户的概要文件名,一般为default

sql> SELECT username,PROFILE FROM dba_users;

2、查看指定概要文件(如default)的密码有效期设置

sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

3、将密码有效期由默认的180天修改成“无限制”,立即生效,修改后没有提示过期的用户将不会再提示

sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

4.检查已经密码过期的用户

账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。

sql> SELECT username,account_status FROM dba_users;

5.修改后,还没有被提示ORA-28002警告的帐户不会再有同样的提示,已经被提示的帐户必须修改密码

sql> ALTER user 用户名 identified BY <密码>

ORA-28000 账户锁定的解决方案参考:https://www.cnblogs.com/holmes-cat/p/10365614.html

发表评论

您的电子邮箱地址不会被公开。