I'm having doubt on Online Backup. I want to know how the modifications to the datafiles take place while its correspoding tablespace is in 'backup mode'. Let's say:
Alter tablespace users begin backup;
inserting 50000 records... that generates lot of redo with frequent commits inbetween. Where Oracle will makes a note of these changes?
I appreciate if anyone can explain me how oracle works on the tablespaces while they are in Backup mode.
Thanks in advance,
When a tablespace(tbs) is in 'backup mode' the headers of the datafiles in that tbs are freezed and no entry is made to the datafile but to the redo logs instead. So, what ever changes are made to this datafile the entries are placed in the redo log, this can generate a lot of redo logs and overhead to LGWR. For this reason, u should try to minimize the time between 'begin backup' and 'end backup'. This can be done by giving these commands at the datafile level and instead of the tablespace level.
Correspondingly, the size & number of u'r redologs should be sufficient for u'r normal db operations during online backup.
The optimal would be say 3 groups with 2 members each of size say 10MB. This ofcouse, depends on the nature of u'r transactions.
Hope this helps.
Well, I think a minor correction is required. While tablespace is in backup mode, its files headers realy are "freezed", but the changed datablocks are still written to the datafiles all the time.
Originally posted by ggnanaraj
When a tablespace(tbs) is in 'backup mode' the headers of the datafiles in that tbs are freezed and no entry is made to the datafile but to the redo logs instead. So, what ever changes are made to this datafile the entries are placed in the redo log, this can generate a lot of redo logs and overhead to LGWR.
And the reason for excessive redo log generation is not that data changes are written to the redo logs (they are being written to the redo logs all the time anyway, no matter if tablespace is in beckup mode or not), but the fact that any (first) change to the datablock require the *whole* block to be written to the redo log. In normal operation (non-backup mode) only the changed parts of the block (change vector) are being written to the redo log.
ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
Click Here to Expand Forum to Full Width