首页 » ORACLE [C]系列, ORACLE 9i-23c » 12c注意 instance terminal caused by ASMB process ORA-04031 init_heap_kfsg

12c注意 instance terminal caused by ASMB process ORA-04031 init_heap_kfsg

上个月刚刚分享了一个ORA-4031 bug《Troubleshooting ORA-4031 “init_heap_kfsg”占用大量内存 In 12c, 18c, 19c》,那篇中还提到了这个bug, 没想到这么快就在客户遇到。12c R2还没有安装20年07月RU的注意。

alert log

    SELECT DISTINCT ORGID,ROAMREGION,ROAMORGID,OPERTYPE FROM V_ORG_ROAMREGION WHERE STATUS=1
Additional information: hd=c00000016a962890 phd=c0000003dca415a8 flg=0x20 cisid=866 sid=866 ciuid=866 uid=866
2020-09-03T13:12:31.147181+08:00
NOTE: ASMB0 terminating
2020-09-03T13:12:31.147479+08:00
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_asmb_20366.trc:
ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","unknown object","init_heap_kfsg","ASM extent pointer array")
2020-09-03T13:12:31.168644+08:00
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_asmb_20366.trc:
ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","unknown object","init_heap_kfsg","ASM extent pointer array")
USER (ospid: 20366): terminating the instance due to error 4031
2020-09-03T13:12:31.225940+08:00
opiodr aborting process unknown ospid (24232) as a result of ORA-1092

这种错误通常会进入ADR中incident, 在最近的incident目录,使用grep 以”TOP “关键字查询

cd $ADR/incidents
find . -type f -print -exec grep "TOP " {} \;

会看到heap dump中的sub pool使用TOP 10/20 内存区使用, 如下

==============================================
TOP 10 MEMORY USES FOR SGA HEAP SUB POOL 4
----------------------------------------------
"init_heap_kfsg                 "  1355 MB 38%
"free memory                    "   456 MB 13%
"gcs resources                  "   235 MB  7%
"KSRMFV2 State Object           "   160 MB  4%
"gcs shadows                    "   145 MB  4%
"KKSSP                          "   125 MB  3%
"ges resource permanent         "    84 MB  2%
"KGLH0                          "    70 MB  2%
"ges resource dynamic           "    66 MB  2%
"event statistics per sess      "    65 MB  2%
     -----------------------------------------
free memory                         456 MB
memory alloc.                      3128 MB
Sub total                          3584 MB
==============================================
TOP 10 MAXIMUM MEMORY USES FOR SGA HEAP SUB POOL 4
----------------------------------------------
"init_heap_kfsg                 "  1355 MB
"SQLA                           "   690 MB
"free memory                    "   651 MB
"KGLH0                          "   424 MB
"gcs resources                  "   235 MB
"KSRMFV2 State Object           "   160 MB
"gcs shadows                    "   145 MB
"KKSSP                          "   131 MB
"KGLHD                          "    96 MB
"ges resource permanent         "    84 MB
==============================================

是ASM extent 管理的内存映射区异常增长,There was Duplicate extent map array allocations due to an auto merge issue resulting in doubling the heap usage for subheap – init_heap_kfsg. 当前的RU为200414, 不难查出ORA-4031 Due to High Growth in “init_heap_kfsg” Heap after Applying 12.2.0.1.200414RU ( Doc ID 2692922.1 ), 符合Bug 31341859 .

解决安装oneoff patch 31341859 或 升级2020年7月RU。patch不大需要更新GI和DB, 没有停机窗口可以临时加大shared_pool 或 shared reseved pool(静态参数).

打赏

,

对不起,这篇文章暂时关闭评论。