Published using Google Docs
TechnicalWhitePaperDBFlashCopy3.1
Updated automatically every 5 minutes

dbflashcopy_powered_by_db_twice.jpg

Technical White Paper

dbFlashCopy 3.1

¿Cómo Proteger la Base de Datos con dbFlashCopy?

Autor: Martín Cabarique

dbFlashCopy es una solución para la administración de un centro activo de recuperación ante desastres.  Se denomina activo porque además de proteger la información, la copia también puede ser usada para reportes de todo tipo.

Su arquitectura se puede observar en la siguiente ilustración:

ArquitecturaGeneral.png


CARACTERÍSTICAS DE dbFlashCopy

Los servicios provistos por dbFlashCopy se clasifican de la siguiente forma:


Home Page

Este autodiagnóstico es el corazón de dbFlashCopy y no requiere que el DBA esté conectado al portal de administración.  Es equivalente a tener a un operador monitoreando dbFlashCopy y en caso de no poder resolver la alerta, envía un email al DBA responsable.

Los colores ayudan también a identificar situaciones de potenciales problemas.  Por ejemplo la zona de color rojo indica peligro pues en caso de falla del servidor de producción a ese instante, se pueden perder los cambios registrados en dichos Archivelogs no transportados.

Performance

Administration

Otro uso para este Wizard es cuando se desea mantener sincronizada la base de datos Standby en relación a procesos propios de la organización que no tienen una hora fija de finalización.  Por ejemplo luego del cierre diario contable.  En dicho caso de la misma forma el DBA puede usar este Wizard para sincronizar justo al tiempo en el cual dicho proceso se da por terminado.

Archives


Users Administration


MANEJO DE EMERGENCIAS

dbFlashCopy provee las siguientes operaciones de recuperación ante desastres:

El resultado de este servicio es que la configuración se invierte, dejando la Base de Datos de producción como standby y la standby como producción.  Las aplicaciones se conectarán hacia el servidor standby (ahora producción) y los cambios realizados se aplicarán sobre el nuevo standby (anterior producción).

Para realizar esta acción se debe ingresar a las opciones de Administration mostradas anteriormente y ejecutar el Wizard que se ilustra a continuación:

Cuando alcance el 100% sus usuarios se pueden conectar nuevamente y continuar la operación normal de las aplicaciones.  
dbFlashCopy traslada en forma automática los servicios que estén configurados hacia la nueva base de datos de producción de forma que para los usuarios sea transparente a que servidor se están conectando.  Para ello es necesario que los usuarios tengan en su configuración definida una cadena de conexión que incluya a ambos servidores, producción y Standby.  Un ejemplo complejo de la cadena de conexión soportada para un ambiente donde ambas bases de datos están en RAC sería:

DEMODBT =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = dbFlashCopy1-vip)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = dbFlashCopy2-vip)(PORT = 1521))

      (LOAD_BALANCE = yes)

    )

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = ha1-vip)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = ha2-vip)(PORT = 1521))

      (LOAD_BALANCE = yes)

    )

    (LOAD_BALANCE = yes)

    (CONNECT_DATA =

      (SERVICE_NAME = demo)

      (FAILOVER_MODE =

        (TYPE = SELECT)

        (METHOD = BASIC)

        (RETRIES = 180)

        (DELAY = 5)

      )

    )

  )

En este caso el servicio que está administrando dbFlashCopy se llama demo.

Otra opción comúnmente usada para hacer transparente a los usuarios la conexión al servidor primario o standby es definir un nuevo nombre en el DNS distinto a de los dos servidores, y usar dicho nombre en la cadena de conexión.  De esta forma basta con modificar en el DNS la IP asociada a dicho nombre para que los usuarios se conecten al servidor apropiado.

También se puede ejecutar en modo de comandos.  Para ello ingrese a la Base de Datos de dbFlashCopy como usuario RCD y ejecutar el siguiente comando:

remote_copy_database.execute_switchover;

Para usar esta opción se debe ingresar por Administration y allí seleccionar el botón Failover.  El resultado es:

Si ya hizo todas las validaciones del caso, presione Continue Failover.

Método Manual:  ingresar a la Base de Datos de dbFlashCopy con usuario RCD o LCD según corresponda al servidor Standby y ejecute el siguiente comando:

remote_copy_database.execute_failover;


CREACIÓN DEL STANDBY DATABASE

Para facilidad de la creación del standby database, dbFlashCopy provee de un sencillo Wizard llamado Create or Reinstate dbFlashCopy Configuration, el cual desarrolla todo el proceso completo de configuración, partiendo desde la Base de Datos de producción para crear la Base de Datos Standby y finalmente dejar activos los servicios de protección correspondientes.  Las siguientes ilustraciones muestran un ejemplo de la ejecución del wizard:

Esta información se provee como una serie de tuplas, cada una registrando un posible cambio en la ubicación de los datafiles y redologs:

Al momento que este llegue al 100% la configuración se ha concluido y los servicios de dbFlashCopy estarán activos.


CONTROL DE PARÁMETROS DE OPERACIÓN

La arquitectura de los servicios de dbFlashCopy ha sido diseñada para ser controlada a través de parámetros de fácil control en su entorno gráfico de Administración.  Para acceder a dichos controles, se debe navegar al tab Configuration, el cual muestra el siguiente resumen de la configuración actual:

Para cambiar la configuración actual, presionar el botón Edit, el cual despliega los siguientes controles:

Para su correcta operación es necesario que los usuarios tengan una cadena de conexión usando alguno de los servicios definidos en este parámetro.  Por ejemplo si se configura este parámetro en 'oltp','dss','crm', la cadena de conexión de usuarios de CRM debería definirse como:

CRM =

     (DESCRIPTION =

         (ADDRESS = (PROTOCOL = TCP)(HOST = dbFlashCopy1)(PORT = 1521))

         (ADDRESS = (PROTOCOL = TCP)(HOST = ha1)(PORT = 1521))

         (LOAD_BALANCE = yes)

         (CONNECT_DATA =

             (SERVICE_NAME = crm)

         )

     )

Use este modo cuando se requiere disponer de la Base de Datos Standby sincronizada a tiempos determinados por procesos externos, como por ejemplo el cierre de la contabilidad.  

Es necesario considerar que la compresión sólo opera cuando los archivelogs no son almacenados en ASM tanto en la BD primary cómo standby.  En caso de usar RAC, use un file system de Cluster como OCFS, ACFS o también puede usar NFS para presentar los directorios destino donde se almacenan los archivelogs en el servidor donde se instale dbFlashCopy.


MANEJO DE BASE DE DATOS STANDBY

dbFlashCopy provee de tres forma para administrar su base de datos Standby:

La siguiente ilustración muestra cómo cambiar el modo de operación del Standby.  Para ello navegue a Configuration :

La administración de la base de datos Standby es automática según la forma como se halla configurado el parámetro Standby Mode.  

CONCLUSIONES

dbFlashCopy es una solución de fácil implementación y fácil uso en caso de daños de la base de datos Oracle.  Su funcionalidad es provista en versiones Standard y Standard Edition One, permitiendo alcanzar óptimos niveles de protección de la información así como garantizando una rápida recuperación de los servicios de la Base de Datos.

Su interfaz de Administración es de sencillo uso y pone al alcance del DBA los controles necesarios para garantizar tanto que la información esté debidamente protegida como facilita el que hacer cuando una falla se presente.