Oracle Real Application Cluster (RAC) y Oracle Data Guard juntos para el servicio Cloud de base de datos.

Por Jorge Zorrilla, Skant Gupta Oracle ACE, Joel Pérez Oracle ACE director
Publicado en Abril 2019

Revisado por Juan Pablo Guizado




1. Introducción


Al momento de definir una arquitectura para el servicio Cloud de base de datos, es posible crear dos servidores interconectados que forman una solución Oracle RAC como base de datos primaria y, al mismo tiempo, un ambiente de contingencia con Oracle Data Guard.

Para crear un servicio Cloud de base de datos que utilice Real Application Cluster (RAC) y Oracle Data Guard, es necesario definir los siguientes pasos en la creación del servicio:

  • En Service Level, seleccionamos Oracle Database Cloud Service.
  • En Software Edition, seleccionamos Enterprise Edition - Extreme Performance.
  • Para Database type, seleccionamos Database Clustering with RAC and Data Guard Standby.
  • Para Compute Shape (en detalle del servicio), debemos elegir la opción de dos o más OCPUs.
  • Para la configuración Standby Database (en detalle del servicio), debemos seleccionar donde se desea configurar la base de datos de contingencia en relación a la base de datos primaria.  Podemos elegir entre dos opciones:
    • High Availability: La base de datos de contingencia es configurada en un dominio (activo) diferente a la base de datos primaria.  De esta manera se proporciona aislamiento a nivel de infraestructura.
    • Disaster Recovery: La base de datos de contingencia es configurada en un Data center diferente a la base de datos primaria.  Para este caso se proporciona aislamiento a nivel de infraestructura y ubicación geográfica. Esta solucion brindar alta disponibilidad en caso de eventos catastróficos en una región.


Al finalizar la configuración, el servicio Cloud crea dos bases de datos con dos nodos en cluster y Oracle RAC, una base de datos tendrá el rol de base de datos primaria y la otra, el rol de contingencia. La base de datos de contingecia se define de tipo Standby Físico en Oracle Data Guard.  En cada base de datos, los dos nodos, en clúster, comparten el espacio asignado para la Data, fast recovery área y Redo logs. 

El servicio Cloud de base de datos crea los servidores con los recursos de computo, almacenamiento y red que provee el servicio Oracle Compute Cloud.

Debido a que la opción Software Edition que seleccionamos es Enterprise Edition – Extreme Performance, la configuración incluye la opción Oracle Active Data Guard.






2. Crear un nuevo servicio Cloud de base de datos con las opciones Oracle RAC y Oracle Data Guard.


2.1 Nos contactamos a la plataforma Oracle Cloud con nuestra cuenta de servicio. Desde la página “Oracle Database Cloud Service”, iniciamos la creación de un nuevo servicio.

  • En Service Name, colocamos RACDG.
  • En Service Level, seleccionamos de la lista Oracle Database Cloud Service.
  • Para la opción Metering Frequency, seleccionamos la frecuencia apropiada a nuestro ambiente.
  • En Software Release, seleccionamos Oracle Database 11g Release2.
  • Para Software Edition, seleccionamos Enterprise Edition – Extreme Performance.
  • Para Database Type, seleccionamos la opción Database Clustering with RAC and Data Guard.


Una vez que definimos las opciones, presionamos Next para continuar.



Figura 1. Creando un nuevo servicio (RACDG)




2.2 En la pantalla detalle del servicio, definimos lo siguiente:

  • Para DB Name (SID), ingresamos ORCL.
  • Definimos el password para la cuenta administradora (SYS).  Es necesario ingresar el password por segunda vez para su confirmación.
  • En Usable Database Storage (GB), definimos como valor 25.
  • Para Compute Shape, seleccionamos la opción OC4 -2 OCPU, 15GB RAM (Esto es lo mínimo requerido).
  • En SSH Public Key, ingresamos rsa-key-20170111.pub.
  • Desde la lista Backup Destination, seleccionamos la opción Cloud Storage Only.
  • Para Cloud Storage Container, ingresamos el valor Storage-ustechnolo/Backup
  • En los campos Username y Password, ingresamos el usuario y contraseña de una cuenta registrada para backups.
  • En Standby Database Configuration, seleccionamos la opción Disaster Recovery.



Presionamos NEXT para continuar.



Figura 2. Especificando los detalles del servicio.




2.3 Finalmente, revisamos la configuración completa y seleccionamos la opción Create para crear nuestra base de datos Cloud.



Figura 3. Creando la instancia de base de datos Cloud.




2.4 Después de algunos minutos, la instancia de base de datos Cloud es creada correctamente



Figura 4. La base de datos Cloud ya creada.




2.5 Seleccionamos el nombre del servicio (RACDG) para abrir la página principal de la base de datos.



Figura 5. Página principal de la base de datos Cloud y su contingencia.






3. Conectarse a la base de datos Cloud.


Nos vamos a conectar mediante la herramienta PuTTY

3.1 Abrimos dos sesiones de PuTTY, una para una instancia de la base de datos primaria y otra para la base de datos de contingencia.  Nos conectamos al servidor Cloud a través de la llave publica SSH.



Figura 6. Conectándonos a los servidores Cloud primario y contingencia mediante PuTTY






4. Revisar el estado de las bases de datos Cloud RAC y Data Guard.


4.1 En las conexiones a los servidores Cloud, ejecutamos el comando SQL*Plus para conectarnos a la base de datos como SYS.

Nodo Primario
[oracle@racdg-dg01-1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 22 18:20:20 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g EE Extreme Perf Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining and 
Real Application Testing options

SQL>
Code 01


Nodo Standby 
[oracle@racdg-dg02-1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 22 18:22:53 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:

Oracle Database 11g EE Extreme Perf Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining and 
Real Application Testing options

SQL>
Code 02



4.2 Revisamos el estado de cada base de datos en los diferentes nodos.

Nodo Primario
SQL> set lines 200
SQL> select name, db_unique_name, database_role, switchover_status, open_mode from 
gv$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    SWITCHOVER_STATUS    OPEN_MODE
--------- ------------------------------ ---------------- -------------------- ------------
ORCL      orcldg01                       PRIMARY          SESSIONS ACTIVE      READ WRITE
ORCL      orcldg01                       PRIMARY          SESSIONS ACTIVE      READ WRITE

SQL>
Code 03


Nodo Standby
SQL> set lines 200
SQL> select name, db_unique_name, database_role, switchover_status, open_mode from 
gv$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    SWITCHOVER_STATUS    
--------- ------------------------------ ---------------- --------------------
ORCL      orcldg02                       PHYSICAL STANDBY NOT ALLOWED         
ORCL      orcldg02                       PHYSICAL STANDBY NOT ALLOWED         

OPEN_MODE
--------------------
READ ONLY WITH APPLY
READ ONLY WITH APPLY

SQL>
Code 04





5. Revisar el estado de la configuración RAC y Data Guard con utilitario raccli


El comando raccli es proporcionado al implementar configuraciones de base de datos Cloud con Oracle RAC.  Se utiliza para facilitar la administración del servicio Cloud de base de datos.

Con la opción status dataguard del comando raccli es posible revisar el estado sobre la configuración Data Guard.  El comando puede ser ejecutado en cualquier nodo primario o de contingencia de la arquitectura implementada.  El comando proporciona la información de la base de datos primaria y de contingencia, así como también, los nodos Oracle RAC que soportan cada base de datos.


5.1 Nos conectamos a un nodo de la base de datos primaria o contingencia con el usuario opc.

Using username "opc".
Authenticating with public key "rsa-key-20170425"
Passphrase for key "rsa-key-20170425":
[opc@racdg-dg01-1 ~]$

 

Code 05

 




5.2 Revisamos el estado de la configuración.

[opc@racdg-dg01-1 ~] $ raccli status dataguard

{
  "requestStatus" : "SUCCESS",
  "jobStatus": "SUCCESS",
  "instances" : [ {
    "DATABASE_NAME" : "orcldg01",
    "DATABASE_TYPE" : "PRIMARY",
    "PROTECTION_MODE" : "MaxPerformance",
    "TRANSPORT_MODE" : "ASYNC",
    "OPEN_MODE" : "READ WRITE",
    "ACTIVE_SESSIONS" : "3",
    "PENDING_APPLY_LOG_CNT" : "1",
    "ADDITIONAL_MESSAGES" : "",
    "db_instances" : [ {
      "INSTANCE_NAME" : "orcl1",
      "HOST_NAME" : "racdg-dg01-1",
      "IP" : "129.144.152.186"
    }, {
      "INSTANCE_NAME" : "orcl2",
      "HOST_NAME" : "racdg-dg01-2",
      "IP" : "129.144.152.159"
    } ]

  }, {
    "DATABASE_NAME" : "orcldg02",
    "DATABASE_TYPE" : "PHYSICAL STANDBY",
    "PROTECTION_MODE" : "MaxPerformance",
    "TRANSPORT_MODE" : "ASYNC",
    "OPEN_MODE" : "READ ONLY WITH APPLY",
    "ACTIVE_SESSIONS" : "3",
    "APPLY_LAG" : "0 seconds (computed 4 seconds ago)",
    "APPROXIMATE_ROLE_TRANSITION_TIME" : "0 seconds (computed 4 seconds ago) + 30 sec",
    "TRANSPORT_LAG" : "0 seconds (computed 4 seconds ago)",
    "ADDITIONAL_MESSAGES" : "",
    "db_instances" : [ {
      "INSTANCE_NAME" : "orcl1",
      "HOST_NAME" : "racdg-dg02-1",
      "IP" : "129.152.159.251"
    }, {

      "INSTANCE_NAME" : "orcl2 (apply instance)",
      "HOST_NAME" : "racdg-dg02-2",
      "IP" : "129.152.159.106"
    } ]
  } ]
}

[opc@racdg-dg01-1 ~]$
Code 06




6. Conclusión


Como se puede observar en el presente artículo, crear una configuración de base de datos Cloud con Oracle RAC y Oracle Data Guard es bastante sencillo y mucho más rápido que una configuración OnPremise y de manera manual.

En un siguiente artículo hablaremos de la ejecución de las operaciones de Switchover, Failover y Reinstate en el ambiente Oracle Cloud de base de datos. 




Ing. Jorge Zorrilla. Es un especialista IT en tecnologías Oracle e instructor de cursos oficiales de certificación Oracle. Con más de 9 años de experiencia en soluciones con tecnología Oracle como Alta Disponibilidad, Continuidad de negocios y Modernización de la infraestructura. Fue uno de los primeros especialistas en Latinoamérica en obtener la certificación Oracle Maximum Availability 12c. 
En la actualidad Jorge Zorrilla se dedica a mantener relaciones estratégicas con sus clientes en Perú mediante su empresa IDB Consulting.

Joel Pérez es un experto DBA (Oracle ACE Director, Maximum Availability OCM, OCM Cloud & OCM12c/11g) con más de 17 años de experiencia real en el mundo de la tecnología Oracle, especializado en diseño e implementación de soluciones de: Nube, Alta disponibilidad, Recuperación contra desastres, Upgrades, Replicación y toda área relacionada con bases de datos Oracle. Orador habitual en eventos internacionales de materia Oracle. Escritor de artículos para OTN español, portugués e Inglés. Joel se desempeña actualmente como: Database Cloud Solution Architect & International Business Manager para la compañía http://en.enmotech.com/ Yunhe Enmo (Beijing) Technology Co. Ltd. Beijing, China. LinkedIn: https://www.linkedin.com/in/sirdbaasjoelperez/ & Joel Pérez’s Blog: ttp://blog.enmotech.com/

Skant Gupta es un Oracle ACE, Maximum Availability OCM, OCM Cloud & OCM12c/11g, Oracle 12c & 11g RAC Certified, se desempeña como Senior DBA en Etisalat, Dubai. Más de 5 años en diversas tecnologías de Oracle, focalizado principalmente en bases de datos, soluciones de alta disponibilidad, weblogic y GoldenGate. Podrá seguirlo en su
blog: http://oracle-help.com

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.