Oracle Database 12c: RAC 12c “Nuevas Características” ( Parte I )

Por Joel Pérez y Wissem El Khlifi
Publicado en enero 2014

Reciban estimados tecnólogos Oracle un cordial saludo. A través del presente artículo, tendremos la oportunidad de visualizar y adentrarnos un poco en el tema de las nuevas características de RAC ( Real Application Clusters ) 12c.

“Database12c” la nueva versión de manejador de base de datos de Oracle Corporation, nosotros los tecnólogos Oracle nos preguntábamos “que mas…” podría Oracle adicionar como nuevas características?, de que forma Oracle nos iba a sorprender esta vez y como siempre, las nuevas características y nueva arquitectura no solo nos sorprenden sino que una vez mas nos llevan a otra era…, “Cloud Computing”…

Personalmente he tenido la oportunidad de trabajar con tecnología Oracle como DBA desde su versión 8. 8i la era del internet, 9i la era del internet con mayores elementos, recuerdo que uno de los componentes de mayor importancia fue la presentación de RAC9i “la era naciente de RAC…”, 10g nos sorprendió con el concepto de ASM… y filosofía Grid, 11g & 11g R2 sobre todo por sus mejoras de alto nivel relacionadas con RAC & Data Guard…, 12c… Cloud Computing, nuevas características… mas de 500 las cuales iremos cubriendo gradualmente a través de artículos y otros elementos de ayuda.

RAC ( Real Application Clusters ) nació y emergió en el mercado como producto en la versión de BBDD ( base de datos ) Oracle 9i, representando un producto estable y de altas funcionalidades para el área de Alta Disponibilidad. En versión “Oracle 10g”, RAC represento una de las soluciones clave para la filosofía “Grid Computing” ofreciendo consigo una escalabilidad horizontal. En liberaciones 11g & 11gR2 obtuvo mejoras de alta relevancia y en versión 12c trae consigo mejoras en sus componentes, arquitecturas basadas en “Cloud Computing”.

Las mejoras y nuevas características de RAC12c están clasificadas en 4 grandes aéreas:

  • Continuidad de Negocio & Alta Disponibilidad
  • Flexibilidad & Agilidad
  • Despliegue estandarizado & “Patching”
  • Integración y administración en “Data Centers”

Continuidad de Negocio & Alta Disponibilidad

Oracle Real Application Clusters ( RAC ) es la solución fundamento para conformar la Alta Disponibilidad en “Data Centers” . RAC posee como primer “stack” de su arquitectura a nuestro ya conocido “Oracle Grid Infrastructure” el cual funge como componente y/o “stack” de software para que diversos servidores trabajen en conjunto para conformar “Clusters” de base de datos. Es el “Oracle Grid Infraestructure” el componente encargado de poseer el “Framework” que nos provee de Alta Disponibilidad para las bases de datos y servicios de los cuales posee control administrándolos como elementos de servicios de “Cluster”.

Oracle RAC es un componente integral de lo bien conocido como “Oracle’s Maximum Availability Arquitecture” el cual provee las mejores practicas para proveer la mayor disponibilidad de servicios en “Data Centers”. Como parte las nuevas características adicionadas al “stack” que nos asegura alta disponibilidad y confiabilidad de consistencia de transacciones se encuentra “Application Continuity (AC)”.

“Application Continuity (AC)” es una nueva tecnología que protege a las aplicaciones contra fallas de instancias y sesiones permitiendo reprocesar las transacciones “in-flight” en alguna otra instancia adjunta a la BBDD en uso.

“Application Continuity (AC)” utiliza la nueva característica “Oracle Database 12c Transaction Guard” la cual asegura que las aplicaciones siempre tendrán los resultados esperados. “AC” requerirá cierto tipo de “client Access driver” para llevar a cabo su labor mientras que la API “Transaction Guard API” podrá ser utilizada de forma nativa por diversas aplicaciones.

En versiones previas a RAC 12c la característica que más se asemejaba al concepto de “Application Continuity (AC)” era la configuración en modo “PRECONNECT” del atributo “TAF” de los servicios de BBDD. Este ofrecía la posibilidad de establecer una sesión pre-conectada en diversas instancias pertenecientes a la BBDD. En caso de fallas de la instancia las transacciones de tipo “Insert, Delete & Update” debían ser reprocesadas por las aplicaciones al establecer una nueva conexión, solo las sentencias de tipo “Select” se reprocesaban en modo automático.

Utilizando (AC) “Oracle Database” 12.1 en adelante & Oracle RAC, se convierten en la primera BBDD que verdaderamente cumple con:

  • Asegurado de Transacciones hasta su nivel de “commit” independiente de caídas de instancias. Esto se llevara a cabo siempre y cuando existan recursos ( Instancias, Nodos, etc ) en los cuales el mecanismo de “AC” pueda realizar “failover”
  • Asegurado de la continuidad real de Aplicaciones

“AC” mejora la experiencia de usuarios finales y productividad de desarrolladores simplemente utilizando un “AC compatible driver” o “Oracle Connection Pool”.

“AC” mejora la productividad de manejo de aplicaciones basadas en “Oracle Connection Pools”

Oracle Flex ASM”: es un nuevo modelo de despliegue ASM ( Oracle Automatic Storage Management ) que aumenta la disponibilidad de trabajo de las instancias de base de datos y reduce el nivel de consumo de recursos por parte de las instancias de ASM. “Oracle Flex” asegura la disponibilidad de trabajo de las instancias de base de datos de un nodo a pesar de que la instancia de ASM en el presente nodo pueda fallar.

Previo a la versión “Oracle Database 12c”, cada nodo del “cluster” requería una instancia de “Oracle ASM” para soportar el trabajo de las instancias de base de datos. Las instancias de base de datos establecían conexiones locales a las instancias “Oracle ASM” utilizando autenticación de Sistema operativo ( “OS based authentication” ). Una falla de la instancia local “Oracle ASM” implicaba la posible falla de todas las instancias de base de datos presentes en el nodo que dependiesen de la misma.

Existe la posibilidad de continuar trabajando bajo la misma arquitectura de la versión anterior ( Oracle ASM 11gR2 ) para mantener la posibilidad de portabilidad al momento de realizar “upgrades” de Oracle ASM 11gR2 a Oracle ASM12cR1, las nuevas características relacionadas con “Oracle Flex ASM” podrán ser implementadas “On Demand”.

Para obtener los beneficios de utilizar “Oracle Flex ASM” el mismo se debe habilitar para el “cluster” completamente. El mismo puede ser habilitado al momento de realizar la instalación inicial del “Oracle Grid Infrastructure 12c” o posterior a la misma. Durante el proceso de “Upgrade” de “Oracle ASM” no es posible activar en el mismo proceso “Oracle Flex ASM”.

Una vez que “Oracle Flex ASM” es activado el más notable efecto visualizado es que la relación “one-to-one” de instancias de ASM por “cluster” es removida y “clusters” compuestos de 3 nodos o más alojaran instancias “Oracle Flex ASM” a lo largo de todo el “cluster”.

Habilitando “Oracle Flex ASM” también es habilitado el “inter-node Oracle ASM instance failover” el cual en conjunto con “Oracle 12c” aseguraran la continuidad de operación de base de datos a pesar de la ausencia en forma propia de una instancia ASM en cada nodo del “cluster”.

Como opera “Oracle Flex ASM” ?

 

Si una instancia de “Oracle Flex ASM” falla en un determinado nodo del “cluster”, se realizara un “failover” de sus operaciones hacia otro servidor disponible que no posea una instancia de “Oracle Flex ASM” en funcionamiento, durante todo este proceso las instancias de bases de datos no verán interrumpidas sus actividades.

Flexibilidad & Agilidad

“Oracle Grid Infrastructure 12c SCAN” ha sido mejorado para:

  • Soportar “IPv6” basados en direcciones IP
  • Soportar múltiples “subnets” en el “Cluster”
  • Restringir el registro de Servicios

A partir de “Oracle Grid Infrastructure 12c” los nodos del “cluster” pueden ser configurados para utilizar IPv4 o IPv6 basados en direcciones IP para las IPs Virtuales ( VIP ) en la red publica, existiendo la posibilidad de que mas de una IP publica pueda ser configurada para el “cluster”.

una IP publica pueda ser configurada para el “cluster”.
Los clientes de base de datos y aplicaciones podrán conectarse con las direcciones VIP IPv4 o IPv6. El “SCAN Listener”  re-direcciona automáticamente a los clientes para establecer las conexiones con los “Database Listeners” apropiados de acuerdo al “subnet” presentado por la conexión cliente. Los “SCAN listeners” pueden ser definidos para cada “subnet” en el “cluster”.

Los “Listeners” administrados por el “Oracle Grid Infrastructure” pueden ser configurados para restringir la conexión de clientes utilizando diversas condiciones tales como el “subnet” de cual los clientes intentan establecer conexión y otras condiciones. La misma característica puede ser utilizada para restringir el registro de instancias de base de datos en un “SCAN Listener” particular, esto con el objetivo de evitar registro de instancias en “SCAN Listeners” erróneos en ambientes compartidos.

Policy-Managed Databases: Oracle “RAC 12.1” posee una escala para adicionar nodos superior a la ya conocida ( addnode ). Activamente podrá utilizar servidores con diferentes medidas de recursos.

El “Server Pool Management” ha sido mejorado para entender las diferencias de los servidores en el “Cluster”.

  • Los atributos de servidores son guardados por servidor
  •  Los “Server Pools” son establecidos utilizando “Server Categories”
  • Los Servidores son adjudicados a pools basados en categorías
    • Combinando solo “Test Servers” en un pool
  • Asegurando una medida mínima de servidores ( respecto a recursos ) por “pool”

 

“What-if Command Evaluation”: utilizando el nuevo “What-if command evaluation” opcion “-eval” con el utilitario “srvctl”, se puede determinar el impacto de ejecutar un comando. Esta nueva adición al comando “srvctl” permitirá simular un comando sin ejecutarlo de forma real de modo que no realice cambios en el sistema. Esto es particularmente útil en situaciones cuando se desean saber resultados a obtener con la ejecución de un comando. El mismo proveerá una salida e información de los resultados. La opción “–eval” también puede ser utilizada por el comando “crsctl”.

Por ejemplo si se deseara saber el resultado de detener una BBDD particular, se podría utilizar el siguiente ejemplo:

$ ./srvctl stop database –d CRMDB –eval
$ ./crsctl eval modify resource <resource_name> -attr “value”

“What-if Command Evaluation” ayuda:

  •  A establecer y validar políticas
  • En la planificación de “Downtime” de escenarios

Lista de APIs “What-if”

  • clscrs_whatif_register_resource
  • clscrs_whatif_fail_resource
  • clscrs_whatif_start_resource
  • clscrs_whatif_stop_resource
  • clscrs_whatif_relocate_resource
  • clscrs_whatif_register_serverpool
  • clscrs_whatif_unregister_serverpool
  • clscrs_whatif_add_server
  • clscrs_whatif_relocate_server
  • clscrs_whatif_delete_server
  • clscrs_whatif_set_activepolicy

Lista de Opciones con “-eval”

  • crsctl eval activate policy
  • crsctl eval add resource
  • crsctl eval add server
  • crsctl eval add serverpool
  • crsctl eval delete server
  • crsctl eval delete serverpool
  • crsctl eval fail resource
  • crsctl eval modify resource
  • crsctl eval modify serverpool
  • crsctl eval relocate resource
  • crsctl eval relocate server
  • crsctl eval start resource
  • crsctl eval stop resource

“Grid Home Server”

“Grid Home Server”: esta es una nueva característica que esta basada en poseer solamente un home denominado “Golden Oracle Home” en solo uno de los nodos, siendo los nodos restantes, clientes del “Golden Home”. Por ejemplo, en el caso de un “Patch”, se tendrá que aplicarlo solamente en el “Golden Home” y el resto de los nodos lo tomara desde allí. Esta nueva característica ofrece un rápido provisionamiento de todo aquello desplegado en el “Golden Home”
Esta nueva característica permite una administración y despliegue centralizado de:

  • “Oracle Database” & “ Application Homes”
  • Imágenes de “softwares” de terceros

De esta forma se optimizan tareas repetitivas que tenían que realizarse en cada nodo del “Cluster”

  • Agrupación y administración de “Gold Images” en series de “Patching units” organizados por: aplicaciones, versiones de bases de datos, …
  • Grid Home Server representa una nueva característica de provisionamiento centralizado de elementos pertenecientes al “Golden Home”

  • Ofrece la funcionalidad de “Updates” & “Patchings” centralizados, pudiendo actualizar o aplicar “Patchs”  a muchas bases de datos a la vez

 

 

 

La lista de nuevas características de “RAC 12c” no culmina con este articulo. Los invitamos a la continuación del mismo en su Parte II.

 


Joel es un experto DBA con más de 12 años de experiencia, especializado en bases de datos con especial énfasis en la soluciones de alta disponibilidad (RAC, Data Guard, y otras). Es un conferencista habitual en eventos de Oracle como: OTN LAD TOUR y otros. Consultor Internacional con trabajos en más de 20 países alrededor del mundo. Fue el primer latinoamericano en ser nombrado "Experto OTN" en el año 2003, Oracle ACE año 2004 y actualmente Oracle ACE Director.

Wissem es un Senior DBA con más de 12 años de experiencia, especializado en soluciones RAC & Data Guard. Actualmente labora para “Schneider Electric / APC Global operations”. Wissem ha trabajado también para varias empresas internacionales líderes en sectores de Bancas, Telecomunicaciones, Internet y Energía. Wissem fue el primer Oracle ACE en España y es un OCP DBA.