优秀的编程知识分享平台

网站首页 > 技术文章 正文

ORACLE11G 用户密码过期了怎么办?

nanyue 2024-07-30 03:13:53 技术文章 4 ℃

症状与原因

11G数据安装成功了,也配置上线了,用的好好的,溜溜的,可是突然系统登录不上去,提示用户密码过期,这是怎么回事呢?这是Oracle11G默认的安全策略,创建用户时给每个用户使用了概要文件,也就是默认配置文件,这个默认配置文件里有设置密码的有效时间,默认是180天,也就是半年。不要慌张,下面我们看看这个概要文件是个啥。

查询概要文件

select * from sys.dba_profiles;

注意红框部分,密码的有效期也就是生存期是180天。当密码使用180天后密码过期后,除sys用户外的其它用户无法登录数据库,如果经常登录数据库会有7天开始倒计时的提示!

解决办法

既然是配置的概要文件有问题,那就改改吧,两种办法,一个是增加天数,一个是密码永久有效,推荐后者,现在的数据库大多是应用程序访问,所以谁也不想经常改动这个。

修改步骤

1、查看用户的proifle是哪个,一般是default:

SELECT username,PROFILE FROM dba_users where username='SYSTEM';

2、查看指定概要文件(如default)的密码有效期设置:

SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT';

3、将密码有效期由默认的180天修改成"无限期":

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

注意是立即生效

4、修改后,用户密码还是登录不了,密码还是无效,再赋值一遍原始密码即可。

alter user system identified by <原来的密码> ----不用换新密码

5、如果已经有用户已经是lock状态,那就是解锁,查看用户状态的语句如下

如果有用户被锁住,请解锁用户

alter user system account unlock;
最近发表
标签列表