一、当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态。
select username,account_status from dba_users;
二、ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP。
select * from user_astatus_map;
九种状态可分为两类: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
后四种的组合状态可通过状态号STATUS#获得其状态的两个组合。掌握前五种即可。
三、五种基本状态
五种基本状态可分为三类:1.正常状态;2.锁定状态;3.密码过期状态。
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)表示用户密码过期状态。
修改PROFILE中的PASSWORD_LIFE_TIME实现密码是否过期:alter profile default limit password_life_time unlimited;
密码过期后也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天数:alter profile default limit password_grece_time 180;
对于密码过期的用户OPEN:alter user [username] identified by account unlock;
四、锁定的两种状态[LOCKED和LOCKED(TIMED)]和密码过期的两种状态[EXPIRED和EXPIRED(GRACE)]之间任意组合即2×2=4,因此有四种组合状态。
转载于:https://blog.51cto.com/mflag/2388442