Eu tenho um banco de dados Oracle 11gR2 RAC de produção com um standby físico de nó único. Agora chegou a hora de aposentar o antigo modo de espera e passar essa função para um RAC em hardware mais recente.
Não usamos Data Guard Broker.
Não consegui encontrar muito sobre esse processo em particular, então imaginei que talvez não houvesse tanto assim. Aparentemente, há pelo menos um pouco mais do que eu consegui pensar.
Depois de interromper a aplicação de log no modo de espera antigo, tentei simplesmente limpar o destino do log de espera e definir um novo destino para envio de log. A Oracle então reclama que o DB_UNQUE_NAME do novo standby físico não faz parte da configuração atual do Data Guard.
SQL> alter system set log_archive_dest_3='';
System altered.
SQL> alter system checkpoint;
System altered.
SQL> alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB11SBY' scope=both sid='*';
alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB10SBY' scope=both sid='*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16053: DB_UNIQUE_NAME PDB10SBY is not in the Data Guard Configuration
Uma consulta rápida para v$dataguard_config confirma que existe uma configuração ativa contendo o DB_UNIQUE_NAME do antigo banco de dados standby.
SQL> select * from
2 v$dataguard_config;
DB_UNIQUE_NAME
------------------------------
PDB10
PDB10_STBY
Então, a pergunta é: quais são as etapas necessárias para retirar uma configuração existente do Data Guard para que um novo banco de dados de espera físico possa ser implantado?
Os nomes exclusivos dos bancos de dados em uma configuração do Data Guard são listados no parâmetro log_archive_config no seguinte formato:
Você pode remover o antigo e adicionar o novo como:
Depois disso, você pode definir log_archive_dest_N para o novo modo de espera.