ora-04031 无法分配shared pool
想了解一下怎么根本解决ora-04031 无法分配shared pool的问题?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
6条回答
默认
最新
ora-04031 shared pool 配置正确的话,生产库一般是因为大量硬解析sql未使用绑定变量导致的,建议使用绑定变量减少硬解析,硬解析可以生成awr查看,你也可以找一条查找硬解析语句的sql找到是哪个语句导致的;
SELECT *
FROM (SELECT a.PARSING_SCHEMA_NAME,
substr(sql_text, 1, 60),
count(1) counts,
dense_rank() over(order by count(*) desc) ranking
FROM v$sql a
where a.PARSING_SCHEMA_NAME <> ‘SYS’
GROUP BY a.PARSING_SCHEMA_NAME, substr(sql_text, 1, 60)
HAVING count(1) > 10)
where ranking <= 50;
评论
有用 0采纳答案后不可修改和取消
- 1, AMM ASMM is enable
- 2, shared pool too small
- 3, unbound variable SQL too much, resulting in fragmentation
- 4, oracle bug
评论
有用 11、SGA是30G
2、shared pool 是5G
3、没有使用内存的自动管理—是否需要改成自动管理?
4、绑定变量个人不是很懂,不知道怎么判断是否使用绑定变量!
5、数据库版本11.2.0.3.0 之前已经打过补丁了11.2.0.3.15
评论
有用 0回答交流
提交
问题信息
请登录之后查看
附件列表
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

