When temp_undo_enabled mode is on, a long transaction hits ORA-00600: [kdblkcheckerror] error code [14508] with an temp undo segment header
corruption.
Trace file :
Block Checking: DBA = 189824, Block Type = Unlimited undo segment header
*** 2019-02-21T14:04:54.099089-05:00
ERROR: Undo Segment Header Corrupted. Error Code = 14508
ktu4shck: starting extent(0xffff816e) of txn slot #0x11 is invalid.
valid value (0 - 0x816e)
The fix introduces the following error instead of the internal error code :
ORA-55522: failed to extend temporary undo segment number N
ORA-01628: max # extents (32765) reached for rollback segment $TEMPUNDOSEG
The ORA-1628 error is reported in the alert log file, unless _log_space_errors parameter is false.
ORA-1628: max # extents (32765) reached for rollback segment $TEMPUNDOSEG
Workaround
Disable temp_undo_enabled
- or -
Reduce the amount of UNDO records generated by the transaction.