如何处理 ORA-28002 password will expire 错误

2025-10-31 02:11:28

1、步骤一 : 查看用户的 profile 设置:

在 Oracle 中,每个用户都会对应一种特定类型的 profile 概要设置,其基本描述了这个用户的一些特征,比如用户密码的生命周期 (这个特征就与经验涉及 的 ORA-28002 错误相关)!

通常用户都会采用 DEFAULT 这个默认的 profile 概要设置, 如图, 所有的用户均采用的这个 profile 设置!

sqlplus 中执行命令 : select username,profile from dba_users;

如何处理 ORA-28002 password will expire 错误

2、步骤二 : 查看 DEFAULT profile 中 PASSWORD_LIFE_TIME 设置

PASSWORD_LIFE_TIME : 密码生命周期,用户密码什么时候到期,单位是天,如图,安装 Oracle 时默认的 PASSWORD_LIFE_TIME 是 180 天, 即 6 个月,其含义就是,我们的用户密码每 6 个月就需要更新(注意: 这里的更新不是指密码需要改变,而是指一个更新动作,可以维持密码不变,但必须执行这个更新动作)!

sqlplus 中执行命令 : select resource_name, limit from dba_profiles p where p.profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';

如何处理 ORA-28002 password will expire 错误

3、步骤三 : 修改 PASSWORD_LIFE_TIME,改为 ULIMITED

修改DEFAULT profile 中 PASSWORD_LIFE_TIME 设置, 改为 ULIMITED , 即不限制,这样我们的用户密码就永不过期了!

sqlplus 中执行命令 : alter profile DEFAULT limit PASSWORD_LIFE_TIME UNLIMITED;    

修改后,我们再次查看DEFAULT profile 中 PASSWORD_LIFE_TIME 设置, 已经变为 UNLIMITED 了!

如何处理 ORA-28002 password will expire 错误

如何处理 ORA-28002 password will expire 错误

4、步骤四 : 所有经常使用的账户必须都更新一次密码

通常来说,那些已经被报告了密码快要过期的账户必须再改一次密码,但为了保险起见,我们一般都将所有经常使用的账户都更新一次密码!

通过 sqlplus / as sysdba 登陆到 Oracle (无需密码),然后执行如下命令更新一下密码 : 

alter user system identified by 密码;

如何处理 ORA-28002 password will expire 错误

5、步骤五 : 确认登陆后,不再出现 ORA-28002 错误

重新登陆,确认没有报 ORA-28002 错误 ! 至此,这个问题就彻底解决了,以后无论多长时间,我们都不会再遇到这个问题!

如何处理 ORA-28002 password will expire 错误

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢