ORA-28002:the password will expire within 7 days 解决办法
今天使用PL/SQL登录数据库,弹出如下提示:
以下是解决办法:
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。即不限制,这样我们的用户密码就永不过期了。
修改后,我们再次查看DEFAULT profile 中 PASSWORD_LIFE_TIME 设置, 已经变为 UNLIMITED 了。修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
4、已经被报告了密码快要过期的账户必须再改一次密码(需要DBA权限)
但为了保险起见,我们一般都将所有经常使用的账户都更新一次密码!
通过 sqlplus / as sysdba 登陆到 Oracle (无需密码),然后执行如下命令更新一下密码 :
5、修改完毕。
现在重新登录用户应该也不会弹出28002错误了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律