Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Waits on 'enq: TX - contention' when inserting/updating CLOB column with current_file#, current_bloc

Vsevolod AfanassievApr 23 2019 — edited May 1 2019

Oracle 12.1 on AIX

Oracle is experiencing waits on enq: TX - contention (and not on enq: TX - row lock contention) when inserting or updating a table with CLOB column.

Most waits are related to UPDATE. It is very simple UPDATE TABLE_A SET COLUMN_B = :1 WHERE ID = :2.

Here ID is VARCHAR2(31) column that has unique index and COLUMN_B is CLOB.

The plan for update shows INDEX UNIQUE SCAN, so the index is used as expected. The segment for CLOB is 6 TB in size.

The UPDATE gets executed approximately 1 million times per hour.

In active session history most rows have 0 or -1 in current_obj# column. Current_file# and current_block# are pointing to undo segments.

undo_management is set to AUTO, undo tablespace is 500 GB with autoextend disabled, database size is 22 TB.

Actual undo retention (v$undostat.tuned_undoretention) is more than 200,000 seconds.

PCTVERSION = 10.

What causes this locking/what could be done to reduce it?

Comments
Post Details
Added on Apr 23 2019
27 comments
3,404 views