Transaction table in rollback segments
I have read the following, but am still having a little difficulty conceptualising. Would someone be kind enough to give me a very brief example?
For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions.
First of all, the statement is talking about old manual undo management using rollback segment.
If you check the preceding two paragraph of the statement then it's easier to understand,
It basically says, Rollback segment hold rollback entries of transaction. To make it easier to track transactions and undo entries, Oracle maintain a table to save such info.
Rollback segment , transaction and undo entries are one to many relationships.
Rollback Segment --< Transactions --< Undo Entries
Contents of a Rollback Segment
Information in a rollback segment consists of several rollback entries. Among other information, a rollback entry includes block information (the file number and block ID corresponding to the data that was changed) and the data as it existed before an operation in a transaction. Oracle links rollback entries for the same transaction, so the entries can be found easily if necessary for transaction rollback.
Neither database users nor administrators can access or read rollback segments. Only Oracle can write to or read them. (They are owned by the user SYS, no matter which user creates them.)
How Rollback Entries Are Logged
Rollback entries change data blocks in the rollback segment, and Oracle records all changes to data blocks, including rollback entries, in the redo log. This second recording of the rollback information is very important for active transactions (not yet committed or rolled back) at the time of a system crash. If a system crash occurs, then Oracle automatically restores the rollback segment information, including the rollback entries for active transactions, as part of instance or media recovery. When recovery is complete, Oracle performs the actual rollbacks of transactions that had been neither committed nor rolled back at the time of the system crash.
When Rollback Information Is Required
For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions. Oracle uses the rollback entries in a rollback segment to perform a transaction rollback and to create read-consistent results for queries.