版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页Oracle调优与深入之04031处理过程Oracle调优与深入之04031处理过程
发表于:2023-06-22来源::点击数:标签:
一、错误提示:>EXP-00008:ORACLEerror4031encountered>ORA-04031:unabletoallocate4096bytesofsharedmemory("sharedpool","BEGIN:EXEC_STR:=SYS.DBMS...","PL/SQLMPCODE","BAMIMA:BamBuffe二、错误原因:共享内存太小,存在
一、错误提示:
>EXP-00008:ORACLEerror4031encountered
>ORA-04031:unabletoallocate4096bytesofsharedmemory
("sharedpool","BEGIN:EXEC_STR:=SYS.DBMS...","PL/SQLMPCODE","BAMIMA:BamBuffe
二、错误原因:
共享内存太小,存在一定碎片,没有有效的利用保留区,造成无法分配合适的共享区。
三、解决步骤:
1.查看当前环境
SQL>showsga
TotalSystemGlobalArea566812832bytes
FixedSize73888bytes
VariableSize28811264bytes
DatabaseBuffers536870912bytes
RedoBuffers1056768bytes
showparametershared_pool
NAMETYPEVALUE
shared_pool_reserved_sizestring1048576
shared_pool_sizestring20971520
SQL>selectsum(free_space)fromv$shared_pool_reserved;
SUM(FREE_SPACE)
1048576
我们可以看到没有合理利用保留区
SQL>SELECTSUM(RELOADS)/SUM(PINS)FROMV$LIBRARYCACHE;
SUM(RELOADS)/SUM(PINS)
.008098188
不算太严重
SQL>SELECTround((B.Value/A.Value)*100,1)hardpaseperc
FROMV$SYSSTATA,
V$SYSSTATB
WHEREA.Statistic#=171
ANDB.Statistic#=172
ANDROWNUM=1;
hardpaseperc
26.5
2.查看保留区使用情况
SQL>SELECTFREE_SPACE,
FREE_COUNT,
REQUEST_FAILURES,
REQUEST_MISSES,
LAST_FAILURE_SIZE
FROMV$SHARED_POOL_RESERVED;
FREE_SPACEFREE_COUNTREQUEST_FAILURESREQUEST_MISSESLAST_FAILURE_SIZE
1048576114604132
最近一次申请共享区失败时该对象需要的共享区大小4132
selectnamefromv$db_object_cachewheresharable_mem=4132;
name
dbms_lob
--dbms_lob正是exp时申请保留区的对象
3.查看导致换页的应用
SQL>select*fromx$ksmlruwhereksmlrsiz>0;
ADDRINDXINST_IDKSMLRCOMKSMLRSIZKSMLRNUMKSMLRHONKSMLROHVKSMLRSES
50001A8801BAMIMA:BamBuffer410064DBMS_DDL402745060730DEB9C
50001ACC11BAMIMA:BamBuffer4108736DBMS_SYS_SQL1909768749730D0838
50001B1021BAMIMA:BamBuffer41121576STANDARD2679492315730D7E20
50001B5431BAMIMA:BamBuffer41241536DBMS_LOB853346312730DA83C
50001B9841BAMIMA:BamBuffer41283456DBMS_UTILITY4041615653730C5FC8
50001BDC51BAMIMA:BamBuffer41323760begin:1:=dbms_lob.getLeng...2942875191730CFFCC
50001C2061stateobjects41841088000
50001C6471librarycache4192488EXU8VEW2469165743730C1C68
50001CA881stateobjects4196160730C0B90
50001CEC91stateobjects421636080730D0838
3.分析各共享池的使用情况
SQL>selectKSPPINM,KSPPSTVL
fromx$ksppi,
x$ksppcv
wherex$ksppi.indx=x$ksppcv.indx
andKSPPINM='_shared_pool_reserved_min_alloc';
KSPPINMKSPPSTVL
_shared_pool_reserved_min_alloc4400--(门值)
我们看到INDX=5,DBMS_LOB造成换页(就是做exp涉及到lob对象处理造成的换页情况),换出
最近未使用的内存,但是换出内存并合并碎片后在共享区仍然没有合适区来存放数据,说明共享
区小和碎片过多,然后根据_shared_pool_reserved_min_alloc的门值来申请保留区,而门值为4400,
所以不符合申请保留区的条件,造成4031错误。我们前面看到保留区全部为空闲状态,所以我们可以
减低门值,使更多申请共享内存比4400小的的对象能申请到保留区,而不造成4031错误。
4.解决办法:
1).增大shared_pool(在不DOWN机的情况下不合适)
2).打patch(在不DOWN机的情况下不合适)
3).减小门值(在不DOWN机的情况下不合适)
因为LAST_FAILURE_SIZE_shared_pool_reserved_min_alloc所以表明没有有效的使用保留区
SQL>altersystemset"_shared_pool_reserved_min_alloc"=4000;
altersystemset"_shared_pool_reserved_min_alloc"=4000
*
ERRORatline1:
ORA-02095:specifiedinitializationparametercannotbemodified
--9i的使用方法altersystemset"_shared_pool_reserved_min_alloc"=4000scope=spfile;
4).使用altersystemflushshared_pool;(不能根本性的解决问题)
5).使用dbms_shared_pool.keep
5.由于数据库不能DOWN机,所以只能选择3)和4)
运行dbmspool.sql
SQL>@/home/oracle/products/8.1.7/rdbms/admin/dbmspool.sql
找出需要keep到共享内存的对象
SQL>selecta.OWNER,
,
a.sharable_mem,
a.kept,
a.EXECUTIONS,
b.address,
b.hash_value
fromv$db_object_cachea,
v$sqlareab
wherea.kept='NO'and
((a.EXECUTIONS>1000
anda.SHARABLE_MEM>50000)
ora.EXECUTIONS>10000)
andSUBSTR(b.sql_text,1,50)=SUBSTR(,1,50);
OWNERNAMESHARABLE_MEMKEPEXECUTIONSADDRESSHASH_VALUE
—
SELECTCOUNT(OBJECT_ID)98292NO10320774814BF81893309624
FROMALL_OBJECTS
WHEREOBJECT_NAME=:b1
ANDOWNER=:b2
STANDARD286632NO13501
DBMS_LOB98292NO103750
DBMS_LOB47536NO2886542
DBMS_LOB11452NO2864757
DBMS_PICKLER10684NO2681194
DBMS_PICKLER5224NO2663860
SQL>executedbms_shared_pool.keep('STANDARD');
SQL>executedbms_shared_pool.keep('74814BF8,1893309624','C');
SQL>executedbms_shared_pool.keep('DBMS_LOB');
SQL>executedbms_shared_pool.keep('DBMS_PICKLER');
SQL>selectOWNER,name,sharable_mem,kept,EXECUTIONSfromv$db_object_cachewherekept='YES'ORDERBYsharable_mem;
SQL>altersystemflushshared_pool;
Systemaltered.
SQL>SELECTPOOL,BYTESFROMV$SGASTATWHERENAME='freememory';
POOLBYTES
sharedpool7742756
largepool614400
javapool32768
[oracle@ali-solutionoracle]$sh/home/ora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高速铁路噪声控制技术
- 项目施工现场文档管理方案
- 2026年建筑节能评估工具的比较
- 2026年一起见证机械设计的飞速发展
- 2026年儿童电气安全教育与防护
- 2026山东临沂职业学院引进高层次人才63人备考题库含答案详解(完整版)
- 2026合肥信息工程监理咨询有限公司招聘15人备考题库及答案详解【全优】
- 2026四川省盐业集团有限责任公司选聘所属子公司总经理1人备考题库附答案详解(精练)
- 射孔取心工班组协作测试考核试卷含答案
- 压铸模具工安全知识竞赛强化考核试卷含答案
- 幼儿园《春天是一本书》课件
- 2024年贵州六盘水市公安局合同制留置看护人员招聘笔试参考题库附带答案详解
- 英文科技论文写作
- 水玻璃贴衬花岗岩新技术
- 云县病死畜禽无害化处理项目环评报告
- XX县群文阅读课题中期成果报告:县域性推进小学群文阅读教学实践研究中期研究成果报告课件
- GB/T 38658-20203.6 kV~40.5 kV交流金属封闭开关设备和控制设备型式试验有效性的延伸导则
- GA/T 1047-2013道路交通信息监测记录设备设置规范
- 2023年成都天府新区投资集团有限公司招聘笔试模拟试题及答案解析
- 通用设备经济寿命参考年限表
- 城市超标洪水防御预案
评论
0/150
提交评论