Estratégia de backup - RMAN
Eduardo Legatti
Database Administrator
• Introdução
• Visão geral
• Arquitetura do RMAN
• Catálogo de Recuperação
• Realizando backup em NOARCHIVELOG
• Realizand...
Introdução
• Backup físico (gerenciado pelo usuário vs RMAN)
• Backup lógico (exp, expdp (10g), scripts SQL)
• Backup frio (cold back...
O desenvolvimento de um plano de backup e recuperação é extremamente
importante para um servidor de banco de dados. É lógi...
Visão Geral - RMAN
• Introduzido na versão do Oracle 8
• Ferramenta criada pela Oracle e utilizada para backup, restore e
recover dos arquivo...
• Sem custo adicional.
• Pode trabalhar com ou sem catálogo de recuperação.
• Permite a automação de tarefas de backup, re...
• Control File
• Arquivo de inicialização (SPFILE)
• Datafiles
• Tablespaces
• Arquivos de redo log arquivados (archive lo...
• Implementação de COLD e HOT Backups.
• Catálogo de recuperação (opcional).
• Duplicate Database.
• Transportable Tablesp...
Arquitetura
Arquitetura
Os conceitos básicos da arquitetura do RMAN:
Backup Set Pieces
Arquivos físicos escritos em disco ou fita pelo...
Arquitetura
Componentes do RMAN:
Arquivo Executável
Nomeado como rman, ele interage com o banco de dados alvo nas operaçõe...
Arquitetura
Políticas de Retenção
Redundancy Backup Retention Policy (número de cópias a serem retidas)
Com essa política ...
Arquitetura
Políticas de Retenção
Recovery Window Backup Retention Policy (baseado no tempo)
Essa política especifica que ...
Arquitetura
Políticas de Retenção
NONE (os bakups nunca ficam obsoletos)
Essa política especifica que o RMAN deve reter to...
Arquitetura
Obsoleto vs. Expirado
O termo "obsoleto" não significa o mesmo que "expirado". Um backup se torna
obsoleto qua...
Catálogo de Recuperação
Catálogo
Sobre o Catálogo de Recuperação.
Vantagens
É um componente opcional do RMAN que armazena informações históricas d...
Realizando backup no modo
NOARCHIVELOG
NOARCHIVELOG
Banco de dados no modo NOARCHIVELOG
Se um banco de dados está operando no modo NOARCHIVELOG,
os arquivos de r...
Realizando Backup no modo
ARCHIVELOG
ARCHIVELOG
Banco de dados no modo ARCHIVELOG
Se um banco de dados está no modo ARCHIVELOG, os arquivos de
online redo logs...
ARCHIVELOG
Backups Incrementais
O RMAN permite a realização de backups apenas dos blocos de dados que foram
alterados desd...
ARCHIVELOG
Backups Base (Nivel 0)
É um tipo de backup FULL necessário para realização dos posteriores backups
incrementais...
ARCHIVELOG
Backups Diferenciais
É a opção padrão do RMAN. O backup incremental diferencial realiza o backup de todos os bl...
ARCHIVELOG
Backups Cumulativos
Realiza o backup de todos os blocos modificados tendo como refferência o backup de nível 0 ...
ARCHIVELOG
Block Change Tracking
Esse recurso faz com que o RMAN apenas copie os blocos de dados modificados
de forma mais...
ARCHIVELOG
Backup com compressão & Monitoramento do backup
Por padrão, o RMAN utilizar o algoritmo chamado BZIP2 para real...
ARCHIVELOG
Restore e Recover
As opções que o modo ARCHIVELOG pode lhe oferecer para recuperação:
• Time-Based Recovery
Per...
ARCHIVELOG
Outras opções de recuperação.
TSPITR – Tablespace Point-in-Time Recovery
Duplicate Database
Fornece a possibili...
Script Shell - Sydle
SCRIPT SHELL
Recursos
• Script parametrizável (FULL – LEVEL0 – LEVEL1).
• Permite excluir instâncias que não farão parte d...
SCRIPT SHELL
Sintaxe
[oracle]$ sh bkpora_rman.sh
=============================== ERRO ============================
Parâmet...
LAYOUT
SCRIPT SHELL
RMAN - Configurações
• CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
• CONFIGURE BACKUP OPTIMIZATI...
SCRIPT SHELL
COMPRESSÃO DO BACKUP
[oracle]$ du -sh /strg_raid0/LEG01
313M /strg_raid0/LEG01
[oracle]$ du -sh /strg_raid1/L...
SCRIPT SHELL
Ambiente Real
[oracle]$ du -sh /strg_raid0/HOM01
38G /strg_raid0/HOM01
[oracle]$ du -sh /strg_raid1/HOM01
60G...
SCRIPT SHELL
RC_ARCHIVED_LOG RC_BACKUP_CONTROLFILE RC_BACKUP_CORRUPTION RC_BACKUP_DATAFILE
RC_BACKUP_PIECE RC_BACKUP_REDOL...
SCRIPT SHELL
SCRIPT SHELL
SCRIPT SHELL
SCRIPT SHELL
Agendamento via crontab
Agendamento
Agendamento via CRON
00 22 * * 0 /home/oracle/bkpora_rman.sh LEVEL0 ALL
00 22 * * 1-6 /home/oracle/bkpora_rman...
Obrigado!
Upcoming SlideShare
Loading in...5
×

Estratégia de backup - RMAN

18,177

Published on

Estratégia de backup físico utilizando o RMAN

Published in: Technology
2 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total Views
18,177
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
0
Comments
2
Likes
11
Embeds 0
No embeds

No notes for slide

Estratégia de backup - RMAN

  1. 1. Estratégia de backup - RMAN Eduardo Legatti Database Administrator
  2. 2. • Introdução • Visão geral • Arquitetura do RMAN • Catálogo de Recuperação • Realizando backup em NOARCHIVELOG • Realizando backup em ARCHIVELOG • Script shell SYDLE • Agendamento via crontab Roteiro
  3. 3. Introdução
  4. 4. • Backup físico (gerenciado pelo usuário vs RMAN) • Backup lógico (exp, expdp (10g), scripts SQL) • Backup frio (cold backup) • Backup quente (hot backup) • Tecnologia Flashback • Flashback Query (9i) [SEO,SE,EE] • Flashback Versions Query (10g) [SEO,SE,EE] • Flashback Transaction Query (10g) [EE] • Flashback Database (10g) [EE] • Flashback Table (10g) [EE] • Flashback Drop (10g) [SEO,SE,EE] • Flashback Data Archive (11g) Tipos de backup e outras tecnologias Oracle Introdução
  5. 5. O desenvolvimento de um plano de backup e recuperação é extremamente importante para um servidor de banco de dados. É lógico que, dependendo do caso, um plano adequado de backup e recuperação não tem que ser necessariamente o mais elaborado e complexo ... na verdade, ele precisa ser aquele que irá servir melhor às necessidades de cada negócio. Em geral os tipos de backups dos bancos de dados Oracle se classificam em três categorias simples: * Backup do sistem operacional (OS) * Backups gerenciados pelo RMAN (Recovery Manager) * Backups lógicos Em geral, bancos de dados de produção contam com backups físicos como seu principal método de backup e backups lógicos servem como um método secundário. Por outro lado, para bancos de dados de desenvolvimento e para pequenos processamentos de movimentação de dados, os backups lógicos podem ser uma solução aceitável e viável. http://eduardolegatti.blogspot.com/2007/08/como-se-precaver-da-perda-de-dados.html Plano de backup e recuperação Introdução
  6. 6. Visão Geral - RMAN
  7. 7. • Introduzido na versão do Oracle 8 • Ferramenta criada pela Oracle e utilizada para backup, restore e recover dos arquivos do banco de dados. • O utilitário foi escrito PRO*C/C++ que traduz os comandos para chamadas de PL/SQL. • Pode ser utilizado tanto pela Interface de linha de comando como pelo OEM Database Console. • Fornece suporte MML (Media Management Library) • Garante a consitência do backup • Faz uso de políticas de retenção O que é o Recovery Manager (RMAN) Visão Geral
  8. 8. • Sem custo adicional. • Pode trabalhar com ou sem catálogo de recuperação. • Permite a automação de tarefas de backup, restore e recover. • Oferece suporte a compressão dos arquivos de backup (bzip2–10g, zlib-11g) • Possui recursos para a realização de backups Full e incrementais (diferencial/cumulativo). • Pode realizar backups com o banco de dados operando nos modos NOARCHIVELOG e ARCHIVELOG. • Permite a validação e preview do backup realizado. • Fornece recursos de criptografia do backup. • Ignora blocos não usados. • Flexível, robusto, gerenciável. • Independência de plataforma. • Recursos de script. Motivos para usar o RMAN Visão Geral
  9. 9. • Control File • Arquivo de inicialização (SPFILE) • Datafiles • Tablespaces • Arquivos de redo log arquivados (archive logs) • Flash Recovery Area (FRA) O RMAN pode realizar backup do: Visão Geral Não faz backup do: • Arquivo de inixialização (INIT.ORA) • Arquivos de redo log online. • ORACLE HOME. • Arquivo de Senhas
  10. 10. • Implementação de COLD e HOT Backups. • Catálogo de recuperação (opcional). • Duplicate Database. • Transportable Tablespace. • Cross-Platform Database. • Integração com a Flash Recovery Area – FRA (10g/11g) • DBPITR e TSPITR [EE]. • Recuperação em nível de bloco. • Data Recovery Advisor (11g) • List Failure • Advise Failure • Repair Failure Alguns dos recursos que o RMAN pode oferecer! Visão Geral
  11. 11. Arquitetura
  12. 12. Arquitetura Os conceitos básicos da arquitetura do RMAN: Backup Set Pieces Arquivos físicos escritos em disco ou fita pelos canais. Backup Sets 1. Consiste em um ou mais backup set pieces. 2. Cada canal alocado cria um backup set. Channels 1. Um processo servidor do banco de dados. 2. Um ou mais canais podem ser alocados para as operações de backup e recover. Snapshot Control file É uma imagem do control file que será utilizado pelo RMAN.
  13. 13. Arquitetura Componentes do RMAN: Arquivo Executável Nomeado como rman, ele interage com o banco de dados alvo nas operações de backup e recover, e registra as operações no control file do banco de dados alvo e no catálogo de recuperação, se existir. RMAN Library File: recover.bsq Catálogo de Recuperação (opcional) Repositório central para as informações de backup e recover de um banco de dados.
  14. 14. Arquitetura Políticas de Retenção Redundancy Backup Retention Policy (número de cópias a serem retidas) Com essa política o RMAN mantém X números de backups do banco de dados para ficarem disponíveis para recuperação. Configure retention policy to redundancy 2; Report obsolete; Delete obsolete; Supondo que é realizada uma operação de backup 1 vez por dia V$BACKUP_FILES
  15. 15. Arquitetura Políticas de Retenção Recovery Window Backup Retention Policy (baseado no tempo) Essa política especifica que o RMAN deve reter todos os backups durante um determinado X número de dias antes de torná-los obsoletos Por quanto tempo eu quero manter os meus backups para que seja possível uma recuperação em qualquer período no tempo do passado (em dias) dentro da janela de retenção? Configure retention policy to recovery window of 1 day; Report obsolete; Delete obsolete;
  16. 16. Arquitetura Políticas de Retenção NONE (os bakups nunca ficam obsoletos) Essa política especifica que o RMAN deve reter todos os backups sem nunca torná-los obsoletos Configure retention policy to none;
  17. 17. Arquitetura Obsoleto vs. Expirado O termo "obsoleto" não significa o mesmo que "expirado". Um backup se torna obsoleto quando o mesmo não é mais necessário para uso em uma eventual operação de recovery dentro da política de retenção adotada. Um backup se torna expirado somente após o RMAN executar uma operação CROSSCHECK, e constatar que o mesmo não se encontra mais no disco rígido. OBSOLETO = NÃO NECESSÁRIO EXPIRADO = NÃO ENCONTRADO
  18. 18. Catálogo de Recuperação
  19. 19. Catálogo Sobre o Catálogo de Recuperação. Vantagens É um componente opcional do RMAN que armazena informações históricas de backup, que trabalha em sincronia com o control file, e de forma mais simples fornece soluções e relatórios ao DBA. Desvantagens • Centralização de informação. • Flexibilidade em cenários de Recover. • Relatórios dos backups. • Scripts RMAN armazenados. • Trabalhar com encarnações. • Histórico dos backups. • Mais uma base para administração. • Problemas de compatibilidade. • Scripts automatizados não são executados se o catálogo estiver offline. Scripts Armazenados Permite ao DBA criar scripts de backup e recover armazenados no catálogo.
  20. 20. Realizando backup no modo NOARCHIVELOG
  21. 21. NOARCHIVELOG Banco de dados no modo NOARCHIVELOG Se um banco de dados está operando no modo NOARCHIVELOG, os arquivos de redo logs online serão reutilizados de forma cíclica e não serão arquivados. Vantagens Desvantagens • Não permite DBPITR/TSPITR. • Não realiza Media Recovery • Não permite BMR • Faz somente Instance Recovery. • Excelente para ambientes de Teste. • Sem problemas de ARCHIVE ERROR. • Também faz backup incremental.
  22. 22. Realizando Backup no modo ARCHIVELOG
  23. 23. ARCHIVELOG Banco de dados no modo ARCHIVELOG Se um banco de dados está no modo ARCHIVELOG, os arquivos de online redo logs serão gravados a cada switch dos redo logs, gerando assim os archives. Vantagens Desvantagens • Problemas de recuperação em caso de perda de alguma sequência dos archive logs • Hot Backup • O banco não precisa ser desligado durante a operação de backup • BMR – Block Media Recovery. • Permite recuperação baseada no Tempo.
  24. 24. ARCHIVELOG Backups Incrementais O RMAN permite a realização de backups apenas dos blocos de dados que foram alterados desde o seu último backup incremental, trazendo benefícios como: 1. Menos backup em disco ou fita. 2. Requer menos banda de rede para o tráfego de backup. 3. Backups mais rápidos. 4. Oferece dois tipos de backups incrementais: Diferencial e Cumulativo. 5. Trabalha com algoritmo baseado em níveis de backup. 6. Maior performance no backup com Block Change Tracking habilitado. 7. Suporte a backup compactado em qualquer nível. Observação! • Não é possível realizar backup incremental de archives ou control file. • Toda estratégia de backup incremental deve possuir um backup base, nível 0.
  25. 25. ARCHIVELOG Backups Base (Nivel 0) É um tipo de backup FULL necessário para realização dos posteriores backups incrementais, sempre realizado em incremental level 0, onde faz o backup de todos os blocos de dados. Importante! Não utilizar backup full database para realizar as estratégias de backups incrementais.
  26. 26. ARCHIVELOG Backups Diferenciais É a opção padrão do RMAN. O backup incremental diferencial realiza o backup de todos os blocos modificados desde seu último backup N ou inferior.
  27. 27. ARCHIVELOG Backups Cumulativos Realiza o backup de todos os blocos modificados tendo como refferência o backup de nível 0 mais recente
  28. 28. ARCHIVELOG Block Change Tracking Esse recurso faz com que o RMAN apenas copie os blocos de dados modificados de forma mais rápida, diminuindo assim o tempo para realização do backup incremental. ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE os_file_name.f; select filename, status, bytes from v$block_change_tracking; STATUS FILE BYTES ----------- ---------------------------- -------------- ENABLED /backup/chtracking.f 10,000,000
  29. 29. ARCHIVELOG Backup com compressão & Monitoramento do backup Por padrão, o RMAN utilizar o algoritmo chamado BZIP2 para realizar a compressão dos seus backup sets, que pode chegar a reduzir até 70% o tamanho do arquivo de backup.
  30. 30. ARCHIVELOG Restore e Recover As opções que o modo ARCHIVELOG pode lhe oferecer para recuperação: • Time-Based Recovery Permite a recuperação do banco de dados de forma consistente até um período específico no tempo. • SCN-Based Recovery Recuperação do banco de dados até um específico SCN (System Change Number). • Log Sequence-Based Recovery Permite realizar a recuperação até um específico archive log. O RMAN não suporta Cancel-Based Recovery, neste caso deverá ser utilizado o SQL*PLUS. Observação
  31. 31. ARCHIVELOG Outras opções de recuperação. TSPITR – Tablespace Point-in-Time Recovery Duplicate Database Fornece a possibilidade de realizar uma réplica do banco de dados desejado, podendo replicar no mesmo servidor ou numa máquina remota. http://eduardolegatti.blogspot.com/2010/03/database-point-in-time-recovery-dbpitr.html DBPITR – Database Point-in-Time Recovery Restore Preview Verifica qual backup set o RMAN irá utilizar para realizar uma operação de recover. Restore database validate Consegue fornecer a informação se seu backup é realmente recuperável.
  32. 32. Script Shell - Sydle
  33. 33. SCRIPT SHELL Recursos • Script parametrizável (FULL – LEVEL0 – LEVEL1). • Permite excluir instâncias que não farão parte do backup. • Possui detecção de erros gerados pelo RMAN. • Detecta automaticamente o modo de operação do banco de dados. • Emite saída dos comandos SHOW ALL e REPORT SCHEMA. • Gera arquivos de log em formato texto (V$RMAN_OUTPUT). • Gera INIT.ORA (texto). • Gera backup do controlfile em formato texto. • Pode ser configurado para se conectar em um catálogo de recuperação. • Envia e-mail após a finalização do backup. NOARCHIVELOG ARCHIVELOG • Faz hot backup • A instância permanece online • Realiza backup dos archive logs • Faz shutdown da instância (shutdown immediate) • Monta o banco de dados (mount) • Realiza o backup • Abre o banco de dados após finalização do backup
  34. 34. SCRIPT SHELL Sintaxe [oracle]$ sh bkpora_rman.sh =============================== ERRO ============================ Parâmetros não informados. Script cancelado. Uso: sh bkpora_rman.sh {FULL|LEVEL0|LEVEL1 ALL|[nome_instancia]} =============================== ERRO ============================ [oracle]$ sh bkpora_rman.sh LEVEL0 ALL Parâmetros válidos. Iniciando Backup.... Realizando Backup Offline (NOARCHIVELOG) do Banco de Dados LEG01 Backup do banco de dados realizado com sucesso. O arquivo de log está em /home/oracle/logs_rman/log_rman_LEG01_2010-08-18_11_50_26.log --------------------------------------------------------------------- Realizando Backup Online (ARCHIVELOG) do Banco de Dados LEG02 Backup do banco de dados realizado com sucesso. O arquivo de log está em /home/oracle/logs_rman/log_rman_LEG02_2010-08-18_11_51_46.log --------------------------------------------------------------------- [oracle]$ ls –l logs_rman total 24 -- oracle oinstall 2770 Ago 18 11:52 logs_bkp_RMAN_beast_2010-08-18_11_52_33.tar.gz
  35. 35. LAYOUT
  36. 36. SCRIPT SHELL RMAN - Configurações • CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS; • CONFIGURE BACKUP OPTIMIZATION ON; • CONFIGURE CONTROLFILE AUTOBACKUP ON; • CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; Catálogo de Recuperação RCVCAT_GAMBIT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = gambit.sydle.net)(PORT = 1521)) ) (CONNECT_DATA = (SID = RCVCAT) ) )
  37. 37. SCRIPT SHELL COMPRESSÃO DO BACKUP [oracle]$ du -sh /strg_raid0/LEG01 313M /strg_raid0/LEG01 [oracle]$ du -sh /strg_raid1/LEG01 2,3G /strg_raid1/LEG01 ---- 2,6G Total [oracle]$ du -sh /strg_raid1/flash_recovery_area/LEG01 76M /strg_raid1/flash_recovery_area/LEG01 • V$FLASH_RECOVERY_AREA_USAGE • V$RECOVERY_FILE_DEST
  38. 38. SCRIPT SHELL Ambiente Real [oracle]$ du -sh /strg_raid0/HOM01 38G /strg_raid0/HOM01 [oracle]$ du -sh /strg_raid1/HOM01 60G /strg_raid1/HOM01 ----- 98G Total [oracle]$ du –sh 12G /strg_raid1/flash_recovery_area/HOM01
  39. 39. SCRIPT SHELL RC_ARCHIVED_LOG RC_BACKUP_CONTROLFILE RC_BACKUP_CORRUPTION RC_BACKUP_DATAFILE RC_BACKUP_PIECE RC_BACKUP_REDOLOG RC_BACKUP_SET RC_BACKUP_SPFILE RC_CHECKPOINT RC_CONTROLFILE_COPY RC_COPY_CORRUPTION RC_DATABASE RC_DATABASE_BLOCK_CORRUPTION RC_DATABASE_INCARNATION RC_DATAFILE RC_DATAFILE_COPY RC_LOG_HISTORY RC_OFFLINE_RANGE RC_PROXY_CONTROLFILE RC_PROXY_DATAFILE RC_REDO_LOG RC_REDO_THREAD RC_RESYNC RC_RMAN_CONFIGURATION RC_STORED_SCRIPT RC_STORED_SCRIPT_LINE RC_TABLESPACE
  40. 40. SCRIPT SHELL
  41. 41. SCRIPT SHELL
  42. 42. SCRIPT SHELL
  43. 43. SCRIPT SHELL
  44. 44. Agendamento via crontab
  45. 45. Agendamento Agendamento via CRON 00 22 * * 0 /home/oracle/bkpora_rman.sh LEVEL0 ALL 00 22 * * 1-6 /home/oracle/bkpora_rman.sh LEVEL1 ALL ?? ?? * * 6 /home/oracle/oracleBackupAll.sh (opcional) DOMINGO : Backup incremental LEVEL0 SEGUNDA-SÁBADO: Backup incremental LEVEL1 SÁBADO : Cold backup (opcional – se houver janela)
  46. 46. Obrigado!

×