Oracle用户被锁的原因及解决办法

在登陆时被告知test用户被锁

1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 
Session altered. 

2、查看具体的被锁时间

SQL> select username,lock_date from dba_users where username='TEST'; 
USERNAME LOCK_DATE 
TEST 2009-03-10 08:51:03 

3、解锁

SQL> alter user test account unlock; 
User altered. 

4、查看是那个ip造成的test用户被锁

查看$ORACLE_HOME/network/admin/log/listener.log日志

10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=Oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0
10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0

这样可知是上面10.69.1.11的ip尝试多次失败登陆造成的被锁

注:

一般数据库默认是10次尝试失败后锁住用户

1、查看FAILED_LOGIN_ATTEMPTS的值

select * from dba_profiles 

2、修改为30次

alter profile default limit FAILED_LOGIN_ATTEMPTS 30; 

3、修改为无限次(为安全起见,不建议使用)

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;  

以上所述是小编给大家介绍的Oracle用户被锁的原因及解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对来客网网站的支持!