validate oracle rman backup
Como criar e validar o backup do Oracle RMAN: Aprenda com os comandos do RMAN e o processo de recuperação
programa de árvore de pesquisa binária em java
Neste tutorial, discutiremos como verificar e testar seus backups de banco de dados Oracle. Estaremos explicando conceitos como o quê, por que e como sobre backups de banco de dados e métodos para testar o backup.
Vamos levar o Banco de dados Oracle como um estudo de caso para este tutorial.
Estudo de caso: Testando backups de banco de dados Oracle RMAN:
O que você aprenderá:
Processo de validação de backup do banco de dados Oracle usando RMAN
Nós o categorizamos nas quatro seções a seguir
- O que é um backup?
- Por que fazer backup?
- Como fazer backup?
- Como testar / validar seu backup de banco de dados - Estratégias de recuperação?
Leia também=> Tudo sobre teste de banco de dados
O que é um backup de banco de dados?
Antes de começarmos a aprender mais sobre backups, precisamos entender o ativo mais importante de uma organização - dados. Considerando que sua organização funciona em banco de dados Oracle. Para entender o termo 'banco de dados', você pode se referir ao Série de testes de banco de dados Oracle aqui .
Os dados de uma organização são a parte mais integrante de uma organização. Considere uma empresa bancária de varejo. Todos eles têm enormes quantidades de dados - usuário, sistema, etc. Como administrador de banco de dados, administrador de sistema ou qualquer pessoa que tenha sido designada para o trabalho de proteger esses dados deve estar ciente de como os dados são importantes para uma organização. Como ter certeza de que os dados estão sempre disponíveis? Faça backup desses dados.
Um backup é uma cópia exata de seu banco de dados que pode ajudá-lo a reconstruir seus dados em caso de perda de dados.
Por que fazer backup do banco de dados?
Considere um caso simples em que sua organização bancária que possui dados sobre milhões de clientes em termos de números de contas, nomes, nomeados, saldo bancário e a organização perdeu todos os seus dados, como seus clientes reagiriam a isso? Como a organização lidaria com a pressão de perder tantos dados? Como eles responderiam à insatisfação de tantos clientes?
É por isso que fazemos backup desses dados para que em caso de qualquer falha de um disco (armazenamento), o controlador de disco (controlador de armazenamento), podemos sempre contar com nosso backup de onde podemos restaurá-lo no banco de dados, ou seja, sistema de arquivos de armazenamento e não ter os clientes perdem qualquer um de seus dados.
Hipoteticamente falando, suponha que haja milhões de clientes e cada um deles realizando milhões de transações e o banco de dados acidentalmente trave e perca seus dados, pediríamos a todos esses clientes para inserir seus dados novamente? Como lidar com a perda de tantos dados? Isso seria altamente inaceitável.
Da mesma forma, considere uma empresa de telecomunicações que oferece suporte a milhões de clientes e tem todos os seus dados relativos a números de telefone, endereços, crédito disponível, pagamentos pendentes. E se perdermos todos os seus dados? A empresa está condenada e teria que arcar com enormes custos, potencialmente levando a organização a uma paralisação. Certamente seria uma grande catástrofe.
Como fazer backup do banco de dados?
Para fazer backup de dados em um banco de dados Oracle, temos vários métodos. Eles podem ser amplamente classificados como backups físicos e lógicos
Método 1)Backups físicos :
- 3rdbackups de terceiros - como Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- Backups gerenciados pelo usuário - Backup de um banco de dados usando utilitários do sistema operacional, como copy (windows), cp (Unix).
- Oracle Secure Backup
- Meu utilitário favorito e o mais recomendado recomendado da Oracle - Recover Manager ( RMAN )
Método # 2)Backups lógicos:
- Utilitários convencionais de exportação / importação e utilitários Datapump. Um backup lógico é um backup de dados lógicos - objetos como tabelas, índices, etc., que são constituintes de um banco de dados, independentemente da localização dos objetos acima.
Para entender as estruturas de armazenamento físico e lógico de um banco de dados, você pode consultar isto e esta documentação oracle .
Qual é o melhor método para backup de banco de dados?
Cada uma dessas estratégias de backup tem suas próprias vantagens e desvantagens e não trataremos muito delas neste artigo.
Precisamos entender que, a menos que você tenha um backup físico instalado, apenas ter um backup lógico nem sempre é seguro contra corrupção de dados físicos e problemas de armazenamento de hardware. Ter um backup físico válido e de boa qualidade o torna uma boa estratégia de backup e recuperação. Sempre certifique-se de ter um backup físico instalado.
Na realidade, podemos usar qualquer um dos métodos acima, mas sempre precisamos nos certificar de que temos uma boa estratégia de backup e recuperação para evitar problemas desnecessários durante o curso da operação de um banco de dados. Testar suas estratégias de volta e recuperação em um sistema de teste espelhado é sempre recomendado para que possamos prever a quantidade de tempo que levará para colocar seu banco de dados em funcionamento no caso de qualquer situação imprevista.
Neste artigo, vamos nos concentrar principalmente nos backups RMAN. Isso nos leva a saber exatamente como fazemos o backup.
Comandos de backup do Oracle RMAN (Oracle Recovery Manager)
Podemos fazer backup de dados com a ajuda do modo Enterprise Manager (GUI) ou por meio do prompt da linha de comando do sistema operacional.
RMAN é uma ferramenta robusta e sofisticada fornecida pela Oracle para realizar backup e recuperação.
RMAN é instalado automaticamente quando você instala o banco de dados Oracle para que não haja nenhuma instalação adicional necessária para usar RMAN .
O RMAN ambiente é composto por dois componentes:
1) Banco de dados de destino (o banco de dados que você faria backup, execute a recuperação e
2) Cliente RMAN, que é o cliente que interpreta os comandos do usuário e os executa em nome do usuário enquanto se conecta ao banco de dados de destino.
Um comando simples para se conectar ao banco de dados usando RMAN é o seguinte:
C:Usersxyz> rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sun Sep 28 17:32:48 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1361070653) RMAN>
DBID aqui é o identificador único que é único para cada banco de dados com o qual planejamos trabalhar.
Neste exemplo, estamos lidando com um banco de dados chamado ORCL .
Faremos backup dos dados que pertencem ao banco de dados ORCL.
Como um backup é uma cópia física do seu banco de dados, precisamos de um local / diretório onde possamos salvá-los.
Para conseguir isso, podemos fazer uso de um diretório especial chamado db_recovery_file_dest que serve como local de backup. Defina o tamanho deste parâmetro com db_recovery_file_dest_size que marca o tamanho deste local de backup.
Embora tenhamos várias maneiras de compactar seus backups e várias técnicas que podem reduzir o tamanho de um backup, tente pelo menos definir o DB_RECOVERY_FILE_DEST_SIZE para um tamanho de seus dados reais em seu banco de dados. Certifique-se de contabilizar os logs de arquivo também, que nada mais são do que logs de redo offline que registram as alterações em seus blocos de dados.
Sua estratégia de backup consistiria em todos os arquivos relacionados ao banco de dados, tais como arquivos de dados, arquivos de controle, arquivos de parâmetros, arquivos relacionados à rede, arquivos de redo log arquivados.
O RMAN ou qualquer outra ferramenta de backup físico pode fazer backup de arquivos de dados, arquivos de controle, arquivos de parâmetros, arquivos de redo log arquivados. Arquivos relacionados à rede precisam ser copiados manualmente usando utilitários do sistema operacional como cp ou copy.
Para fazer backup de um banco de dados, usamos:
“Banco de dados de backup” - é tão simples quanto isso. Então, vamos começar a fazer backup de nosso banco de dados ORCL.
Como já conectamos ao banco de dados de destino (ORCL), disparamos o comando “backup do banco de dados”.
RMAN> backup database; Starting backup at 05-OCT-14 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=198 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=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: starting piece 1 at 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:04:27 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 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04 Finished backup at 05-OCT-14
Aqui, observamos que o backup de todos os arquivos relacionados do banco de dados - arquivos de dados, arquivos de controle, spfile (arquivo de parâmetro) foi concluído. A operação de backup demorou cerca de 4 minutos e 27 segundos (tempo decorrido). Este é um pequeno banco de dados de teste com apenas 5 arquivos de dados, por isso demorou muito menos tempo para fazer o backup.
Nos casos em que desejamos fazer backup de dados de bancos de dados de organizações gigantes, pode haver centenas de arquivos de dados e cada arquivo de dados pode ter tamanhos de terabytes e fazer um backup completo do banco de dados pode levar horas.
Para saber os detalhes do backup que acabamos de criar, devemos executar:
RMAN> backup de lista;
List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Full 9.58M DISK 00:00:06 05-OCT-14 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP SPFILE Included: Modification time: 05-OCT-14 SPFILE db_unique_name: ORCL Control File Included: Ckp SCN: 9705762 Ckp time: 05-OCT-14
Este backup é colocado no local DB_RECOVERY_FILE_DEST que é definido como D: APP1 SUNTYADA FLASH_RECOVERY_AREA
SQL> show parameter DB_RECOVERY_FILE_DEST NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string D:app1suntyadaflash_recovery_area db_recovery_file_dest_size big integer 3912M
O tamanho definido para nosso local de backup é 3912 MB.
Use VALIDATE para verificar arquivos de banco de dados e backups:
RMAN> VALIDATE DATABASE;
Validar backup RMAN
Como testamos ou validamos se podemos recuperar nosso banco de dados durante qualquer crise?
Se devido a falha de hardware ou alguma corrupção de seus discos de armazenamento, precisaríamos de um bom backup disponível para restaurar esses dados corrompidos, de modo que não perdemos nenhum dado que pertencia a esses arquivos de armazenamento.
Tudo depende de como você projetou os backups, dos intervalos em que os backups são agendados, se você faz um backup completo e se tem backups incrementais.
Em caso de erros do usuário - como uma manipulação desnecessária de dados, podemos restaurar partes dos dados ou todos os dados que foram alterados por meio de backups lógicos.
Na prática, devemos estar atentos e prever quaisquer erros que possam ocorrer no futuro e testar todas as estratégias para evitá-los.
Use o comando BACKUP VALIDATE para validar os arquivos de backup:
O comando para verificação de corrupção apenas física:
RMAN> BACKUP VALIDATE
BASE DE DADOS
ARCHIVELOG ALL;
O comando para a verificação de corrupção física e lógica:
RMAN> BACKUP VALIDATE
VERIFICAR LÓGICO
BASE DE DADOS
ARCHIVELOG ALL;
RMAN> BACKUP VALIDATE DATABASE ;
Starting backup at 05-OCT-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DB input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DB input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 1 OK 0 13430 106376 9708800 File Name: D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 75217 Index 0 12706 Other 0 5015 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 2 OK 0 21161 95409 9708826 File Name: D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 23010 Index 0 21760 Other 0 29429 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 3 OK 0 0 5762 9708826 File Name: D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 0 Index 0 0 Other 0 5760 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 4 OK 1125 228 5765 9528788 File Name: D:APP1SUNTYADAORADATAORCLUSERS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 2295 Index 0 39 Other 0 3198 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 5 OK 0 1687 10498 9585679 File Name: D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 4760 Index 0 1261 Other 0 2788 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: backup set complete, elapsed time: 00:00:01 List of Control File and SPFILE =============================== File Type Status Blocks Failing Blocks Examined ------------ ------ -------------- --------------- SPFILE OK 0 2 Control File OK 0 608 Finished backup at 05-OCT-14
Como você pode observar acima, o Status de cada arquivo é “ OK ”O que significa que eles são utilizáveis e podem ser usados para restaurar os arquivos a qualquer momento.
Podemos fazer uma prévia da restauração do banco de dados. Isso fornece uma boa lista de arquivos e sua disponibilidade sem realmente restaurar os arquivos.
Use o comando RESTORE para validar o backup:
RMAN> RESTORE DATABASE VALIDATE;
RESTORE ARCHIVELOG ALL VALIDATE;
RMAN> RESTORE DATABASE PREVIEW;
Starting restore at 05-OCT-14 using channel ORA_DISK_1 List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF List of Archived Log Copies for database with db_unique_name ORCL ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 367 1 366 A 02-OCT-14 Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLARCHIVELOG2014_10_05O1_MF_1_366_B32925TJ_.ARC Media recovery start SCN is 9684060 Recovery must be done beyond SCN 9704654 to clear datafile fuzziness Finished restore at 05-OCT-14
Conclusão
Estas são apenas técnicas simples para verifique seus backups do Oracle RMAN. Espero que você tenha um entendimento claro do processo de backup e recuperação do RMAN com a ajuda de vários comandos importantes do RMAN.
Embora em cenários de casos reais com base no tamanho dos dados, possamos ter várias centenas de arquivos de dados e precisamos ter certeza de fazer backup de cada um deles para ter uma boa estratégia de backup em vigor. Além disso, teste a recuperação em sistemas de teste para garantir que você pode usar as mesmas técnicas na produção.
Lidamos com diferentes métodos de backup de seus bancos de dados críticos / de teste e vários métodos para testá-los. Como já foi sugerido inúmeras vezes, ter uma boa estratégia de backup e recuperação salvará seu trabalho e sua organização.
Deixe-nos saber se você tiver qualquer dúvida relacionada ao Oracle ou qualquer outro teste de backup e recuperação de banco de dados.
Leitura recomendada
- Tutoriais detalhados do Eclipse para iniciantes
- MongoDB Criar Backup de Banco de Dados
- Tutorial de QTP nº 24 - Usando objetos virtuais e cenários de recuperação em testes QTP
- Tutorial de reflexão Java com exemplos
- Principais perguntas técnicas da entrevista sobre Oracle Apps e Oracle SOA
- Tutorial SVN: Gerenciamento de código-fonte usando Subversion
- Tutorial Python DateTime com exemplos
- Tutorial do Tortoise SVN: revisões no repositório de código