oracle rac 遇到insert append导致gc current request夯住

某项目数据库每天4:00批量任务,不定期会在批量过程中执行一条sql的时候整个sql hang住,然后就批量hang起来。

先推断是执行计划问题,后来更新执行计划后,仍旧会hang住

后来通过ash查看故障sql

INSERT /*+ append */INTO xxx (xxx_NO, ........ ) (此处为客户保密sql,仅表达sql类型,即使用insert append的hint时会触发bug)

然后MOS上查看在rac模式下,insert append有可能导致gc current request的bug

Bug 18280813 : INSERT /*+ APPEND */ STUCK IN GC CURRENT REQUEST)

解决办法是修改一个隐含参数,修改方法,

alter system set "_gc_read_mostly_locking"=FALSE scope=spfile sid='*';


然后需要将数据库重启才能生效查询是否生效select x.ksppinm name,y.ksppstvl valuefrom sys.x$ksppi x,sys.x$ksppcv ywhere x.indx=y.indx and substr(x.ksppinm,0,1)='_' and x.ksppinm like '%gc_read_mostly%';


观察一段时间后批量任务不会hang死

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值