关于'kksfbc child completion' wait的一个bug

一个跑在aix操作系统上的Oracle 10.2.0.3的数据库,经常出现'kksfbc child completion' 的等待事件,并且这些等待事件一旦出现,这些等待事件和相关的session永远不会消失。


发现这个问题后,首先想到可能是oracle的bug,在metalink上查询这个等待事件,发现两个bug:


1、Bug 6795880,相关的doc id为:6795880.8
A session may go into an infinite spin just after a wait for 'kksfbc child completion'. The spin occurs with a stack including kksSearchChildList -> kkshgnc where kksSearchChildList loops forever.
This problem can also lead to internal error such as any of
ORA-600 [kksSearchChildList1], ORA-600 [kksSearchChildList2]
ORA-600 [kksSearchChildList3], ORA-600 [kkshgnc-nextchild]
Note:
Fixes for this bug in 10g and 11gR1 are disabled by default.
To enable this fix you must explicitly set the following parameter for instance startup:
"_cursor_features_enabled" = 10

2、Bug 5500044,相关的doc id为:430555.1
Cause Execution of DDL against a partitioned object which has a object-based column (CLOB in this particular case) could result in sessions blocking on the 'cursor: pin X' and 'kksfbc child completion' wait events.
Database Hung With "kksfbc child completion" and "Cursor: Pin X" Waits [ID 430555.1]
This is due to Bug 5500044 (Bug 5217203 is closed as duplicate)
Bug 5217203 - SYSTEM STATES DUMPED TO TRACE FILE MESSAGES IN ALERT.LOG
Bug 5500044 - ORA-44203 ON TABLE_X_X CHILD FROM CONCURRENT LOB APPEND AND DROP PARTITION
To be seeing this problem under 10.2 then you are likely to need to see the following:
1) DDL on a partitioned table
2)Sessions block on 'cursor: pin X' and 'kksfbc child completion'
3)The 'cursor: pin X' is waiting on a pseudo cursor (a cursor with a name that starts with "table_")
4)The partitioned table has an object column (LOB, CLOB etc)
Note:- This issue can also be seen on partitioned table no having object columns like LOB,CLOB, etc.
Solution Please download and apply patch 5500044 for your platform.
This bug has been fixed in 10.2.0.4 and 11g. In case the patch is not available for your platform, then raise a service request with Oracle support for requesting the same

经检查,在数据库中没有使用分区表,并且客户表示没有在数据库上执行过ddl语句,不符合Bug 5500044的描述,确定为Bug 6795880,解决方法是设置隐含参数:
"_cursor_features_enabled" = 10 过程如下:

SQL> alter system set "_cursor_features_enabled" = 10 scope=spfile;
SQL> shutdown immediate;
SQL> startup;

 

 

 

from:http://cnhtm.itpub.net/post/39970/494626

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值