Who writes in the Rollback segment and When?
I have some questions about the rollback segment, i searched in the forum before i opened this thread and i didn't find any answer (may be I didin't search enough...). That is my questions:
I don't find in my documents any information about the process who writes in the rollback segment. Normally it's the DBW since it is THE process that writes in data files by definition... but I'm not sure !
I want to know too when exactly rollback segment is written, i know it includes the "before" image of the modified data, but I don't know when this image is written. In all document I read, they speak only about writing of the dirty blocks in data files, but not of the "before" image !!!
My third and final question is the following:
When a little bit of information is modified in a data block; Do we keep in the rolloback segment the whole of the data block, or only a part of the block, the one which was modified ?
Thank you very much for your help.
Last edited by Tifa; 02-17-2009 at 08:09 PM.
Rollback segments were officially phased out in 9i, and even then they were not the default. So unless you are running 8i you should not have any rollback segments.
But if you did, tahiti.oracle.com still has the concepts manual for 8i. In which you can read the following:
this space intentionally left blank
they are still rollback segments in 11g, just system managed ones
Thank you for your answer, I already read the Oracle documents (Oracle Database Concepts) and I didn't find the answers.
I don't find the process that writes the rollback data in the data files and i don't know when these data blocks are written; indeed, in documents, they always say that DBW writes DIRTY data block to data files... normally, when the DBW writes the "after" image of the non committed data in the table segment, it should write the "before" image in the rollback segment... but i am not sure of what i'm saying !!!
thank you for your precision.
Actually it is the LGWR process the one writing into the online redo log; entries from SGA's Log Buffer are written into the online redo log file when you commit a transaction.
DBW process will then copy the new data from the redo log file into the appropriate datafile.
Pablo (Paul) Berzukov
Author of Understanding Database Administration
available at amazon and other bookstores.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
PAVB i guess his question is who writes to rollback segments.
Tifa, i think SMON process does this, however i'm not 100% sure.
Click Here to Expand Forum to Full Width