Pular para o conteúdo

Oracle Data Guard: Automatic Block Media Recovery

Oracle Data Guard: Automatic Block Media Recovery

O Active Data Guard, além de permitir a utilização do Standby para leituras, fornece automaticamente um recurso inestimável para a disponibilidade, o Automatic Block Media Recovery.

Ao detectar um bloco corrompido na Produção, o Active Data Guard copia a última versão saudável do bloco do Standby, e vice-versa.

Para forçar o uso desta funcionalidade, forcei uma corrupção em um DATAFILE com o comando dd do Linux, depois fiz um SELECT em uma tabela desta DATAFILE, o que fez com que o Oracle Database notasse a corrupção e acionasse o ABMR. Veja abaixo que no Alert Log a recuperação foi realmente automática e sem intervenção.

Mon Apr 16 12:05:19 2012
 Hex dump of (file 5, block 131) in trace file /u01/app/oracle/diag/rdbms/nerv01/NERV01/trace/NERV01_ora_7291.trc
 Corrupt block relative dba: 0x01400083 (file 5, block 131)
 Bad header found during validation
 Data in bad block:
  type: 231 format: 7 rdba: 0x716d646c
  last change scn: 0x7370.6d646c70 seq: 0x61 flg: 0x6f
  spare1: 0x6c spare2: 0x6d spare3: 0x6fe7
  consistency value in tail: 0x70650601
  check value in block header: 0x646d
  computed block checksum: 0x9628
 Reread of blocknum=131, file=/u01/app/oracle/oradata/NERV01/teste01.dbf. found same corrupt data
 Reread of blocknum=131, file=/u01/app/oracle/oradata/NERV01/teste01.dbf. found same corrupt data
 Reread of blocknum=131, file=/u01/app/oracle/oradata/NERV01/teste01.dbf. found same corrupt data
 Reread of blocknum=131, file=/u01/app/oracle/oradata/NERV01/teste01.dbf. found same corrupt data
 Reread of blocknum=131, file=/u01/app/oracle/oradata/NERV01/teste01.dbf. found same corrupt data
 Mon Apr 16 12:06:35 2012
 Hex dump of (file 5, block 131) in trace file /u01/app/oracle/diag/rdbms/nerv01/NERV01/trace/NERV01_ora_7293.trc
 Corrupt block relative dba: 0x01400083 (file 5, block 131)
 Bad header found during multiblock buffer read
 Data in bad block:
  type: 231 format: 7 rdba: 0x716d646c
  last change scn: 0x7370.6d646c70 seq: 0x61 flg: 0x6f
  spare1: 0x6c spare2: 0x6d spare3: 0x6fe7
  consistency value in tail: 0x70650601
  check value in block header: 0x646d
  computed block checksum: 0x9628
 Reading datafile '/u01/app/oracle/oradata/NERV01/teste01.dbf' for corruption at rdba: 0x01400083 (file 5, block 131)
 Reread (file 5, block 131) found same corrupt data
 Starting background process ABMR
 Mon Apr 16 12:06:35 2012
 ABMR started with pid=36, OS id=7295
 Auto BMR service is active.
 Requesting Auto BMR for (file# 5, block# 131) Waiting Auto BMR response for (file# 5, block# 131)
 Auto BMR successful WARNING: AutoBMR fixed mismatched on-disk block 716d646c with in-mem rdba 1400083.

Este é um dos exercícios feitos no Treinamento de Oracle Data Guard na Nerv.

O Oracle Data Guard é um produto muito maior do que a maioria dos DBAs conhece, e é a solução de alta disponibilidade em bancos de dados mais avançada que conheço. Neste Treinamento os alunos irão, sem virtualização alguma, criar diversos bancos Standby, de todos os tipos (Physical, Logical, Snapshot), além de utilizar o Active Data Guard, Data Guard Broker, Switchover, Switchback, Failover, Failback, e muito mais. Acho que só de Physical Standby criamos um 6, de todas as formas possíveis.

Agenda: http://nervinformatica.com.br/

Valores: http://nervinformatica.com.br/valores.asp

Inscrições: contato@nervinformatica.com.br

Ricardo Portilho Proni

Ricardo Portilho Proni

Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere. Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.

Deixe um comentário

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

Marcações:
plugins premium WordPress