1) O documento discute estratégias de backup do banco de dados Oracle utilizando a ferramenta RMAN.
2) Apresenta a arquitetura e componentes do RMAN, incluindo catálogo de recuperação e políticas de retenção.
3) Explica como realizar backups em modo NOARCHIVELOG e ARCHIVELOG, incluindo backups incrementais e o uso da área de recuperação de flash.
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
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. • 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. • 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. • 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
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. 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. 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. 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. 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. 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
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.
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.
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. 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. 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. 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.
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. 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. 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. 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.
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. 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
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. 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. 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