Esse artigo faz parte da revista SQL Magazine edição 50. Clique aqui para ler todos os artigos desta edição

zip">Clique aqui para ler essa revista em PDF.imagem_pdf.jpg

Oracle

Backup & Recover com RMAN

Parte I: Backup usando o modo NOARCHIVELOG

 

Uma das grandes ferramentas que a Oracle introduziu para auxiliar os backups e recovers  em seus produtos de banco de dados é o Recovery Manager, ou simplesmente RMAN.

Este é um produto bastante conhecido entre os DBAs, porém pouco utilizado nos ambientes Oracle das empresas, onde a importância do backup é essencial e sempre necessário nos piores momentos.

Nesse artigo, iremos criar um catálogo, configurar e simular backups e recovers com o RMAN e passar algumas dicas sobre como utilizar o catálogo do RMAN no seu ambiente de banco de dados.

Este artigo será dividido em duas partes, onde na primeira iremos apresentar como realizar as operações de backup, restore e recovery, trabalhando com o banco de dados no modo NOARCHIVELOG, que iremos conhecer ao longo do artigo. Na segunda parte trataremos exclusivamente essas operações utilizando o modo ARCHIVELOG.

Catálogo

O RMAN pode trabalhar de duas maneiras: com ou sem catálogo de recuperação. A função do catálogo é organizar todos os seus backups, de modo que facilite a recuperação do banco de dados. Sua principal tarefa é registrar informações sobre os backups existentes, seja ele em modo ARCHIVELOG e NOARCHIVELOG, sobre os control files (Arquivo de controle), spfile (Arquivo de parametrização – Server parameter file), datafiles (arquivo de dados) e tablespaces do banco de dados. Deste modo, o DBA pode ter relatórios sobre todos os arquivos que foram feitos backups, as datas e horários das cópias para possíveis recuperações, identificar o tipo de backup realizado, seja incremental ou completo, e até mesmo verificar quais os datafiles já estão obsoletos para uma eventual recuperação parcial.

Assim, com a utilização do catálogo podemos ter um ambiente com N bancos de dados Oracle registrados com informações centralizadas, melhorando e agilizando as práticas de recuperação das bases de dados.

Um ponto importante que podemos destacar sobre a utilização de catálogo é a utilização de scripts do RMAN para realizar as cópias e manutenções de modo padronizado, ou seja, no próprio catálogo podemos criar scripts globais que podem ser utilizados em todos os bancos de dados sem a necessidade de alterar qualquer tipo de comando de forma simples e rápida. Além disso, os scripts podem ser utilizados em qualquer plataforma. Assim, um script que realiza um backup completo em um banco de dados sobre a plataforma Windows também poderá ser utilizado para bancos de dados em plataformas Unix ou Linux.

Ambiente para a realização dos testes

Para realizar nossos testes, iremos utilizar duas instâncias Oracle na versão 10G Release 2 em servidores diferentes, ambos Windows (ver Nota 1). Uma instância foi utilizada para armazenar somente o catálogo do RMAN, e a outra, apenas para simular as tarefas do aplicativo.

 

Nota 1. LEMBRETE

O RMAN pode ser implementado em todos os ambientes, seja sobre a plataforma Windows, Linux ou Unix.

 

Para elaborar esse ambiente de teste, basta seguir os passos:

 

1° Passo – Definindo o servidor e preparando o ambiente

No nosso exemplo, estamos definindo que o banco de dados chamado BDBKP no domínio RODRIGOALMEIDA.NET será o responsável pela tarefa de hospedar o catálogo do RMAN e compartilhar as informações com qualquer outro banco de dados do domínio. A Listagem 1 mostra os passos completos para preparar o banco de dados para receber o catálogo.

 

Listagem 1. Passos necessários para preparar o ambiente.

1. C:\> tnsping BDBKP.RODRIGOALMEIDA.NET

 

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 2-JUN-2007 12:03:39

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

 

Arquivos de parâmetros usados:

C:\ app\oracle\product\10.2.0\server\network\admin\sqlnet.ora

 

Usado o adaptador TNSNAMES para resolver o apelido

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = 172.16.192.1)(Port = 1521))) (CONNECT_DATA = (SID =bdbkp)))

 

OK (70 ms)

 

2. C:\ >sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on Sab Jun 2 12:06:49 2007

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

3. SQL> conn sys@BDBKP.RODRIGOALMEIDA.NET as sysdba

Informe a senha:

Conectado.

 

4. SQL > create tablespace TBSRMAN

 datafile

 ' D:\APP\ORACLE\ORADATA\RMAN\DBF\RMAN_01.dbf' size 100M

 permanent

 online

 extent management local autoallocate

 segment space management auto;

 

Tablespace criado.

 

5. SQL> create user RMAN

 identified by rman

 default tablespace TBSRMAN

 temporary tablespace TEMP;

 

Usuário criado.

 

6. SQL > grant sysdba to rman;

 

Permissão concedida.

 

Para melhorar o entendimento das tarefas apresentadas na Listagem 1, vamos fazer uma análise linha a linha:

·         Linha 1: Estamos utilizando o aplicativo TNSPING para validar o nome da entrada do arquivo TNSNAMES.ORA e do domínio da empresa. O nome é o alias (apelido) que colocamos no arquivo TNSNAMES.ORA para identificar um banco de dados, consequentemente, qualquer nome pode ser utilizado. No exemplo, sabemos que a entrada BDBKP.RODRIGOALMEIDA.NET será direcionada para o banco de dados BDBKP no domínio RODRIGOALMEIDA.NET.

·         Linha 2: Estamos utilizando o aplicativo SQL*PLUS no modo /nolog, ou seja, vamos acessar o SQL*PLUS, porém, sem conectar em nenhum banco de dados.

·         Linha 3: Nesse momento estamos acessando o banco de dados BDBKP com o usuário SYS e usando a permissão ...

Quer ler esse conteúdo completo? Tenha acesso completo