enq: HW - contention (dml blocking on lob object)
APPLIES TO:Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
Information in this document applies to any platform.
SYMPTOMS
Database hangs while doing DMLs on LOB objects .
}
and is blocked by
=> Oracle session identified by:
{
instance: 2 (xxxxxxxx.xxxxxxx2)
os id: 28836042
process id: 106, oracle@xxxxxx06
session id: 4545
session serial #: 50133
}
which is waiting for 'gc index operation' with wait info:
{
p1: 'usn#'=0x6
p2: 'slot#'=0x1b
p3: 'seq#'=0x2484
time in wait: 0.012699 sec
timeout after: 0.087301 sec
wait id: 233929
blocking: 16 sessions
current sql: MERGE INTO FBNK_STMT_PRINTED USING DUAL ON (RECID = :RECID) WHEN MATCHED THEN UPDATE SET XMLRECORD=:XMLRECORD WHEN NOT MATCHED THEN INSERT (XMLRECORD ,RECID) VALUES(:XMLRECORD ,:RECID)
short stack: ksedsts()+432<-ksdxfstk()+68<-ksdxcb()+892<-sspuser()+220<-__sighandler()<-thread_wait()+556<-sskgpwwait()+56<-skgpwwait()+268<-IPRA.$ksliwat()+1936<-kslwaitctx()+200<-kclsplitwait()+1228<-kcbgcur()+18212<-ktbgcur()+128<-kdifind()+600<-kdimod0()+1248<-IPRA.$kdlfkd()+2580<-kdlxgsd()+720<-IPRA.$ktsplbfmb_reclaim()+1916<-ktsplbfmb()+2808<-ktsplbrecl()+1020<-ktspgsp_main()+3492<-IPRA.$kdlgsp_init()+1400<-kdl_write1()+6528<-kdl_copy()+1676<-kdlf_copy()+656<-IPRA.$kokl_pdbaware_kdlf_copy()+396<-IPRA.$kokliclo()+644<-kok
wait history:
* time between current wait and wait #1: 0.001052 sec
1. event: 'gc current split'
time waited: 0.001972 sec
wait id: 233928 p1: ''=0xc
p2: ''=0x214b
p3: ''=0x1000001
* time between wait #1 and #2: 0.000553 sec
2. event: 'gc index operation'
time waited: 0.099095 sec
wait id: 233927 p1: 'usn#'=0x6
p2: 'slot#'=0x1b
p3: 'seq#'=0x2484
* time between wait #2 and #3: 0.000194 sec
3. event: 'gc current split'
time waited: 0.003181 sec
wait id: 233926 p1: ''=0xc
p2: ''=0x214b
p3: ''=0x1000001
}
Chain 1 Signature: 'gc index operation'<='enq: HW - contention'
Chain 1 Signature Hash: 0x99872a5a
-------------------------------------------------------------------------------
CHANGES
CAUSE
Bug 27657712 - ENQ: HW - CONTENTION ON BASICFILE LOBS AFTER UPGRADING TO 12.2 FROM 11.2
SOLUTION
set below parameter at database level as a workaournd.
SQL> alter system set "_gc_fast_index_split_wait"=0 scope=spfile sid='*';
NOTE:: This is a non-rolling change ,need complete downtime.
+ Apply fix 27657712 on Database _home as per read me of the patch.