Oracle密码过期、用户锁定、密码重用
1. 查看用户的状态(如:过期/锁定等)
以SYS DBA身份进入sqlpuls
打开sqlpuls
SQL->sqlplus /nolog
SQL->sys / as sysdba
select username,account_status from dba_users;
常用的用户状态是否是EXPIRED 还是LOCKED有的是LOCKED<TIME>
2. 检查oracle的密码周期设置
Oracle 11G创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录。
可通过
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
语句,查询密码的有效期设置,LIMIT字段是密码的有效天数。
如果想长期有效,可以通过
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
语句修改有效期为“无限期”的 。
如果密码已经是过期状态了,修改上面的有效期后,还需要重新修改下密码,可通过
ALTER USER 用户名IDENTIFIED BY 密码;
语句修改密码,密码修改后可以正常连接数据库。
测试:conn / as sysdba 连接下。
注:出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议客户定期修改数据库用户口令。
3. 密码过期,修改密码
可通过
ALTER USER 用户名IDENTIFIED BY 密码;
语句修改密码,
4. 用户被锁定
可通过
Alter user user_name account unlock;语句来解锁。
5. 密码重用设置
Oracle通过PROFILE中的PASSWORD_REUSE_TIME和PASSWORD_REUSE_MAX来确定密码是否可以重用以及密码重用的限制。
PASSWORD_REUSE_TIME是重用密码的最小时间间隔
PASSWORD_REUSE_MAX是重用密码前更换密码的最小次数
l PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME都为UNLIMITED这时密码可以任意重用,没有限制
l PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME中有一个为UNLIMITED,另一个为其他值。这个时候你的密码将永远无法重用。
l PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME都不为UNLIMITED。这时只需满足任意一个条件就可以重用密码