一次共享池争用方面的问题处理

最近有好几个数据库上面出现了共享池争用问题。

但由于一些材料都是在内网无法取出,只好用文字描述一番。

问题描述:

在早上9点到9点20之前,alert日志报出大量ora-3136的问题,应用上反应数据库无法连接。

生成awr报告分析后发现,top 5等待事件都是shared pool相关的等待,于是分析是由于共享池争用导致oracle无法及时处理新的连接请求。

接下来自然是要分析为何共享池出现争用问题。

一般共享池争用问题多是由于硬解析过于严重,然后发现awr报告里面显示library cache hit才77%,顿时觉得找到原因了。。。

但是接着分析其他业务时间,发现library cache hit也是77%左右,但并未出现那么严重的共享池方面争用。。。

且sga是自动管理的,共享池处于增长状态,而buffer cache则相应的被shrink。。。。

查了下库上硬解析语句,发现也不是特别多,这就比较奇怪了,按说共享池争用严重到影响数据库连接,不应该如此无迹可寻。。。

无意间查了下vv$active_session_history视图,发现9点到9点20这个时间段,会话数远超平时,平时只有几百个,而这次竟有4万多。。。

这下子便可以解释通了:

数据库上本身library cache的命中率就不高,当大量会话连接,且多是硬解析语句,共享池争用便体现出来了。。。。。。

抓出这些突增的sql语句,交给业务人员分析。。。。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

今年又是很多故事要发生。。。。

你可能感兴趣的:(一次共享池争用方面的问题处理)