Oracle数据库用户密码过期的解决方法

Oracle数据库用户密码过期的解决方法| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 17512615| Oracle数据库用户密码过期的解决方法| 2023-06-28T21:25:00| | BlogPost|

问题现象:

今天在更改数据库数据的时候,程序报错了,如下:

ORA-28001:the password has expired

问题分析:

很显然,报错原因就是:

rokac.com

密码已过期!

所以现在需要做的事情只有两件:

1.修改密码的过期时间

2.修改/重置密码

这里分析一下为什么要这样做:

1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右);

通过sysdba身份可以登录Oracle数据库,可以查看自己的Oracle数据库版本和数据库默认密码保质期的配置:

LIMIT(180):保存时长为180天

修改为不限期:UNLIMITED,这样以后就不会再出现这个密码过期的问题了,此处需结合项目需求,有些公司是建议定期更换密码的,因此不会设置为UNLIMITED;

2.修改密码:再密码过期后,原密码就失效了,因此需要重新修改密码/重置密码。

解决方法:

1.查询默认的密码保存时间

1
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

2.修改为不限期,若有定期更换密码的需求,则可以设置为每个密码更换周期所需的天数(如:30:,表示每过30天就需要重置一次密码)

不限期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

30天的密码有效期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 30;

3.确定密码过期的用户,如果不确定,可以通过查询所有用户,并结合用户的创建时间和当前时间的时间差,推测出密码过期的用户:

1
select * from all_users; 

4.重置密码:

alter user 密码已过期的USERNAME identified by 密码;

重置完即可正常访问数据库,不需要重启数据库!

Oracle数据库用户密码过期的解决方法_oracle_脚本之家 (jb51.net)

| 648658| 常使用oracle数据库的小伙伴可能会经常遇到oracle密码过期的问题,下面这篇文章主要给大家介绍了关于Oracle数据库用户密码过期的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下| 2023-06-28T21:25:00| false| | 2023-06-28T21:25:07.55| true| 问题现象: 今天在更改数据库数据的时候,程序报错了,如下: ORA-28001:the password has expired 问题分析: 很显然,报错原因就是: 密码已过期! 所以现在需要做的事情只有两件: 1.修改密码的过期时间 2.修改/重置密码 这里分析一下为什么要这样做: 1.修改密码的| Anonymous|
posted @   RalphLauren  阅读(710)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示