您的位置:首页 > 数据库 > Oracle

Oracle密码过期the password has expired

2016-04-27 16:53 519 查看
调试Web项目的时候出现异常:

[java]
view plaincopyprint?

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

网上查了一下,是Oracle11g密码过期的原因
连接Oracle,以Oracle用户登陆,输入以下命令

[sql]
view plaincopyprint?

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

结果显示:

[html]
view plaincopyprint?

PROFILE  
------------------------------------------------------------  
RESOURCE_NAME  
------------------------------------------------------------  
RESOURCE_TYPE  
----------------  
LIMIT  
------------------------------------------------------------  
  
DEFAULT  
PASSWORD_LIFE_TIME  
PASSWORD  
180  
  
------------------------------------------------------------  

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

输入命令:

[sql]
view plaincopyprint?

alter profile default  limit password_life_time unlimited;  
commit;  

再次执行:

[sql]
view plaincopyprint?

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

结果显示为:

[sql]
view plaincopyprint?

PROFILE  
------------------------------------------------------------  
RESOURCE_NAME  
------------------------------------------------------------  
RESOURCE_TYPE  
----------------  
LIMIT  
------------------------------------------------------------  
  
DEFAULT  
PASSWORD_LIFE_TIME  
PASSWORD  
UNLIMITED  
------------------------------------------------------------  

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

[sql]
view plaincopyprint?

alter user XXXUSER identified by Welcome1;  

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

[sql]
view plaincopyprint?

alter user XXXUSER identified by oracle account unlock;  

再次调试,问题解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: