ORA-04031 unable to allocate bytes of shared memory(无法分配xxxxx共享内存)(shared pool)

问题一、

针对该次shared pool的问题进行的记录。

故障描述:

XXX集团2024-05-09前经常受到ORA-04031报错困扰,一直报的是shared pool,所以客户自己将shared pool手动配置了20g,还是报错,再配40g,还是报错,找我司来进行排查。

故障分析:

1.当前故障的情况,分析内存的消耗组成

分析sga的使用组成(sga shared pool过高,一般1/2即可。)

select component,current_size,min_size,max_size from v$sga_dynamic_components order by 2;

分析shared pool的组成

select pool,name,bytes/1024/1024 M from v$sgastat where pool='shared pool' order by M;

发现 SQLAKGLH0过高,确认方向。

2.历史故障的情况,分析trc日志(例orcl_ora_6084.trc

发现7个sub pool都是SQLA和KGLH0过高,加起来占6成左右。

发现 SQLA和KGLH0过高,确认方向。

trc文件:

<<orcl_ora_6084.trc>>

处理方法:

一、根据mos Doc ID 2096561.1

在不同版本为不同bug.

>=12.2

删除pdb级SHARED_POOL_SIZE和/或SGA_MIN_SIZE初始化参数。

Oracle建议在PDB级别设置的唯一SGA内存大小参数是SGA_TARGET。

12.1<=x<12.2

alter system set "_optimizer_use_feedback"=false scope=both;

alter system set "_optimizer_gather_feedback"=false scope=both;

并重启实例(虽然参数生效不需要重启)

11.2<x<12.1

禁用自适应游标

alter system set "_optimizer_adaptive_cursor_sharing"= FALSE scope=both;

禁用扩展游标共享

alter system set "_optimizer_extended_cursor_sharing"=none scope=both;

alter system set "_optimizer_extended_cursor_sharing_rel"=none scope=both;

也可以限制父游标过时前,子游标数量(默认1024

alter system set "_cursor_obsolete_threshold"=200 scope=both;

全部并重启实例(虽然参数生效不需要重启)

二、升级、打补丁到最新

问题二、

故障描述:

XX客户,12.2环境,备库,rman备份,报下面的错误,重启。

ORA-04031: unable to allocate 4160 bytes of shared memory ("shared pool","unknown object","init_heap_kfsg","ASM extent pointer array") (Doc ID 2705193.1)        

trc文件:

<<portdg1_asmb_323924_i680531(1).trc>>

根本原因为init_heap_kfsg导致。

mos官方建议:

处理流程:

方向参考:

ORA-04031 故障处理流程图 - 墨天轮

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪灵骅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值