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
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.