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?