一句话记录--ORA-28001: the password has expired

ORA-28001: the password has expired

项目测试库连接的时候突然提示了后台错误:``` ORA-28001: the password has expired


于是使用 DBA 用户登录数据库,查看系统连接用户使用的配置文件信息,执行语句:

SELECT profile FROM dba_users WHERE username = 'XXX';


数据库返回结果为 DEFAULT,代表我们数据库使用的配置文件为默认配置。

查看该配置下的密码有效期设置,执行语句:

SELECT limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'


数据库返回结果为 180,代表我们数据库中用户默认的密码有效期为 180 天,如果超过该时限就会提示异常。此时,需要修改用户密码来处理该用户异常,执行语句:

ALTER USER userName IDENTIFIED BY password;


执行成功后,该用户即可恢复正常登录。

注:如果感觉有密码限制时间比较麻烦,且数据库无需相关安全限制的话,可以取消该设定,执行语句:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


执行成功后即可,再次执行查询语句:

SELECT limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'


得到的返回已改为 UNLIMITED。

猜你喜欢

转载自my.oschina.net/u/1156626/blog/983247