Valide a implementação do Data Guard
Depois de configurar o agente do Data Guard, tem de verificar se a repetição foi copiada da base de dados principal e aplicada na base de dados em espera. O procedimento seguinte pode ser usado para verificar o estado do DataGuard nas bases de dados principal e de espera.
Os exemplos seguintes são usados ao longo deste guia:
Nome exclusivo da base de dados | Nomes de anfitrião do servidor | Nomes das instâncias do RAC | Função |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Primary |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Modo de espera |
Valide a implementação do Data Guard
Inicie sessão no primeiro servidor da Bare Metal Solution que aloja a base de dados principal e, em seguida, defina a variável de ambiente
ORACLE_SID
para poder estabelecer ligação à base de dados principal:source oraenv <<< "DBDG_SITE11"
Inicie o SQL*Plus e, em seguida, determine o número de sequência mais recente para os registos de refazer arquivados:
sqlplus / as sysdba
SELECT THREAD#, max(SEQUENCE#) "Last Primary Seq Archived" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
O resultado seguinte tem um número de sequência máximo de 40 para a discussão 1 e um número de sequência máximo de 33 para a discussão 2:
THREAD# Last Primary Seq Archived ---------- ------------------------- 1 40 2 33
Registe os resultados para comparar com a base de dados em espera. Os números de sequência na base de dados de espera devem corresponder à base de dados principal.
Inicie sessão no primeiro servidor da Bare Metal Solution que aloja a base de dados em espera e, em seguida, defina a variável de ambiente
ORACLE_SID
para poder estabelecer ligação à base de dados em espera:source oraenv <<< "DBDG_SITE21"
Inicie o SQL*Plus e, em seguida, valide se o número de sequência mais recente recebido e aplicado para os registos de refazer arquivados corresponde ao número de sequência mais recente na base de dados principal:
sqlplus / as sysdba
SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Received" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Applied" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# AND VAL.APPLIED IN ('YES','IN-MEMORY') GROUP BY THREAD# ORDER BY 1;
O resultado seguinte tem números de sequência que correspondem à execução da consulta anterior na base de dados em espera:
THREAD# Last Standby Seq Received ---------- ------------------------- 1 40 2 33
THREAD# Last Standby Seq Applied ---------- ------------------------ 1 40 2 33
Verifique se o estado do processo de recuperação gerido é
APPLYING_LOG
:SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE '%MRP%';
O exemplo seguinte mostra um único processo de recuperação gerido denominado
MRP0
com o estadoAPPLYING_LOG
:PROCESS STATUS --------- ------------ MRP0 APPLYING_LOG
Verifique se existe algum atraso de transporte ou aplicação na base de dados em modo de espera:
COLUMN NAME FORMAT a20 COLUMN VALUE FORMAT a30 SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME LIKE '%lag%';
A saída seguinte não mostra atrasos na base de dados em espera:
NAME VALUE -------------------- ------------------------------ transport lag +00 00:00:00 apply lag +00 00:00:00
Se houver um atraso, consulte a documentação de resolução de problemas do Data Guard da Oracle.
Comutação da base de dados através do agente do Data Guard
Uma comutação é uma inversão de funções em que a base de dados principal se torna uma base de dados de reserva e vice-versa. Durante o processo de comutação, os clientes da base de dados são desligados da base de dados principal. Consoante a forma como a sua aplicação se liga à base de dados, uma comutação pode interromper o tráfego da aplicação. A Oracle oferece opções para manter a continuidade das aplicações durante as transições de funções. Pode testar a sua capacidade de recuperação de desastres executando uma comutação de base de dados com as seguintes instruções:
Inicie sessão no servidor da Solução Bare Metal que aloja a base de dados principal.
Inicie a interface de linhas de comando do Data Guard e estabeleça ligação à base de dados em espera:
dgmgrl
CONNECT SYS@DBDG_SITE2
Quando lhe for pedida uma palavra-passe, introduza a palavra-passe de início de sessão remoto do SYS para a base de dados.
Valide se a base de dados está pronta para uma comutação.
VALIDATE DATABASE DBDG_SITE2;
Um resultado bem-sucedido indica que a base de dados está pronta para a comutação.
Se for bem-sucedido, execute o comando de comutação:
SWITCHOVER TO DBDG_SITE2;
Se o comando for bem-sucedido, recebe uma mensagem a indicar que
DBDG_SITE2
é a nova base de dados principal na configuração.Execute o seguinte comando para confirmar que as funções da base de dados foram trocadas:
SHOW CONFIGURATION;
Execute o seguinte comando para voltar à configuração original:
SWITCHOVER TO DBDG_SITE1;
Failover da base de dados com o agente do Data Guard
Uma comutação por falha é uma transição de função em que uma das bases de dados em espera passa para a função principal devido a uma indisponibilidade total do site. O refazer não é enviado para a base de dados de espera até que esta seja reposta.
Efetue a comutação por falha
Inicie sessão no primeiro servidor da solução Bare Metal que aloja a base de dados em espera.
Ligue-se à interface de linhas de comando do Data Guard e, em seguida, faça a comutação por falha da base de dados principal para a base de dados em espera:
dgmgrl
CONNECT SYS@DBDG_SITE2
Quando lhe for pedida uma palavra-passe, introduza a palavra-passe de início de sessão remoto do SYS para a base de dados.
Inicie a comutação por falha:
FAILOVER TO DBDG_SITE2
Execute
show configuration;
para verificar seDBDG_SITE2
é agora a base de dados principal e seDBDG_SITE1
tem de ser reposta.
Reponha a base de dados principal
Só pode repor a base de dados principal após uma comutação por falha se a opção
flashback database
estiver ativada. Para repor a base de dados principal com falhas:
Inicie sessão no primeiro servidor da Bare Metal Solution que aloja a base de dados principal.
Ligue-se à interface de linha de comandos do Data Guard, inicie sessão nas bases de dados primárias e, em seguida, restaure a base de dados com falhas:
dgmgrl
CONNECT SYS@DBDG_SITE2
Quando lhe for pedida uma palavra-passe, introduza a palavra-passe de início de sessão remoto do SYS para a base de dados.
Reponha a base de dados:
REINSTATE DATABASE DBDG_SITE1; EXIT;
Passos seguintes
Em seguida, configure um observador do Data Guard no Compute Engine.