这是中高级诊断理论与实战课程第6讲。今天将分享Oracle 核心进程的一些作用和原理,同时再分享一个上周日处理的一个Oracle RAC性能性能故障的分析处理过程和思路,希望大家能有所收获。
案例分享:应用全部启动,Oracle RAC很快就被打满连接夯死
首先我说一下我的分析思路,我通常登录数据库直接top 看下负载,然后直接看等待事件,通常根据等待事件,80%的可能性就能直接定位问题。
这样讲,可能有点简单,我们仍然通过awr来分析说明。
首先从用户反馈比较慢的awr来看(实际上业务未全部启动),我们可以看到配置还是很高的,160c/500G memory。
单纯的看load profile,其实压力似乎并不大,对于这个硬件配置来说,完全不值得一提。接下来直接看top event:
从等待实践来看,可以看到log file sync很高,其中gc以及tx - index contention也出现了。
从log file sync来看跟IO有关,而对于index contention,我们知道通常来讲,如果你的insert非常高,那么出现索引争用(通常是index block split),还能说的过去。
这里我们刚讲过,load profile的数据很低的,那么是不是就说明数据库的IO可能有点问题?
再回到log file sync上来,同样从load profile来看,每秒的redo 不到1mb,低于如此高配的硬件,我相信也毫无压力。那么为什么有问题?