oracle数据库默认profile的密码有效期规则是default,180天有效期,到期了之前的密码就不能使用了,必须经过一次修改。这个是为了安全,提示和强制用户每隔一段时间进行一次修改的,但如果只是测试环境或者其它方面原因,我们想设置成密码永久有效期的情况,下面就来介绍下如何设置
1. 使用sqlplus连接数据库
sqlplus "/as sysdba"
2. 查询当前所有的用户和对应的profile,默认都是default,找到我们过期的用户对应的profile,如果之前没有修改过的话,就是default
select username, profile from dba_users;
3. 查看密码默认过期时间
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
4. 修改profile密码有效期为永久
alter profile default lime password_life_time unlimited;
5. 修改完成之后,输入第3步的查询命令确认是否已经修改
6. 以上修改之后,不需要重启服务,立即生效的。如果之前还没有提醒到期,则当前密码都变成永久了。如果当前已经提醒过到期了,则需要修改一次密码,才可以正常使用。
新密码可以是原来的密码,这样修改之后,还是原来的密码,应用配置则不需要再次修改了。
alter user username identified by xxx;
以上介绍的修改永久密码的方式是针对默认所用用户的,如果只想让一个用户的密码为永久,而其它用户不受影,则需要新建一个profile给这个特定的用户,然后再修改这个新建的profile的密码有效期为永久。