Standby de data guard sigue apagado

Encontré un curioso problema al construir un banco de datos standby físico de Data Guard usando RMAN para copiar el primario . . .

in English

Estos son mis bancos:

Primario: ORADB
Standby: ORADR

Ya había

  • copiado y cambiado el nombre del archivo de password primario al standby.
  • creado el archivo de initORADR.ora file con una sola línea, db_name=ORADR
  • iniciado la instancia con
    • SQL>startup nomount pfile=$ORACLE_HOME/dbs/initORADR.ora
  • creado el listener, LISTENER_ORADR, en el standby (bajo el ORACLE_HOME del banco de datos) con un apunte para ORADR usando inscripción estática:
LISTENER_ORADR =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = standby.test.com)(PORT = 1525))
    )
  )
SID_LIST_LISTENER_ORADR =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORADR)
      (ORACLE_HOME = /u01/app/oracle/product/11203/db_1)
      (SID_NAME = ORADR)
    )
  )
  • añadí un apunte en el archivo de tnsnames.ora en el banco primario para ORADR:

ORADR =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.test.com)(PORT = 1525))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORADR)
)
)

Entonces, todo estaba listo para duplicar el primario para hacer el standby con RMAN.

Me conecté a RMAN en el primario:
$. oraenv
ORADB
$ rman target / auxiliary sys/****@ORADR

Recovery Manager: Release 11.2.0.3.0 – Production on Tue Feb 25 09:31:52 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORADB (DBID=9999999999)
connected to auxiliary database (not started)

El “(not started)” no está bien.  La instancia fue iniciada en el standby, está corriendo en “nomount.”  ¿Cómo no la ve el primario?

El problema fue éste:
El ORACLE_HOME del standby en el servidor standby estaba fijado en /u01/app/oracle/product/11203/db_1/ con una oblicua ‘/’ adicional al final.  Fue por un error en /etc/oratab:
ORADR:/u01/app/oracle/product/11203/db_1/:N


Solución:
Le quité la oblicua adicional al apunte de ORADR en /etc/oratab, refijé el entorno con . oraenv. Con el ORACLE_HOME correcto, reinicié la instancia del standby (startup nomount pfile.)

Ahora sí funciona:
$ rman target / auxiliary sys/****@ORADR

Recovery Manager: Release 11.2.0.3.0 – Production on Tue Feb 25 09:46:02 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORADB (DBID=9999999999)
connected to auxiliary database: ORADR (not mounted)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s