【Oracle】密码过期-解决方案

错误代码 ORA-28001: the password has expired

1、连接Oracle,以Oracle DBA身份登陆,

sqlplus system/password@orcl as system;

2、输入以下命令,查看数据库默认的密码管理方式有效期

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

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

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

3、输入以下命令,设置数据库默认密码为永久有效

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
------------------------------ -----------------         -------- 
LIMIT
----------------------------------------
DEFAULT                        PASSWORD_LIFE_TIME        PASSWORD
UNLIMITED

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

alter user username identified by newpwd;

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

alter user username identified by oracle account unlock;

再次调试,问题解决

posted @ 2024-09-26 19:08  随缘的一个人  阅读(337)  评论(0)    收藏  举报  来源