共计 1287 个字符,预计需要花费 4 分钟才能阅读完成。
Oracle 出现 the password has expired 这个问题,今天突然发现项目访问不了,一查发现用不了,也登不进去,这个问题由是 Oracle 11g 密码过期的原因导致的。
调试 Web 项目的时候出现异常:
java.sql.SQLException: ORA-28001: the password has expired
网上查了一下,连接 Oracle,以 Oracle 用户登陆,输入以下命令
以 orcaleDBA 用户登录
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 Welcome1 account unlock;
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-04/130568.htm
正文完
星哥玩云-微信公众号