Oracle密码过期the password has expired

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

[java] view plain copy print ?
  1. java.sql.SQLException: ORA-28001: the password has expired  
网上查了一下,是Oracle11g密码过期的原因

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

[sql] view plain copy print ?
  1. select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';  
结果显示:
[html] view plain copy print ?
  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天
输入命令:
[sql] view plain copy print ?
  1. alter profile default  limit password_life_time unlimited;  
  2. commit;  
再次执行:
[sql] view plain copy print ?
  1. select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';  
结果显示为:
[sql] view plain copy print ?
  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异常

改变密码的命令

[sql] view plain copy print ?
  1. alter user XXXUSER identified by Welcome1;  
如果账号被锁住,则需要解锁命令
[sql] view plain copy print ?
  1. alter user XXXUSER identified by oracle account unlock;  
再次调试,问题解决


你可能感兴趣的:(Oracle)