Pular para o conteúdo

Introdução ao RMAN – Parte 2 – Conceitos da ferramenta

Introdução ao RMAN – Parte 2 – Conceitos da ferramenta

Pessoal, olá !

Vamos então começar a nossa sessão de RMAN com uma rápida introdução aos conceitos da ferramenta.

Irei, no final de cada artigo, citar todas as fontes que utilizei para estudo\criação dos mesmos, fiquem a vontade para consultar os materiais.

Lembrando que estou, assim como muitos que provavelmente irão ler este artigo, começando com RMAN, logo, minhas dúvidas poderão ser suas dúvidas ou vice-versa e prometo que irei tentar responder quaisquer questões que sejam deixadas nos comentários.

E novamente utlizando este parágrafo em agradecimento especial ao Rodrigo Almeida pelas citações no artigo e aos demais pela leitura e comentários aqui no Blog, este espaço é para vocês.

Parte 2 – Conceitos do RMAN – Definições

O que é o RMAN?

Como vimos no último artigo o banco de dados é capaz de enfrentar várias situações e garantir a consistência de dados e arquivos sem a interferência do DBA, porém, quando a situação complica o responsável precisa estar com seus backups (e archives!) em dia e disponíveis para a restauração e possível recuperação.

Partindo destas premissas podemos recuperar o banco de qualquer erro e com o mínimo de impacto possível.

Porém, hoje, existem várias formas de criar e garantir estes backups (desde backups gerenciados pelo usuário até ferramentas de terceiros) e é ai que entra o nosso amigo RMAN.

O RMAN (Recovery Manager) é uma ferramenta da própria Oracle disponível desde a versão 8i que tem como objetivo maximizar e flexibilizar todas as tarefas relacionadas a backup e restore em um banco de dados, ele consegue trabalhar da mesma maneira em várias situações e é de longe a ferramenta mais utilizada pelos DBAs mundo afora.

Ele trabalha com backups do tipo FÍSICOS nas suas mais variadas formas (datafile, conjuntos de datafiles, spfiles, controlfiles, backup hot e cold, backups incrementais, etc.)

Segundo o guia de backup e recover, as features mais notáveis são:

  • Backups incrementais: O RMAN é capaz de identificar e “backupear” apenas os blocos que foram alterados desde o último backup criando assim backups menores e de recuperação mais rápida.
  • Recuperação no nível de bloco: O RMAN é capaz de recuperar apenas um ou mais blocos corrompidos no sistema sem o impacto direto deste tipo de atividade (sem shutdown ou datafile offline).
  • Capacidade de Ignorar blocos vazios: O RMAN é capaz de ignorar blocos vazios durante o backup, otimizando as questões de tempo e espaço.
  • Algoritmo próprio de compressão: A ferramenta possui um algoritmo de compressão próprio (ZLIB ou BZIP2 de escolha opcional a partir do 11g), o que permite criar backups menores e mais rápidos de serem “descompactados”.
  • Backups criptografados e a Integração com a Oracle Wallet.

Isso e muito mais.

Podemos notar que o aprendizado no RMAN é essencial para quem quer uma carreira sólida e livre de imprevistos =)

Tipos de acesso ao RMAN.

O RMAN possui 5 tipos comuns de acesso a sua interface, eles são:

  • Via Enterprise Manager: O coração do console de administração não poderia deixar de lado a parte de uso e configuração do RMAN.
  • Via Agendador de Tarefas (Windows) ou Crontab(Linux): Podemos criar scripts a serem chamados pelo RMAN em horários específicos.
  • Via DBMS_PIPE: Essa eu particularmente nunca usei, a package DBMS_PIPE é capaz de permitir a comunicação entre sessões a partir da criação de uma estrutura dentro da própria SGA. Usando esta opção o DBA é capaz de criar uma sessão e, a partir da mesma, controlar as opções do RMAN.
  • Via DBMS_BACKUP_RESTORE: Usando blocos anômimos no PL/SQL podemos fazer o RMAN intervir diretamente no Kernel do Oracle.
  • Via linha de comando: A mais comum e a que iremos utilizar, nada mais é do que invocar o RMAN através de um terminal ou cmd.

Exemplo

[oracle@localhost ~]$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Sat Sep 10 12:38:14 2011

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

connected to target database: ORCL (DBID=1275526380)

RMAN>

Conceitos do RMAN:

Antes de qualquer coisa precisamos assimilar alguns termos e situações que abordaremos daqui pra frente.

  • Database alvo (Target):

Nada mais é do que a database na qual queremos efetivamente trabalhar, ou seja, realizar as operações de backup ou restore. O RMAN aceita apenas um alvo por vez.

  • Repositórios do RMAN:

O repositório é um local onde o RMAN irá armazenar toda a informação necessária sobre a estrutura da base, os backups e as configurações persistentes.

Por padrão o sistema armazena estas informações no CONTROLFILE da base de dados Alvo, porém podemos também configurar um Recovery Catalog (que será abordado logo mais).

O ControlFile é o cérebro do processo de restore, pois, sem ele, o RMAN não sabe dizer como, quando e onde deve proceder com as operações, basicamente você terá os backups e o sistema não saberá o que fazer com eles.

  • Catálogo de Recuperação (Recovery Catalog):

O Recovery catalog é, resumidamente, uma base de dados que tem a responsabilidade de ser o repositório das informações de outros alvos.

O Recovery traz uma série de vantagens a uma estratégia de backup para vários bancos pois permite a administração de vários alvos, remove a dependência do controlfile, segrega o repositório dos alvos, permite o armazenamento de scripts, torna as informações de backup mais flexíveis a consultas por parte do DBA e é multiplataforma, ou seja, independente da plataforma dos bancos alvo o Recovery será capaz de armazenar todas as informações.

  • Database auxiliar (Auxiliary database):

Database auxiliar é geralmente uma database criada com o objetivo de duplicação da base de dados alvo, uso da feature de Transportable Tablespaces sem necessitar derrubar a base alvo e\ou uso do Tablespace point-in-time recovery.

Lembrando que em muitas atividades hoje o RMAN já faz o uso deste recurso de forma “transparente”, ou seja, ele cria a base auxiliar, realiza suas tarefas e depois a elimina.

  • Área de recuperação rápida (Flash recovery area):

É a área definida por padrão pelo RMAN para armazenar os backups da base de dados alvo.

A vantagem de se utilizar a Flash Recovery Area (a qual chamaremos de FRA) é deixar o próprio sistema lidar com as questões relacionadas a impacto no gerenciamento de espaço em disco excluindo os arquivos que estiverem dentro das regras de vencimento (obsoletos).

Lembrando que não estamos falando de FLASHBACK DATABASE ou QUERY que são recursos completamente diferentes e que a FRA é também muito utilizada como local para os online redo logs e é o destino padrão dos archived logs além de ter o uso recomendado pela Oracle no quesito de melhores práticas por facilitar na administração do espaço como citado anteriormente.

  • Alocações do RMAN (memória e processos)

O RMAN, como qualquer processo de acesso ao banco utiliza-se de algumas alocações para o seu pleno funcionamento, cada tipo de alocação varia de acordo com a atividade:

  • Durante a conexão: Ao se conectar o RMAN utiliza uma sessão e um processo como qualquer conexão via sqlplus, por exemplo.
  • Durante as atividades de Backup e Restore: Durante uma atividade de backup e restore o RMAN utiliza o polling process para verificar\reportar o andamento do processo e pelo menos um canal (channel).

O channel é um processo do banco responsável pela cópia ou leitura dos arquivos durante uma atividade de backup\restore, ele pode ser de dois tipos, os canais de disco (disk channels) que trabalham com dispositivos de disco e as SBT (System Backup to Tape) que são os canais alocados para trabalhos em fitas.

  • Áreas de memória utilizadas: Durante uma conexão simples o RMAN irá alocar recursos como uma conexão normal (PGA), porém, durante quaisquer atividades de leitura\escrita o Oracle utilizará a SGA de forma a manter a integração entre vários processos.

Durante as atividades de I/O o sistema tentará alocar espaço em memória na ‘LARGE POOL’ (Que por sinal é o espaço recomendado pela Oracle); Caso esta área de memória não esteja configurada o sistema irá tentar alocar memória da SHARED POOL, o que, em minha opinião, não é uma boa idéia =D

E por último, caso a LARGE POOL esteja configurada porém seja insuficiente o sistema avisará ao DBA a situação através do alert.log.

É isso pessoal, no próximo capítulo vamos falar sobre configurações persistentes do RMAN!

Qualquer dúvida, sugestão ou reclamação os comentários estão à disposição.

Fontes

  • Guia Backup and Recovery Basics – (Oracle®) – Obtido em http://www.oracle.com/pls/db102/portal.portal_db?selected=3
  • Guia Backup and Recovery Advanced User’s Guide – (Oracle®) – obtido em http://www.oracle.com/pls/db102/portal.portal_db?selected=3
  • OCP: Oracle 10g Administration II Study Guide – (Sybex®)
  • Doug Stuns,Tim Buterbaugh,Bob Bryla
  • Oracle Database 10g OCP Certification All-In-One Exam Guide – (Oracle Press®)
  • Damir Bersinic, John Watson

Quão útil foi este post ?

Clique em uma estrela para classificar o post

nota média 4.7 / 5. Contagem de votos: 21

Sem votos ! Seja o primeiro a classificar !

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress