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:
SUCCESSB) 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)