Paralelização de backup utilizando instâncias do Oracle RAC

Saudações pessoal, esse artigo tem o objetivo de mostrar como realizar o paralelismo no nível de instância para realização de backups.

Nesse caso a base possuia aproximadamente 370 Gb, o tempo de backup era de 1 hora, utilizando a técnica abaixo eu passei a realizar o backup em 30 minutos, ou seja, ganho de 100%.

Pré requisito:

Option de paralelização, encontrada na versão Enterprise do Oracle Database, e claro, nesse caso em específico, o ambiente estar em RAC.

Grant de sysdba para o usuário que for conectar remontamente na instância, nesse caso userbkp

Tnsnames configurados corretamente para cada instância, nesse caso dbprod1 (apontando para o nó1) e dbprod2 (apontando para o nó 2)

Script:

$ORACLE_HOME/bin/rman target / catalog usercatalog/******@db_catalog
run
  {
  allocate channel canal1_rman device type disk format ‘/disco1/rman/BKP_RMAN_LEVEL1_%d_%D_%M_%Y_%s_%p_%t’ maxopenfiles 8 connect ‘userbkp/****@dbprod1’;
  allocate channel canal2_rman device type disk format ‘/disco2/rman/BKP_RMAN_LEVEL1_%d_%D_%M_%Y_%s_%p_%t’ maxopenfiles 8 connect ‘userbkp/****@dbprod2’;
  allocate channel canal3_rman device type disk format ‘/disco3/rman/BKP_RMAN_LEVEL1_%d_%D_%M_%Y_%s_%p_%t’ maxopenfiles 8 connect ‘userbkp/****@dbprod1’;
  allocate channel canal4_rman device type disk format ‘/disco4/rman/BKP_RMAN_LEVEL1_%d_%D_%M_%Y_%s_%p_%t’ maxopenfiles 8 connect ‘userbkp/****@dbprod2’;
  crosscheck archivelog all;
  crosscheck backup;
  delete noprompt force obsolete;
  delete noprompt force expired backup;
  sql ‘alter system checkpoint global’;
  backup as compressed backupset incremental level 0 cumulative database;
  release channel canal1_rman;
  release channel canal2_rman;
  release channel canal3_rman;
  release channel canal4_rman;
}

 Vejam que, a novidade para nós, é o comando, connect na alocação do canal, ele recebe usuário,senha e a string do tnsnames, que deve apontar para a instância na qual queremos que trabalhe para nós.

É possível alocar todos os canais na mesma instância ? a resposta é sim, porem se eu alocar os quatro canais e uma instância só, talvez eu terei uma carga de trabalho muito alta em um nó só, e isso é ruim, não seria melhor pensar em dividir a carga ? dentre outras opções, é para isso que o RAC existe, para usufruirmos da possibilidade de balanceamento.  Essa regra vale para todos os backups ? concerteza não, caberá ao DBA definir a melhor estratégia para o seu ambiente, reforço que, o objetivo do artigo é mostrar a funcionalidade.

Outra máxima que precisamos considerar é , sempre que pensarmos em paralelismo, devemos considerar recursos físicos, basicamente processadores e discos, pensando em backups, a teoria diz que, teremos ganho se, alocarmos um canal por disco físico. Pensando em bases pequenas (penso eu as menores que 1Tb), talvez essa teoria talvez caia por terra, mas já pensou em bases com 40,50, 100 Tb ? concerteza o ganho será efetivo.

Uma forte dica para a utilização de paralelismo, tanto em backups, criação de indices online/offline, hints específicos para consultas, movimentação de tabelas, degree em objetos etc etc etc é, testar antes de implementar em produção, se não puderem testar, implementem aos poucos, coletem números, analisem ganhos, perdas, overhead,  paralelização é sério, acho sensacional, porem se mal implementada, a performance fica comprometida.

Um forte abraço, e até a próxima

 

Anúncios
Comente ou deixe um trackback: URL do Trackback.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: