Pedro F. Carvalho
Analista de Sistemas
[email protected]
RMAN: Backup em NOARCHIVELOG
Quando um banco de dados Oracle está no modo NOARCHIVELOG, resumidamente,
não há geração de archives, e conseqüentemente todas as alterações realizadas pelas
transações não são armazenadas de forma sequênciais em arquivos (archives),
ocorrendo uma reutilização dos grupos de redo logs, deste modo, o banco de dados no
modo noarchivelog sofre as seguintes restrições:
•
•
•
•
O banco de dados não pode realizar backups incrementais.
Operações de restauração em Point-in-Time não serão permitidas, ou seja, se
desejar recuperar o banco de dados até um determinado período de tempo, não
irá conseguir.
Não pode trabalhar com o recurso de Flashback.
Sempre deverá restaurar o banco de dados a partir do último backup completo,
em outras palavras, do seu último backup cold.
Em nosso exemplo, o banco de dados XE está trabalhando no modo NOARCHIVELOG, e
para verificar isso, basta executar as seguintes tarefas:
Abra o SQL*PLUS e conecte com o usuário sys, com a role sysdba. Exemplo:
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Qui Mai 29 13:28:45 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys as sysdbaInforme a senha:Conectado.
Execute o comando para listar a seqüência de archives, veja:
SQL> archive log list;
Modo log de banco de dados
Arquivamento automático
Destino de arquivamento
A sequência de log on-line mais antiga
Sequência de log atual
5
Modo Sem Arquivamento
Desativado
USE_DB_RECOVERY_FILE_DEST
4
Veja que o resultado mostrou que o serviço de arquivamento e o modo do banco de
dados estão em NOARCHIVELOG. Outro modo seria pelo SELECT abaixo:
SQL> select name, log_mode from v$database;NAME
--------- ------------XE
NOARCHIVELOG
LOG_MODE
Agora, que sabemos que o banco de dados está no modo NOARCHIVELOG, vamos
iniciar os procedimentos de backup da base, para isso, devemos realizar o chamado
BACKUP COLD (cópia fria), simplificando, uma cópia do banco de dados "offline".
Com a utilização do RMAN, o backup cold é realizado com o banco de dados no estado
MOUNT, onde conseguimos realizar a conexão com o catálogo e efetuar a cópia do
spfile, control files e datafiles. O backup cold sempre deverá ser consistente, nunca
Pedro F. Carvalho
Analista de Sistemas
[email protected]
deverá ser feito após um SHUTDOWN ABORT ou qualquer queda abrupta da base ou
servidor, pois caso seja necessário sua restauração, não será possível confiar 100% na
sua consistência, pois o Oracle Server irá pedir uma recuperção de Media Recovery.
Backup cold e RMAN
Após entendermos como funciona um backup cold e os principais arquivos que devem
ser armazenados, vamos realizar um backup utilizando a ferramenta.
O banco de dados XE não está registrado no catálogo de recuperação, então, devemos
registrar e conectar ao catálogo de recuperação veja os passos:
C:\>rman
Gerenciador de Recuperação: Release 10.2.0.1.0 - Production on Qui Mai 29 14:25:26
2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect catalog rman/########@rman;
conectado ao banco de dados do catálogo de recuperação
RMAN> connect target sys;
RMAN-00571:
=====================================================
======
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
=====================================================
======
RMAN-06004: erro ORACLE no banco de dados do catálogo de recuperação: RMAN20001: target database not found in recovery catalog
Ao acessar a ferramenta RMAN, o primeiro comando foi para conectar-se ao catálogo
de recuperação, que foi executado com sucesso. No segundo comando, tentamos
conectar-se ao catálogo de recuperação, o RMAN nos retornou um erro, dizendo que
não existia o banco de dados cadastrado, absolutamente normal, quando é a primeira
vez que o banco de dados irá utilizar um catálogo de recuperação.
Assim que receber o erro, devemos então registrar o banco de dados no catálogo
usando o comando REGISTER DATABASE pelo prompt do RMAN, desta forma:
RMAN> register database;banco de dados registrado no catálogo de recuperação
iniciar ressinc. completa do catálogo de recuperaçãoressinc. inteira completa
A partir desse momento, o banco de dados se encontra catalogado, podendo utilizar
todos os recursos do rman, para iniciar a atividade de backup, iremos utilizar o script
abaixo:
RMAN> run {2> shutdown immediate;3> startup force mount;
4> ´allocate channel t1 type disk format
"E:\backup\XE\rman\BKP_COLD_%d_%t_%s.rman"´;
Pedro F. Carvalho
Analista de Sistemas
[email protected]
5> ´backup database include current controlfile tag "BKP_COLD"´;
6> backup spfile;7> alter database open;8> }
Vamos realizar uma analise rápida sobre os comandos acima.
Linha 1 - RUN { ... }
Utilizado para agrupar um conjuntos de comandos do RMAN e executados de forma
seqüencial.
Linha 2 - Shutdown immediate
Esse comando é responsável por baixar o serviço de banco de dados, realizando
rollback das transações ativas, não permitindo novas conexões e o banco de dados irá
desconectar todas as sessões de usuários. Permitindo assim, uma garantia na
consistência dos dados.
Linha 3 - Startup force mount
Inicia a instância oracle no modo MOUNT (montado), onde não está disponível aos
usuários e é permitida a leitura dos control files para controle do catálogo. A opção
FORCE é utilizada em algumas ocasiões quando a instância sofre alguma pane no
shutdown.
Linha 4 - ´allocate channel t1 type disk format
"E:\backup\XE\rman\BKP_COLD_%d_%t_%s.rman;"´
Esse é o modo de alocação de canais de backup do RMAN de forma manual, definindo
o caminho que será despejado o arquivo (E:\backup\XE\rman) e com as variáveis
internas do RMAN, como %d, %t e %s, onde:
%d - Nome do banco de dados
%t - Especifica o time stamp do backup
%s - Seqüência do backupset gerado pelo RMAN.
O RMAN possui ainda mais uma variedade de opções de parâmetros e formas de
utilização dos canais, que veremos em outras colunas.
Linha 5 - ´backup database include current controlfile tag "BKP_COLD;"´
Essa é a principal parte, onde é efetuado o backup do banco de dados por completo
com a opção de incluir o atual arquivo de controle (control file). Por padrão, o backup
do banco de dados é FULL (ou incremental level 0), ou seja, todos os blocos de dados.
Lembrando sempre de realizar o backup do control file, pode isso, utilizamos a opção
INCLUDE CURRENT CONTROLFILE, pois ele é responsável em dizer qual SCN está para
Pedro F. Carvalho
Analista de Sistemas
[email protected]
cada datafile, localização, seqüência do log e etc, sendo de extrema importância no
momento da recuperação da instância.
A opção TAG ao final do comando é apenas para nomear o backup que está sendo
realizado, podendo no momento do recover, realizar uma recuperação se baseando
apenas no nome do backup que deseja restaurar.
Linha 6 - Backup spfile
Realiza o backup do Server parameter File, arquivo responsável pela inicialização da
instância, onde se encontra os principais parâmetros do banco de dados. Caso o banco
de dados não esteja trabalhando com SPFILE, terá erros, e em versões 8i também.
Linha 7 - Alter database open
Após a realização do backup por completo do banco de dados, essa opção permite
abrir o banco de dados permitindo o acesso dos usuários.
Ao encerrar o backup, podemos já verificar os principais registros que foi gravado no
catálogo de recuperação e analisar como anda as operações de backup e recover do
banco de dados, abaixo, segue alguns comandos úteis que podemos utilizar dentro do
catálogo.
RMAN> list backup;
Lista todos os backups do banco de dados.
RMAN> list backup summary;
Fornece as informações de backup sumarizado, para rápidas consultas, para identificar
se está disponível, em disco ou fita, datas, tipos de backup e etc.
RMAN> report schema;
Relatório do "esqueleto" schema do banco de dados, como a localização, tamanho e
tablespaces de cada datafile, tanto os permanentes e temporários.
RMAN> crosscheck backup of database;
Verifica qual backup está disponível para utilização, ele analisa todos os backups feitos
no catalogo e checa se seus backupsets estão nos discos acessíveis para uma possível
recuperação.
Ele irá dependente das configurações do catálogo como RETENTION POLICY,
RECOVERY WINDOW e do tempo que seu backup ficará em disco ou fita. Para verificar
os valores padrões, execute o comando:
RMAN> show all;
Pedro F. Carvalho
Analista de Sistemas
[email protected]
O comando SHOW ALL irá mostrar outros diversos parâmetros padrões do banco de
dados no catálogo de recuperação, onde cada um exerce uma função diferente e
importante no assunto de backup e recover, que iremos ver nas futuras colunas
Download

Oracle Backup NoArchive