When a transaction begins, Oracle Database assigns the transaction to an available undo data segment to record the undo entities for the new transaction. A transaction ID is not allocated until an undo segment and transaction table slot is not allocated, which occurs during the first DML statement. A transaction ID is unique to a transaction and represents the undo segment number, slot and sequence number.