Oracle 11g密码过期问题
Oracle 11g默认用户密码会在使用180天后过期,我们可以通过dba_users数据字典看一下用户的信息。
SQL> select username,account_status,lock_date,expiry_date,created,profile from dba_users;
结果如下:
我们可以看到账号的创建时间与过期时间相差180天。对于生产系统,账号是不能发生变动的,因此我们希望能够将账号的过期时间改为:永不过期。如何修改呢?在Oracle数据库中,用户对系统资源的限制与对用户口令的管理都是通过概要文件实现的,如果在创建用户时不指定概要文件,则使用的概要文件为数据库默认概要文件,体现在上图中的PROFILE=DEFAULT。
可以通过dba_profiles数据字典查询信息
SQL> select * from dba_profiles where profile=upper('default');
结果如下:
这里对几个参数进行解释:
- PASSWORD_LIFE_TIME:密码的有效天数,到达天数后,密码将置为过期,需要重新设置密码;
- FAILED_LOGIN_ATTEMPTS:用户登录允许失败的次数,用户登录失败的次数达到该值后,账户被锁定,只有解锁后才能登录数据库
- PASSWORD_LOCK_TIME:登录失败后,账号被锁定的时间;
- PASSWORD_GRACE_TIME:用户密码到期前这几天中,会收到密码过期的警告,当到达过期天数后,原口令过期
对于大部分概要文件参数的修改语法为:
SQL> ALTER PROFILE profile_name LIMIT pro_parameter [integer | UNLIMITED | DEFAULT]
在这里,我们需要密码有效天数改为无限制,直接使用下面命令即可修改:
SQL> ALTER PROFILE default LIMIT password_life_time UNLIMITED;
虽然这只是一个小问题,但往往由于不注重这样的小问题,在生产中造成巨大的损失,我们不可不防。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?