Pasos a seguir para la instalación de Oracle RAC 10g
La instalación de Oracle RAC 10g es un proceso que requiere de dos fases en la que se ejecuta el Oracle Universal Installer (OUI).
En la primera etapa se instala Oracle Clusterware Release 2 (10.2.0).
En la segunda etapa se instala el software de base de datos para Oracle RAC.
En esta segunda fase se puede también comenzar a configurar servicios.
Un aspecto importante a mencionar son las nuevas pantallas de OUI que chequean prerequisitos tales como parámetros del kernel del sistema operativo, configuraciones de red, paquetes requeridos, etc. Si OUI detecta que no se cumple con algún prerequisito, lo notificará para poder tomar las acciones correctivas antes de continuar con la instalación.
A continuación se enumeran los pasos a seguir para la instalación de Oracle RAC 10g:
- Completar las tareas de preinstalación
- Requerimientos de hardware
- Requerimientos de software
- Configuración del entorno (parámetros del kernel, etc)
- Instalar Oracle Clusterware
- Instalar ASM
- Instalar el software de base de datos Oracle 10g
- Instalar agentes de Enterprise Manager en cada nodo del cluster
- Crear la base de datos en cluster
- Completar tareas de postinstalación
Requerimientos de Red para Oracle RAC
Una de las tareas previas a la instalación de Oracle RAC es verificar que se cumplan los requerimientos de red.
Cada nodo debe tener al menos dos adaptadores de red: uno para la interface pública y otro para la interface privada (también llamada interconnect).
Además, los nombres de interface asociados a los adaptadores de red deben tener los mismos nombres en todos los nodos.
Para la red pública, cada adaptador debe soportar TCP/IP. Para la red privada, el interconnect debe soportar UDP utilizando adaptadores de alta velocidad y switches que soporten TCP/IP. Gigabit Ethernet o similar es lo recomendado. (Para una lista completa de los protocolos soportados, ver nota 278132.1 de Metalink).
Antes de comenzar la instalación, cada nodo requiere una dirección IP y un hostname asociado registrado en el DNS o en el archivo /etc/hosts por cada interface de red pública.
Una IP virtual (VIP) y su nombre asociado también debe registrarse en el DNS o el archivo /etc/hosts por cada nodo. La IP virtual debe estar en la misma subred de la interface pública asociada.
Chequear los requisitos de RED
./cluvfy stage -pre crsinst -n all -verbose
La URL para bajarlo http://www.oracle.com/technology/products/database/clustering/cvu/cvu_download_homepage.html
Se puede ejecutar directamente desde el CD
Requerimientos de software de red para Oracle RAC
Cada nodo del cluster requiere un protocolo de interconexión para soportar cache fusion y Oracle Clusterware polling. Además de UDP existen otros protocolos de interconexión de diversos vendors: Remote Shared Memory, Hyper Messaging, Reliable Data Gram. Es requerimiento que el protocolo elegido esté certificado para la plataforma Oracle a implementar.
Oracle recomienda UDP para Oracle 9i y 10g. Las Best Practices para UDP incluyen:
Utilizar como mínimo Gigabit Ethernet No utilizar cables cruzados (usar un switch de alta velocidad) Incrementar el buffer UDP al máximo permitido por el sistema operativo Encender UDP checksuming
Paquetes requeridos para Oracle RAC
Los paquetes requeridos dependen de la instalación que se pretenda hacer.
En un entorno Linux OUI chequea el sistema para verificar si se cumplen los requerimientos. Para asegurarse que el control de OUI sea exitoso se pueden chequear los requerimientos en forma manual con los siguientes comandos:
rpm -q package_name rpm -qa | grep package_name_segment
Si algún package no está instalado habrá que instalarlo desde el CD de instalación del sistema operativo con usuario root.
Por ejemplo:
rpm -i compat-db.4.0.14.5.i386.rpm
Configuración de hangcheck-timer para Oracle RAC
Un componente requerido para instalaciones Linux es el módulo del kernel llamado Hangcheck-timer.
Este módulo monitorea el kernel de Linux para detectar “colgadas” que puedan afectar al nodo RAC causando corrupción en la base de datos.
Para verificar si el módulo ya está cargado es necesario ejecutar el comando lsmod con el usuario root:
/sbin/lsmod | grep -i hang Si no está presente, puede cargarse manualmente con el comando insmod /sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 El parámetro hangcheck_tick define cada cuantos segundos se chequea el nodo. El parámetro hangcheck_margin define cuantos segundos se esperará la respuesta del kernel. Si el kernel no responde se reiniciará el sistema.
Usuarios y grupos requeridos para la instalacion de Oracle RAC
Antes de instalar el software de Oracle en un equipo hay que crear el grupo oinstall. Este grupo será el dueño del inventario Oracle (Oracle Inventory). El inventario Oracle es un catálogo de todo el software Oracle instalado en el equipo.
También hay que crear el grupo dba. El grupo dba identifica a todos los usuarios Unix que tienen privilegios de administración de base de datos.
Por otra parte, es necesario crear el usuario oracle. Este usuario es dueño de todo el software instalado durante el proceso de instalación. El usuario Oracle debe tener asignado al grupo oinstall como grupo primario y al grupo dba como grupo secundario.
Por último, se debe verificar que exista el usuario nobody. El usuario nobody debe ser dueño del ejecutable extjob luego de la instalación.
El entorno del usuario Oracle
El software de Oracle se instala con el Oracle Universal Installer (OUI).
El OUI se debe ejecutar con el usuario oracle.
Antes de ejecutar el OUI es necesario configurar adecuadamente el entorno del usuario oracle:
- Configurar la máscara del modo de creación de archivos (umask) con valor 022.
Esto hay que hacerlo en el archivo de startup del shell (.profile, .bash_profile)
- Configurar las variables DISPLAY y ORACLE_BASE
- Asegurarse de contar con espacio temporal suficiente para el OUI.
Si el directorio /tmp tiene menos de 400 MB libres, es necesario identificar algún file system que disponga de esta cantidad de espacio y setear las variables TMP y TMPDIR especificando un directorio del file system con espacio suficiente. Asegurarse además de que el usuario oracle y el grupo oinstall tengan permisos de escritura sobre ese directorio.
Configuración de límites del shell para el usuario oracle
Para mejorar la performance del software, se recomienda incrementar los siguientes límites del shell para el usuario oracle:
nofile, debe tener el valor 65536 (hard) nproc, no debe ser menor a 16384 (hard) Estos límites hay que modificarlos en el archivo /etc/security/limits.conf.
Configuración del ambiente para la instalación remota de Oracle RAC
Oracle Universal Installer (OUI) detecta si el host en el que se está ejecutando OUI es parte del cluster. Si es parte del cluster, propone que se seleccionen aquellos nodos en los que se desea instalar el producto. Para que esto funcione adecuadamente es necesario configurar la equivalencia de usuario a nivel del sistema operativo (user equivalence) para el usuario oracle en cada nodo del cluster.
Para habilitar la equivalencia de usuario hay que asegurarse de que exista el archivo /etc/hosts.equiv en cada nodo. El archivo debe tener una entrada para cada host miembro del cluster. Por ejemplo, si el cluster está compuesto por los nodos nodo1 y nodo2, en ambos servidores deberá existir el archivo /hosts.equiv con las siguientes entradas:
nodo1 nodo2 OUI también soporta ssh y scp (openSSH) para las instalaciones remotas. Para conectarse a un servidor openSSH desde un cliente , deben estar instalados los packages openSSH en la máquina cliente. Para verificar si están instalados: rpm-qa | grep openssh
Asumiendo que el cluster está compuesto por nodo1 y nodo2 podemos seguir los siguientes pasos para configurar ssh utilizando DSA en el cluster:
Con el usuario oracle, crear las claves públicas y privadas en ambos nodos (aceptar las ubicaciones por defecto; y cuando se solicite pass phrase, presionar enter)
/user/bin/ssh-keygen -t dsa
Concatenar los contenidos del archivo id_dsa.pub de cada nodo en el archivo authorized_keys del primer nodo Copiar el archivo authorized_keys al segundo nodo (misma ubicación que en nodo1) Testear la configuración
Directorios requeridos para el software Oracle
El directorio ORACLE_BASE actúa como directorio de alto nivel a partir del cual se instalan todos los productos de Oracle.
Para los sistemas Unix, la recomendación OFA (Optimal Flexible Architecture) sugiere la siguiente ubicación:
/mount_point/app/oracle_sw_owner
Por ejemplo:
/u01/app/oracle
Para el directorio del inventario Oracle (OraInventory) se recomienda el siguiente path:
$ORACLE_BASE/OraInventory
OUI crea el directorio y lo configura con el dueño, grupo y permisos correspondientes.
Luego viene el directorio HOME para Oracle Clusterware. Allí se instalará todo el software del cluster. El dueño de este directorio debe ser root. OUI solicita especificar el path para este directorio, como asi tambien su nombre. Un nombre recomendado es por ejemplo
/u01/crs1020
Luego viene el directorio ORACLE_HOME. Deberán existir distintos directorios ORACLE_HOME para los distintos productos o releases del mismo producto. Oracle recomienda utilizar un nombre del siguiente tipo:
ORACLE_BASE/product/10.2.0/db_1
Si se utiliza ASM habrá que considerar la creación de un directorio HOME separado para ASM. Por ejemplo
ORACLE_BASE/product/10.2.0/asm
Configuración de parámetros del sistema operativo para Oracle RAC
La configuración de parámetros para el sistema operativo dependerá del sistema operativo con el cual se este trabajando. En el caso de Linux, por ejemplo, puede ver los valores que deben tomar los parámetros:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
Tareas de preinstalación de Oracle Clusterware
Antes de instalar Oracle Clusterware hay que asegurarse de que la combinación sistema operativo y versión del software de Oracle estén certificados. Esto se puede verificar a través de Metalink.
Habrá que verificar también que el interconnect del cluster funcione correctamente.
Por último habrá que decidir la opción de storage a utilizar y configurar el storage compartido. Oracle recomienda utilizar ASM y OMF u Oracle cluster File System. También habrá que mapear los raw devices para el voting file y el OCR file si se decide configurarlos sobre raw devices.
Discusión