Delete On SYS.SCHEDULER$_DBMSJOB_MAP Causing Row Locks (Doc ID 2645984.1) |
Oracle Database - Enterprise Edition - Version 19.4.0.0.0 and later
Information in this document applies to any platform.
Upgrade done from 12.1.0.2 to 19c
New dictionary table SYS.SCHEDULER$_DBMSJOB_MAP is created in 19c.
SYMPTOMS
Application jobs are slow with "enq: TX - row lock contention" event on the below recursive SQL:
DELETE FROM SYS.SCHEDULER$_DBMSJOB_MAP WHERE JOB_NAME NOT IN (SELECT NAME FROM SYS.OBJ$ WHERE NAME LIKE 'DBMS_JOB$_%')
CHANGES
Upgrade to 19c
CAUSE
The issue is due to the below bug:
Bug 30835853 - DBMS_JOB.SUBMIT PROCEDURE BEHAVIOR CHANGE IN 19C
After upgrade database to 19c, the new dictionary table SYS.SCHEDULER$_DBMSJOB_MAP is introduced.
Application jobs may be slow due to below recursive SQL statement causing "enq: TX - row lock contention".
DELETE FROM SYS.SCHEDULER$_DBMSJOB_MAP WHERE JOB_NAME NOT IN (SELECT NAME FROM SYS.OBJ$ WHERE NAME LIKE 'DBMS_JOB$_%')
SOLUTION
Apply the Patch 30835853 for your version