Oracle数据库用户密码过期的解决方法
问题现象:
今天在更改数据库数据的时候,程序报错了,如下:
ORA-28001:the password has expired
问题分析:
很显然,报错原因就是:
密码已过期!
所以现在需要做的事情只有两件:
1.修改密码的过期时间
2.修改/重置密码
这里分析一下为什么要这样做:
1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右);
通过sysdba身份可以登录Oracle数据库,可以查看自己的Oracle数据库版本和数据库默认密码保质期的配置:
LIMIT(180):保存时长为180天
修改为不限期:UNLIMITED,这样以后就不会再出现这个密码过期的问题了,此处需结合项目需求,有些公司是建议定期更换密码的,因此不会设置为UNLIMITED;
2.修改密码:再密码过期后,原密码就失效了,因此需要重新修改密码/重置密码。
解决方法:
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.确定密码过期的用户,如果不确定,可以通过查询所有用户,并结合用户的创建时间和当前时间的时间差,推测出密码过期的用户:
select * from all_users;
4.重置密码:
alter user 密码已过期的USERNAME identified by 密码;
重置完即可正常访问数据库,不需要重启数据库!
总结
到此这篇关于Oracle数据库用户密码过期解决的文章就介绍到这了,更多相关Oracle用户密码过期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Orcle的package中访问其它Schema的表报错ORA-00942解决方法
package要访问其它Schema的表,但编译报错ORA-00942,经过搜索了一下找到了解决方法下面与大家分享下2013-05-05如何解决ORA-01843与NLS_DATE_FORMAT问题
本文将详细介绍如何解决ORA-01843与NLS_DATE_FORMAT问题,需要的朋友可以参考下2012-11-11[Oracle] Data Guard CPU/PSU补丁安装详细教程
以下是对Data Guard CPU/PSU补丁安装的方法进行了详细的分析介绍,需要的朋友可以参考下2013-07-07oracle查看字符集后修改oracle服务端和客户端字符集的步骤
本文介绍了oracle server端查询字符集后,修改oracle服务端和客户端字符集的步骤,大家参考使用吧2014-01-01
最新评论