Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM Ver los recursos gestionados por el cluster • # crsctl stat res -t [oracle@rac1 ~]$ crsctl stat res -t -------------------------------------------------------------------------------NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------Local Resources -------------------------------------------------------------------------------ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.asm ONLINE ONLINE rac1 Started ... Target.- Objetivo de la Alta Disponibilidad. State.- Estado actual del recurso 11gR2 Clusterware and Grid Home - What You Need to Know [ID 1053147.1] • # crs_stat –t. versión 10g [oracle@rac1 ~]$ crs_stat -t Name Type Target State Host -----------------------------------------------------------ora.DATA.dg ora....up.type ONLINE ONLINE rac1 ora....ER.lsnr ora....er.type ONLINE ONLINE rac1 … CRS_STAT // Ver Nota de Metalink para no verlo abreviado: 259301_1 CRS and 10g RAC Ver los procesos del cluster • # ps -ef |grep d.bin [root@rac1 ~]# ps -ef |grep d.bin root 5569 1 1 17:17 ? reboot oracle 5694 1 0 17:18 ? oracle 5719 1 0 17:18 ? oracle 5732 1 0 17:18 ? oracle 5747 1 0 17:18 ? root 5770 1 0 17:18 ? root 5788 1 0 17:18 ? …. 00:01:13 /u01/app/11.2.0/grid/bin/ohasd.bin 00:00:10 00:00:00 00:00:00 00:00:08 00:00:10 00:00:11 /u01/app/11.2.0/grid/bin/oraagent.bin /u01/app/11.2.0/grid/bin/gipcd.bin /u01/app/11.2.0/grid/bin/mdnsd.bin /u01/app/11.2.0/grid/bin/gpnpd.bin /u01/app/11.2.0/grid/bin/cssdmonitor /u01/app/11.2.0/grid/bin/cssdagent Arrancar Clusterware. Deben de ejecutarse como root En 11gR2, podemos arrancar la “High Availability Service Daemon” (OHASD) y la pila de recursos del cluster en un solo paso. Modo 1 o en dos pasos Modo 2. En versiones anteriores solo Modo 1. Modo 1 • # crsctl start crs Arrancar OHAS & Clusterware en un solo paso. Solo se puede en un nodo. [root@rac1 ~]# crsctl start crs CRS-4123: Oracle High Availability Services has been started. Modo 2 • # crsctl start has Arranca OHASD, cuando la infraestructura Grid es en un solo nodo, arranca Oracle Restart [root@rac1 ~]# crsctl start has CRS-4123: Oracle High Availability Services has been started. • crsctl start cluster [-all | -n server_name [...]] -all Arranca Clusterware en todos los nodos -n Arranca clusterware en un particular nodo [root@rac1 ~]# crsctl start cluster CRS-5702: El recurso ''ora.crsd'' ya se está ejecutado en ''rac1'' CRS-4000: Command Start failed, or completed with errors. Jose Alvarez Página: 1/8 Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM Parar Clusterware. Deben de ejecutarse como root 11gR2, podemos parar la “High Availability Service Daemon” (OHASD) y la pila de recursos del cluster en un solo paso. Modo 1 o en dos pasos Modo 2. En versiones anteriores solo Modo 1. Modo 1. La ventaja de crsctl stop cluster comparado con stop crs es que previene que se recoloquen algunos recursos del cluster a otros servidores antes de que el Clusterware esté parado en este servidor además permite parar en varios nodos a la vez, necesita que este arrancado ohas para ser ejecutado. • # crsctl stop crs. Para OHAS & Clusterware en un solo paso. Solo se puede en un nodo. [root@rac1 ~]# crsctl stop crs CRS-2791: Iniciando cierre de los recursos gestionados por los Servicios de Alta Disponibilidad de Oracle en 'rac1' CRS-2673: Intentando parar ''ora.crsd'' en ''rac1'' CRS-2790: Iniciando cierre de los recursos gestionados por Cluster Ready Services en 'rac1' # crsctl stop crs -all -f. Si falla en parar alguno de los procesos del cluster. Modo 2 • # crsctl stop cluster [-all | -n server_name [...]] -all Para Clusterware en todos los nodos -n Para clusterware en un particular nodo [root@rac1 ~]# crsctl stop cluster CRS-2673: Intentando parar ''ora.crsd'' en ''rac1'' CRS-2790: Iniciando cierre de los recursos gestionados por Cluster Ready Services en 'rac1' • # crsctl stop has Para OHASD, cuando la infraestructura Grid es en un solo nodo, para Oracle Restart [root@rac1 ~]# crsctl stop has CRS-2791: Iniciando cierre de los recursos gestionados por los Servicios de Alta Disponibilidad de Oracle en 'rac1' CRS-2673: Intentando parar ''ora.mdnsd'' en ''rac1'' CRS-2673: Intentando parar ''ora.gpnpd'' en ''rac1'' CRS-2673: Intentando parar ''ora.drivers.acfs'' en ''rac1'' CRS-2677: La parada de ''ora.gpnpd'' en ''rac1'' se ha realizado correctamente CRS-2673: Intentando parar ''ora.gipcd'' en ''rac1'' CRS-2677: La parada de ''ora.mdnsd'' en ''rac1'' se ha realizado correctamente CRS-2677: La parada de ''ora.drivers.acfs'' en ''rac1'' se ha realizado correctamente CRS-2677: La parada de ''ora.gipcd'' en ''rac1'' se ha realizado correctamente CRS-2793: Ha terminado el cierre de los recursos gestionados por los Servicios de Alta Disponibilidad de Oracle en 'rac1' CRS-4133: Oracle High Availability Services has been stopped. Habilitar y Deshabilitar el cluster y OHASD. Deben de ejecutarse como root • • • • # crsctl disable crs Deshabilitar Clusterware, para que no arranque con el servidor # crsctl enable crs Habilitar Clusterware para que arranque con el servidor # crsctl enable has Habilitar Oracle High Availability Services autostart # crsctl disable has Deshabilitar Oracle High Availability Services autostart Ver nodos del cluster • # olsnodes [oracle@rac1 ~]$ olsnodes -n rac1 1 rac2 2 -l nodo actual, -p prívate interconnect, -i vip’s ,-c Nombre del Cluster, -n Nombre con número de nodo. Jose Alvarez Página: 2/8 Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM Ver Configuración e instancias de la B.Datos RAC • • Database o [oracle@server3]$srvctl config database Instancias o [oracle@server]$srvctl config database –d RDB –a Gestión de Base de Datos, instancias, Servicios y aplicaciones de los nodos Comandos srvctl start instance -d <db_name> -i <inst_name> srvctl start database -d <db_name> srvctl stop database -d <db_name> srvctl stop instance -d <db_name> -i <inst_name> srvctl start service -d <db_name> -s <service_name> srvctl stop service -d <db_name> -s <service_name> srvctl status service -d <db_name> srvctl status instance -d <db_name> -i <inst_name> srvctl status database -d <db_name> srvctl start nodeapps -n <node_name> srvctl stop nodeapps -n <node_name> srvctl relocate service -d <db_name> -s <service_name> -i <old_inst_name> -t <new_inst_name> Verificar el Cluster • # crsctl check cluster -all [oracle@rac1 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online Chequear es estado de los daemons del Clusterware • # crsctl check crs Chequear todos [oracle@rac1 etc]$ crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online Chequear por separado: crsctl check cssd, crsctl check crsd, crsctl check evmd Arrancar un recurso de los procesos del Cluster en particular. • # crsctl start res ora.crsd -init [root@rac2 orarootagent_root]# crsctl start res ora.crsd -init CRS-2679: Attempting to clean 'ora.crsd' on 'rac2' CRS-2681: Clean of 'ora.crsd' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.crsd' on 'rac2' CRS-2676: Start of 'ora.crsd' on 'rac2' succeeded Verificar Voting Disk • # crsctl query css votedisk [oracle@rac1 ~]$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----------------------------- --------1. ONLINE 1e958a0440514f9ebf1a1e92bdf14065 (ORCL:DISK1) [DATA] Located 1 voting disk(s). Jose Alvarez Página: 3/8 Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM Voting Disk Mantenimiento • • # crsctl add css votedisk path Suma uno o más voting disk o restaurar uno perdido en un entorno no-ASM, se ejecuta como root Para sumar mas voting disk en ASM hay que cambiar la redundancia al grupo de discos. – 1 for external redundancy disk group – 3 for normal redundancy disk group – 5 for high redundancy disk group # crsctl replace votedisk +asm_disk_group Reemplazar un Voting Disk a ASM. [oracle@rac1 ~]$ crsctl replace votedisk +FRA Successful addition of voting disk 1a39aea9b5604ffebfc4efda23748073. Successful deletion of voting disk 1e958a0440514f9ebf1a1e92bdf14065. Successfully replaced voting disk group with +FRA. CRS-4266: Voting file(s) successfully replaced • # crsctl delete css votedisk path Borrar un Voting disk, se ejecuta como root Verificar OCR • # ocrcheck Verificar la configuración [oracle@rac1 etc]$ ocrcheck Status of Oracle Cluster Registry Version Total space (kbytes) Used space (kbytes) Available space (kbytes) ID Device/File Name is as follows : : 3 : 262120 : 2680 : 259440 : 760342817 : +DATA Device/File integrity check succeeded … Cluster registry integrity check succeeded Logical corruption check bypassed due to non-privileged user • # ocrdump Generar un dump con su contenido, se ejecuta como root. [root@rac1 ~]# ocrdump salida.txt OCR Mantenimiento. Ejecutar como root • # ocrconfig -add <filename> Sumar otro OCR, [root@rac1 ~]# ocrconfig -add +FRA • • # ocrconfig -replace /dev/sde1 -replacement +Daocrconfig TA Reemplazar de una ubicación a otra. # ocrconfig -delete <filename> Borrar un OCR. [root@rac1 ~]# ocrconfig -delete +FRA OLR Mantenimiento • • • • • Por Defecto, OLR esta en grid_home/cdata/hostname.olr. Gestionamos el OLR con ocrcheck, ocrdump, y ocrconfig con la opción -local. # ocrcheck -local Ver estatus del OLR # ocrdump -local -stdout Ver contenido del OLR # ocrconfig -local -export fichero Exportar el OLR # ocrconfig -local -import fichero importar a fichero # ocrconfig –local -repair olr fichero Modificar el fichero OLR Backup & Recovery Voting Disk • • Backup: Se hace backup automáticamente con cualquier cambio de la configuración del Cluster Recovery: Se recuperan al añadir uno nuevo, como root • No-ASM. # crsctl add css votedisk path_to_new_voting_disk Recupera añadiendo un voting disk. Jose Alvarez Página: 4/8 Oracle Clusterware, Restart & RAC • WWW.LAEQUIPA.COM ASM. # crsctl replace votedisk +asm_disk_group. Forma de añadir y recuperar en ASM. [root@rac1 ~]# crsctl replace votedisk +FRA Successful addition of voting disk 9858b2b388e54f50bf20a0ec1d68fd8f. Successful deletion of voting disk 645fe036e6ce4f94bff2e1fc6e0a905e. Successfully replaced voting disk group with +FRA. CRS-4266: Voting file(s) successfully replaced En 10g y 11g R1 se recupera con el comando dd de un backup anterior. Backup & Recovery OCR. Ejecutar como root • • • • • Se hace backup automáticamente, para ver los backups # ocrconfig -showbackup auto –Cada 4 horas: CRS mantiene las tres últimas copias. –Al final de cada día: CRS mantiene las dos últimas copias. –Al final de cada semana: CRS mantiene las dos últimas copias. [root@rac1 ~]# ocrconfig -showbackup auto rac2 2011/07/03 20:24:09 /u01/app/11.2.0/grid/cdata/rac-scan/backup00.ocr rac2 2011/06/30 21:51:37 /u01/app/11.2.0/grid/cdata/rac-scan/backup01.ocr Cambiar la ubicación del backup automático. # ocrconfig –backuploc <path to shared CFS or NFS> Backup Lógico: # ocrconfig -export <nombre_archivo> [root@rac1 ~]# ocrconfig -export /home/oracle/ocr.backup Backup Físico, como root. # ocrconfig -manualbackup [root@rac1 ~]# ocrconfig -manualbackup rac1 2011/07/08 11:43:55 /u01/app/11.2.0/grid/cdata/rac-scan/backup_20110708_114355.ocr [root@rac2 ~]# ocrconfig -showbackup manual rac1 2011/07/08 11:43:55 /u01/app/11.2.0/grid/cdata/rac-scan/backup_20110708_114355.ocr Recuperar Si hay mirror: o No-ASM. # ocrconfig –repair -ocr <OCR mirror> o ASM. # ocrconfig –repair -add <+Diskgroup> Debemos ejecutar este comando en el nodo que paremos el Clusterware. • Recuperación física: # ocrconfig –restore Como root 1. Localizar un backup físico. # ocrconfig –showbackup 2. Parar Oracle Clusterware en todos los nodos: # crsctl stop cluster -all 3. Stop Oracle High Availability Services en todos los nodos, ejecutar en cada nodo: # crsctl stop crs 4. Restaurar el OCR backup: # ocrconfig –restore /u01/app/.../cdata/cluster01/day.ocr 5. Arrancar Oracle High Availability Services en todos los nodos: # crsctl start crs 6. Chequear la integridad del OCR: • # cluvfy comp ocr -n all Recuperación Lógica: # ocrconfig -import. Como root, seguir los pasos anteriores. Red. • # oifcfg iflist -p -n Lista de interfaces disponibles en el Cluster [root@rac1 ~]# oifcfg iflist -p -n eth0 192.168.2.0 PRIVATE 255.255.255.0 eth1 192.168.0.0 PRIVATE 255.255.255.0 • # oifcfg getif Determinar la red pública y privada del Cluster [root@rac1 ~]# oifcfg getif eth0 192.168.2.0 global public eth1 192.168.0.0 global cluster_interconnect • # srvctl config nodeapps -a Determinar la VIP de cada host Jose Alvarez Página: 5/8 Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM [root@rac1 ~]# srvctl config nodeapps -a VIP exists.:rac1 VIP exists.: /rac1-vip/192.168.2.111/255.255.255.0/eth0 VIP exists.:rac2 VIP exists.: /rac2-vip/192.168.2.112/255.255.255.0/eth0 SCAN Resolución. Podemos configurarlo con: [ID 1188736.1] . DNS [ID 1107295.1] Necesitamos Configurar DNS server IPs: • Una pública IP por cada nodo. • Una local VIP por cada nodo. • Una privada IP por cada nodo (Interconnect) • SCAN IP para el SCAN LISTENER. Al menos una, máximo 3. Definir el SCAN utilizando '/etc/hosts/' Nota.- Oracle recomienda encarecidamente que no se configuren las direcciones de SCAN VIP en el archivo hosts. Si utiliza el archivo hosts para resolver el nombre de SCAN, sólo puede tener una dirección IP SCAN. Si el archivo de hosts se utiliza para resolver SCAN hostname, recibirá error de la utilidad Cluster Ver[root@rac1 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost # Public 192.168.2.101 rac1.localdomain rac1 192.168.2.102 rac2.localdomain rac2 #Private 192.168.0.101 rac1-priv.localdomain rac1-priv 192.168.0.102 rac2-priv.localdomain rac2-priv #Virtual 192.168.2.111 rac1-vip.localdomain rac1-vip 192.168.2.112 rac2-vip.localdomain rac2-vip # SCAN 192.168.2.201 rac-scan.localdomain rac-scan GNS [ID 946452.1] Necesitamos: • servicio DHCP ejecutándose en la red pública. • DHCP debe proporcionar una IP VIP por cada nodo. • 3 IP VIP para SCAN LISTENER. [root@my-dns-server ~]# cat /etc/named.conf // Default initial "Caching Only" name server configuration ... # Delegate to gns on cluster01 #cluster01.example.com #cluster sub-domain# NS cluster01-gns.example.com # Let the world know to go to the GNS vip #cluster01-gns.example.com. 192.0.2.155 # cluster GNS Address cluster01.nl.oracle.com NS gns.cluster01.nl.oracle.com gns.cluster01.nl.oracle.com. 10.161.102.55 • Ver la información del GNS. 11g R2 # dig scan.cluster01.nl.oracle.com Ver la información detallada del GNS y las ips asociadas: [root@dns-dhcp ~]# dig scan.cluster01.nl.oracle.com ; <<>> DiG 9.3.4-P1 <<>> scan.cluster01.nl.oracle.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46016 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 10, ADDITIONAL: 10 ;; QUESTION SECTION: ;scan.cluster01.nl.oracle.com. IN A ;; ANSWER SECTION: scan.cluster01.nl.oracle.com. 6 IN A 10.161.102.78 scan.cluster01.nl.oracle.com. 6 IN A 10.161.102.79 Jose Alvarez Página: 6/8 Oracle Clusterware, Restart & RAC scan.cluster01.nl.oracle.com. 6 IN … WWW.LAEQUIPA.COM A 10.161.102.77 Scan 11Gr2 [ID 887522.1] • # srvctl config scan_listener Ver la configuración de los 3 listener_scan • # srvctl config scan Ver las SCAN VIPs asociadas a los SCAN LISTENERS • • • • [root@rac1 ~]# srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 [root@rac1 ~]# srvctl config scan SCAN name: rac-scan, Network: 1/192.168.2.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /rac-scan.localdomain/192.168.2.201 # srvctl status scan_listener Ver el status de los 3 listener_scan # srvctl status scan Ver el status de las VIPs asociadas al SCAN # lsnrctl services LISTENER_SCAN2 Chequear que funciona el SCAN con EZCONNECT # Sqlplus hr/hr@cl5851-scan.cl5851.example.com/orcl.example.com Trazas y Diagnostico • • $CRS_HOME/log Clusterware Diagnostico de Clusterware. Contiene: o Clusterware alert. Ejemplo alertnodo1.log o Client - logfiles para aplicaciones OCR o Racg /racg/dump logfiles para aplicaciones de los nodos incluidas VIP y ONSCrsd /crs/log o Cssd /css/log o Evmd /evm/log $ORACLE_BASE/diag. De los recursos de Base de Datos y ASM. Contiene • Asm, clients, crs, diagtool, lsnrctl, netcman, ofm, rdbms, tnslsnr) • Fichero de alertas en varias formatos en:$ORACLE_BASE/diag/rdbms/ En versiones anteriores era: BACKGROUND_DUMP_DEST, USER_DUMP_DEST, ... Jose Alvarez Página: 7/8 Oracle Clusterware, Restart & RAC WWW.LAEQUIPA.COM Clusteware (Procesos) CRSD Ejecutado como root, Alta disponibilidad del Cluster o Racgeut. Matar acciones que no terminan después de un periodo determinado o Racgmdb. Gestionar la B.Datos o Racgchsn. Gestionar Servicios o Racgons. Configuración del ONS y OCR o Racgvip. Gestión de las VIPs o Racgwrap. script copiado en todos los bin de cada oracle_home de cada nodo para el control de los recursos con SRVCTL • EVMD Ejecutado como oracle, notificar eventos del cluster o Evmwatch –A –t “@timestamp @@” • OCSSD Ejecutado como oracle, controlar es estado entre nodos • OPROCD Ejecutado como root, detecta nodos congelados y los mata, sustituye al hacker_timer o Logging information en: /etc/oracle/oprocd/node.oprocd.log o 2 parametros especificados en /etc/init.d/init.cssd: –t: tiempo de chequeo. Defecto 1000 milisegundos –m:margen. Defecto 500 milisegundos OPROCS_DEFAULT_TIMEOUT=1000 OPROCD_DEFAULT_MARGIN=500 • OCLVMON. Monitorizar el cluster del Vendedor • OCLSOMON (10.2.0.2) Monitoriza el demonio CSS y puede reiniciar un nodo si percibe un cuelgue. En 11g R2 OPROC, OCLVMON, OCLSOMON no existen. • Jose Alvarez Página: 8/8