| 我前两天在相关网站看见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;
 
 |