Olá pessoal,
Dando continuidade ao artigo Implementando um Data Guard com Standby Físico, apresento neste post, como configurar
o Data Broker para o Data Guard, no Oracle 11G. O Data Broker oferece alguns benefícios, tais
como integração com Enterprise Manager, simplificação dos processos de Failover e Switchover,
e configuração de Failover automático.
A configuração apresentada aqui é uma configuração padrão,
utilizada em um ambiente com um BD Primário e um BD em Standby físico. Existem
diferentes parâmetros de configuração, tanto do Data Guard quanto do Data
Broker. Para entendê-los melhor, é necessário aprofundar-se nos estudos de Data
Guard. Você pode recorrer à literatura e cursos recomendados no parágrafo anterior.
Oracle Data Guard Broker Configuration Fonte: Oracle Corporation |
Para configurar o Data Broker, seguiremos os passos abaixo:
1) Configurar o caminho para os arquivos de configuração do Data
Broker:
O Data Broker usa arquivos redundantes para aumentar tolerância a
falhas. Esta etapa deve ser feita no BD primário e no BD Standby.
SQL> alter system set dg_broker_config_file1 = '[caminho e
arquivo 1]' scope = both;
SQL> alter system set dg_broker_config_file2 = '[caminho e arquivo
2]' scope = both;
2) Habilitar o Data Broker:
Deve ser feito no BD primário e no BD Standby.
Deve ser feito no BD primário e no BD Standby.
SQL> alter system set dg_broker_start = true scope = both;
3) Criar entradas necessárias no listener.ora das instâncias
envolvidas:
O Data Broker demanda entradas onde o parâmetro GLOBAL_DBNAME é o nome da instância acrescido do sufixo _DGMGRL.
O Data Broker demanda entradas onde o parâmetro GLOBAL_DBNAME é o nome da instância acrescido do sufixo _DGMGRL.
a) Na máquina PRIMARY, criar uma entrada estática do
Listener conforme abaixo (adicionar à
SID_LIST já existente):
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(SID_NAME=[nome primary])
(GLOBAL_DBNAME=[nome primary]_DGMGRL)
(ORACLE_HOME=[caminho oracle home
primary])
)
...
)
b) Na máquina STANDBY, criar uma entrada estática no
Listener conforme abaixo (adicionar à SID_LIST já existente):
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(SID_NAME=[nome standby])
(GLOBAL_DBNAME=[nome standby]_DGMGRL)
(ORACLE_HOME=[caminho oracle home standby])
)
...
)
4) Criar a configuração do Data Broker:
Agora utilizaremos o utilitário DMGMRL, que deve ser chamado pela
linha de comando do sistema operacional onde está a instância principal (BD
Primário). Com ele concluiremos a configuração do Data Broker.
a) Conectar
ao Broker:
$> dgmgrl sys/password
b) Criar a configuração:
DGMGRL> create configuration
'[Nome]' as primary database is [nome primary] connect identifier is [nome
primary]
c) Adicionar Standby:
DGMGRL> add database [nome standby] as connect identifier is [nome standby]
DGMGRL> add database [nome standby] as connect identifier is [nome standby]
d) Habilitar
a configuração:
DGMGRL> enable configuration
DGMGRL> enable configuration
e) Verificar
parâmetros:
DGMGRL> show database [nome
primary] DGConnectIdentifier
(deve ser
nome da instância)
DGMGRL> show database [nome
primary] LogXptMode
(deve ser
ASYNC)
DGMGRL> show database [nome
primary] LogShipping
(deve ser ON)
DGMGRL> show configuration verbose
(deve retornar "SUCCESS")
DGMGRL> show database verbose
[nome primary]
(deve retonar Intended state = TRANSPOR-ON)
DGMGRL> show database verbose [nome standby]
(deve retornar Intended State =
APPLY-ON)
f) Verificar se existem inconsistências:
f) Verificar se existem inconsistências:
DGMGRL> show database '[nome primary]' 'InconsistentProperties';
DGMGRL> show database '[nome standby]'
'InconsistentProperties';
Obs: você pode consultar o status do Broker na instância através
da seguinte query:
SELECT name,
database_role, dataguard_broker FROM
V$DATABASE;
Esse artigo foi escrito por Rafael Leite, DBA que trabalha comigo desde o final de 2015, e que montou recentemente um ambiente de produção com Data Guard, seguindo instruções que eu havia preparado, mas que não estavam ainda bem documentadas.
Por hoje é só! Se tiver dúvidas, é só postar um comentário que eu ou o Rafael Leite responderemos em seguida!
[]s
[]s
Bom dia Fábio,
ResponderExcluirRecentemente montei um ambiente utilizando dois ODAs, onde um deles está configurado como DG. Porém, não disponho da option do Active Data Guard, sabe me falar se preciso dela para usar o Data Broker?
Abraço,
Bruno.
Bruno, o uso do broker independe do Active dG, ok?
Excluir[]s
A é parabéns pelo Tutorial :)
ResponderExcluirObrigado, fico contente que o artigo lhe tenha sido útil!
Excluir[]s
Fábio, primeiramente obrigado e parabéns pelo post!
ResponderExcluirEstou tentando implementar aqui, mas recebo a seguinte mensagem ao tentar conectar no broker:
"-bash: dmgmrl: command not found"
Encontrei o erro com base nos comandos do próprio post:
Excluirpara acessar o broker, o comando correto seria dgmgrl sys/password e não dmgmrl sys/password.
Abraço!