Oracle Internals Notes

Change Vectors

A logically atomic database change to an Oracle database normally consists of two or more physical block changes. For example, inserting a row into a table may involve changes to several index blocks, as well as a change to one of the blocks of the table itself. And for most block changes, there must be a corresponding change to at least one rollback segment block. There may also be changes required to a rollback segment header block, block cleanouts, freelist changes, and so on.

Before making a database change, a process must take buffer locks on each of the buffers holding the current mode image of the database blocks affected, and prepare a set of change vectors representing the intended changes -- one for each physical database change. Before the set of change vectors can be applied to the database blocks, they must all be copied into the redo stream as a single redo record. Redo records are sometimes called redo entries.


Ixora Pty Ltd.   All rights reserved.
12-Oct-2007 22:22
Search   Questions   Feedback   Up   Home