Oracle Data Guard: REINSTATE DATABASE

Se a máquina de produção estiver indisponível, é necessário um FAILOVER para um Standby. Esta operação é diferente de um SWITCHOVER, que é uma operação planejada. Em um FAILOVER, dependendo do modo de proteção utilizado no Data Guard, pode haver perda de dados.
O problema do FAILOVER é que depois que a máquina de produção for recuperada, normalmente é necessária a recriação da antiga Produção como um Standby, e depois agendar um SWITCHOVER para voltar o uso na Produção. Até lá, a aplicação está utilizando o Standby, que geralmente é um ambiente inferior ao da produção, em termos de desempenho.
Se o banco de dados for da ordem de Terabytes, a recriação da antiga Produção como um Standby pode facilmente levar dias.

É para isto que servce o REINSTATE DATABASE, que faz com que, com o FLASHBACK DATABASE, voltemos o antigo banco de produção a um SCN (System Change Number) antes do Crash, e desta forma ele pode ser facilmente convertido em um Standby da nova Produção.

A operação de REINSTATE DATABASE pode ser feita manualmente, ou facilitada pelo data Guard Broker. No Treinamento de Oracle Data Guard na Nerv, fazamos dos dois jeitos.

[oracle@OracleDG02 ~]$ dgmgrl SYS/Nerv2012@NERV02
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> FAILOVER TO 'nerv02';
Performing failover NOW, please wait...
Failover succeeded, new primary is "nerv02"
DGMGRL> SHOW CONFIGURATION;

Configuration - DRSolution

Protection Mode: MaxPerformance
Databases:
nerv02 - Primary database
nerv03 - Logical standby database
nerv01 - Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> REINSTATE DATABASE 'nerv01';
Reinstating database "nerv01", please wait...
Operation requires shutdown of instance "NERV01" on database "nerv01"
Shutting down instance "NERV01"...
Database closed.
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "NERV01" on database "nerv01"
Starting instance "NERV01"...
ORACLE instance started.
Database mounted.
Continuing to reinstate database "nerv01" ...
Operation requires shutdown of instance "NERV01" on database "nerv01"
Shutting down instance "NERV01"...
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "NERV01" on database "nerv01"
Starting instance "NERV01"...
ORACLE instance started.
Database mounted.
Continuing to reinstate database "nerv01" ...
Reinstatement of database "nerv01" succeeded
DGMGRL> SHOW CONFIGURATION

Configuration - DRSolution

Protection Mode: MaxPerformance
Databases:
nerv02 - Primary database
nerv03 - Logical standby database
nerv01 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> SWITCHOVER TO 'nerv01';
Performing switchover NOW, please wait...
New primary database "nerv01" is opening...
Operation requires shutdown of instance "NERV01" on database "nerv02"
Shutting down instance "NERV01"...
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "NERV01" on database "nerv02"
Starting instance "NERV01"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "nerv01"
DGMGRL> SHOW CONFIGURATION;

Configuration - DRSolution

Protection Mode: MaxPerformance
Databases:
nerv01 - Primary database
nerv03 - Logical standby database
nerv02 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL>

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

Leave a Reply

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.