ORA-28000: the account is locked
-- 1. 以 DBA 角色登入 conn / as sysdba -- 2. 設定時間格式方便查詢 alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; -- 3. 查詢鎖定時間 select username, lock_date from dba_users where username = 'TEST'; -- USERNAME LOCK_DATE -- TEST 2009-03-10 08:51:03 -- 4. 解鎖 alter user test account unlock; -- User altered.
檢查監聽日誌:$ORACLE_HOME/network/admin/log/listener.log
10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)...) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0 10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)...) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0
可見 10.69.1.11 短時間大量連線失敗導致鎖定。
-- 1. 查看目前設定 select * from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS'; -- 2. 修改為 30 次(預設 10 次) alter profile default limit failed_login_attempts 30; -- 3. 設為無限制(不建議生產環境) alter profile default limit failed_login_attempts unlimited;
system/SYSDBA 登入DBA_USERS.LOCK_DATE 異動,設定告警FAILED_LOGIN_ATTEMPTS = 10,搭配 PASSWORD_LOCK_TIME = 1(鎖定 1 天自動解鎖)audit session whenever not successful;