Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Problema

Troubleshoot

Solución

Verificación

Introducción

Este documento describe un procedimiento paso a paso para resolver el problema de sincronización o replicación de bases de datos en Prime Network mediante la reconstrucción de la base de datos en espera de la base de datos principal.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Utilice este procedimiento para reconstruir la base de datos secundaria sólo si SWITCHOVER_STATUS de la base de datos principal se encuentra en GAP NO RESOLVABLE.

- Asegúrese de que la base de datos principal está en READ WRITEy que la base de datos secundaria está en READ ONLYo READ ONLY WITH APPLYmode.

- Asegúrese de identificar el gateway/base de datos primario y secundario Prime Central correcto.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Prime Central versión 1.2 y posterior

- Versión 11G de Oracle Database

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.

Antecedentes

1. Utilice este comando para conocer switchover_status de la base de datos primaria:

SQL> select switchover_status from v$database

SWITCHOVER_STATUS

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

UNRESOLVABLE GAP

Nota: El switchover de Prime Central Geo HA falla abruptamente, dejando el sistema Prime Central GEO HA y/o el estado de la función de base de datos corruptos (ambos en espera o ambos) y luego necesita reconstruir primario o secundario dependiendo del último estado activo/en espera.

Nota: Para todos los demás casos, abra SR con Cisco TAC para resolver el problema de replicación de la base de datos.

2.  Utilice este comando para conocer el modo actual de la base de datos primaria y secundaria:

SQL> select open_mode from v$database;

3.  Utilice este comando para conocer ORACLE_SID de la base de datos primaria y secundaria:

En la puerta de enlace principal del usuario oracle:

echo $ORACLE_SID -> output should be “primedb”

En la puerta de enlace secundaria del usuario Oracle:

echo $ORACLE_SID -> output should be “primstdb”

Problema

El switch Prime Central GEO HA y/o el procedimiento failover/failback fallan cuando las bases de datos activas y en espera se quedan fuera de sincronización entre sí. Esto da como resultado que las bases de datos primarias y en espera se vuelvan activas o en espera al mismo tiempo.

Troubleshoot

Antes de seguir la solución, puede realizar los pasos básicos de solución de problemas:

1. Verifique la conectividad de red y/o los problemas relacionados con la latencia entre el gateway de red Prime primario y secundario.

2. Verifique este registro de base de datos en Primario para encontrar cualquier error de ORA relacionado con la base de datos:

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

3.  Verifique el estado open_mode, current_scn y switchover en la base de datos principal y secundaria.

SQL> select open_mode from v$database

SQL> select current_scn from v$database

SQL> select switchover_status from v$database;

4. La causa principal de la replicación de la base de datos podría ser principalmente un problema de comunicación de red entre la base de datos principal y secundaria de Prime Central, una base de datos dañada o errores similares relacionados con la base de datos.

Solución

Paso 1. Verifique el ORACLE_SID en la puerta de enlace/bases de datos primaria y secundaria.

En la puerta de enlace principal/base de datos ORACLE_SID = primedb

En la puerta de enlace secundaria/base de datos ORACLE_SID = primdtdb

Si ORACLE_SID en cualquiera de las puertas de enlace primarias o secundarias no es como se mencionó anteriormente, utilice este comando para configurar el SID correcto:

setenv ORACLE_SID = <value>

Nota: Aquí <value > = primedb o primstdb se basa en primario o secundario.

Paso 2. En Active y Standby database login como sysdba y busque la trayectoria de directorio al archivo de datos y los redo logs y los archivos de log de archivo.

Utilice estos comandos:

Para buscar los archivos de datos:

SQL> select name from v$datafile;

Para buscar los archivos redo log:

SQL> select member from v$logfile;

Para encontrar el registro de archivo:

SQL> show parameter log_archive_dest_1;

Paso 3. Para reconstruir la base de datos, ejecute este script con la sintaxis correcta después de identificar el escenario correcto descrito en el paso 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]

Nota: El script se copia en la carpeta $ORACLE_BASE/standby y debe ejecutarse como usuario Oracle.

Paso 4. Identifique cualquier escenario con el estado actual de su configuración y proceda de la forma siguiente:

Nota: A modo de ejemplo, se supone que HA1 es el gateway/base de datos principal y HA2 es el gateway/base de datos secundario

Escenario 1: HA1 está activo y necesita reconstruir la base de datos en espera en HA2. Utilice estos parámetros y ejecute el script mencionado en el Paso 3. en 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;’

Escenario 2: HA2 está activo y necesita reconstruir la base de datos en espera en HA1. Utilice estos parámetros y ejecute el script mencionado en el paso 3. en HA1.

PRIMARY = primedb

STANDBY = primstdb DB_TO_BE_DROPPED = primedb SYSTEM_PASSWD = use el paso 5 ORACLE_BASE = /orahome/oracle ORACLE_USER = oracle ARCHIVED_LOG_LOCATION = resultado de ‘show parámetro log_archive_dest_1;&rsquo ORACLE_DATA_FILES_LOCATION = resultado de ‘select name de v$datafile;&rsquo REDO_LOG_LOCATION = resultado de ‘seleccionar miembro de v$logfile’;

Paso 5. Utilice este procedimiento para averiguar <SYSTEM_PASSWD>:

su - prime en HA1 o HA2

grep Embedded_SYSTEM_PASS= install/conf/.db.conf

Por ejemplo, si tiene Embedded_SYSTEM_PASS=90f8006cd6bc0dde, entonces:

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

- Prime Central devuelve la cadena de salida que se utiliza como SYSTEM_PASSWD en el paso 4.

Verificación

Verificación de la base de datos en el gateway de red Prime principal y secundario:

1. Verifique que el número y los nombres de los archivos redo log sean los mismos en la base de datos Activa y En Espera.

2. Verifique que el número y el tamaño de los archivos de datos en la base de datos activa y en espera sean iguales.

3. Utilice este comando tanto en la base de datos activa como en espera para mostrar que la SCN actual en la base de datos en espera puede alcanzar el scn en la base de datos principal:

sqlplus / as sysdba

SQL>select current_scn from v$database;

4. Verifique que la función_de_base de datos activa sea PRIMARY y que la base de datos en espera sea LOGICAL_STANDBY.

sqlplus / as sysdba

SQL>select database_role from v$database;

5. Verifique que el modo abierto de la base de datos activa sea LECTURA ESCRITURA y SÓLO LECTURA CON APLICACIÓN en la base de datos en espera.

sqlplus / as sysdba

SQL>select open_mode from v$database;

6. Verifique que el switchover_status de Active sea TO STANDBY y NOT ALLOWED en la base de datos en espera:

sqlplus / as sysdba

SQL>select switchover_status from v$database;

7. Valide que los registros de archivo se transfieran:

En la base de datos activa:

SQL> alter system switch logfile;

En la base de datos en espera:

Verifique que se cree un nuevo archivo en ~/arch