暂无图片
oracle11G数据库,经常出现ORA-04031错误。该如何优化?
我来答
分享
云毅
2021-08-27
oracle11G数据库,经常出现ORA-04031错误。该如何优化?

oracle11G数据库,经常出现ORA-04031错误。该如何优化?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
每日一步

1、问题原因

1种: SGA区域比较小,可以将SGA区域的值,再设置大一些(至少达到服务器的内存的60%),然后在观察一段时间,看是否会在出现。若继续出现,那么要考虑以下几种因素,特别是AWR TOP SQL部分的SQL语句,重点优化下;

【还有1种情况: 比如主机原来内存是64GB,SGA的大小为46GB。但后来由于其他原因,主机内存由64GB降低到46GB时,但SGA仍然是46GB,也会导致分配存在异常】

2种: 极高的硬解析,特别是针对OLTP业务,应该使用绑定变量;

3种: open_cursor 如果设置的过大,导致 library cache 中很多对象都处于 pin 状态,而不能释放;

4种: 内存自动优化的问题,建议直接设置SGA参数(sga_max_size、sga_target);

2、以下文章写的很详细,末尾总结了具体的原因供参考:

https://www.modb.pro/db/1681

https://www.modb.pro/db/52079

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
薛晓刚

这个如果不是机器很差。那么就是SQL很差。
AWR贴一下。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
使用OracleBulkCopy批量插入数据是乱码,这是为什么?
回答 2
已采纳
检查客户端环境变量NLSLANG是否对应数据库的字符集
用户被赋予update any table,能够修改sys和system等的系统表吗?
回答 5
不能
oracle 19c表空间传输到11g会有问题吗?
回答 1
会有问题,oracle不支持。 Youcannotexporttransportabletablespacesandthenimportthemintoadatabaseatalowerre
当使用CREATE SYNONYM语句创建同义词时,默认创建的是?
回答 6
已采纳
应该是用户自己的私有同义词吧。猜测。不是public
为什么在 V$SESSION 中无法查询到 SQL_ID?
回答 2
已采纳
进程kill后,pmon会定期清理僵尸会话,所以v$session中查不到
sql执行计划怎么看
回答 6
@没有感情的萝卜头还是100墨值啊。。。是不是没调整过来。。。
万里开源数据库符合国产化要求吗?
回答 1
万里开源加入了信息技术应用创新工作委员会,GreatDB数据库产品与浪潮、中科可控等完成了兼容性测试,并且加入了华为云鲲鹏凌云合作伙伴,数据库产品完全符合国产化的要求。
Oracle 创建了一个按月自动分区的分区表并加了compress。但是数据并没有被压缩,有什么办法可以让自动分区的表数据自动压缩?
回答 1
createtabletestpart(IDNUMBER(20)notnull,REMARKVARCHAR2(1000),createtimeDATE)compressPARTITIONBYRANGE
Oracle:建表的时候没有重复语句 ,为什么查表有重复记录 ,用distinct只会在查询结果中去重没有删除表重复记录 ?
回答 4
已采纳
因为最开始没有设置约束条件。查询只是查询。不会删除。建议删除重复数据后加上主键或者唯一约束。或者清空数据后加上主键或者唯一约束。以后就不会有了。
Oracle监听状态一直处于BLOCKED,重启监听、重启实例都没用,怎么处理?
回答 3
检查下listener.ora里面的配置是否正确。P.S:我之前遇到过,搭建DG时如果备库是nomount状态,它的动态注册服务的状态就是BLOCKED的,所以只能使用静态注册服务名(状态是UNKNO