|
Re: Re: Re: 参考
谢谢Kamus,现在有些明白了,
不过好像还不是很清晰。
原来undo entries中还有transaction id。
6。read the last undo block(UBA).
The UBA is the pointer to the tail of the undo chain for the block (undodatablockaddr.sequence#.record#)
这是指没有提交的情况下从itl中获得的last undo block 的地址吧。
如果提交的话(commit scn > query scn),应该从transaction slot中的dab(
The dba is the data block address of the last data block containing undo entries for the transaction.)
获得的
附undo entries 解释:
The undo entry for a transaction contains certain transaction level information and the contents of the column or columns before the change occurred. It does not contain a before image of the block or row. Undo entries are chained together to form a single transaction undo action. A single undo chain contains the necessary information to transform a block from one coherent state to another coherent state. If the transaction contains updates to multiple blocks, each block has its own chain, though the chain may share space within an undo segment block with other chains and a single chain may span multiple undo segment blocks. The undo entry contains either a pointer to the previous link in the chain or an indicator that this is the end of the chain or an indicator that this is the start of the chain. If the undo entry is the tail of the chain, it may contain information about a previous transaction that has modified the block. |
|