错误信息
【汉】ORA-28007:无法重新使用口令 【英】ORA-28007: the password cannot be reused
环境介绍
操作系统 | 数据库版本 | 备注 |
CentOS 7 | Oracle 11G |
报错
在修改用户的密码时报错。
原因
报错的原因主要是有配置密码的profile文件,其主要是一些资源限制等参数。跟本次报错有关的参数是:
- PASSWORD_REUSE_TIME 设置密码在多少天之后才能重新使用
- PASSWORD_REUSE_MAX 设置密码在修改过多少次之后才能重新使用
这两个参数默认值都是不限制。 Oracle会将你密码变更记录都储存到system表空间的数据字典表(SYS下的系统表)中,然后根据这两个参数的值来增加或删除记录。
解决方法
解决方法需要区分两种情况。第一种就是按配置得参数,继续修改不同的密码。再者就是先暂时将策略改为不限制(或永久修改限制),等密码配置后,再将策略改回去。
1、检查用户使用的profile
select PROFILE from dba_users where username='TEST1';
从图上可以看出,TEST1用户使用的策略是默认的策略。
2、检查用户使用的profile参数
select * from dba_profiles where profile='DEFAULT';
从图上可以看出,TEST1用户如果想重用密码,至少要改过3次密码并且要设置的密码跟之前的密码至少间隔60天才行。
3、修改profile参数为不限制
alter profile default limit PASSWORD_REUSE_TIME unlimited;
alter profile default limit PASSWORD_REUSE_MAX unlimited;
4、修改密码
我这里是演示案例,密码这么简单就无所谓了。
alter user test1 identified by "orcl";
5、再次修改策略
出于安全考虑,建议非特殊情况下,不要私自修改DBA配置的策略。
alter profile default limit PASSWORD_REUSE_TIME 60;
alter profile default limit PASSWORD_REUSE_MAX 3;
标签:profile,REUSE,修改,28007,口令,密码,PASSWORD,alter,ORA
From: https://blog.51cto.com/bxbdba/7324119