oracle用户过期与解锁方法详解

发布时间:2020-02-04编辑:脚本学堂
本文介绍了oracle数据库用户过期与解锁的方法,用户被锁定有两种,一种是DBA显式的通过SQL语句对用户进行锁定,另一种是被动的锁定,默认情况下如果密码输入错误超过10次。

本节内容:
oracle用户过期与解锁方法

步骤1:使用管理员账户或者有dba权限登陆,如system账户

步骤2: 执行:
 

SELECT * FROM DBA_USERS  where username like '%TEST%'

其中account_status是状态。

状态可分为两类:1.基本状态;2.组合状态。

基本状态:0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED

后四种是基本状态:5 EXPIRED & LOCKED(TIMED)、6 EXPIRED(GRACE) & LOCKED(TIMED)、9 EXPIRED & LOCKED、10 EXPIRED(GRACE) & LOCKED

1、open状态表示用户处于正常状态。
2、locked和locked(timed)表示用户被锁定状态。

用户被锁定有两种:
一种是dba显式的通过sql语句对用户进行锁定;
另一种是被动的锁定,默认情况下如果密码输入错误超过10次。

该限制由profile中的failed_login_attempts控制,可查看视图dba_profiles。
1)、显式锁定用户locked:alter user [username] account lock;
2)、输入10次错误密码后被动锁定locked(timed)
3)、expired和expired(grace)表示用户密码过期状态。

可以使用:
 

select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
 

先查看
修改PROFILE中的PASSWORD_LIFE_TIME实现密码是否过期:
 

alter profile default limit password_life_time unlimited;

密码过期后也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天数:
 

alter profile default limit password_grece_time 180;

4)、对于密码过期的用户OPEN:
 

alter user [username] identified by <password> account unlock;

如执行alter user TEST08 identified by password,意思是将test08已过期的账户密码改为password

5)、如果账号被锁住,需要解锁命令
 

alter user XXXUSER identified by oracle account unlock;
--或直接:
alter user xxuser ACCOUNT UNLOCK;