Mapa Mental 1: Oracle 10g RAC en Linux


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.

Comments

  1. Anónimo
    • 12 noviembre, 2010
    • 9:54 pm
    • Reply

    Hola Javier, necesito instalar Oracle en mi computadora personal para practicar consultas por que recien estoy aprendiendo, que version free existe de oracle, y donde la puedo bar y que limitaciones tiene

  2. Javier Morales
    • 15 noviembre, 2010
    • 10:22 am
    • Reply

    Si buscas "Oracle11g download" en google te dirige a la página oficial de Oracle (http://otn.oracle.com)

    Ahí están todos los productos para descargar, con licencia de aprendizaje (permiso de uso).

  3. Diego
    • 13 diciembre, 2010
    • 3:46 am
    • Reply

    Hola Javier

    Tengo un problema con Distinct

    ejecuto este query y se duplican los registros y si le quito el distinct sucede lo mismo, que estoy haciendo mal
    select distinct a.codi_aduan||'-'||a.ano_prese||'-'||a.nume_corre Nro_DSEER,a.fech_ingsi Fec_Numeracion,a.nume_serie Serie,b.tipo_aforo Canal,
    case when(a.Codi_agent <> ' ') then (a.Codi_agent||'-'||c.Dnombre) else ' ' end Agente,
    b.libr_tribu RUC,b.fech_manif||'-'||trim(b.nume_manif) Manifiesto_EER, d.numconm Doc_Transp, d.numcon Guia_EER, a.cnt_bultos_decl Bultos_Declar,
    a.cant_bulto Bultos_Recib, a.cnt_peso_decl Peso_declar, a.peso_bruto Peso_Recib, a.cod_produc Cod_prod, a.part_nandi SPN, trim(a.desc_comer) Mercancia,
    a.fob_dolpol FOB, a.fle_dolar Flete, a.seg_dolar Seguro, a.cif_dolpol CIF row_number()
    from seriesdc a, polizadc b, directo c, mcdeta d
    where b.fech_ingsi between to_number('20101101') and to_number('20101103') and b.codi_aduan='235' and b.CODI_ADUAN=a.codi_aduan
    and b.ano_prese=a.ano_prese and b.nume_corre=a.nume_corre and b.poli_anula <> 'A' and b.via_transp='5' and c.tagente ='A'
    and c.cagente=b.codi_agent and c.cjurisdicc in ('235','992','983') and a.seri_elim <> 'S' and nvl(to_number(d.nume_mc),0)=b.nume_manif and
    d.anno(+)=substr(b.fech_manif,3,2) and d.via_trans(+)=to_char(b.via_transp) and d.codi_aduan(+)=b.cadu_manif and d.numcon=a.cono_embar
    and b.codi_agent='0091' order by 1,2,3

  4. Javier Morales
    • 13 diciembre, 2010
    • 8:52 am
    • Reply

    @Diego: El CASE te está tratando registros distintos a visualizar el mismo resultado.

  5. shirley
    • 1 febrero, 2012
    • 2:42 pm
    • Reply

    Muy interesante.. sabes instale mi oracle rac 10g.. y ya esta en produccion, ahora me indican q se tiene que cambiar de dominio en el /etc/resolv.conf name.com.pe cambiarlo x otro nombre distinto name2.com … yo anteriormente he cambiado ips del oracle rac sin problemas pero dominio no lo he hecho y quisiera saber si esto afectaria mi oracle rac.. lo has hecho?? puedes ayudarme?

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.