Leitura obrigatória: SQL Magazine 12 e 13, Introdução ao Oracle 9i (partes 1 e 2).

Leitura obrigatória: SQL Magazine 19, Manutenção da disponibilidade em bancos de dados Oracle 9i – Parte 1.

Na edição 19 mostramos ferramentas que auxiliam na manutenção da disponibilidade dos bancos de dados Oracle, bem como, introduzimos os mecanismos de backup, mostrando o método tradicional de backups gerenciados por usuário. Nesta edição estaremos explorando os recursos do RMAN e mostrando como este tipo de backup se sobressai em relação ao anterior.

Os backups gerenciados por usuário utilizam comandos do SQL*Plus e sistema operacional na sua implementação, enquanto que os Backups Gerenciados por Servidor (BGS) utilizam o Recovery Manager (RMAN).

O RMAN possui inúmeras características interessantes, dentre as quais vale destacar:

  • Provê backup de banco de dados, tablespaces, datafiles, controlfiles e archived logs;
  • Backup incremental em nível de bloco, que consiste na cópia apenas dos blocos alterados desde o último backup;
  • O RMAN copia apenas o conteúdo dos blocos de dados dos datafiles economizando com isto tempo e espaço de armazenamento. Vale lembrar que em operações de backup gerenciadas por usuário o datafile inteiro (blocos usados e livres) é copiado;
  • É possível especificar limites de I/O para as operações de backup, fazendo com que o procedimento de backup não cause problemas de desempenho para as aplicações que estão sendo executadas naquele instante;
  • Detecção de blocos corrompidos durante o backup;
  • Aumento na performance do backup (diminuição do tempo de execução das rotinas de backup) através da paralelização de canais, viabilizando a geração simultânea de backups para grupos de datafiles distintos;
  • Como não é necessário colocar as tablespaces em “backup mode”, a geração de redo durante a rotina de backup é bem menor.

Arquitetura do RMAN

A Figura 1 identifica os componentes da arquitetura do RMAN.

Arquitetura do RMAN
Figura 1. Arquitetura do RMAN.

Os componentes básicos da arquitetura do RMAN são:

  • Target database: banco onde será executado o backup;
  • Sessões de servidor: processos de servidor ou threads criadas pelo RMAN para desenvolver operações de backup restore e recovery através de um conjunto de pacotes PL/SQL;
  • Oracle Enterprise Manager: interface gráfica que possibilita a utilização de assistentes para configurar o RMAN;
  • Binário do RMAN;
  • Repositório do RMAN: onde o RMAN armazena metadados obtidos do control file do banco target, bem como informações de backup. Este repositório é criado inicialmente no controlfile do banco target, contudo uma boa prática é destinar um banco de dados Oracle para este fim, denominado de catálogo, visando a centralização das informações de metadados dos bancos de dados e seus backups. Como o catálogo do RMAN armazena os metadados de todos os bancos de dados do site, é necessário que cada banco target seja registrado no catálogo. Isto pode ser feito através do comando: rman> register database;Repositório do RMAN: onde o RMAN armazena metadados obtidos do control file do banco target, bem como informações de backup. Este repositório é criado inicialmente no controlfile do banco target, contudo uma boa prática é destinar um banco de dados Oracle para este fim, denominado de catálogo, visando a centralização das informações de metadados dos bancos de dados e seus backups. Como o catálogo do RMAN armazena os metadados de todos os bancos de dados do site, é necessário que cada banco target seja registrado no catálogo. Isto pode ser feito através do comando: rman> register database;
  • Canal: link para o banco target pelo qual passarão os procedimentos de backup, restore e recovery. A alocação de canais pelo RMAN será discutida em detalhes na próxima seção;
  • Media Management Library (MML): camada de software de terceiros que faz a interface entre o RMAN e o dispositivo de armazenamento de fita. A Figura 2 mostra a arquitetura de um media manager integrado com o Oracle.
Arquitetura para MML integrado com Oracle
Figura 2. Arquitetura para MML integrado com Oracle.

O MML é um software adicional, distribuído em conjunto com o agente de backup. A integração do MML com o Oracle varia de acordo com o sistema operacional. No Unix se dá através da substituição da biblioteca $ORACLE_HOME/lib/libobk.so por um link simbólico apontando para a biblioteca disponibilizada pelo agente. No Windows se dá através da cópia do arquivo orasbt.dll, localizado no local de instalação do mml (exemplo: e:\fabricante\lib\orasbt.dll) para %ORACLE_HOME%\lib\orasbt.dll.

Algumas customizações na MML (ler Nota 1) são necessárias, tais quais: nome do servidor de backup, pool de fitas destinados para backup, dentre outras. Em geral estas customizações podem ser feitas estaticamente (configurações feitas nos arquivos de configuração do agente) ou dinâmicas, através de passagem de parâmetros do RMAN para a MML, como mostrado na Listagem 1.

...
Quer ler esse conteúdo completo? Tenha acesso completo