Oracle RAC One Node 11gR2

Por Francisco Riccio oracle ace
Publicado en septiembre 2012

Introducción

Oracle RAC One Node es un producto nuevo que Oracle libera en la versión 11gR2. Esta configuración plantea tener una instancia de Base de Datos Oracle ejecutándose en un solo servidor y ante la caída del mismo nos ubica automáticamente nuestra instancia en otro servidor pre establecido con el menor tiempo de indisponibilidad. Asimismo ayuda a reducir el tiempo de indisponibilidad en los servicios de Base de Datos en actividades planificadas como son las aplicaciones de parches de Sistema Operativo, Base de Datos ó incluso actualización de firmware en el servidor etc. Este nuevo producto está disponible para todos los sistemas operativos que actualmente está certificados Infraestructura Grid y solo es incluido en edición Enterprise Edition. Oracle RAC One Node permite solo integrarse con Infraestructura Grid y no con otras soluciones de clúster de otros proveedores, asimismo solo puede aplicarse en Base de Datos versiones 11gR2. Oracle RAC One Node es un producto licenciado.

Implementación

La instalación de Oracle RAC One Node nos pide como requisito tener instalado Infraestructura Grid con la opción de Cluster. Una vez cumplido este requisito procedemos a los pasos que vienen a continuación.


Pasos para la Implementación

a) Instalación del Software de Base de Datos

Instalamos el software de Base de Datos pero seleccionamos la opción de Oracle RAC One Node Database Installation como se aprecia en la figura 1.

Nota: En la versión Oracle Database 11.2.0.1 no existía la opción indicada por lo cual se tenía que instalar con la opción Oracle Real Application Cluster database installation. Finalizada la instalación se debía aplicar el parche de Base de Datos: 9004119. Este parche nos proveía las herramientas de administración de Oracle RAC One Node las cuales solo eran disponibles para plataformas Linux de 32 bits & 64 bits. En la versión Oracle Database 11.2.0.2 hacia adelante ya no es necesario este parche porque ya contamos con las herramientas administrativas como parte de la versión.

Instalamos el software de Base de Datos
Figura 1


b) Creación de la Base de Datos

Con el utilitario DBCA procedemos a crear nuestra base de datos seleccionando la opción Oracle RAC One Node database.

Creación de la Base de Datos
Figura 2


Más adelante veremos está pantalla:

Base de Datos
Figura 3


Donde debemos ingresar el nombre de un servicio de Base de Datos y los nodos que conformarán la solución de Oracle RAC One Node. El nombre del servicio no puede llamarse igual al nombre de la base de datos. Asimismo recordar que de todos los servidores seleccionados que formarán la solución, solo en uno de ellos se ejecutará la instancia de Base de Datos.

Finalizado la creación de la Base de Datos tenemos ya disponible nuestra solución de Oracle RAC One Node.


Administración

La administración de Oracle RAC One Node desde la versión 11.2.0.2 es tan similar como administrar una Base de Datos en RAC.

a) Estado de la Base de Datos

srvctl status database -d <Nombre_BD>

Estado de la Base de Datos

Podemos apreciar que la instancia de Base de Datos solo está levantada en un solo servidor.

b) Reubicar el servicio de Base de Datos en otro servidor.

srvctl relocate database -d <Nombre_BD> -n <servidor>

Reubicar el servicio Base de Datos

En este ejemplo, estamos bajando la base de datos y la estamos iniciamos en el servidor pcrac2 y posteriormente lo estamos reubicando en el servidor pcrac1. En ambos movimientos validamos que efectivamente la instancia de Base de Datos se está alojando en el servidor que deseamos.

c) Visualizar Información de la Configuración de la Base de Datos.

srvctl config database -d <Nombre_BD>

Visualizar Información de la Configuración Base de Datos

En este ejemplo podemos apreciar que la base de datos está configurado en RACOneNode y asimismo el tiempo por default para reubicar una instancia en otro servidor es como máximo en 30 minutos. Es importante reconocer que este tiempo aplica si existen transacciones pendientes en la Base de Datos por confirmar en caso contrario lo hace inmediato el movimiento.

Al realizar una operación de reubicación podemos modificar ese valor de forma explícita:

configurado en RACOneNode

Con el parámetro w especificamos de forma explícita el tiempo en minutos que la operación de reubicación esperará en caso exista transacciones pendientes en la Base de Datos por confirmar.

Cuando la Base de Datos de Oracle RAC One Node está en medio de una operación de reubicación veremos el siguiente estado:

RACOneNode

d) Migración de Base de Datos RAC One Node a RAC.

Podemos migrar una Base de Datos RAC One Node a RAC con el comando: srvctl convert

RAC One Node a RAC

En este ejemplo estamos convirtiendo la base de datos PRD a modo RAC. Es importante que en el parámetro -n se especifique el servidor que actualmente está levantado la instancia de Base de Datos, en caso contrario se coloque otro nombre de servidor tendremos el siguiente mensaje:

PRCD-1151: Failed to convert the configuration of RAC One Node database PRD into its equivalent RAC database configuration because RAC One Node database is running on a different server pcrac2 than the given target server pcrac1.

Posterior a la conversión procedemos a crearle una instancia a cada nodo que forma la solución, mediante el comando: srvctl add instance. Ejemplo:

srvctl add instance

También podemos modificar el servicio creado alterando los servidores preferidos y disponibles. Ejemplo:

modificar el servicio

Al final de la conversión es importante que validemos que realmente la Base de Datos esté convertida:

validemos que realmente la Base de Datos esté convertida

e) Migración de Base de Datos RAC a Oracle RAC One Node.

Como primer paso debemos eliminar las instancias de los otros nodos y solo quedarnos con una sola instancia, esto lo realizamos con el comando: srvctl remove instance:

srvctl remove instance

Es importante al final ejecutar el comando srvctl status database y realmente validar que solo tengamos una instancia asociada a la Base de Datos. Asimismo antes de realizar la conversión, debemos verificar si algún servicio de Base de Datos tiene la política PRECONNECT TAF, si es así, debemos modificarla por el valor de BASIC o NONE.

Para continuar con la conversión debemos ejecutar el comando srvctl convert para realizar la conversión

comando srvctl convert

Nuestra base de datos convertida debe tener al menos 2 threads de redo logs o utilizar OMF.

Por último debemos registrar los servidores que estarán conformando la solución de Oracle RAC One Node con el comando srvctl modify database, ejemplo:

srvctl modify database

f) Administración Oracle RAC One Node versión 11.2.0.1

Como se mencionó previamente, la administración del Oracle RAC One Node versión 11.2.0.1 difiere a los releases actuales. El propósito de este acápite es entregar algunas nociones de administración en esta versión específica.

Comando
Objetivo
raconeinit
Permite inicializar Oracle RAC One Node. Se debe ejecutar posterior a que la base de datos se encuentre con los servicios inicializados. También es utilizado para actualizar la lista de servidores que forman la solución de Oracle RAC One Node.
omotion
Permite la reubicación de una instancia de Base de Datos en otro servidor.
racone2rac
Permite migrar una Base de Datos de Oracle RAC One Node a Oracle RAC.
raconestatus
Muestra el estado de las Bases de Datos configuradas con Oracle RAC One Node.
raconefix
Frente a un problema de configuración con el Oracle RAC One Node este script puede ser ejecutado para solucionar el impase. Un ejemplo de cuando utilizarlo es cuando el comando omotion estuvo en ejecución y el servidor hizo reboot dejando inconsistencia en la operación, la forma de dejarlo consistente es ejecutando el programa raconefix.

Es importante recordar que cada Instancia del Oracle RAC One Node tiene su propio UNDO Tablespace y su Thread de Redo Log asociado tan igual como normalmente se tiene configurado en una Base de Datos en Oracle RAC. Se recomienda asimismo la habilitación de OMF en la instancia.


Conclusiones

Oracle RAC One Node nos permite tener una solución de alta disponibilidad de nuestras Bases de Datos a menor costo que un Oracle RAC. Permitiéndonos básicamente disminuir el tiempo de indisponibilidad de servicios por eventos planificados y no planificados. Es importante recordar que Oracle RAC One Node desde la versión 11.2.0.2 ha cambiado mucho su administración asemejándose a la administración de una base de datos Oracle RAC.




Publicado por Ing. Francisco Riccio. Es un IT Specialist en IBM Perú e instructor de cursos oficiales de certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application & Base de Datos.