日期:2014-05-16  浏览次数:20597 次

ORA-28002: the password will expire within 7 days 解决方法(后面部分为拷贝,前面加上了自己遇到的问题的时候解决方案)
 
首先以管理员密码登录
如果发现仍然登录不进去了,可以将Oracle安装的Linux的系统时间提前,修改方法是:
date -s 04/29/2014
date -s 17:52:00
clock -w
 
1. 查看用户的profile设置:
  1. SELECT username,profile FROM dba_users;  
一般用户的profile设置都为DEFAULT。
2. 查看系统profiles中PASSWORD_LIFE_TIME设置:
  1. SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';  
  2. PROFILE                        RESOURCE_NAME                    RESOURCE                      LIMIT  
  3. ------------------------------ -------------------------------- ------------------------------------------------  
  4. DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD                180dys  
3. 修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。
  1. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;  
修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
4. 已经被报告了密码快要过期的账户必须再改一次密码(需要DBA权限)
以system用户为例(亦可以通过PL/SQL登录进去)
  1. sqlplus / as sysdba  
  2. alter user system identified by root;