High Number Of Child Cursors With Literal Replacement Causing Library Cache Lock Contention
(Doc ID 2359242.1)
Last updated on FEBRUARY 03, 2019
Applies to:Oracle Database - Enterprise Edition - Version 184.108.40.206 to 220.127.116.11 [Release 12.1 to 12.2]
Information in this document applies to any platform.
In 18.104.22.168 and 22.214.171.124 a high library cache lock contention on $BUILD$ object for a non-shared cursor is encountered. Following symptoms are noticed:
- SQL is not shared when CURSOR_SHARING=FORCE
- Each execution with different bind variables creates a new child cursor due to HASH_MATCH_FAILED=Y
- Execution plan shows literals that aren't replaced with system generated binds in filter predicates section, similar to :
AND "TABLE_A"."COLUMN1"='literal0001') OR ("TABLE_A"."COLUMN2" IS NOT NULL AND 0=:SYS_B_07 AND "TABLE_A"."COLUMN1"='literal0002'))))
Upgrade to 126.96.36.199 or 188.8.131.52 version and use of CURSOR_SHARING=FORCE
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document