Nesse exemplo, temos um banco de dados primário testdb2 e dois bancos de dados standby testdb1 e testdb3. Removeremos um banco de dados Standby da configuração do data guard (Sem configuração de RAC)
Etapas para remover um único modo de espera da configuração do Multi-Standby Data Guard:
Se você está usando o Data Guard Broker, você precisa removê-lo do Broker usando as etapas abaixo:
A) Para remover do Broker:
-- No Banco Primário testdb2 [oracle@testdb2 ~]$ dgmgrl DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production Copyright (c) 2000, 2009, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect sys Password: Connected. DGMGRL> show configuration; Configuration - testdb Protection Mode: MaxPerformance Databases: testdb2 - Primary database testdb1 - Physical standby database testdb3 - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS DGMGRL> disable database testdb3; Disabled. DGMGRL> remove database testdb3; Removed database "testdb3" from the configuration DGMGRL> show configuration verbose; Configuration - testdb Protection Mode: MaxPerformance Databases: testdb2 - Primary database testdb1 - Physical standby database Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' Fast-Start Failover: DISABLED Configuration Status: SUCCESS
B) No banco de dados principal:
-- No testdb2 remover o destino do banco de dados standby testdb3 de log_archive_dest_n SQL> show parameter log_archive_dest_4; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_4 string service="testdb3", LGWR ASYNC NOAFFIRM delay=0 optional comp ression=disable max_failure=0 max_connections=1 reopen=300 d b_unique_name="testdb3" net_ti meout=30, valid_for=(all_logfi les,primary_role) SQL> alter system set log_archive_dest_4='' scope=both; System altered. -- Remova o banco de dados standby testdb3 do parâmetro log_archive_config SQL> show parameter log_archive_config; NAME TYPE VALUE --------------------------- --------- ----------- ------------------------------ log_archive_config string dg_config=(testdb1,testdb2,testdb3) SQL> alter system set log_archive_config='dg_config=(testdb1,testdb2)' scope=both; System altered.
C) Remova os arquivos de configuração dr.dat do broker (ou seja, mostre o parâmetro dg_broker_config) da máquina de banco de dados em espera que você está removendo apenas e se for a única espera na configuração do Data Guard nessa máquina.
-- TESTDB3 Standby SQL> show parameter dg_broker_config_file NAME TYPE VALUE ---------------------- ------ ----------------------------------------------------- dg_broker_config_file1 string /opt/oracle/product/11.2.0.3/dbs/dr1testdb3.dat dg_broker_config_file2 string /opt/oracle/product/11.2.0.3/dbs/dr2testdb3.dat
# rm -r /opt/oracle/product/11.2.0.3/dbs/dr1testdb3.dat # rm -r /opt/oracle/product/11.2.0.3/dbs/dr2testdb3.dat
Informações retiradas do Doc ID 2196935.1 (Necessário acesso ao MOS para verificação)