Banco de dados primário: 11.2.0.3 Enterprise
Standby DB: 12.1.0.2 Enterprise
Encontrei vários artigos sobre como fazer alterações em um banco de dados de espera física, mas tenho tido dificuldade em localizar como habilitar o teste do usuário em um banco de dados de espera lógico transitório (em seguida, atualizar suas alterações e reativar o transporte de log e o SQL Apply após o teste foi concluído).
Com base no que sei sobre bancos de dados lógicos em espera, escrevi os seguintes procedimentos. No entanto, isso não foi testado, pois se eu estragar o Standby DB, não posso simplesmente reduplicar o banco de dados por meio do RMAN, pois as versões do banco de dados são diferentes. Terei essencialmente que clonar novamente o BD Primário, reconfigurar o Standby para dataguard, atualizar a versão do BD Standby, etc, etc... basicamente, muito trabalho que prefiro evitar, se possível...
Se alguém que já teve experiência com isso puder examinar meus procedimentos abaixo e me informar se estou esquecendo alguma coisa ou quais possíveis problemas / advertências devo observar ou estar ciente, eu agradeceria muito:
*nota: o transporte de log principal => standby é especificado em log_archive_dest_3
PRIMARY
alter system set log_archive_dest_state_3=defer scope=both;
STANDBY
alter database stop logical standby apply;
alter database guard none;
alter database flashback on;
create restore point before_testing guarantee flashback database;
*AFTER TESTING IS DONE*
STANDBY
flashback database to restore point 'before_testing';
drop restore point before_testing;
alter database flashback off;
alter database guard all;
alter database start logical standby apply immediate;
PRIMARY
alter system set log_archive_dest_state_3=enable scope=both;
Meus procedimentos parecem válidos... Consegui testar o banco de dados lógico, trazê-lo de volta para uma cópia exata do Standby Lógico e reativar o SQL Apply sem problemas.
No entanto, houve uma pequena alteração em meus procedimentos: banco de dados de flashback requer que o banco de dados esteja no estado de montagem e que alterar banco de dados aberto requer resetlogs ou noresetlogs.
Portanto, os procedimentos alterados são os seguintes:
Você está falando sobre Snapshot Standby aqui. Dê uma olhada em:
http://www.oracle.com/technetwork/testcontent/usingsnapshot-088081.html