用户状态

今天收到客户的通知,说一个用户一直连接不上去,说想开通过一个新账号,我猜想可能是用户被锁定了,于是登入数据库查询

select * from dba_users where username='PX';

发现该用户的状态为LOCKED(TIMED),此为用户超过了FAILED_LOGIN_ATTEMPTS连续登录失败的次数,账户出现的锁定状态

查询用户默认的profile为default,查看select * from dba_profiles,FAILED_LOGIN_ATTEMPTS=10为数据库默认的设置,对其进行修改

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

最后对用户进行解锁

ALTER USER PX ACCOUNT UNLOCK;

搞定

 

为了进一步学习,转载如下:

一、当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态。
SQL> select username,account_status from dba_users;
USERNAME ACCOUNT_STATUS
--------------------- ------------------
MGMT_VIEW OPEN
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
SYSMAN OPEN
DEMO OPEN
OUTLN EXPIRED & LOCKED
MDSYS EXPIRED & LOCKED
ORDSYS EXPIRED & LOCKED
ANONYMOUS EXPIRED & LOCKED
EXFSYS EXPIRED & LOCKED
WMSYS EXPIRED & LOCKED
XDB EXPIRED & LOCKED
ORDPLUGINS EXPIRED & LOCKED
SI_INFORMTN_SCHEMA EXPIRED & LOCKED
DIP EXPIRED & LOCKED
ORACLE_OCM EXPIRED & LOCKED
TSMSYS EXPIRED & LOCKED

 

二、ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP。
SQL>select * from user_astatus_map;
STATUS# STATUS
-------- ------------------------------
 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.基本状态;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 <password> account unlock;

 

四、锁定的两种状态[LOCKED和LOCKED(TIMED)]和密码过期的两种状态[EXPIRED和EXPIRED(GRACE)]之间任意组合即2×2=4,因此有四种组合状态。


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

基础状态:
OPEN
正常的打开状态


EXPIRED
管理员通过:

1.alter user XXX password expire;

2.用户超过了PASSWORD_LIFE_TIME设置的生存期,并且也超过了PASSWORD_GRACE_TIME设置的宽限期。

解决:当用户下次登录时会提示修改密码,修改后方可登录。或者管理员通过修改用户密码也可解除过期。


EXPIRED(GRACE)
用户超过了PASSWORD_LIFE_TIME设置的生存期,但并未超过了PASSWORD_GRACE_TIME设置的宽限期。如果PASSWORD_GRACE_TIME设置为UNLIMITED,那么下次登录时不会有任何提示(等同于OPEN),如果不是UNLIMITED,那么会出现用户好久过期,提示修改密码的消息出现。


LOCKED(TIMED)
用户超过了FAILED_LOGIN_ATTEMPTS连续登录失败的次数,账户出现的锁定状态,当锁定时间超过了PASSWORD_LOCK_TIME设置的时间后,用户会自动解锁(当然在没有进行登录时状态不会发生变化,只有试图登录时状态才会发生变化)。


LOCKED
这个是管理员通过alter user xxx account lock来锁定用户,PASSWORD_LOCK_TIME对此种情况无效,此种情况只有管理员通过alter user account unlock来解锁。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值