Bug 18505843 - TEMP_UNDO_ENABLED to true causing rows to be not preserved after commit over database link
Problem Statement Recently we have noticed global temporary tables (GTT) with the option "Preserve rows after commit" not working as expected post-migration to oracle 19c with the distributed transaction which uses database links as compared to 12c where it was working fine. Observation It has been identified with the 19c parameter temp_undo_enabled parameter is by default set to true which was false in 12c has an impact on the above behavior. To understand the reason we would need to understand about parameter temp_undo_enabled. temp_undo_enabled parameter means undo generated for the changes to temporary tablespace will be written to permanent undo tablespace when it is set to false, when this parameter value is set to true it means undo generated for temporary tables will be written to temporary tablespaces. This will mean lesser redo log generation and better database performance. It also reduces the storage requirement due to lesser redo log generation. In cases where t...