ORA-4031 关于使用自动化SGA
适用于:甲骨文公司服务器 - 企业版 - 版本:10.1.0.2到11.1.0.6。本文档中的信息适用于任何平台。
原因:2010年3月4日相关检查,ORA-4031是请求分配较大的共享池报告。
使用自动化SGA,共享池和SGA设置适当的值。
打开ORA-4031的跟踪文件,你可以看到一个很大的空间分配给“自由空间”的领域。
运行下面的查询将返回值小于10:
select a.ksppinm "Parameter",
b.ksppstvl "Session Value",
c.ksppstvl "Instance Value"
from sys.x$ksppi a, sys.x$ksppcv b, sys.x$ksppsv c
where a.indx = b.indx and a.indx = c.indx
and a.ksppinm = '_shared_pool_reserved_pct';
会话参数实例化
_shared_pool_reserved_pct 5 5
这个碎片产生的原因是共享池保留值的大小被设置小于10%共享池的大小,而推荐的大小应该是10%以避免碎片的出现。
通过下面隐藏的参数改变共享池为自动系统全局区。
注意:通过自动调节,保留区域将随着共享池的变化而变化,隐藏参数的设置能帮助自动调节器禁止有侵略性的保留区域收缩变化。
解决方案:
SQL> alter system set "_shared_pool_reserved_pct"=10 scope=spfile
or set it in init.ora
"_shared_pool_reserved_pct"=10
然后重新启动实例。
<> FOLDER:ST.Server.Manageability.MemoryMgmt TOPIC:ORA-4031 Shared Pool DOCUMENT-ID:556140.1 ALIAS: SOURCE:AWIZ 6734715.994 DOCUMENT-TYPE:PROBLEM ZCXTECH TITLE:ORA-4031 On Using Auto SGA IMPACT:LOW SKILL-LEVEL:NOVICE STATUS:MODERATED DISTRIBUTION:EXTERNAL ZCXPUBLIC ZCXCURRENT AUTHOR:MWAGIH.EG ERROR:ORA-4031 KEYWORD:FRAGMENTATION KEYWORD:FREE~SPACE KEYWORD:SHARED~POOL PRODID-5 COMPONENT:RDBMS.RDBMS MINVER:10.1.0.2 MAXVER:11.1.0.6 PORTID-0 FDRSEG-1219 FDRSEG-1220 FDRSEG-773 FDRSEG-465
Errors
ORA-4031