Pular para o conteúdo

RMAN: Customizando o seu backup

RMAN: Customizando o seu backup

Olá,

Um dos grandes pontos fortes de trabalhar com o Recovery Manager (RMAN) é a possibilidade de alocar uma determinada quantidade de canais necessários no processo de Backup para melhorar o desempenho de I/O durante a tarefa, diminuindo o tempo do backup.

Os administradores de banco de dados (DBA) muitas vezes gostam de utilizar a alocação de canal manual para efetuar o backup e com isso, torna necessário mencionar a cada canal (channel) alocado o caminho que deverá ser gerado o backup set.  Como o script abaixo:

RMAN> run {
2> allocate channel t1 type disk format '/u02/app/oracle/backup/rman/bkp_%d_%t_%s.rman';
3> backup current controlfile tag 'BKP_CF';
4> release channel t1;
5> }

Perceba que durante a alocação do canal t1, é utilizada a cláusula FORMAT, que posteriormente menciona o caminho e o nome do backupset que será gerado pelo RMAN. Pois bem, se você costuma utilizar 3, 4, 5 ou mais canais, em um único caminho de backup e usando sempre a mesma máscara de nomenclatura de backup set, tornando os scripts frágeis.

Vamos analisar o exemplo e dividir as tarefas e customizar o RMAN, a partir da cláusula FORMAT. Veja:

Quantidade de canais = 3

Caminho de Backup =  /u02/app/oracle/backup/rman

Nomenclatura de Backup set = bkp_%d_%t_%s.rman

Sobre a nomenclatura utilizada, segue a explicação:

bkp_ = Nome inicial dos backupsets gerados, ou seja, definido por mim, é um valor fixo.

%d = Variável do RMAN para identificar o nome do banco de dados.

%t = Variável do RMAN para o Time Stamp do backup set.

%s = Variável do RMAN para identificar a sequência do backup set.

Agora, vamos colocar na prática essa customização.

1°) Logar-se no banco de dados usando o RMAN.

[oracle@ORA11G ~]$ rman target /

Recovery Manager: Release 11.1.0.6.0 - Production on Thu Aug 6 10:57:15 2009
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: RADB (DBID=1241100324)

2°) Configura o caminho e nome do backup set no control file.

As informações sobre a customização do RMAN será armazenada no control file. Para configurar emita o comando abaixo:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u02/app/oracle/backup/rman/bkp_%d_%t_%s.rman';

new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u02/app/oracle/backup/rman/bkp_%d_%t_%s.rman'; new RMAN configuration parameters are successfully stored

3°) Definir a quantidade de alocação de canal automático.

Para definir a quantidade de alocação de canais automáticos, quando executado qualquer script do RMAN para o banco de dados alvo, a estratégia é utilizar o PARALELISMO. E para configurar essa opção, basta executar o passo abaixo:

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;

new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters are successfully stored

4°) Verifique as configurações alteradas.

RMAN> show all;

using target database control file instead of recovery catalog
 RMAN configuration parameters for database with db_unique_name RADB are:
 CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
 CONFIGURE BACKUP OPTIMIZATION OFF; # default
 CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
 CONFIGURE CONTROLFILE AUTOBACKUP ON;
 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
 CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
 CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
 CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
 CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u02/app/oracle/backup/rman/bkp_%d_%t_%s.rman';
 CONFIGURE MAXSETSIZE TO UNLIMITED; # default
 CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
 CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
 CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
 CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.1.0/db_1/dbs/snapcf_RADB.f'; # default

5°) Testando o novo script.

Agora, veja como ficou o script com as customizações que foram feitas. Em negrito está as novas configurações realizadas para o RMAN.

RMAN> run {
 2> shutdown immediate;
 3> startup mount;
 4> backup database include current controlfile tag 'BKP_FULL';
 5> alter database open;
 6> }

database closed
database dismounted
Oracle instance shut down
connected to target database (not started)
Oracle instance started
database mounted

Total System Global Area     644468736 bytes
Fixed Size                     1301840 bytes
Variable Size                293601968 bytes
Database Buffers             343932928 bytes
Redo Buffers                   5632000 bytes

Starting backup at 06/08/2009 11:26:16

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=154 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=153 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=151 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=/u02/app/oracle/oradata/RADB/system01.dbf
channel ORA_DISK_1: starting piece 1 at 06/08/2009 11:26:26
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00002 name=/u02/app/oracle/oradata/RADB/sysaux01.dbf
input datafile file number=00004 name=/u02/app/oracle/oradata/RADB/users01.dbf
channel ORA_DISK_2: starting piece 1 at 06/08/2009 11:26:34
channel ORA_DISK_3: starting full datafile backup set
channel ORA_DISK_3: specifying datafile(s) in backup set
input datafile file number=00005 name=/u02/app/oracle/oradata/RADB/example01.dbf
input datafile file number=00003 name=/u02/app/oracle/oradata/RADB/undotbs01.dbf
channel ORA_DISK_3: starting piece 1 at 06/08/2009 11:26:47
channel ORA_DISK_3: finished piece 1 at 06/08/2009 11:30:03
piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694178799_15.rman tag=BKP_FULL comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:03:16
channel ORA_DISK_3: starting full datafile backup set
channel ORA_DISK_3: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_3: starting piece 1 at 06/08/2009 11:30:43
channel ORA_DISK_3: finished piece 1 at 06/08/2009 11:31:23piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694179009_16.rman tag=BKP_FULL comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:00:40
channel ORA_DISK_1: finished piece 1 at 06/08/2009 11:34:13
piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694178778_13.rman tag=BKP_FULL comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:07:48
channel ORA_DISK_2: finished piece 1 at 06/08/2009 11:35:04
piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694178786_14.rman tag=BKP_FULL comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:08:30
Finished backup at 06/08/2009 11:35:04

Starting Control File and SPFILE Autobackup at 06/08/2009 11:35:04
piece handle=/u01/app/oracle/flash_recovery_area/RADB/autobackup/2009_08_06/o1_mf_s_694178760_57otk638_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 06/08/2009 11:35:29
database opened

PRONTO! Deste modo conseguimos definir regras de backup mais customizadas para cada banco de dados. É válido lembrar que nos exemples realizei os testes de backup diretamente para disco, porém, é possível configurar os mesmos parâmetros para FITA, de acordo com a sua configuração MML no ambiente.

Abraços

Rodrigo Almeida

Rodrigo Almeida

Comentário(s) da Comunidade

  1. Salve Rodrigão..!!

    Caraca mano.. Era isto que eu precisava.. Estava com dúvida com relação de como e quantos canais alocar na geração do Backup.. Tava até perturbando o David sobre isto..!!

    Agora já sei como deixar Default quantos canais alocar..! Mas uma dúvida.. quando vc seta a quantidade de canais.. automaticamente o RMAN ja da um Release nestes canais, evitando que precisemos colocar o “release channel t1…” ?

    Agora uma outra dúvida.. Tem receita de bolo de quantos canais alocar por tipo de backup?

    Incremental Lv0 como é mais pesado.. usar 3 canais.. Lv1,2 ou 3 usar 2 ou 1 canais? Etc?

    Abraços..!!

  2. EItaaaaaa!!!..Tome RMAN…kkkk
    Sensacional o Post, alias esse assunto parece que era o “Sleep Book” do Rodrigo, brincadeira, quando eu penso que não tem mais nada novo esse chapado me aparece com mais uma..kkk.
    Abraço galera..

    Ps.: Ai Régis eu te disse que era mais ou menos aquilo lá que haviamos conversado..hehehe..estamos no caminho certo..abração

  3. Opa Rodrigo.. Td bem Graças a Deus.. e contigo?

    Muito obrigado.. esclareceu algumas dúvidas..! Mas to vendo que vou precisar estudar muito mais sobre RMAN, hehehe!!

    Abraços..!!

    Regis Araujo

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