ORA-28002/ORA-28000 解决11g 密码过期、密码输错锁住用户问题--修改 default profile

2014-11-24 17:36:52 · 作者: · 浏览: 0

一、ORA-28002: the password will expire within 7 days


11G中默认用户密码每三个月(180天)需要修改一次。profile中定义了该属性值。以下步骤就是将该属性值设为unlimited,即密码永不过期。


1、查看用户使用的profile
SQL> select username,profile from dba_users;


USERNAME PROFILE


------------------------------------------------------------------------------------------------------------------------


SYS DEFAULT


SYSTEM DEFAULT


SHARON DEFAULT


GGS DEFAULT


TEST DEFAULT


OUTLN DEFAULT


MGMT_VIEW DEFAULT


FLOWS_FILES DEFAULT


MDSYS DEFAULT


ORDSYS DEFAULT


EXFSYS DEFAULT


….


2、查看profile的密码有效期
SQL> SELECT * FROM dba_profiles s WHEREs.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';


PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT


------------------------------ -------------------- ----------


DEFAULT PASSWORD_LIFE_TIME PASSWORD 180


3、修改密码有效期(不受限)
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIMEUNLIMITED;


Profilealtered.


Useraltered.


二、ORA-28000 the account is locked


11g的defaultprofile中规定了输错几次密码就会将用户锁住,以下步骤就是将该属性值设为UNLIMITED,即无论输错多少次密码都不会锁住用户。


1、查看用户的proifle是哪个,一般是default:
SQL> select username,profile from dba_users;


USERNAME PROFILE


------------------------------------------------------------------------------------------------------------------------


SYS DEFAULT


SYSTEM DEFAULT


SHARON DEFAULT


GGS DEFAULT


TEST DEFAULT


OUTLN DEFAULT


MGMT_VIEW DEFAULT


FLOWS_FILES DEFAULT


MDSYS DEFAULT


ORDSYS DEFAULT


EXFSYS DEFAULT


….



2、查看指定概要文件(如default)的密码有效期设置:
SQL> SELECT * FROM dba_profiles s WHEREs.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';


PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT


----------------------------------- -------------------- ----------


DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10


--输错密码10次就会把用户锁住


3、将尝试登录失败次数由默认的10次修改成“无限制”:
SQL> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTSUNLIMITED;


Profilealtered.


4、将已锁的用户解锁
SQL> alter user sharon identified by oracle accountunlock;


Useraltered.


推荐阅读