組A和組B對接的時候,將自己的Oracle庫信息直接提供給了組B。然後各自系統都報錯,提示用戶名或密碼錯誤。後臺一看,數據庫用戶被鎖定了。
組B檢查了一下,發現是密碼寫錯了,修改配置後,並在數據庫中將用戶解鎖。
但是一段時間後,各自系統再次發生相同的錯誤。
組A堅持說自己的連接信息配置無誤;組B再次檢查後也說連接信息無誤。
A、B認爲一定是數據庫有問題。由於連接的應用比較多,直接分析監聽日誌也沒啥效果。就直接使用審計,跟蹤登錄失敗的客戶端信息。
1.查看audit_trail、audit_file_dest參數設置
SQL> show parameter audit_trail;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
SQL> show parameter audit_file;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /db/app/admin/test/adump
SQL>
2.開啓對登錄失敗的審計
SQL> audit create session whenever not successful;
3.查看dba_audit_trail
SQL> select os_username,userhost,username,terminal,to_char(timestamp,'MM-DD-YYYY HH24:MI:SS') from dba_audit_trail;
OS_USERNAME USERHOST USERNAME TERMINAL TO_CHAR(TIMESTAMP,'
------------------------------ ------------------------------ ------------------------------ ------------------------------ -------------------
root DB11test abceabce unknown 12-10-2020 13:16:51
root DB11test abceabce unknown 12-10-2020 13:16:53
原來是組A自己的應用!!!
如果想取消該審計:
SQL> NOAUDIT create session whenever not successful;
Noaudit succeeded.
SQL>