May i know that Which process i should write the before image from database buffer cache to Undo tablespace.
Kindly share your views on the above scenario so i can proceed further.
Thanks in advance.
Server process brings your blocks from datafile to buffer cache. Undo buffers are also stored in buffer cache. Any Buffer has to be written to Datafile (undo or any other) by the DBWR.
Always. You have two change vectors which get created on any modification to a block.
1) Undo change vector
2) Data block change vector.
These two are combined and made as one redo record which gets inserted into your redo log buffer.
The insert of the undo record into undo block will always take place at the same time and from the change vectors the table block is modified, which is again in buffer cache. The undo blocks, data blocks in your buffer cache gets written eventually into your respective datafiles by DBWR. A little too much detail on the internals, hope it helps.
The role of DBWR is to write the buffers info into datafiles but not to take care of undo data. oracle automatically manages undo data. Some where in the oracle docs i read that server process does the work. Rest the oracle people know better.
Sign up for STechies
Ask Question From Our Experts