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 |
El resultado debe ser dos tarjetas de red visibles, una con la dirección publica y otra con la privada (mas el tcploopback)
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.
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.
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.
Ping a los alias públicos y privados, con y sin nombre de dominio
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.
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
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
Generar claves rsa y dsa para concatenar en todos los ficheros authorized_keys de los diferentes nodos.
El usuario Oracle debe poder hacer ssh entre nodos sin necesidad de contraseña.
/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.
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.
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
Según nota 361468.1
Es necesario añadir la siguiente línea a /etc/security/limits.conf
* hard memlock 5243000
* soft memlock 5243000
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
./runcluvfy.sh stage -post hwos -n nodo1,nodo2,nodoN – verbose
./runcluvfy.sh comp nodecon -n nodo1,nodo2,nodoN – verbose
./runcluvfy.sh comp admprv -n nodo1,nodo2,nodoN – verbose -o user_equiv
./runcluvfy.sh stage -pre crsinst -n nodo1,nodo2,nodoN -r 10gR2
Definir variables de entorno para ORA_CRS_HOME
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
eth0 192.168.1.0 global public
eth1 10.10.10.0 global cluster_interconnect
Ejecutar crs_stat -t
Los servicios de cluster deben estar arrancados.
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.
Definir variables de entorno para ORA_ASM_HOME
Instalar librerias asmlib
Seguir nota 564580.1 si hay redundancia de controladores de disco por multipath
Crear dos diskgroups: uno para DATA y el otro para FRA
DG_DATA_1
DG_FRA_1
Ejecutar crs_stat -t
Los servicios de cluster deben estar arrancados incluyendo los de ASM.
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.
Definir variables de entorno para ORACLE_HOME
Seguir nota 564580.1 si hay redundancia de controladores de disco por multipath
Ejecutar crs_stat -t
Los servicios de cluster deben estar arrancados incluyendo los de ASM y los de base de datos.
Instalar la versión mas reciente del patchset.
Mucho mejor antes de que haya ASM y DB’s que deban pararse y parchearse.
Comments
Anónimo
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
Javier Morales
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).
Diego
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
Javier Morales
@Diego: El CASE te está tratando registros distintos a visualizar el mismo resultado.
shirley
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?