1. 程式人生 > >解決Oracle使用者被鎖定的方法

解決Oracle使用者被鎖定的方法

1,cmd控制檯:

使用sqlplus 命令:sqlplus sys/密碼@ip/orcl as sysdba;

2,先設定具體時間格式,以便檢視具體時間

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

3,檢視具體的被鎖時間

SQL> select username,lock_date from dba_users where username='TEST';

4,解鎖

SQL> alter user test account unlock;

5,檢視是那個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次嘗試失敗後鎖住使用者

6,檢視FAILED_LOGIN_ATTEMPTS的值

SQL> select * from dba_profiles where RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS';

7,修改為30次

SQL>  alter profile default limit FAILED_LOGIN_ATTEMPTS 30;

8,修改為無限次(為安全起見,不建議使用)

SQL> alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;