|
-
Originally posted by dbafreak:
(Does it go through the SGA to the Rollback or directly into the Rollback Segment?)
There is no area in the SGA catering for Rollback segments. Rollback has the old data written on it. The new data gets directly written to the concerned db block (which has been read into the buffer for update) and later gets transcribed to hard disk on checkpoint/ timeout. In case the user wants to rollback the transaction, oracle reinstates data from the rollback segment.
Originally posted by dbafreak:
When an UPDATE happens, the updated record doesn't go to the database buffer but to the datafile directly with a marked as "For Update". The original record will still be there in the database besides this cloned record (with a flag as "For Update"). Upon commit, the original record is deleted and the UPDATED record's flag is reset to NORMAL indicating it as a normal permanent record.
The marking thing is all bull.
Considering that a part of datafile (the concerned db block) is read into the db buffer, you can loosely say that the changes are made directly to the datafile. However, to say that updated record does'nt go the database buffer is wrong. The data gets changed in the database buffer and later these 'dirty' block buffers are written to disk.
[Edited by Raminder on 03-11-2002 at 12:35 AM]
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|