今天在使用 sqlplus 时出现
===============================================
ERROR: ORA-28002: the password will expire within 7 days
===============================================
提示密码快过期了,由于需要连接的测试数据库,所以决定将密码设置成永不过期。
1. 查看用户的 profile 设置:
SELECT username,profile FROM dba_users;
一般用户的 profile 设置都为 DEFAULT 。
2. 查看系统 profiles 中 PASSWORD_LIFE_TIME 设置。
SELECT * FROM dba_profiles s WHERE s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME' ;
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- ------------------------------------------------ DEFAULT PASSWORD_LIFE_TIME PASSWORD 180dys
==============================================================
3. 修改 DBA_PROFILES 中 PASSWORD_LIFE_TIM 的设置,改为 ULIMITED 。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
4. 已经被报告了密码快要过期的账户必须再改一次密码(需要 DBA 权限)
以 system 用户为例
sqlplus / as sysdba
alter user system identified by admin123;
再连接数据再也不会出现密码过期的事情了。
如果是其他用户的话,那么就使用其他用户名。
alter user scott identified by tiger; http://www.cnblogs.com/xwdreamer/archive/2011/07/06/2296986.html
