Oracle密码过期the password has expired解决办法

孤街浪徒 提交于 2019-11-30 23:57:33

oracle 出现the password has expired这个问题,今天突然发现项目访问不了,一查发现用不了,也登不进去,

这个问题由是Oracle11g密码过期的原因导致的

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

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

网上查了一下,连接Oracle,以Oracle用户登陆,输入以下命令

 

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

结果显示:

 

PROFILE  

------------------------------------------------------------  

RESOURCE_NAME  

------------------------------------------------------------  

RESOURCE_TYPE  

----------------  

LIMIT  

------------------------------------------------------------  

    

DEFAULT  

PASSWORD_LIFE_TIME  

PASSWORD  

180  

    

------------------------------------------------------------  

结果显示密码有效期是180

输入命令:

 

alter profile default  limit password_life_time unlimited;  

commit;  

再次执行:

 

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

结果显示为:

 

 

PROFILE  

------------------------------------------------------------  

RESOURCE_NAME  

------------------------------------------------------------  

RESOURCE_TYPE  

----------------  

LIMIT  

------------------------------------------------------------  

    

DEFAULT  

PASSWORD_LIFE_TIME  

PASSWORD  

UNLIMITED  

------------------------------------------------------------  

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

改变密码的命令

 

alter user XXXUSER identified by Welcome1;  

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

 

alter user XXXUSER identified by oracle account unlock;  

再次调试,问题解决

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!