Oracle数据库提示密码过期的处理方法
密码过期会提示:java.sql.SQLException: ORA-28001: the password has expired
一、查看数据库密码规划默认值
SQL> 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天
输入命令:
SQL> alter profile default limit password_life_time unlimited;
SQL> commit;
再次执行:
SQL> 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异常
二、修改密码的命令
SQL> alter user XXXUSER identified by "NEWPASSWORD";
如果账号被锁住,则需要解锁命令
SQL>alter user XXXUSER identified by oracle account unlock;
再次调试,问题解决
SQL> alter user 用户名 identified by oracle account unlock;
User altered.(表示已经执行完成)
SQL> alter user 用户名 identified by "fb20210330";
User altered.(表示已经执行完成)