组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>