今天收到生产库执行缓慢的通知,排查了一下数据库缓慢的原因。首先查看一下当前等待事件
select event,count(*) from v$session_wait group by event order by 2 desc;
发现一条异常的等待事件:
row cache lock
这时,取出当前20分钟的ash报告和问题时间段的awr报告查看
row cache lock排行第一,很不正常。接着,继续往下排查:
connection management call elapsed time耗时较多,说明连接数据库用了较多时间 |
OAUTH异常活跃,到这里大概知晓是什么问题了。
这是由于存在大量连接使用错误的密码来连接数据库导致的。
为验证是否是这个猜测,通过审计,查找了一下最近10分钟内,连接数据库失败的信息
SELECT username, os_username, userhost, TO_CHAR(timestamp, 'YYYY-MM-DD HH24:MI:SS') AS timestamp, returncode FROM sys.dba_audit_session WHERE returncode != 0 AND timestamp > SYSDATE - 10/1440 ORDER BY timestamp DESC
查询到最近10分钟的确存在大量登录失败的信息。然后让应用使用正确的密码连接,至此,问题解决。