Podemos usar o RMAN para fazer backup de todas as partes do banco de dados oracle. Os comandos de backup do RMAN podem ser usados para fazer backup de arquivos de banco de dados Oracle, cópias de arquivos de banco de dados, logs arquivados ou conjuntos de backup.
Aqui está a sintaxe geral do comando de backup do RMAN
Sintaxe: BACKUP FULL OpçõesBACKUP FULL AS (COPY | BACKUPSET) OpçõesBACKUP INCREMENTAL LEVEL [=] integer OpçõesBACKUP INCREMENTAL LEVEL [=] integer AS (COPY | BACKUPSET) OpçõesBACKUP AS (COPY | BACKUPSET) OpçõesBACKUP AS (COPY | BACKUPSET) (FULL | INCREMENTAL LEVEL [ =] integer) OptionsOptions:[backupOperand [backupOperand]...]backupSpec [backupSpec]...[PLUS ARCHIVELOG [backupSpecOperand [backupSpecOperand]...]];backupOperand::={ FORMAT [=] 'format_string' [, 'format_string']...| CANAL ['] channel_id [']| ACUMULATIVO| MAXSETSIZE [=] inteiro [ K | M | G]| TAG [=] ['] tag_name [']| keepOption| PULAR { OFFLINE | LEITURA | INACESSÍVEL }| VALIDAR| SEM BACKUP [DESDE A HORA [=] 'date_string']| CÓPIAS [=] inteiro| DEVICE TYPE deviceSpecifier...}backupSpec::=[(]{ BACKUPSET{ {ALL | completedTimeSpec }| primary_key) [, primary_key]...}| CÓPIA DE { BANCO DE DADOS| TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name[']]...| DATAFILE datafileSpec [, datafileSpec]...}| DATAFILE datafileSpec [, datafileSpec]...| DATAFILECOPY 'nome do arquivo' [, 'nome do arquivo']...| DATAFILECOPY FROM TAG [=] ['] tag_name ['] [, ['] tag_name [']]...| DATAFILECOPY { TODOS | LIKE 'string_pattern' }| TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...| BANCO DE DADOS| archivelogRecordSpecifier| ARQUIVO DE CONTROLE ATUAL [PARA ESPERA]| CONTROLFILECOPY 'nome do arquivo'| SPFILE}[backupSpecOperand [backupSpecOperand]...]backupSpecOperand::={ FORMAT [=] 'format_string' [, 'format_string']...| CANAL ['] channel_id [']| ACUMULATIVO| MAXSETSIZE [=] inteiro [ K | M | G]| TAG [=] ['] tag_name [']| keepOption| PULAR { OFFLINE | LEITURA | INACESSÍVEL }| SEM BACKUP [ DESDE A HORA [=] 'date_string'| inteiro TIMES]| EXCLUIR [TODAS] ENTRADAS...}.
Você deve configurar os dispositivos e canais padrão antes de executar o RMAN Backup.
Para disco RUN {ALLOCATE CHANNEL disk01 TYPE disk;ALLOCATE CHANNEL disk02 TYPE disk;ALLOCATE CHANNEL disk03 TYPE disk;BACKUP DATABASEFORMAT '${ORACLE_SID}-%U';}Para fita RUN {ALLOCATE CHANNEL tape01 TYPE 'SBT_TAPE';ALLOCATE CHANNEL tape02 TYPE 'SBT_TAPE';ALLOCATE CHANNEL tape03 TYPE 'SBT_TAPE';BACKUP DATABASEFORMAT '${ORACLE_SID}-%U';}ouRUN { ALLOCATE CHANNEL tape01 TYPE sbt;ALLOCATE CHANNEL tape02 TIPO sbt; ALOCAR CANAL tape03 TIPO sbt; BACKUP DATABASE FORMAT '${ORACLE_SID}-%U'; }
O RMAN coloca o backup na área de recuperação flash caso o tipo de dispositivo seja disco e você não tenha especificado nenhum formato
Aqui está uma lista abrangente dos comandos de backup do RMAN
Comando de banco de dados RMAN BACKUP
RMAN> BACKUP DATABASE;RMAN> BACKUP DATABASE TAG='test backup';RMAN> BACKUP DATABASE COMMENT='backup completo';RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;RMAN> BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG; RMAN> DURAÇÃO DO BACKUP 00:60 DATABASE;RMAN> DURAÇÃO DO BACKUP 00:30 MINIMIZE DATABASE;RMAN> DURAÇÃO DO BACKUP 00:45 MINIMIZE LOAD DATABASE;
Você pode fazer backup do banco de dados e do archivelog ao mesmo tempo usando o comando abaixo
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
Ele executa as etapas abaixo para ter um backup consistente
a.Executa o comando ALTER SYSTEM ARCHIVE LOG CURRENT.
b.Executa BACKUP ARCHIVELOG ALL. Observe que, se a otimização de backup estiver habilitada, o RMAN ignorará os logs dos quais já fez backup no dispositivo especificado.
c.Faz backup do restante dos arquivos especificados no comando BACKUP.
d. Executa o comando ALTER SYSTEM ARCHIVE LOG CURRENT.
d. Faz backup de quaisquer logs arquivados restantes gerados durante o backup.
Isso garante que os backups de arquivos de dados feitos durante o comando sejam recuperáveis para um estado consistente.
RMAN> BACKUP DATABASE KEEP FOREVER;RMAN> BACKUP DATABASE MANTER ATÉ TIME='SYSDATE+30';RMAN> BACKUP DATABASE ATÉ 'SYSDATE+365' NOLOGS;RMAN> BACKUP DATABASE NOEXCLUDE;RMAN> BACKUP DATABASE NOEXCLUDE KEEP FOREVER TAG ='abc';RMAN> BACKUP DO BANCO DE DADOS SKIP READONLY;RMAN> BACKUP DO BANCO DE DADOS SKIP OFFLINE;RMAN> BACKUP DO BANCO DE DADOS SKIP INACCESSIBLE;RMAN> BACKUP DO BANCO DE DADOS SKIP READONLY SKIP OFFLINE SKIP INACESSIBLE;RMAN> BACKUP DATABASE FORCE; -- backup do banco de dados somente leitura tambémRMAN> BACKUP DO BANCO DE DADOS SEM BACKUP;RMAN> BACKUP DO BANCO DE DADOS SEM BACKUP DESDE TIME='SYSDATE–3';RMAN> BACKUP SEM BACKUP DESDE 'SYSDATE-10' MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
RMAN> CÓPIAS DO BANCO DE DADOS=2;
Aqui estão alguns formatos que você pode usar para backup
RMAN> BACKUP DATABASE FORMAT '/disk1/backups/db_%U.bck'RUN{ ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/%d_backups/%U';ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/%d_backups/%U';ALLOCATE CHANNEL disk3 DEVICE TYPE DISK FORMAT '/disk3/%d_backups/% U';BACKUP COMO COPY DATABASE; } RMAN> TIPO DE DISPOSITIVO DE BACKUP DISK DATABASE;RMAN> TIPO DE DISPOSITIVO DE BACKUP sbt DATABASE PLUS ARCHIVELOG;RMAN> TIPO DE DISPOSITIVO DE BACKUP sbt DATAFILECOPY FROM TAG 'latest' FORMAT 'df%f_%d';RMAN> TIPO DE DISPOSITIVO DE BACKUP sbt ARCHIVELOG LIKE '/ disk%arc%' DELETE ALL INPUT;RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED ANTES 'SYSDATE-14'DELETE INPUT;RMAN> BACKUP CHECK LOGICAL DATABASE;RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;RMAN> BACKUP VALIDATE DATABASE;RMAN> BACKUP VALIDAR ARCHIVELOG DO BANCO DE DADOS TODOS;
Comando RMAN Backup Tablespace
RMAN> teste BACKUP TABLESPACE;RMAN> BACKUP TABLESPACE sistema, usuários, ferramentas;RMAN> BACKUP TABLESPACE 4;RMAN> BACKUP TABLESPACE USERS PLUS ARCHIVELOG;RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG;RMAN> BACKUP TABLESPACE USERS TAMANHO DA SEÇÃO 100M;RMAN> BACKUP SECÇÃO TAMANHO 250M TABLESPACE USERS;
Comando de arquivo de dados de backup do RMAN
RMAN> BACKUP DATAFILE 9;RMAN> BACKUP DATAFILE '/u01/data/...';RMAN> BACKUP DATAFILE 1 PLUS ARCHIVELOG;RMAN> BACKUP KEEP FOREVER FORMAT '?/dbs/%U_longterm.cpy' TAG longterm_bck DATAFILE 1 DATAFILE 2;RMAN> TAMANHO DA SEÇÃO DE BACKUP 500M DATAFILE 6;
Comando de registro de arquivo de backup do RMAN
RMAN> BACKUP ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;RMAN> BACKUP ARCHIVELOG LIKE '/arch%' DELETE ALL INPUT;RMAN> BACKUP ARCHIVELOG FROM TIME 'SYSDATE–3';RMAN> BACKUP ARCHIVELOG DA SEQUÊNCIA 100;RMAN> BACKUP ARCHIVELOG DA SEQUENCE 999 DELETE INPUT;RMAN> BACKUP ARCHIVELOG DA SEQUENCE 123 DELETE ALL INPUT;RMAN> BACKUP ARCHIVELOG DA SEQUENCE 21531 ATÉ SEQUENCE 21590 FORMAT '/tmp/archive_backup.bkp';RMAN> BACKUP ARCHIVELOG ALL FROM SEQUENCE 1200 DELETE ALL INPUT;RMAN> BACKUP ARCHIVELOG NÃO BACKUP 2 VEZES;RMAN> BACKUP ARCHIVELOG TEMPO DE CONCLUSÃO ENTRE 'SYSDATE-28' E 'SYSDATE-7';RMAN> BACKUP FORMAT='AL_%d/%t/%s/% p' ARCHIVELOG LIKE '%arc_dest%';
Comando do arquivo de controle de backup do RMAN
RMAN> BACKUP CURRENT CONTROLFILE PARA '/backup/ctrlfile.copy';RMAN> BACKUP CONTROLFILE COPY '/u10/backup/control.bkp';
Comando spfile de backup do RMAN
RMAN> BACKUP SPFILE;RMAN> BACKUP DEVICE TYPE sbt SPFILE ARCHIVELOG ALL;RMAN> BACKUP DEVICE TYPE sbt DATAFILECOPY ALL NODUPLICATES;RMAN> BACKUP RECOVERY FILES;
Comando de banco de dados conectável de backup do RMAN
RMAN>BASE DE DADOS CONECTÁVEIS PDB1, PDB2;
conjunto de BACKUP
RMAN> BACKUP BACKUPSET ALL;RMAN> BACKUP BACKUPSET ALL FORMAT ='/u01/.../backup_%u.bak';RMAN> BACKUP BACKUPSET COMPLETADO ANTES DE 'SYSDATE-3' DELETE INPUT;RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETADO ANTES de 'SYSDATE-14' DELETE INPUT;RMAN> CÓPIA DE BACKUP 2 TIPO DE DISPOSITIVO sbt BACKUPSET ALL;RMAN> BACKUP COMO BACKUPSET COMPRIMIDO;RMAN> BACKUP COMO BACKUPSET COMPRIMIDO TIPO DE DISPOSITIVO CÓPIAS DE DISCO 2 DATABASE FORMAT '/disk1/db_%U ', '/disk2/db_%U';RMAN> BACKUP COMO BACKUPSET COMPRIMIDO INCREMENTAL DE SCN 4111140000000 DATABASE TAG 'RMAN_RECOVERY';RMAN> BACKUP COMO BACKUPSET DATAFILE '$ORACLE_HOME/oradata/users01.dbf','$ORACLE_HOME/oradata/ tools01.dbf';RMAN> BACKUP COMO BACKUPSET DATAFILECOPY ALL;RMAN> BACKUP COMO BACKUPSET DATAFILECOPY ALL NODUPLICATES;
Backup do RMAN como cópia ou comando de cópia de IMAGEM
RMAN> BACKUP COMO CÓPIA DO BANCO DE DADOS;RMAN> BACKUP COMO CÓPIA DO BANCO DE DADOS DA TAG 'teste' VERIFICAR TAG LÓGICA 'duptest';RMAN> BACKUP COMO COPY TABLESPACE 8;RMAN> BACKUP COMO COPY TABLESPACE test;RMAN> BACKUP AS COPY TABLESPACE sistema, ferramentas, usuários, undotbs;RMAN> BACKUP AS COPY DATAFILE 1;RMAN> BACKUP AS COPY DATAFILE 2 FORMAT '/disk2/df2.cpy' TAG my_tag;RMAN> BACKUP AS COPY CURRENT CONTROLFILE;RMAN> BACKUP AS COPY CURRENT CONTROLFILE FORMAT '/....';RMAN> BACKUP AS COPY ARCHIVELOG ALL;RMAN> BACKUP AS COPY KEEP FOREVER NOLOGS CURRENT CONTROLFILE FORMAT '?/oradata/cf_longterm.cpy', DATAFILE 1 FORMAT '?/oradata/df1_longterm. cpy', DATAFILE 2 FORMAT '?/oradata/df2_longterm.cpy';RMAN> BACKUP AS COPY DATAFILECOPY 'bar' FORMAT 'foobar';RMAN> BACKUP AS COPY DATAFILECOPY '/disk2/df2.cpy' FORMAT '/disk1/df2 .cpy';RMAN> BACKUP AS COPY REUSE TARGETFILE '/u01/oracle/11.2.0.2/dbs/orapwcrd' FORMATO AUXILIAR '/u01/oracle/11.2.0.2/dbs/orapwcrd';RMAN> BACKUP AS COPRENT CONTROLFILE FOR FORMA AUXILIAR EM ESPERA t '+DATA/crd/data1/control01.ctl';
Backups incrementais do RMAN
RMAN> NÍVEL DE BACKUP INCREMENTAL=0 DATABASE;RMAN> NÍVEL DE BACKUP INCREMENTAL=1 DATABASE;RMAN> NÍVEL DE BACKUP INCREMENTAL=0 DATABASE PLUS ARCHIVELOG;RMAN> BACKUP INCREMENTAL NÍVEL 1 CUMULATIVA PULAR INACESSIBLE DATABASE;RMAN> BACKUP INCREMENTAL NÍVEL 1 PARA RECUPERAÇÃO DE CÓPIA COM TAG 'incr' DATABASE;RMAN> BACKUP TIPO DISCO INCREMENTAL NÍVEL 1 PARA RECUPERAÇÃO DE CÓPIA COM TAG 'oltp' DATABASE;RMAN> BACKUP DEVICE TYPE DISCO INCREMENTAL DE SCN 351986 DATABASE FORMAT '/tmp/incr_standby_%U';RMAN> BACKUP INCREMENTAL DO SCN 629184 DATAFILE 5 FORMAT '/tmp/ForStandby_%U' TAG 'FORSTANDBY';RMAN> BACKUP INCREMENTAL LEVEL =--- tablespace/datafile
Artigos relacionados
Comandos de backup da lista RMAN :Os comandos de backup da lista RMAN são usados para listar o backup feito usando RMAN , Data e hora e muitos outros detalhes estão incluídos
Conexão RMAN decodificada
Folha de instruções dos comandos Oracle RMAN vários comandos de backup e recuperação
recuperar banco de dados usando RMAN:Como recuperar banco de dados usando RMAN, comando de restauração e recuperação, paralelismo
Como depurar sessão Oracle RMAN:Como depurar sessão RMAN para erro e travamento
/>RMAN-06059 :Confira como resolver o RMAN-06059:log arquivado esperado não encontrado, perda de log arquivado compromete a recuperabilidade
RMAN-20004 :RMAN-20004 acontece quando um Banco de Dados foi clonado e uma conexão foi feita do clone para o Catalog usando rman sem alterar o DBID do clone,
ORA-00245 :Snapshot controlfile é um novo recurso no RMAN para ressincronização. Mudanças importantes com ele do 11gR2 e como resolver o erro ORA-00245