Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

Problema

Troubleshoot

Solução

Verificar

Introduction

Este documento descreve um procedimento passo a passo para resolver o problema de replicação ou sincronização de bancos de dados no Prime Network recriando o banco de dados standby do banco de dados principal.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Use este procedimento para reconstruir o banco de dados secundário somente se SWITCHOVER_STATUS do banco de dados principal estiver em UNRESOLVABLE GAP.

- Verifique se o banco de dados principal está em GRAVAÇÃO DE LEITURA e o banco de dados secundário está em SOMENTE LEITURA ou SOMENTE LEITURA COM modos APPLY.

- Certifique-se de identificar o gateway/banco de dados Prime Central principal e secundário corretos.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Prime Central versão 1.2 e superior

- Versão do Oracle Database 11G

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informações de Apoio

1. Use este comando para saber switchover_status do banco de dados principal:

SQL> select switchover_status from v$database

SWITCHOVER_STATUS

--------------------

UNRESOLVABLE GAP

Note: O switchover do Prime Central Geo HA falha abruptamente, deixando o sistema Prime Central GEO HA e/ou o status da função do banco de dados corrompido (em primeiro lugar ou em ambos em standby) e você precisará reconstruir o principal ou o secundário, dependendo do último status ativo/em standby.

Note: Para todos os outros casos, abra o SR com o Cisco TAC para resolver o problema de replicação de banco de dados.

2.  Use este comando para saber o modo atual do banco de dados principal e secundário:

SQL> select open_mode from v$database;

3.  Use este comando para conhecer ORACLE_SID do banco de dados principal e secundário:

No gateway principal do usuário oracle:

echo $ORACLE_SID -> output should be “primedb”

No gateway secundário do usuário oracle:

echo $ORACLE_SID -> output should be “primstdb”

Problema

O switch Prime Central GEO HA e/ou o procedimento de failover/failback falham quando os bancos de dados ativos e em standby ficam fora de sincronia entre si. Isso faz com que os bancos de dados principal e standby se tornem ativos ou em standby ao mesmo tempo.

Troubleshoot

Antes de seguir a solução, você pode executar as etapas básicas de solução de problemas:

1. Verifique a conectividade da rede e/ou os problemas relacionados à latência entre o Prime Network Gateway primário e secundário.

2. Verifique este log do banco de dados no Principal para encontrar erros de ORA relacionados ao banco de dados:

<database_home_directory>/diag/rdbms/anadb/anadb/trace/alert_anadb.log

3.  Verifique o status open_mode, current_scn e switchover no banco de dados Principal e Secundário.

SQL> select open_mode from v$database

SQL> select current_scn from v$database

SQL> select switchover_status from v$database;

4. A causa principal da replicação do banco de dados pode ser o problema de comunicação de rede entre o banco de dados Prime Central principal e secundário, o banco de dados corrompido ou erros relacionados ao banco de dados semelhantes.

Solução

Etapa 1. Verifique o ORACLE_SID no gateway/bancos de dados principal e secundário.

No gateway principal/banco de dados ORACLE_SID = primedb

No gateway/banco de dados secundário ORACLE_SID = primdtdb

Se ORACLE_SID em um dos gateways primário ou secundário não for como mencionado anteriormente, use este comando para configurar o SID correto:

setenv ORACLE_SID = <value>

Note: Aqui <value > = primedb ou primstdb é baseado em primário ou secundário.

Etapa 2. No login do banco de dados Ativo e Standby como sysdba e localize o caminho do diretório para o arquivo de dados, os redo logs e os arquivos de log.

Use estes comandos:

Para localizar os arquivos de dados:

SQL> select name from v$datafile;

Para localizar os arquivos de redo log:

SQL> select member from v$logfile;

Para localizar o log de arquivamento:

SQL> show parameter log_archive_dest_1;

Etapa 3. Para reconstruir o banco de dados, execute este script na sintaxe correta depois de identificar o cenário correto descrito na etapa 4.

sh PCoracleADG.ksh [PRIMARY] [STANDBY] [DB_TO_BE_DROPPED] [SYSTEM_PASSWD] [ORACLE_BASE]

[ORACLE_USER] [ARCHIVED_LOG_LOCATION] [ORACLE_DATA_FILES_LOCATION] [REDO_LOG_LOCATION]

Note: O script é copiado na pasta $ORACLE_BASE/standby e precisa ser executado como um usuário oracle.

Etapa 4. Identifique qualquer cenário com o status atual da sua configuração e prossiga de acordo:

Note: Como exemplo, supõe-se que o HA1 é o gateway/banco de dados principal e o HA2 é o gateway/banco de dados secundário

Cenário 1: O HA1 está ativo e precisa reconstruir o banco de dados em standby no HA2. Use esses parâmetros e execute o script mencionado na Etapa 3. em HA2.

PRIMARY = primedb

STANDBY = primstdb

DB_TO_BE_DROPPED = primstdb

SYSTEM_PASSWD = use Step 5

ORACLE_BASE = /orahome/oracle

ORACLE_USER = oracle

ARCHIVED_LOG_LOCATION = output of ‘show parameter log_archive_dest_1;&rsquo

ORACLE_DATA_FILES_LOCATION = output of ‘select name from v$datafile;&rsquo

REDO_LOG_LOCATION = output of ‘select member from v$logfile;’

Cenário 2: O HA2 está ativo e precisa reconstruir o banco de dados em standby no HA1. Use esses parâmetros e execute o script mencionado na Etapa 3. em HA1.

PRIMARY = primedb

STANDBY = primstdb DB_TO_BE_DROPPED = primedb SYSTEM_PASSWD = use a Etapa 5 ORACLE_BASE = /orahome/oracle ORACLE_USER = oracle ARCHIVED_LOG_LOCATION = saída de ‘show parameter log_archive_dest_1;&rsquo ORACLE_DATA_FILES_LOCATION = saída ‘selecionar nome do v$datafile;&rsquo REDO_LOG_LOCATION = saída de ‘selecionar membro do v$logfile;’

Etapa 5. Use este procedimento para descobrir <SYSTEM_PASSWD>:

su - prime em HA1 ou HA2

grep Embedded_SYSTEM_PASS= install/conf/.db.conf

Por exemplo, se ele tiver Embedded_SYSTEM_PASS=90f8006cd6bc0dde, então:

- java -cp install/utils/encryptionUtil.jar EncodeDecode descriptografar 90f8006cd6bc0dde.

- O Prime Central retorna uma string de saída usada como SYSTEM_PASSWD na Etapa 4.

Verificar

Verificação de banco de dados no gateway de rede Prime primária e secundária:

1. Verifique se o número e os nomes dos arquivos de redo log são os mesmos no banco de dados Ativo e Standby.

2. Verifique se o número e o tamanho dos arquivos de dados nos bancos de dados Ativo e Standby são iguais.

3. Use este comando no banco de dados Ativo e Standby para mostrar que o SCN atual no banco de dados Standby pode acompanhar o scn no banco de dados Primário:

sqlplus / as sysdba

SQL>select current_scn from v$database;

4. Verifique se database_roleof Ative database é PRIMARY e Standby database é LOGICAL_STANDBY.

sqlplus / as sysdba

SQL>select database_role from v$database;

5. Verifique se o modo_aberto do banco de dados ativo é LEITURA GRAVAÇÃO e LEITURA SOMENTE COM APLICATIVO no banco de dados em standby.

sqlplus / as sysdba

SQL>select open_mode from v$database;

6. Verifique se switchover_status de Ativo é TO STANDBY e NÃO PERMITIDO no banco de dados de standby:

sqlplus / as sysdba

SQL>select switchover_status from v$database;

7. Valide se os logs de arquivamento foram transferidos:

No banco de dados ativado:

SQL> alter system switch logfile;

No banco de dados em standby:

Verifique se um novo arquivo foi criado em ~/arch