No ambiente de testes verifiquei algo que não sabia. Um backup incremental Level 1 , diferencial ou cumulativo não é usado no restore e sim no recover. Um backup level 1 é como se fosse um pacote de archives.
No momento do recover se o Oracle encontrar uma peça de backup incremental level 1 que contenha todas as alterações necessária para recuperação da base,
ele da prioridade ao backup incremental deixando os archives em segundo plano. Baseado nisso, podemos dizer que é como se os level 1 fossem uma segurança a mais no momento do recover.
Para comprovar veja os passos que fiz abaixo.
Primeiro executo um backup incremental level 0
RMAN> backup incremental level 0 database;
Starting backup at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 0 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_system_6mm2dr9k_.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_sysaux_6mm2drbp_.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_undotbs1_6mm2drc5_.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_users_6mm2drcy_.dbf
channel ORA_DISK_1: starting piece 1 at 21-JAN-11
channel ORA_DISK_1: finished piece 1 at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 21-JAN-11
Starting Control File and SPFILE Autobackup at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/autobackup/2011_01_21/o1_mf_s_741025182_6mmq2gsb_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 21-JAN-11
Depois faço alguns inserts na tabela teste que fica armazenada na tablespace teste
SQL> insert into teste.teste values ('00000000000000000000000000');
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
Em seguida executo um backup incremental Level 1
RMAN> backup incremental level 1 database;
Starting backup at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 1 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_system_6mm2dr9k_.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_sysaux_6mm2drbp_.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_undotbs1_6mm2drc5_.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_users_6mm2drcy_.dbf
channel ORA_DISK_1: starting piece 1 at 21-JAN-11
channel ORA_DISK_1: finished piece 1 at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp tag=TAG20110121T162155 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 21-JAN-11
Starting Control File and SPFILE Autobackup at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/autobackup/2011_01_21/o1_mf_s_741025330_6mmq730l_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 21-JAN-11
Coloco a tablespace teste em modo offline
alter tablespace teste offline;
Tablespace altered.
Executo um restore da tablespace, nesse momento só é usado o backup Level 0 para o restore
RMAN> restore tablespace teste;
Starting restore at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 21-JAN-11
No momento do recover é utilizado o backup Level 1
RMAN> recover tablespace teste;
Starting recover at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00005: /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp tag=TAG20110121T162155
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 21-JAN-11
Coloquei a tablespace online para testar se estava tudo certo.
alter tablespace teste online;
Tablespace altered.
Agora vou fazer excluir o backup Level 1, para que seja usado os archives
alter tablespace teste offline;
Tablespace altered.
RMAN> restore tablespace teste;
Starting restore at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 21-JAN-11
RMAN> recover tablespace teste;
Starting recover at 21-JAN-11
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 18 is already on disk as file /u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_18_6mmsvg8b_.arc
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=14
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=15
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=16
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=17
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_annnn_TAG20110121T165741_6mms9oqs_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_annnn_TAG20110121T165741_6mms9oqs_.bkp tag=TAG20110121T165741
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_14_6mmt2fcg_.arc thread=1 sequence=14
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_14_6mmt2fcg_.arc RECID=30 STAMP=741028253
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_15_6mmt2fcb_.arc thread=1 sequence=15
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_15_6mmt2fcb_.arc RECID=32 STAMP=741028253
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_16_6mmt2fcm_.arc thread=1 sequence=16
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_16_6mmt2fcm_.arc RECID=29 STAMP=741028253
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_17_6mmt2fcs_.arc RECID=31 STAMP=741028253
media recovery complete, elapsed time: 00:00:00
Finished recover at 21-JAN-11
No momento do recover se o Oracle encontrar uma peça de backup incremental level 1 que contenha todas as alterações necessária para recuperação da base,
ele da prioridade ao backup incremental deixando os archives em segundo plano. Baseado nisso, podemos dizer que é como se os level 1 fossem uma segurança a mais no momento do recover.
Para comprovar veja os passos que fiz abaixo.
Primeiro executo um backup incremental level 0
RMAN> backup incremental level 0 database;
Starting backup at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 0 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_system_6mm2dr9k_.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_sysaux_6mm2drbp_.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_undotbs1_6mm2drc5_.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_users_6mm2drcy_.dbf
channel ORA_DISK_1: starting piece 1 at 21-JAN-11
channel ORA_DISK_1: finished piece 1 at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 21-JAN-11
Starting Control File and SPFILE Autobackup at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/autobackup/2011_01_21/o1_mf_s_741025182_6mmq2gsb_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 21-JAN-11
Depois faço alguns inserts na tabela teste que fica armazenada na tablespace teste
SQL> insert into teste.teste values ('00000000000000000000000000');
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
Em seguida executo um backup incremental Level 1
RMAN> backup incremental level 1 database;
Starting backup at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 1 datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_system_6mm2dr9k_.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_sysaux_6mm2drbp_.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_undotbs1_6mm2drc5_.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/CANSADA/datafile/o1_mf_users_6mm2drcy_.dbf
channel ORA_DISK_1: starting piece 1 at 21-JAN-11
channel ORA_DISK_1: finished piece 1 at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp tag=TAG20110121T162155 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 21-JAN-11
Starting Control File and SPFILE Autobackup at 21-JAN-11
piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/autobackup/2011_01_21/o1_mf_s_741025330_6mmq730l_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 21-JAN-11
Coloco a tablespace teste em modo offline
alter tablespace teste offline;
Tablespace altered.
Executo um restore da tablespace, nesse momento só é usado o backup Level 0 para o restore
RMAN> restore tablespace teste;
Starting restore at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 21-JAN-11
No momento do recover é utilizado o backup Level 1
RMAN> recover tablespace teste;
Starting recover at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00005: /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd1_TAG20110121T162155_6mmq6my9_.bkp tag=TAG20110121T162155
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 21-JAN-11
Coloquei a tablespace online para testar se estava tudo certo.
alter tablespace teste online;
Tablespace altered.
Agora vou fazer excluir o backup Level 1, para que seja usado os archives
alter tablespace teste offline;
Tablespace altered.
RMAN> restore tablespace teste;
Starting restore at 21-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/CANSADA/datafile/o1_mf_teste_6mm3vnp7_.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_nnnd0_TAG20110121T161926_6mmq1z2m_.bkp tag=TAG20110121T161926
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 21-JAN-11
RMAN> recover tablespace teste;
Starting recover at 21-JAN-11
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 18 is already on disk as file /u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_18_6mmsvg8b_.arc
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=14
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=15
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=16
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=17
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_annnn_TAG20110121T165741_6mms9oqs_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/CANSADA/backupset/2011_01_21/o1_mf_annnn_TAG20110121T165741_6mms9oqs_.bkp tag=TAG20110121T165741
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_14_6mmt2fcg_.arc thread=1 sequence=14
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_14_6mmt2fcg_.arc RECID=30 STAMP=741028253
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_15_6mmt2fcb_.arc thread=1 sequence=15
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_15_6mmt2fcb_.arc RECID=32 STAMP=741028253
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_16_6mmt2fcm_.arc thread=1 sequence=16
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_16_6mmt2fcm_.arc RECID=29 STAMP=741028253
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/CANSADA/archivelog/2011_01_21/o1_mf_1_17_6mmt2fcs_.arc RECID=31 STAMP=741028253
media recovery complete, elapsed time: 00:00:00
Finished recover at 21-JAN-11
Comentários