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(静态参数).
对不起,这篇文章暂时关闭评论。