今天登录数据库时遇到这样一个问题:
ERROR
ORA-28002: the password will expire within 7 days
百度了一下,解决了这个问题。
1. 查看用户的profile设置:
SELECT username,profile FROM dba_users; |
一般用户的profile设置都为DEFAULT。
我的Oracle输出结果中有一个不是default,其它都是。
2. 查看系统profiles中PASSWORD_LIFE_TIME设置:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; |
3. 修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; |
修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
4. 已经被告知密码快要过期的账户必须再改一次密码
如当前登录用户为sys,
alter user sys identified by ; |
再连接数据再也不会出现密码过期的事情了。
如果是其他用户的话,那么就使用其他用户名。