kksfbc child completion & cursor: pin S

The problem seems to be the following:

        Session 1 gets a child cursor for a table_x_x_xxxx_x_x

          cursor and hold the mutex in share mode

.

        Session 2 marks the child cursor object INVALID here when 

        dropping the partition:

   **1    atbdrv -> atbFMdrop -> kqlidpfgr -> kglivl0 -> kglhdiv0 ->

            kgl_scan_dependents -> kglhdiv_callback 

.

        but it does NOT mark the LOCK as broken. Hence you have an INVL

        child object with an unbroken lock on it held S mode by session 1.

.

        Session 2 then reconnects and issues an insert to the table AA

        and attempts DBMS_LOB.WRITEAPPEND to a LOB in that partition.

        This now wants to check privileges of the LOB using the

        table_x_x_xxxx_x_x cursor - when it looks at the child list

        it sees the first child which is INVL and has an S lock and

        waits on "cursor: pin X" under the stack:

           kokacau -> kokapvpr -> kkspsc0 -> kksfbc -> kksSearchChildList 

.

        Session 1 does not release the mutex until it exits so session

        2 is blocked indefinitely.

.

To be seeing this problem under 10.2 then you are likely to need to see the

following:

* DDL on a partitioned table

* The partitioned table has an object column (LOB, CLOB etc)

* Sessions block on 'cursor: pin X' and 'kksfbc child completion'

* The 'cursor: pin X' is waiting on a pseudo cursor (a cursor with a name

   that starts with "table_")

.

More generally (all versions), you might be seeing this bug if you see kgl

objects marked as invalid (INVL) but the associated kgl locks are not marked

as broken.

WORKAROUND:

For the symptoms seen by this customer the workaround is to avoid executing

DDL on partitioned tables with object column when there are other sessions

that may be concurrently executing DML against the partitioned table.

RELEASE NOTES:

]]Executing DDL on partitioned tables that have CLOB, LOB (etc) columns might

]]cause other sessions to block. This has now been corrected.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16158219/viewspace-594449/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16158219/viewspace-594449/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值