oracle 无法分配32字节,ORA-04031:无法分配 32 字节的共享内存

案例 ORA-04031:无法分配 32 字节的共享内存

今天發現數據庫異常宕機情況

出現錯誤ORA-04031: 无法分配 ORA-04031: 无法分配 32 字节的共享内存

數據庫版本 目前版本10.2.0.4 但是compatible還是10.2.0.3.0

按道理講此bug,在10.2.0.4已解決

select * from (select name

,value

,decode(isdefault, 'TRUE','Y','N') as "Default"

,decode(ISEM,'TRUE','Y','N') as SesMod

,decode(ISYM,'IMMEDIATE', 'I',

'DEFERRED', 'D',

'FALSE', 'N') as SysMod

,decode(IMOD,'MODIFIED','U',

'SYS_MODIFIED','S','N') as Modified

,decode(IADJ,'TRUE','Y','N') as Adjusted

,description

from ( --GV$SYSTEM_PARAMETER

select x.inst_id as instance

,x.indx+1

,ksppinm as name

,ksppity

,ksppstvl as value

,ksppstdf as isdefault

,decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE') as ISEM

,decode(bitand(ksppiflg/65536,3),

1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM

,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD

,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ

,ksppdesc as description

from x$ksppi x

,x$ksppsv y

where x.indx = y.indx

and substr(ksppinm,1,1) = '_'

and x.inst_id = USERENV('Instance')

)

order by name

)

以上sql,能解釋隱含參數

分析 1.可能sharepool 真的不夠

先查詢下pool

select pool,sum(bytes/1024/1204),sum(bytes)/(select sum(bytes) from v$sgastat)*100 as "Percent"

from v$sgastat  where pool is not null  group by pool;

查詢buffer大小

select name,sum(bytes/1024/1204),sum(bytes)/(select sum(bytes) from v$sgastat)*100 as "Percent"

from v$sgastat where pool is  null group by name;

10G SGA自動管理信息

select component,CURRENT_SIZE/1024/1204,user_specified_size,granule_size from v$sga_dynamic_components;

11G MEMORY自動管理信息

SELECT * FROM   V$MEMORY_DYNAMIC_COMPONENTS

SELECT * FROM V$MEMORY_RESIZE_OPS

SELECT * FROM V$MEMORY_TARGET_ADVICE

結論:sharepool沒有不夠的問題!

分析 2.compatible參數還是10.2.0.3.0,導致BUG

解決辦法

2.1 create pfile='/u01/pfile.ora' from spfile;

并將compatible 修改為‘10.2.0.4.0’

2.2 shutdown 資料庫

2.3 startup nomount pfile='/u01/pfile.ora'

2.4 create spfile from pfile='/u01/pfile.ora'

2.5 shutdown immediate;

2.6 startup;

修改完成,待觀察。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值