DataARTIGO

RMAN: customizando o seu backup

Um dos 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 dadosBanco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data (DBA) muitas vezes gostam de utilizar a alocação de canal manual para efetuar o backup e, com isso, torna-se necessário mencionar a cada canal (channel) alocado o caminho em que deverá ser gerado o backup set. Como o script abaixo:

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

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:

  1. Quantidade de canais = 3
  2. Caminho de Backup = /u02/app/oracle/backup/rman
  3. 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.

01. Logue-se no banco de dados usando o RMAN

[oracle@ORA11G ~]$ <strong>rman target /</strong><em><br />Recovery Manager: Release 11.1.0.6.0 - Production on Thu Aug 6 <br />10:57:15<br />Copyright<br /> (c) 1982, 2007, Oracle. All rights reserved.<br />connected<br /> to target<br /> database: RADB (DBID=1241100324)</em>

02. Configure o caminho e o nome do backup set no control file

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

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

03. Defina 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:

<strong>CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;</strong><br /><em>new RMAN configuration parameters:</em><br /><strong>CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;</strong><br /><em>new RMAN configuration parameters are successfully stored</em><strong><br /></strong>

04. Verifique as configurações alteradas

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

05. Teste o novo script

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

<strong>run {<br />shutdown immediate;<br />startup mount;<br />backup database include current controlfile tag 'BKP_FULL';<br />alter database open;<br />}</strong><em><br />database closeddatabase dismounted<br />Oracle instance shut down<br />connected to target database (not started)<br />Oracle instance started<br />database mounted<br />Total System Global Area 644468736 bytes<br />Fixed Size 1301840 bytes<br />Variable Size 293601968 bytes<br />Database Buffers 343932928 bytes<br />Redo Buffers 5632000 bytes<br />Starting backup at 06/08/2009 11:26:16<br />allocated channel: ORA_DISK_1allocated channel: ORA_DISK_2allocated channel: ORA_DISK_3/u02/app/oracle/backup/rman/bkp_RADB_694178799_15.rman tag=BKP_FULL comment=NONE<br />channel ORA_DISK_3: backup set complete, elapsed time: 00:03:16<br />channel ORA_DISK_3: starting full datafile backup set<br />channel ORA_DISK_3: specifying datafile(s) in backup set<br />including current control file in backup set<br />channel ORA_DISK_3: starting piece 1 at 06/08/2009 11:30:43<br />channel ORA_DISK_3: finished piece 1 at 06/08/2009 11:31:23<br />piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694179009_16.rman tag=BKP_FULL comment=NONE<br />channel ORA_DISK_3: backup set complete, elapsed time: 00:00:40<br />channel ORA_DISK_1: finished piece 1 at 06/08/2009 11:34:13<br />piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694178778_13.rman tag=BKP_FULL comment=NONE<br />channel ORA_DISK_1: backup set complete, elapsed time: 00:07:48<br />channel ORA_DISK_2: finished piece 1 at 06/08/2009 11:35:04<br />piece handle=/u02/app/oracle/backup/rman/bkp_RADB_694178786_14.rman tag=BKP_FULL comment=NONE<br />channel ORA_DISK_2: backup set complete, elapsed time: 00:08:30<br />Finished backup at 06/08/2009 11:35:04<br />Starting Control File and SPFILE Autobackup at 06/08/2009 11:35:04<br />piece handle=/u01/app/oracle/flash_recovery_area/RADB/autobackup/2009_08_06/o1_mf_s_694178760_57otk638_.bkp comment=NONE<br />Finished Control File and SPFILE Autobackup at 06/08/2009 11:35:29<br />database opened<br />channel ORA_DISK_1: SID=154 device type=DISK<br /><br />channel ORA_DISK_2: SID=153 device type=DISK<br /><br />channel ORA_DISK_3: SID=151 device type=DISK<br />channel ORA_DISK_1: starting full datafile backup set<br />channel ORA_DISK_1: specifying datafile(s) in backup set<br />input datafile file number=00001 name=/u02/app/oracle/oradata/RADB/system01.dbf<br />channel ORA_DISK_1: starting piece 1 at 06/08/2009 11:26:26<br />channel ORA_DISK_2: starting full datafile backup set<br />channel ORA_DISK_2: specifying datafile(s) in backup set<br />input datafile file number=00002 name=/u02/app/oracle/oradata/RADB/sysaux01.dbf<br />input datafile file number=00004 name=/u02/app/oracle/oradata/RADB/users01.dbf<br />channel ORA_DISK_2: starting piece 1 at 06/08/2009 11:26:34<br />channel ORA_DISK_3: starting full datafile backup set<br />channel ORA_DISK_3: specifying datafile(s) in backup set<br />input datafile file number=00005 name=/u02/app/oracle/oradata/RADB/example01.dbf<br />input datafile file number=00003 name=/u02/app/oracle/oradata/RADB/undotbs01.dbf<br />channel ORA_DISK_3: starting piece 1 at 06/08/2009 11:26:47<br />channel ORA_DISK_3: finished piece 1 at 06/08/2009 11:30:03<br />piece handle=</em>

PRONTO!

Deste modo conseguimos definir regras de backup mais customizadas para cada banco de dados. É válido lembrar que, nos exemplos, 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, DBA Oracle há mais de 10 anos é um dos DBA’s mais influentes do pais e mantém seu próprio Portal e Fórum (www.rodrigoalmeida.net), eleito ORACLE ACE em 2009 pela Oracle Corporation, cursou Eng. da Computação pela UNISANTA, graduado em Analise de banco de dados e pós-graduando em BI pela Veris Faculdades, especialista em Micro-eletrônica pelo INSA em Toulouse/França. Possui certificações OCP 9i/10g/11g, OCE SQL Expert, OCS 11g Implementations e Exadata e mais de 14 certificações Oracle. É vice-presidente do grupo de usuários Oracle do Brasil (GUOB), colunista Oracle do portal iMasters e colaborador técnico para os principais portais e revistas Brasileiras e internacionais. É participante dos Beta Program da Oracle Coporation para soluções de banco de dados e instrutor oficial da Oracle University Brasil para os treinamentos de BD e Exadata e atualmente é DBA Oracle e DMA Exadata e consultor técnico da Oracle do Brasil focado no gerenciamento e implementação de Oracle Exadata, Exalogic e tecnologias de banco de dados e aplicações Oracle. Também é proprietário da empresa UNIDBA Consultoria em TI (www.unidba.com.br)

Ver perfil