Error: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor dgmrl

Problema

PRIMARY SITE: Dos Nodos

En la configuracion del Dataguard Broker, al habilitar los procesos DMON, cuando intenta conectar con la base STANDBY, nos arroja el siguiente error:

Errors in file /u01/oracle/PROD/db/11.2.0.4/admin/PROD_srvebsdbpa/diag/rdbms/prod/PROD/trace/PROD_ora_27714.trc:
ORA-16038: log 2 sequence# 666656 cannot be archived
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
ORA-00312: online log 2 thread 1: '/data1/oracle/PROD/db/apps_st/redo1/PROD_redog2m1.rdo'
ORA-00312: online log 2 thread 1: '/data1/oracle/PROD/db/apps_st/redo2/PROD_redog2m2.rdo'
USER (ospid: 27714): terminating the instance due to error 16038

Solucion

Editar el archivo listener.ora en ambos nodos y agregamos la entrada para DGMGRL

Esto previene la aparicion del error ORA-12154 que podemos observar al momento de startup de la standby database luego de realizar un switchover o al momento de comenzar con la sincronizacion luego de terminar de configuarar una instancia de dataguard , utilizando el feature dataguard broker.

Asegurase de que el GLOBAL_DBNAME esta seteado bajo la siguiente nomenclatura db_unique_name_DGMGRL.db_domain

SID_LIST_LISTENER =
  (SID_LIST =
 (SID_DESC =
        (GLOBAL_DBNAME = <DB_UNIQUE_NAME>_dgmgrl)
        (ORACLE_HOME = /u01/oracle/product/11.2.0/db_1)
        (SID_NAME = PRODAT)
        )
)

DG Broker – Selecting the Apply Instance

Cuando trabajamos en un ambiente de alta disponibilidad como es el RAC de Oracle, podemos tener varias instancias de una misma base standby.

Podemos poner de Ejemplo un sitio primario como TEST y otro secundario como TESTDG.

La instalacion cuenta con tres nodos para cada sitio.

Entonces podemos decir que contamos con el siguinete escenario:

  • Tenemos tres NODOS en el sitio primario con una base TEST en RAC.
  • Tenemos tres NODOS en el sitio de contingencia para la base TESTDG, tambien en RAC.
  • El sitio primario esta configuracon con DG_BROKER.
  • El sitio secundario esta configurado con con DG_BROKER.

Cuando trabajamos con el DG BROKER, y perdemos la instancia dataguard TESTDG2 que esta aplicando, automaticamente el broker switchea al primer nodo ( o al que se encuentre disponible en caso de tener mas nodos ) y comienza aplicar en la instancia TESTDG1. Sigue leyendo