重庆思庄Oracle、Redhat认证学习论坛

标题: ORA-04031:large pool,unknown object,kxttIICDT,kxttAssignMemory [打印本页]

作者: 郑全    时间: 2018-7-24 18:40
标题: ORA-04031:large pool,unknown object,kxttIICDT,kxttAssignMemory
本帖最后由 郑全 于 2018-7-24 18:42 编辑

在新安装的 18c库下,查看 em,后台日志就报:
ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")

具体如下:


redo dumps are required to help with the diagnosis.
*****************************************************************
2018-07-24T06:28:46.618780-04:00
Errors in file /u01/app/oracle/diag/rdbms/sztech/sztech/trace/sztech_s000_72841.trc  (incident=9887):
ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")
Incident details in: /u01/app/oracle/diag/rdbms/sztech/sztech/incident/incdir_9887/sztech_s000_72841_i9887.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2018-07-24T06:29:49.539588-04:00
Errors in file /u01/app/oracle/diag/rdbms/sztech/sztech/trace/sztech_s000_72841.trc  (incident=9888):
ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")
Incident details in: /u01/app/oracle/diag/rdbms/sztech/sztech/incident/incdir_9888/sztech_s000_72841_i9888.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2018-07-24T06:30:51.377968-04:00
Errors in file /u01/app/oracle/diag/rdbms/sztech/sztech/trace/sztech_s000_72841.trc  (incident=9889):
ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")
Incident details in: /u01/app/oracle/diag/rdbms/sztech/sztech/incident/incdir_9889/sztech_s000_72841_i9889.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2018-07-24T06:31:53.195699-04:00
Errors in file /u01/app/oracle/diag/rdbms/sztech/sztech/trace/sztech_s000_72841.trc  (incident=9890):
ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")
Incident details in: /u01/app/oracle/diag/rdbms/sztech/sztech/incident/incdir_9890/sztech_s000_72841_i9890.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.

作者: 郑全    时间: 2018-7-24 18:48
本帖最后由 郑全 于 2018-7-24 18:49 编辑

ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10") in 12c
(文档 ID 2247789.1)

Applies to:
Oracle Database - Enterprise Edition - Version 12.2.0.1 to 12.2.0.1 [Release 12.2]
Information in this document applies to any platform.
Symptoms

When the customer issues a refresh of the EM Express 12c Database Administration Page, the code executed reports an ORA-4031 in the "large pool". This happens even though memory_target and memory_max_target were set to large values.

ORA-04031: unable to allocate 28049976 bytes of shared memory ("large pool","unknown object","kxttIICDT: 4","kxttAssignMemory: 10")
Changes

New 12.2.0.1.0 release database running EM Express 12c Database Administration Page
Cause

The incident trace file shows the following:

=====================================
Allocation Request Summary Informaton
=====================================
Current information setting:  04014fff
SGA Heap Dump Interval=3600 seconds
Dump Interval=300 seconds
Last Dump Time=03/21/2017 13:37:36
Dump Count=1
Allocation request for: kxttAssignMemory: 10
Heap: 0x85c93508, size: 28049976                              >> Allocation request is for a size: 28049976 bytes or around 25.75 MB
******************************************************
******************************************************
HEAP DUMP heap name="large pool"  desc=0x603087c8
extent sz=0xfe0 alt=304 het=32767 rec=9 flg=0x82 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x1 heap=(nil)
fl2=0x64, nex=(nil), idx=0
pdb id=1, src pdb id=1
ds for latch 1: 0x6030a120                                
reserved granule count 10 (granule size 16777216)         >> The database granule size is 16 MB

In the incident trace file section above, we see that the requested size of 25.75 MB exceeds the database granule size which is 16 MB.
Solution

Increasing the database granule size resolved the error in this case.

1. Connect to the database as SYSDBA.
2. Issue command:

SQL> alter system set "_ksmg_granule_size"=33554432 scope=spfile;

3. Re-start the instance so the change takes effect.




欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2