Hoje apresentarei uma recuperação de um backup consistente usando o RMAN.
Para esse pequeno teste, usei um banco oracle XE versão 11g Release 2. Esse banco não está com ARCHIVELOG ativo (NOARCHIVELOG).
Primeiro vou explicar o que é um backup consistente e um backup inconsistente de um banco de dados.
Backup Consistente
Um backup consistente é um backup efetuado com o banco de dados em estado NOMOUNT; também conhecido como “Backup Frio” ou “Cold Backup”; pode-se ouvir também: “com o banco baixado”.
Em suma, é um backup executado com o conjunto de RELOG fechado, sem executar alterações durante todo o processo de backup.
Backup Inconsistente
Um backup inconsistente é um backup efetuado com o banco de dados em estado OPEN; também conhecido como “Backup Quente” ou “Hot Backup”; pode-se ouvir também: “com o banco aberto”.
Em suma, é um backup executado com o conjunto de REDOLOG aberto, executando alterações durante o processo de backup.
Verificando se o ARCHIVELOG está ativo
[oracle@host0916 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.2.0 Production on Mon Dec 3 18:09:10 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. SQL> conn / as sysdba Connected. SQL> SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Current log sequence 2 SQL> SQL> exit Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Baixando o banco e executando um backup completo
[oracle@host0916 ~]$ rman target / Recovery Manager: Release 11.2.0.2.0 - Production on Mon Dec 3 18:09:25 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: XE (DBID=2682118025) RMAN> shutdown immediate; using target database control file instead of recovery catalog database closed database dismounted Oracle instance shut down RMAN> startup mount connected to target database (not started) Oracle instance started database mounted Total System Global Area 417546240 bytes Fixed Size 2227080 bytes Variable Size 289408120 bytes Database Buffers 121634816 bytes Redo Buffers 4276224 bytes RMAN> backup database; Starting backup at 03-DEC-12 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00002 name=/u01/app/oracle/oradata/XE/sysaux.dbf input datafile file number=00001 name=/u01/app/oracle/oradata/XE/system.dbf input datafile file number=00004 name=/u01/app/oracle/oradata/XE/users.dbf input datafile file number=00003 name=/u01/app/oracle/oradata/XE/undotbs1.dbf channel ORA_DISK_1: starting piece 1 at 03-DEC-12 channel ORA_DISK_1: finished piece 1 at 03-DEC-12 piece handle=/u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_nnndf_TAG20121203T181125_8ctddzor_.bkp tag=TAG20121203T181125 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:46 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 03-DEC-12 channel ORA_DISK_1: finished piece 1 at 03-DEC-12 piece handle=/u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncsnf_TAG20121203T181125_8ctdgj5f_.bkp tag=TAG20121203T181125 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 03-DEC-12 RMAN> shutdown immediate; database dismounted Oracle instance shut down RMAN> exit Recovery Manager complete.
Nesse momento, o banco foi apagado, incluindo o spfile
Iniciando o banco de dados para recuperação
[oracle@bambu ~]$ rman target / Recovery Manager: Release 11.2.0.2.0 - Production on Mon Dec 3 18:58:21 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup nomount; startup failed: ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora' starting Oracle instance without parameter file for retrieval of spfile Oracle instance started Total System Global Area 158662656 bytes Fixed Size 2224592 bytes Variable Size 92278320 bytes Database Buffers 58720256 bytes Redo Buffers 5439488 bytes RMAN>
Efetuando o restore do SPFILE
RMAN> set dbid 2682118025 executing command: SET DBID RMAN> RMAN> restore spfile from '/u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncsnf_TAG20121203T181125_8ctdgj5f_.bkp'; Starting restore at 03-DEC-12 using channel ORA_DISK_1 channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncsnf_TAG20121203T181125_8ctdgj5f_.bkp channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete Finished restore at 03-DEC-12 RMAN> shutdown immediate; Oracle instance shut down RMAN> startup nomount; connected to target database (not started) Oracle instance started Total System Global Area 417546240 bytes Fixed Size 2227080 bytes Variable Size 289408120 bytes Database Buffers 121634816 bytes Redo Buffers 4276224 bytes RMAN>
Efetuando o restore do CONTROLFILE
RMAN> restore controlfile from '/u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncsnf_TAG20121203T181125_8ctdgj5f_.bkp'; Starting restore at 03-DEC-12 using channel ORA_DISK_1 channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/u01/app/oracle/oradata/XE/control.dbf Finished restore at 03-DEC-12 RMAN> alter database mount; database mounted released channel: ORA_DISK_1 RMAN>
Efetuando o restore do banco de dados
RMAN> restore database; Starting restore at 03-DEC-12 Starting implicit crosscheck backup at 03-DEC-12 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK Crosschecked 1 objects Finished implicit crosscheck backup at 03-DEC-12 Starting implicit crosscheck copy at 03-DEC-12 using channel ORA_DISK_1 Finished implicit crosscheck copy at 03-DEC-12 searching for all files in the recovery area cataloging files... cataloging done List of Cataloged Files ======================= File Name: /u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncnnf_TAG20121203T181251_8ctdhok3_.bkp File Name: /u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_ncsnf_TAG20121203T181125_8ctdgj5f_.bkp File Name: /u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_nnsnf_TAG20121203T181258_8ctdhv1c_.bkp 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 00001 to /u01/app/oracle/oradata/XE/system.dbf channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/XE/sysaux.dbf channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/XE/undotbs1.dbf channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/XE/users.dbf channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_nnndf_TAG20121203T181125_8ctddzor_.bkp channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/XE/backupset/2012_12_03/o1_mf_nnndf_TAG20121203T181125_8ctddzor_.bkp tag=TAG20121203T181125 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:46 Finished restore at 03-DEC-12 RMAN>
Abrindo o banco de dados para uso
RMAN> alter database open resetlogs; database opened RMAN> exit Recovery Manager complete.
Confirmando se o banco de dados está OPEN
[oracle@host0916 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.2.0 Production on Mon Dec 3 18:15:40 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. SQL> conn / as sysdba Connected. SQL> select status from v$instance; STATUS ------------ OPEN SQL> exit Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production [oracle@host0916 ~]$
Como demonstrado, uma recuperação completa de um backup consistente é simples e funcional.
Pós-graduação em Computação Forense e Perícia Digital, pós-graduação em Redes de Computadores e com graduação em Tecnologia em Processamento de Dados.