Oracle ora-28002 the password will expire within 7 days

启动 Oracle SQL Developer的时候,点击用户system进行连接并输入密码后(下图左),会出现(下图右)提示信息:

即:【ora-28002:the password will expire within 7 days】提示密码快过期了
在这里插入图片描述1、查看用户的profile设置:
select username,profile from dba_users;
在 Oracle 中,每个用户都会对应一种特定类型的 profile 概要设置,其基本描述了这个用户的一些特征,比如用户密码的生命周期 (这个特征就与经验涉及 的 ORA-28002 错误相关)!
通常用户都会采用 DEFAULT 这个默认的 profile 概要设置, 如图, 所有的用户均采用的这个 profile 设置!

一般用户的profile设置都为DEFAULT:
在这里插入图片描述2、查看系统profiles中PASSWORD_LIFE_TIME设置:
select * from dba_profiles s where s.profile=‘DEFAULT’ AND resource_name=‘PASSWORD_LIFE_TIME’;

PASSWORD_LIFE_TIME : 密码生命周期,用户密码什么时候到期,单位是天,如图,安装 Oracle 时默认的 PASSWORD_LIFE_TIME 是 180 天, 即 6 个月,其含义就是,我们的用户密码每 6 个月就需要更新(注意: 这里的更新不是指密码需要改变,而是指一个更新动作,可以维持密码不变,但必须执行这个更新动作)
在这里插入图片描述3、修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。即不限制,这样我们的用户密码就永不过期了。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改后,我们再次查看DEFAULT profile 中 PASSWORD_LIFE_TIME 设置, 已经变为 UNLIMITED 了。修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。

在这里插入图片描述4、已经被报告了密码快要过期的账户必须再改一次密码(需要DBA权限)

但为了保险起见,我们一般都将所有经常使用的账户都更新一次密码!
通过 sqlplus / as sysdba 登陆到 Oracle (无需密码),然后执行如下命令更新一下密码 :
在这里插入图片描述如果是其他用户的话,那么就使用其他用户名。
alter user scott identified by tiger;
(我这里还修改了crims和root 的密码,否则之前会报28002的错误。)
在这里插入图片描述确认登陆后,不再出现 ORA-28002 错误

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

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值