连接oracle时报错:ORA-28001: the password has expired

调试Web项目的时候出现异常:

  1. java.sql.SQLException: ORA-28001: the password has expired

网上查了一下,是Oracle11g密码过期的原因

连接Oracle,以Oracle用户登陆,输入以下命令

 

  1. select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; 

结果显示:

 

  1. PROFILE 
  2. ------------------------------------------------------------ 
  3. RESOURCE_NAME 
  4. ------------------------------------------------------------ 
  5. RESOURCE_TYPE 
  6. ---------------- 
  7. LIMIT 
  8. ------------------------------------------------------------ 
  9.  
  10. DEFAULT 
  11. PASSWORD_LIFE_TIME 
  12. PASSWORD 
  13. 180 
  14.  
  15. ------------------------------------------------------------ 

结果显示密码有效期是180天

 

输入命令:

 

  1. alter profile default  limit password_life_time unlimited; 
  2. commit; 

再次执行:

  1. select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; 

结果显示为:

  1. PROFILE 
  2. ------------------------------------------------------------ 
  3. RESOURCE_NAME 
  4. ------------------------------------------------------------ 
  5. RESOURCE_TYPE 
  6. ---------------- 
  7. LIMIT 
  8. ------------------------------------------------------------ 
  9.  
  10. DEFAULT 
  11. PASSWORD_LIFE_TIME 
  12. PASSWORD 
  13. UNLIMITED 
  14. ------------------------------------------------------------ 

进行以上步骤之后需要改变密码,否则还会出现password has expired异常

改变密码的命令

  1. alter user XXXUSER identified by Welcome1; 

如果账号被锁住,则需要解锁命令

    1. alter user XXXUSER identified by oracle account unlock; 
posted @ 2016-01-04 14:15  NewLife365  阅读(1540)  评论(0编辑  收藏  举报