Optimización SQL en Oracle

Mapa Mental 1: Oracle 10g RAC en Linux

2010-10-26 · Blog

En la instalación de un RAC sobre Linux es preciso tener en cuenta las características de la plataforma a los siguientes niveles:

1.- Red. ¿Existen tarjetas de red para conexiones privadas y públicas en todos los nodos? Es preciso configurarlas correctamente para que el cluster pueda manejar las tres direcciones (pública, privada y virtual). ¿Hay redundancia en las tarjetas? ¿está configurado correctamente el bonding?

2.- Almacenamiento. ¿ASM o OCFS2? O uno, u otro. Nunca los dos o una combinación de ambos en el mismo sistema, ya que puede llevar a conflictos. ¿Hay multipath? El almacenamiento con controladoras redundantes debe configurarse correctamente para evitar desastres.

3.- Sistema. ¿Todos los parches están instalados? ¿los parámetros de kernel y límites de sesión están definidos de forma persistente? ¿los privilegios sobre los dispositivos de almacenamiento tienen privilegios sobre root y oracle como corresponde?

Mapa mental 1: estrella

Quizás en estos casos pueda ayudar el siguiente mapa mental, a modo de guía paso a paso, adaptándolo a la plataforma y las características del entorno a instalar.

Mapa mental 2: vertical

Los procesos del mapa al detalle

·  Verificar red public y privada

o Ejecutar /sbin/ifconfig
El resultado debe ser dos tarjetas de red visibles, una con la dirección publica y otra con la privada (mas el tcploopback)

§ Configuración Bonding
Cuando hay redundancia de tarjetas es importante conocer la configuración de bonding para hacer referencia a las tarjetas virtuales y no a las físicas.

§ Configuración interconnect El interconnect debe estar configurado correctamente para las pruebas de caída de servidores. Los switches deben contemplar las posibles caídas y sus enrutamientos.

o Registrar entradas /etc/hosts
*Hay que añadir las direcciones IP para publica, privada y virtual.

La ip virtual no será visible hasta que los servicios de cluster se inicien con el vipca al final de la instalación del clusterware.*

o Ping entradas /etc/hosts
Ping a los alias públicos y privados, con y sin nombre de dominio

·  Configurar storage

o Crear particiones con /sbin/fdisk
*Crear particiones para OCR, voting y rawdevices para ASM.

Minimo:
120 Mb para OCR x 2
20 Mb para voting x 3

Si no se crean particiones, los discos deben estar preparados, así como sus dispositivos.*

o Editar /etc/sysconfig/rawdevices

o Asignar privilegios a los rawdevices
*Los dispositivos deben pertenecer al usuario Oracle y tener 660 (ocr) y 664 (voting)

Una vez creado el clusterware, los ocr pasaran a ser de root, y será necesario hacer persistentes los permisos al arranque en el fichero /etc/rc.d/rc.local*

o Habilitar rawdevices nodo 1

o Propagar configuración nodo 2-3-x
*El fichero /etc/sysconfig/rawdevices ha de propagarse al resto de nodos.

Una vez copiado el fichero, hay que actualizar la tabla de partición y habilitar los rawdevices en ese nodo.

services rawdevices start*

o Los rawdevices están habilitados en todos los nodos

·  Crear grupos y usuarios

o Crear grupos dba y oinstall

o Crear usuario oracle

o chmod y chown a usuario

o Definir .bash_profile

o Configurar secure shell
Generar claves rsa y dsa para concatenar en todos los ficheros authorized_keys de los diferentes nodos.

o Comprobar ssh transparente entre nodos

·  Configuración OS

o Configuración Secure Shell
El usuario Oracle debe poder hacer ssh entre nodos sin necesidad de contraseña.

§ Crear claves rsa y dsa
*/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa

Los ficheros de $HOME/.ssh id_dsa.pub y id_rsa.pub de todos los nodos han de unirse en uno nuevo llamado authorized_keys, que se copiará a los directorios .ssh del usuario oracle para cada nodo.*

§ Añadir hosts a known_hosts
En cada ssh el sistema preguntará para añadir ese nodo a la lista de know_hosts. Solo se preguntará esta vez y las siguientes conexiones serán transparentes.

§ Test ssh nodos /etc/hosts

o Configuración hangcheck-timer
*Según notas 811306.1 y 726833.1
Es necesario añadir la línea

/sbin/modprobe hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1

Y hacer este cambio permanente al reinicio del servidor en /etc/rc.d/rc.local*

o Configurar hugepages
*Según nota 361468.1
Es necesario añadir la siguiente línea a /etc/security/limits.conf

* hard memlock 5243000
* soft memlock 5243000*

o Configurar kernel

o Configurar limites shell
*Los limites de shell han de hacerse permanentes en el inicio de sesión. Para ello, hay que añadir la siguiente línea a /etc/pam.d/login

session required /lib/security/pam_limits.so*

o rda hcve para cada nodo

o Cluvfy

§ Chequeo hardware y OS
./runcluvfy.sh stage -post hwos -n nodo1,nodo2,nodoN – verbose

§ Chequeo conectividaf
./runcluvfy.sh comp nodecon -n nodo1,nodo2,nodoN – verbose

§ Chequeo usuario
./runcluvfy.sh comp admprv -n nodo1,nodo2,nodoN – verbose -o user_equiv

§ PreCheck configuración servicios de cluster
./runcluvfy.sh stage -pre crsinst -n nodo1,nodo2,nodoN -r 10gR2

·  Ejecutar runInstaller clusterware software
Definir variables de entorno para ORA_CRS_HOME

o Seguir nota 414163.1 en RHL5 para errores conocidos
*Existen tres errores conocidos en la instalación de RAC 10.2.0.1 en RHL5

– ejecutar el runinstaller con -ignoreSysPrereqs
– editar vipca y svrctl para añadir la línea «unset LD_ASSUME_KERNEL»
– La ejecución de root.sh fallará en el ultimo nodo y habrá que ejecutar el vipca manualmente tras configurar las tarjetas de red con

/bin # ./oifcfg setif -global eth0/192.168.1.0:public
/bin # ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
/bin # ./oifcfg getif
eth0 192.168.1.0 global public
eth1 10.10.10.0 global cluster_interconnect*

o Chequeo servicios
*Ejecutar crs_stat -t

Los servicios de cluster deben estar arrancados.*

o Instalar patchset 10.2.0.5 clusterware
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.

·  Ejecutar runInstaller ASM software
Definir variables de entorno para ORA_ASM_HOME

o Instalar asmlib
Instalar librerias asmlib

o Configurar multipath para ASM
Seguir nota 564580.1 si hay redundancia de controladores de disco por multipath

o Creación de diskgroups
*Crear dos diskgroups: uno para DATA y el otro para FRA

DG_DATA_1
DG_FRA_1*

o Chequeo servicios
*Ejecutar crs_stat -t

Los servicios de cluster deben estar arrancados incluyendo los de ASM.*

o Instalar patchset 10.2.0.5 ASM
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.

·  Ejecutar runInstaller DB software
Definir variables de entorno para ORACLE_HOME

o Crear bbdd RAC usando asm
Seguir nota 564580.1 si hay redundancia de controladores de disco por multipath

o Chequeo servicios
*Ejecutar crs_stat -t

Los servicios de cluster deben estar arrancados incluyendo los de ASM y los de base de datos.*

o Instalar patchset 10.2.0.5 ASM
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.

← Volver al blog