Alta Disponibilidad I – Configurando Dataguard en Oracle

DUPLICATE DATABASE FOR STANDBY

Es importante que consideremos que un posible desastre puede ocurrirle a nuestra base de datos productiva y en muchos casos puede que devenga en una pérdida total de servicio o del servidor mismo, donde si bien existe la posibilidad de hacer un restore de la base en un host distinto, es mucho el tiempo que nos llevaría hacerlo(Criticidad del Negocio) , sin tener los datos desde el punto en que se tomo el backup al momento de la pérdida, desatención del en el negocio, etc.

Es ahi donde ponemos en marcha nuestro plan de tener una base de datos secundaria, con la copia de todos los datos, y que pueda entrar rapidamente en contigencia en caso de que la base primaria de producción sufra una caida, se rompa un disco, no haya red, o hasta la perdidad completa del edificio donde se halla el servidor.

Oracle, nos provee una herramienta llamada dataguard, donde podemos generar una base standby, que sera la encargada de entrar en contingencia por medio de SWICTH_OVER o FAIL_OVER. También hay otros modos como DATAGUARD BROKER, que nos provee las mismas funcionalidades, pero en solo una ejecución de comandos.

Básicamente la estructura es una base Productiva, y n contingencias.

Cada contigencia es altamente recomendable tenerla en un host fuera del productivo, en lo posible en otro edificio.

Esquema Básico de Dataguard Seguir leyendo «Alta Disponibilidad I – Configurando Dataguard en Oracle»

Configurando Dataguard Broker

Oracle nos ofrece esta herramienta para poder hacer pasaje automatico en caso de tener un switch o un fail, y su uso una vez configurado  es tan sencillo como conectarse a la consola del administrador con el comando dgmgrl o desde el Entrerprise Manager con solo haciendo un click.

Yo en este caso voy a disponibilizar el modo de configuración desde la linea de comandos ya que me parece super práctico y nos sirve para conocer un poco más el modo en que trabaja.

Es importante saber que tanto desde la consola del GRID CONTROL o desde comandos hay que hacer una configuración previa que incluye:

  • Configuración de Listener en primaria y secundaria.
  • Configuración de Parametros de la base.
  • Creación de los archivos de configuración del broker. (Debemos ser sysdba)
  • En el caso de trabajar con una base que esta en RAC, hay que hacer la configuración con srvctl. (En este caso yo voy a presentarlo en una instancia en RAC y serán informados de ello para que sepan que el modo es el mismo para la single instance, menos este paso.)

CONFIGURANDO LISTENERS

Comenzaremos configurando los listeners, tanto en nuestra base primaria como en nuestra standby.
Es muy importante este paso ya que si el broker no ve el servicio no podrá hacer ninguna operación de switcheo.

# listener.ora.saturno01 Network Configuration File: /u01/app/oracle/product/10.2.0/db_mbpro/network/admin/listener.ora.saturno01
# Generated by Oracle configuration tools.

MBPRO_SATURNO01 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = saturno01-vip.danahomelinux.com)(PORT = 1526)
(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = saturno01.danahomelinux.com)(PORT = 1526)
(IP = FIRST))
)
)

SID_LIST_MBPRO_SATURNO01 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_mbpro)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = MBPRO_DGMGRL.danahomelinux.com)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_mbpro)
(SID_NAME = MBPRO1)
)
)

Una vez realizada la tarea, procedemos a relodear el listener, y luego con un status service vemos si los cambios fueron impactados.

lsnrctl status MBPRO_SATURNO01
lsnrctl service MBPRO_SATURNO01

Seguir leyendo «Configurando Dataguard Broker»