SlideShare una empresa de Scribd logo
1
RAC sin sorpresas – v2.0RAC sin sorpresas – v2.0
Ing. Nelson Calero, OCP
nelson.calero@gmail.com
@ncalerouy
12 Marzo 2014
2
Sobre mí
• http://www.linkedin.com/in/ncalero
• Ingeniero en Computación. OCP DBA 10g. Especializado en
performance y HA (MySQL / Cluster / Oracle / RAC)
• Trabajando con herramientas Oracle y entorno linux desde 1996
• DBA Oracle (desde 2001) & MySQL (desde 2005)
• Instructor de Oracle University desde 2011 (RAC, New features, ..)
• Co-fundador y Presidente del Grupo de Usuarios
Oracle de Uruguay (UYOUG) desde 2009
• Orador frecuente (Oracle OpenWorld Latinoamérica, Collaborate,
OTN Tour Uruguay/Argentina, JIAP, MySQL Argentina)
3
Oracle RAC sin sorpresas (v2.0)
Agenda
1 – Conceptos
2 – Desafíos al usar RAC
3 – Performance
4
Conceptos - Cluster
• Cluster: servidores interconectados que actuan como uno
solo
• Oracle RAC: varias instancias accediendo a una misma
base de datos
– Una instancia por servidor
– Solución basada en Shared storage
– Caché compartido entre servidores (global o fusion)
– Conexión de red privada entre servidores hasta 11.2.
• Flex clusters en 12c permite nodos sin conectividad privada (leaf)
– IP Virtual (evita timeouts TCP)
• BD, Listener y aplicaciones
– Mismo SO en todos los servidores
5
Conceptos - DR / HA
• Recuperación de desastres (DR) es la capacidad de
continuar operaciones usando contingencia
• Alta disponibilidad (HA) es la capacidad de recuperar
disponibilidad en un nivel de tiempo preestablecido
• HA necesita recursos: hardware y software
redundante, presupuesto, y muchas horas/hombre
para analizar, diseñar, implementar, testear, testear y
testear
• Disponibilidad de cinco nueves (99,999%) implica no
tener más de 5 minutos de caídas (sin operar) por
año. Este es un valor de HA
6
HA con Oracle: más que RAC
• Single instance: Restart, ASM, Flashback, RMAN,...
• Database + Clusterware (pre 11.2)
– RAC One Node (cold cluster failover) 11.2
• RAC
• RAC en clusters extendidos
• DataGuard
– Single y multiple standby
• Clusterware + DataGuard
• RAC One Node + DataGuard
• RAC + DataGuard
• Goldengate
http://docs.oracle.com/cd/E11882_01/server.112/e17157/architectures.htm
7
Oracle RAC
Historia
– Primera versión: en Oracle 9i (2001)
– Antes : OPS (desde Oracle v7)
Opción en Enterprise Edition (con costo) 
– Sin límite de CPUs
Gratis en Standard Edition:
– Máximo de 4 CPU/sockets en cluster
– ASM y Oracle Clusterware obligatorios
Soporta servidores virtualizados
– Templates disponibles para OVM (DB 11.2/12.1)
– http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html
8
Arquitectura - Oracle RAC
Red pública
Usuarios
SAN Network
Red privada
(Interconnect)
Instancias de la
base de datos
en cluster
Discos
Shared cache
9
RAC - Fortalezas
• Alta disponibilidad (HA): a fallas de nodos e instancias
• Escalabilidad: se pueden agregar nodos a demanda para soportar
mayor carga mantiendo performance (scale-out)
• Gestión de carga automático mediante servicios
• Tecnología madura, desde 2001 con 9i
• Stack completo de componentes del mismo proveedor: SO (OEL),
Filesystem (ACFS), gestión de volúmenes (ASM),
memebresía/cluster (Clusterware)
• ¿HA y escalabilidad automática? No. Depende de:
– Hardware (equipos + lan + interconnect + energía + ...)
– OS – gestión de recursos y concurrencia
– DBMS – arquitectura
– Aplicación – cuellos de botella
10
RAC - Debilidades
• Complejidad – gestión, patching, upgrades, migraciones
• Costo
• Se deben hacer cambios (menores) en aplicativos para
aprovechar funcionalidades (TAF / FAN)
– Application Continuity en 12c mejora esto
• NO ES solución para recuperación de desastres
• NO ES solución mágica para aplicativos con problemas de
performance
11
Escalabildad RAC/SMP
Diagrama tomado de la documentación oficial
Procesamiento paralelo : symmetric multiprocessor (SMP)
12
Escalabilidad RAC
Por diseño del RAC, si una aplicación escala en
SMP, escala en RAC sin cambiar el código
http://docs.oracle.com/cd/E16655_01/rac.121/e17887/design.htm#CACDEEDB
Esto quiere decir :
– los problemas existentes en single-instance son
amplificados en RAC
– la capacidad de procesamiento del sistema completo
es mayor, aunque no sea más performante una
operación individual
– permite más usuarios con la misma performance. No
mejora performance con los mismos usuarios
13
Conceptos de paralelismo en RAC
• Scaleup: mejora en performance cuando
aumentan recursos (y carga)
S = Volumen paralelo / Volumen serial
• Speedup: mejora en tiempos de ejecución
agregando servidores
S = Tiempo secuencial / Tiempo paralelo
• No se logra speedup con carga OLTP
14
Ley de Amdhal S =
http://en.wikipedia.org/wiki/File:AmdahlsLaw.svg
15
Arquitectura RAC
Diagrama tomado de la documentación oficial
16
Arquitectura - Componentes
Software en cada Nodo (varios ORACLE_HOME):
– Instancia
– Clusterware y ASM = Grid Infrastructure
• Antes de 11.2 en homes separados
Además :
– conexión de alta velocidad entre nodos en una red
separada/privada (solo para nodos hub en 12c)
– Storage compartido (soporta: NFS, iSCSI, DAS, SAN, NAS)
• Caché global (o fusion/coherence) es la funcionalidad clave
17
Oracle RAC - archivos
• Compartidos entre instancias (globales)
– Datos, controlfile, init
• Únicos por instancia (en storage)
– undo, redo, temp
• No compartidos (locales a cada nodo)
– Logs, traces, audit ($ORACLE_BASE/admin en 10.2,
DIAGNOSTIC_BASE desde 11)
18
Storage compartido
• Obligatorio para datafiles
• Soporta:
– Cluster file system
• OCFS2 de Oracle, gratis y open source (GPL)
• ACFS publica acceso a volúmenes ASM
– Automatic Storage Management (ASM) -
recomendado
• Distribuye datos entre discos (balanceo)
• Redundancia opcional (mirroring)
– Raw volumes (para fibra o iSCSI) hasta 11.2
19
Oracle RAC - ASM
• Fin del diseño manual de dispositivos buscando
performance (cilindros externos separados de los
internos, esquemas de raid)
• Funcionalidades:
– Cluster file system (ACFS) / gestión de volúmenes
– Striping
– Balanceo
– Mirroring
– Operaciones online
20
“Oracle Database 11gR2 High Availability”, Oracle Press
21
Oracle RAC - procesos
QUIZ :
¿Cuantos procesos background tiene Oracle?
(Instancia + RAC + opciones)
22
Oracle 11.2
92 procesos background
(Instancia + RAC + opciones)
http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm
Oracle 12.1
108 procesos background
http://docs.oracle.com/cd/E16655_01/server.121/e17615/bgprocesses.htm
Oracle RAC - procesos
23
Clusterware Stack
La arquitectura de procesos y el inicio cambió entre versiones:
10g) tres daemons (lanzados mediante inittab)
– CSSD, CRSD (root) y EVMD
11.2) dos stacks (lanzados por OHASD mediante inittab)
– Oracle High Availability Service Daemon (OHASD)
• Gestiona procesos low level
– Cluster Ready Services Daemon (CRSD)
• Gestiona recursos high level (database)
24
Oracle RAC - Clusterware
Funcionalidades
• Capa segura de comuncación entre nodos
• Gestión de recursos globales
– IP, DB, listener, servicios, nodeapps
– Failover automático de recursos
• Fencing de nodos para garantizar consistencia
(eviction) quitando nodos con vista incompleta del
cluster (evita split-brain)
– Implementa variante de STONITH (shoot the other node in
the head): reinico lo hace el mismo nodo aislado
– Necesita número impar de voting disks para decidir
25
Oracle RAC - Clusterware
Componentes:
– Voting disk: estado actual de membresía de nodos (ocssd)
• Mecanismo de heartbeat secundario (además de la red)
• Gestionado con el comando crsctl
– Registry (OCR): metadata de recursos del cluster
• Configuración para el proceso CRSD
• Definido en /etc/oracle/ocr.loc, gestionado con ocrconfig
• Respaldo automático cada cuatro horas en un nodo
– $GI_HOME/cdata/<cluster>
– Oracle Local Registry (OLR) – desde 11.2 : metadata para nodo local
• Gestionado con OHASD, no compartido con otros nodos
26
Clusterware heartbeats
RED Pública
CSS
Nodo2
CSS
Nodo1
CSS
Nodo3
Interconnect
RED Privada
RED SAN
DiskTimeout
def. 200 seg.
Voting Disk
CSS_MISSCOUNT
def. 30 seg.
RED Pública
27
Node Eviction
• Soporte de Intelligent Platform Management Interface (IPMI)
para reinicio remoto de nodos (desde 11.2)
– Necesita hardware adicional
• Antes de 11.2.0.2, fencing = reinicio de nodo
• Desde 11.2.0.2, se intenta reiniciar el cluster, en este orden
– Mata procesos que realizan I/O (dbwr, logwr)
– Detiene el cluster
– OHASD reinicia el cluster
– Si alguno de los pasos anteriores falla, el node se reinicia
28
Oracle RAC – caché global
GRD
Master
GRD
Master
LMSx
LMON
Cache
LCK0
DIAG
Nodo2
Instancia 2
Global Resource
Directory (GRD)
Global Cache
Services (GCS)
Global Enqueue
Services (GES)
LMSx
LMON
Cache
LCK0
DIAG
Nodo1
Instancia 1
Cache
Fusion
Interconnect
Recursos
Globales
RAC Cluster
29
Tiempos de acceso
Mutex lock/unlock 25 ns
Main memory reference 100 ns
Send 2K bytes over 1 Gbps network 20,000 ns
Read 1 MB sequentially from memory 250,000 ns
Round trip within same datacenter 500,000 ns
Disk seek 10,000,000 ns
Read 1 MB sequentially from disk 20,000,000 ns
• Jeff Dean – Google - 'Numbers Everyone Should Know'
30
Overhead del caché global
Desglose del tiempo total para obtener un
bloque del caché:
CPU : buscar bloque en cache local
CPU : identificar el master
CPU : pedir el bloque a la red
RED : transferir el bloque
RED : latencia
CPU : recibir el bloque
CPU : crear imagen consistente
31
Oracle RAC – caché global
• Tener presente que no sólo la saturación del
interconect afecta la performane del cache global,
también lo hace la ocupación de CPU
Corolario: uso excesivo de CPU en un nodo puede
afectar la performance del resto
• Operaciones de reconfiguración, por uso excesivo
(afinidad) o por fallas (instancia o nodo), generan
contención (proceso GRD)
32
Oracle RAC – más detalles
• Uso de servicios y resource manager
• Balanceo de carga (cliente y servidor)
• Impacto de cambios en servicios
– Transparent Application Failover (TAF)
– Fast Application Notification (FAN)
• Cambios en 11g y 12c (ver más adelante)
• Tareas administrativas (respaldos, tuning,...)
• Troubleshooting
33
SCAN Listeners
Instancia
CRM1
SCAN
Listener1
Instancia
CRM2
SCAN
Listener2
Local
Listener
Local
Listener
1
2 3
4
Client
Connect
user:@scan:1521/crm
Instancia
CRM3
Local
Listener
Instancia
CRM4
Local
Listener
Instancia
CRM5
Local
Listener
SCAN
Listener3
scan=
SCAN VIP1
SCAN VIP2
SCAN VIP3
listener_rac4
CRM
34
Server connection load balancing
PMON
CRM1
instancia
PMON
SCAN
Listener1
CRM2
instancia
SCAN
Listener2
Local
Listener
Local
Listener
Nodo2
Nodo1
CRM
2
1
1
3
4
5
6
User
Process
DNS
Client
Connect
user:@scan:1521/crm
35
Cambios en 11g
• ASM y CW en un solo home (Grid Infrastructure)
• patchset son instalaciones completas (11.2.0.2)
• Server pools
• Scan listener
• Nueva arquitectura de procesos
–nuevos procesos (GPnP, GNS, ...)
–Fencing sin restart de nodos
–OCR y Voting disk en ASM (11.2)
–OLR
–Clusterware para single instance (Restart)
• Quality of service management (QoS)- analiza carga y cambia asignación de
servicios a consumer groups (resource manager)
• Nuevos sabores: RAC One node
36
Cambios en 12c
• cloudFS
• cambio de licencia en Clusterware (gratis con cualquier licencia Oracle)
• CW: flex cluster y application cluster
– hub nodes y leaf nodes (sin acceso directo al storage, lo hacen a traves
de hubs)
• flex ASM
• ACFS: soporta archivos de la base RAC, Oracle home's y backupsets
• Funcionalidad RAC aplication continuity (AC): repite en otra instancia
transacciones en ejecución cuando hay fallas en instancia o sesión. Usa
Transaction Guard, nuevo en 12c.
• SCAN listener: soporta IPv6, multiple subnets en el cluster y restringir
servicios que se registran.
• QoS no requiere licencia extra
37
Oracle RAC sin sorpresas (v2.0)
Agenda
1 – Conceptos
2 – Desafíos al usar RAC
3 – Performance
38
2 - Desafíos
Infraestructura
– Muchos componentes nuevos (elección, diseño
de arquitectura, capacity planning)
Gente
– Preparación inicial y constante
– Dimensionar adecuadamente los grupos
– Desarrollo y Soporte
Gestión
– Incluye áreas antes bien separadas
(sysadmin /dba)
39
¿Recomendaciones?
Muchas
– Diseño de la arquitectura (capacidad, HA/DR, instalación)
– Caminos para migración inicial
– Diseño de aplicativo
– Gestión de carga
– Tuning
– Gestión de cambios (parches de Oracle y aplicativos)
– Validaciones periódicas de procedimientos de HA/DR
Fuentes
– Soporte Oracle (ex Metalink) – único oficial
– Oracleracsig : grupo de usuarios interesados en RAC (Special
Interest Group)
– Comunidad – Rac Attack, blogs
40
¿Recomendaciones?
• Oracle Validated Configurations
http://www.oracle.com/technetwork/server-storage/linux/validated-configurations-085828.html
• Notas para instalación y soporte :
– RAC and Oracle Clusterware Best Practices and Starter Kit
(Platform Independent) (Doc ID 810394.1)
– Master Note for Real Application Clusters (RAC) Oracle
Clusterware and Oracle Grid Infrastructure [Article ID 1096952.1]
– Top 5 Database and/or Instance Performance Issues in RAC
Environment (Doc ID 1373500.1)
– Top 5 RAC Instance Crash Issues (Doc ID 1375405.1)
– Top 3 RAC Database/Instance Hang Issues (Doc ID 1389520.1)
– ...
41
2 - Desafíos
Adoptar metodología que permita dar garantías en:
– tiempos de respuesta
– alta disponibilidad
Contar con grupo interdisciplinario enfocado en ambos
temas, que conozca toda la solución : aplicativo y
plataforma
MAA: Se estima esfuerzo de 20 personas por año
http://www.oracle.com/us/technologies/026963.pdf, pág. 12
42
¿Migrar a RAC?
Implica :
– Objetivos claros : ¿HA, escalabilidad, performance?
– Buena preparación de los técnicos involucrados
(desarrollo y administración)
– Cronograma realista
– Mucho testing (inicial y evolutivo)
Existen muchas guías y recomendaciones, pero
pocas referencias de fracasos y sus motivos.
43
Instalaciones conocidas
• Oracle : 30+ clientes con 6 nodos
• Amazon (16 nodos en 2010)
• Mercadolibre (10 nodos en 2010)
• Uruguay: 2 / 3 nodos
• Casos de estudio
http://www.oracle.com/technetwork/database/features/ha-casestudies-098033.html
44
Herramientas
Administración
 CLI : crs_ctl, srvctl, asmcmd, ..
 Grid control
Tuning
 Automatic Workload Repository (AWR) / statspack
 ADDM
 Grid control
 Cluster Health Monitor (CHM) - integrado en 11.2.0.2
 Support Tools Bundle - nota 1594347.1
45
Oracle RAC sin sorpresas (v2.0)
Agenda
1 – Conceptos
2 – Desafíos al usar RAC
3 – Performance
46
3 – performance
• Tuning : Mismo enfoque que single-instance
– Monitorear
– Identificar las esperas/consumidores mayores
– Mejorar y comenzar de nuevo
• Oracle Enterprise Manager Grid control sirve, pero en
algunos casos se necesita más información :
– Trace 10053 (CBO)
– dbms_xplan.display_cursor
– ASH
• Nuevos wait-events
47
Tuning – Wait events
• Pedir un bloque del cache global puede esperar por
respuesta de otra instancia: Cluster Wait Class
– Evento genérico mientras se espera:
• gc [current|cr] block request
– Después del pedido:
• gc [current|cr] block [2|3]-way
• gc [current|cr] block busy
• gc [current|cr] grant 2-way
• gc current grant busy
• gc [current|cr] [block|grant] congested
• gc [current|cr] [failure|retry]
• gc buffer busy
http://docs.oracle.com/cd/E11882_01/rac.112/e16795/monitor.htm#CFAHDADB
48
• Ejemplo de contención en select .. for update
Row-lock contention
49
Ejemplos de problemas específicos de RAC
• uso excesivo de cpu afecta respuesta de procesos como LMS (lock manager), lo
que puede generar eviction si no responde a tiempo los mensajes de heartbeat.
• procesos batch sin buen particionamiento de datos pueden generar contención
(locks clásicos o waits del cluster).
• uso de claves primarias autoincrementales de forma global (secuencias, fechas)
genera contención al insertar (eventos 'enq : TX – index contention', 'gc buffer
busy ..' y otros).
• sentencias como DROP y TRUNCATE generan checkpoint de la tabla e índices,
obligando a sincronización del caché y locks globales.
• commits muy frecuentes recargan el proceso LGWR, lo que agrega esperas al
proceso LMS que a veces lo necesita para mantener consistencia.
• sentencias DDL invalidan SQL parseados sobre objetos, que se sincroniza en el
caché global.
Problemas conocidos
50
Soluciones
✔ reescribir select for update usando condiciones más reestrictivas
✔ aumentar valor de cache de SEQUENCES
✔ particionar tablas e índices (afinidad en caché global es por segmento)
✔ modificar PCTFREE para tablas chicas con muchos accesos
✔ minimizar uso de sentencias DDL en horarios de mucha concurrencia
✔ usar índices reversos en casos de PK incrementales siempre que no
se necesite range scan frecuentes.
✔ Particionar índices por HASH cuando se necesiten range scan
✔ Evitar autocommit en aplicaciones y usar commit por transacción, no
por sentencia
Consejos
51
Consejos clásicos, pero que ahora impactan más :
● reducir hard parsing (punto de serialización global)
● controlar la combinación de histogramas con bind-peeking en 10g
● reducir generación de redo (p.ej : evitando update *)
● minimizar generación de undo (p.ej : borrar índices no usados)
● comprimir datos. Ej:
● usar D o E en lugar de DISABLED o ENABLED
● permitir valores nulls en columnas (NULL/S en lugar de N/S)
● evitar full table scan no necesarios (optimizado en 11.2)
Consejos
52
¿Preguntas?
nelson.calero@gmail.com
@ncalerouy
53
Referencias
• Document ID 810394.1 RAC Assurance Support Team: RAC and Oracle
Clusterware Starter Kit and Best Practices (Generic)
• Document ID 220970.1 RAC: Frequently Asked Questions
• Document ID 1187723.1 Master Note for Automatic Storage
Management (ASM)
• Document ID 1053147.1 11gR2 Clusterware and Grid Home - What You
Need to Know
• Document ID 790189.1 Oracle Clusterware and Application Failover
Management
• Document ID 422893.1 11g Understanding Automatic Diagnostic
Repository
• Document ID 787420.1 Cluster Interconnect in Oracle 10g and 11g
• Oracle RAC SIG: http://www.oracleracsig.org
• Oracle RAC 12c
http://www.oracle.com/technetwork/database/options/clustering/rac-wp-12c-1896129.pdf
54
Referencias
• RAC Attack
http://en.wikibooks.org/wiki/RAC_Attack_-_Oracle_Cluster_Database_at_Home/RAC_Attack_12c
• SCAN Listeners
http://www.oracle.com/technetwork/products/clustering/overview/scan-129069.pdf
• QoS
http://www.oracle.com/technetwork/products/clustering/overview/qosmanageent-
508184.html
• Application continuity (12c)
http://www.oracle.com/technetwork/products/clustering/ac-overview-1967264.html
• Supported Virtualization and Partitioning Technologies for Oracle
Database and RAC Product Releases
http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html
• How to Deploy a Four-Node Oracle RAC 12c Cluster in Minutes - Using
Oracle VM Templates
http://www.oracle.com/technetwork/systems/hands-on-labs/deploy-rac-ovm-cluster-2101019.html
• Oracle Database Upgrade blog
https://blogs.oracle.com/UPGRADE/

Más contenido relacionado

DOCX
TAREAS DE LA ING. DE REQUISITOS
DOCX
Estándares para el Modelado de Procesos de Negocios
PPTX
Comparativa sgbd comercial vs libre
PDF
Concepto y extensiones de negocio de Eriksson Penker
PPTX
Sistemas Operativos - Semáforos
PDF
Prolog ejercicios resueltos
PPT
diseño lógico y diseño físico
PDF
Postgre sql
TAREAS DE LA ING. DE REQUISITOS
Estándares para el Modelado de Procesos de Negocios
Comparativa sgbd comercial vs libre
Concepto y extensiones de negocio de Eriksson Penker
Sistemas Operativos - Semáforos
Prolog ejercicios resueltos
diseño lógico y diseño físico
Postgre sql

La actualidad más candente (20)

PPT
PPTX
Expresiones regulares
PPTX
Herramientas case
PPTX
Métodos para la detección y corrección de errores
PPTX
Norma IEEE 802.10
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
PPTX
Fundamentos de Telecomunicaciones - Unidad 3 modulacion
PPTX
Taller de Base de datos - Unidad 1 SGBD introduccion
DOCX
Mapa conceptual sobre
PPTX
1. Metodologia PPDIOO.pptx
PPTX
descarga e instalación de cassandra nosql
PPTX
Administración de transacciones, problemas, candados e interbloqueos
PPTX
Ventajas y desventajas de los servidores apache y IIS
PPTX
Métodos de programación no lineal
PPTX
Administración de procesos y del procesador
PDF
Cifrado elgamal
PPTX
Tipos de gramatica y arboles de derivacion
PPTX
Procedimientos almacenados
Expresiones regulares
Herramientas case
Métodos para la detección y corrección de errores
Norma IEEE 802.10
Alfabetos-Lenguajes y Automatas 1
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Fundamentos de Telecomunicaciones - Unidad 3 modulacion
Taller de Base de datos - Unidad 1 SGBD introduccion
Mapa conceptual sobre
1. Metodologia PPDIOO.pptx
descarga e instalación de cassandra nosql
Administración de transacciones, problemas, candados e interbloqueos
Ventajas y desventajas de los servidores apache y IIS
Métodos de programación no lineal
Administración de procesos y del procesador
Cifrado elgamal
Tipos de gramatica y arboles de derivacion
Procedimientos almacenados
Publicidad

Destacado (20)

DOCX
Oracle rac
PDF
Consiga Alta Disponibilidad con Oracle Database 11g R2
PDF
Introduction to Oracle Clusterware 12c
PDF
Los Secretos Mas Guardados del Proceso de Actualización a Oracle 11g
PDF
Curso de-oracle-plsql by-priale
DOC
Curso automaquillaje
PDF
Taller de automaquillaje
PPTX
Clonación de base de datos oracle con rman
PPTX
Preparando el entorno de Red de Oracle Database 11gZ052 06
ODP
Grecia_antigua
PPTX
Preparación certificaciones oracle 11g
PDF
Ventajas y beneficios de oracle database 12c el manejo de datos en la 3era pl...
PDF
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
PPTX
Arquitectura de Oracle 11g r2
PPSX
Administracion de Base de Datos Oracle
PPT
PDF
El arte del maquillaje paso a paso tomo 1
PPT
Auto maquillaje
PDF
Oracle Enterprise Manager
Oracle rac
Consiga Alta Disponibilidad con Oracle Database 11g R2
Introduction to Oracle Clusterware 12c
Los Secretos Mas Guardados del Proceso de Actualización a Oracle 11g
Curso de-oracle-plsql by-priale
Curso automaquillaje
Taller de automaquillaje
Clonación de base de datos oracle con rman
Preparando el entorno de Red de Oracle Database 11gZ052 06
Grecia_antigua
Preparación certificaciones oracle 11g
Ventajas y beneficios de oracle database 12c el manejo de datos en la 3era pl...
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Arquitectura de Oracle 11g r2
Administracion de Base de Datos Oracle
El arte del maquillaje paso a paso tomo 1
Auto maquillaje
Oracle Enterprise Manager
Publicidad

Similar a Oracle RAC sin sorpresas - v2014 (20)

PDF
UYOUG OTN Tour 2011 - RAC sin sorpresas
PPTX
Oracle Real Application Cluster (RAC)
PDF
UYOUG 2012 - Oracle RAC 11gR2 - New features
PPT
infraestructuraRACenSITE DE EMPRESAS.ppt
PPT
Oracle en windows
DOCX
Motores bases de datos jd
PDF
Oracle Clusterware 12c
PDF
Avances Clusterware en Oracle 11g Release 2
PDF
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
PDF
Reinicio automático de Oracle Database (Oracle Restart)
DOCX
Analisis Comparativo
PPTX
Fundamentos de administracion_oracle_10g
 
PDF
2012 2006.Resumen.Trabajos
PDF
Abf leccion 02
PDF
clusttutorial de cluster para los amigos
PPTX
Bases de datos
DOCX
Sercicios web
PDF
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
PDF
ENTERPRISE MANAGER DE LA BASE DE DATOS ORACLE VERSIÓN 11G
PPT
Ciclo de Ponencias: Características de Oracle 11g.
UYOUG OTN Tour 2011 - RAC sin sorpresas
Oracle Real Application Cluster (RAC)
UYOUG 2012 - Oracle RAC 11gR2 - New features
infraestructuraRACenSITE DE EMPRESAS.ppt
Oracle en windows
Motores bases de datos jd
Oracle Clusterware 12c
Avances Clusterware en Oracle 11g Release 2
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Reinicio automático de Oracle Database (Oracle Restart)
Analisis Comparativo
Fundamentos de administracion_oracle_10g
 
2012 2006.Resumen.Trabajos
Abf leccion 02
clusttutorial de cluster para los amigos
Bases de datos
Sercicios web
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
ENTERPRISE MANAGER DE LA BASE DE DATOS ORACLE VERSIÓN 11G
Ciclo de Ponencias: Características de Oracle 11g.

Más de Nelson Calero (20)

PDF
Database automation guide - Oracle Community Tour LATAM 2023
PDF
Terraform Tips and Tricks - LAOUC 2022
PDF
Oracle on kubernetes 101 - Dec/2021
PDF
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
PDF
Oracle Exadata Cloud Services guide from practical experience - OOW19
PDF
Automate your oracle cloud infrastructure operations v2.0 - OOW19
PDF
Automate the operation of your Oracle Cloud infrastructure v2.0
PDF
SSL certificates in the Oracle Database without surprises
PDF
Practical guide to Oracle Virtual environments
PDF
Automate your Oracle Cloud Infrastructure operation
PDF
Welcome to databases in the Cloud
PDF
Redefining tables online without surprises
PPTX
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
PDF
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
PDF
My Experience Using Oracle SQL Plan Baselines 11g/12c
PDF
Alta disponibilidad con Pacemaker
PDF
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
PDF
MariaDB y FOSS en infraestructura de salud y estándares
PDF
Collaborate 2012 - Administering MySQL for Oracle DBAs
PDF
Collaborate 2012 - RMAN Eliminate the mystery
Database automation guide - Oracle Community Tour LATAM 2023
Terraform Tips and Tricks - LAOUC 2022
Oracle on kubernetes 101 - Dec/2021
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Oracle Exadata Cloud Services guide from practical experience - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate the operation of your Oracle Cloud infrastructure v2.0
SSL certificates in the Oracle Database without surprises
Practical guide to Oracle Virtual environments
Automate your Oracle Cloud Infrastructure operation
Welcome to databases in the Cloud
Redefining tables online without surprises
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
My Experience Using Oracle SQL Plan Baselines 11g/12c
Alta disponibilidad con Pacemaker
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
MariaDB y FOSS en infraestructura de salud y estándares
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - RMAN Eliminate the mystery

Último (20)

PPT
Que son las redes de computadores y sus partes
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
clase auditoria informatica 2025.........
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Que son las redes de computadores y sus partes
introduccion a las_web en el 2025_mejoras.ppt
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Las nuevas tecnologías en la salud - enfermería técnica.
Calidad desde el Docente y la mejora continua .pdf
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Trabajo colaborativo Grupo #2.docxmmuhhlk
historia_web de la creacion de un navegador_presentacion.pptx
Estrategia de apoyo tecnología grado 9-3
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Presentación PASANTIAS AuditorioOO..pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
clase auditoria informatica 2025.........
Influencia-del-uso-de-redes-sociales.pdf
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
Maste clas de estructura metálica y arquitectura
Yogurt de tocosh (1).pptx preparacion receta
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad

Oracle RAC sin sorpresas - v2014

  • 1. 1 RAC sin sorpresas – v2.0RAC sin sorpresas – v2.0 Ing. Nelson Calero, OCP nelson.calero@gmail.com @ncalerouy 12 Marzo 2014
  • 2. 2 Sobre mí • http://www.linkedin.com/in/ncalero • Ingeniero en Computación. OCP DBA 10g. Especializado en performance y HA (MySQL / Cluster / Oracle / RAC) • Trabajando con herramientas Oracle y entorno linux desde 1996 • DBA Oracle (desde 2001) & MySQL (desde 2005) • Instructor de Oracle University desde 2011 (RAC, New features, ..) • Co-fundador y Presidente del Grupo de Usuarios Oracle de Uruguay (UYOUG) desde 2009 • Orador frecuente (Oracle OpenWorld Latinoamérica, Collaborate, OTN Tour Uruguay/Argentina, JIAP, MySQL Argentina)
  • 3. 3 Oracle RAC sin sorpresas (v2.0) Agenda 1 – Conceptos 2 – Desafíos al usar RAC 3 – Performance
  • 4. 4 Conceptos - Cluster • Cluster: servidores interconectados que actuan como uno solo • Oracle RAC: varias instancias accediendo a una misma base de datos – Una instancia por servidor – Solución basada en Shared storage – Caché compartido entre servidores (global o fusion) – Conexión de red privada entre servidores hasta 11.2. • Flex clusters en 12c permite nodos sin conectividad privada (leaf) – IP Virtual (evita timeouts TCP) • BD, Listener y aplicaciones – Mismo SO en todos los servidores
  • 5. 5 Conceptos - DR / HA • Recuperación de desastres (DR) es la capacidad de continuar operaciones usando contingencia • Alta disponibilidad (HA) es la capacidad de recuperar disponibilidad en un nivel de tiempo preestablecido • HA necesita recursos: hardware y software redundante, presupuesto, y muchas horas/hombre para analizar, diseñar, implementar, testear, testear y testear • Disponibilidad de cinco nueves (99,999%) implica no tener más de 5 minutos de caídas (sin operar) por año. Este es un valor de HA
  • 6. 6 HA con Oracle: más que RAC • Single instance: Restart, ASM, Flashback, RMAN,... • Database + Clusterware (pre 11.2) – RAC One Node (cold cluster failover) 11.2 • RAC • RAC en clusters extendidos • DataGuard – Single y multiple standby • Clusterware + DataGuard • RAC One Node + DataGuard • RAC + DataGuard • Goldengate http://docs.oracle.com/cd/E11882_01/server.112/e17157/architectures.htm
  • 7. 7 Oracle RAC Historia – Primera versión: en Oracle 9i (2001) – Antes : OPS (desde Oracle v7) Opción en Enterprise Edition (con costo)  – Sin límite de CPUs Gratis en Standard Edition: – Máximo de 4 CPU/sockets en cluster – ASM y Oracle Clusterware obligatorios Soporta servidores virtualizados – Templates disponibles para OVM (DB 11.2/12.1) – http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html
  • 8. 8 Arquitectura - Oracle RAC Red pública Usuarios SAN Network Red privada (Interconnect) Instancias de la base de datos en cluster Discos Shared cache
  • 9. 9 RAC - Fortalezas • Alta disponibilidad (HA): a fallas de nodos e instancias • Escalabilidad: se pueden agregar nodos a demanda para soportar mayor carga mantiendo performance (scale-out) • Gestión de carga automático mediante servicios • Tecnología madura, desde 2001 con 9i • Stack completo de componentes del mismo proveedor: SO (OEL), Filesystem (ACFS), gestión de volúmenes (ASM), memebresía/cluster (Clusterware) • ¿HA y escalabilidad automática? No. Depende de: – Hardware (equipos + lan + interconnect + energía + ...) – OS – gestión de recursos y concurrencia – DBMS – arquitectura – Aplicación – cuellos de botella
  • 10. 10 RAC - Debilidades • Complejidad – gestión, patching, upgrades, migraciones • Costo • Se deben hacer cambios (menores) en aplicativos para aprovechar funcionalidades (TAF / FAN) – Application Continuity en 12c mejora esto • NO ES solución para recuperación de desastres • NO ES solución mágica para aplicativos con problemas de performance
  • 11. 11 Escalabildad RAC/SMP Diagrama tomado de la documentación oficial Procesamiento paralelo : symmetric multiprocessor (SMP)
  • 12. 12 Escalabilidad RAC Por diseño del RAC, si una aplicación escala en SMP, escala en RAC sin cambiar el código http://docs.oracle.com/cd/E16655_01/rac.121/e17887/design.htm#CACDEEDB Esto quiere decir : – los problemas existentes en single-instance son amplificados en RAC – la capacidad de procesamiento del sistema completo es mayor, aunque no sea más performante una operación individual – permite más usuarios con la misma performance. No mejora performance con los mismos usuarios
  • 13. 13 Conceptos de paralelismo en RAC • Scaleup: mejora en performance cuando aumentan recursos (y carga) S = Volumen paralelo / Volumen serial • Speedup: mejora en tiempos de ejecución agregando servidores S = Tiempo secuencial / Tiempo paralelo • No se logra speedup con carga OLTP
  • 14. 14 Ley de Amdhal S = http://en.wikipedia.org/wiki/File:AmdahlsLaw.svg
  • 15. 15 Arquitectura RAC Diagrama tomado de la documentación oficial
  • 16. 16 Arquitectura - Componentes Software en cada Nodo (varios ORACLE_HOME): – Instancia – Clusterware y ASM = Grid Infrastructure • Antes de 11.2 en homes separados Además : – conexión de alta velocidad entre nodos en una red separada/privada (solo para nodos hub en 12c) – Storage compartido (soporta: NFS, iSCSI, DAS, SAN, NAS) • Caché global (o fusion/coherence) es la funcionalidad clave
  • 17. 17 Oracle RAC - archivos • Compartidos entre instancias (globales) – Datos, controlfile, init • Únicos por instancia (en storage) – undo, redo, temp • No compartidos (locales a cada nodo) – Logs, traces, audit ($ORACLE_BASE/admin en 10.2, DIAGNOSTIC_BASE desde 11)
  • 18. 18 Storage compartido • Obligatorio para datafiles • Soporta: – Cluster file system • OCFS2 de Oracle, gratis y open source (GPL) • ACFS publica acceso a volúmenes ASM – Automatic Storage Management (ASM) - recomendado • Distribuye datos entre discos (balanceo) • Redundancia opcional (mirroring) – Raw volumes (para fibra o iSCSI) hasta 11.2
  • 19. 19 Oracle RAC - ASM • Fin del diseño manual de dispositivos buscando performance (cilindros externos separados de los internos, esquemas de raid) • Funcionalidades: – Cluster file system (ACFS) / gestión de volúmenes – Striping – Balanceo – Mirroring – Operaciones online
  • 20. 20 “Oracle Database 11gR2 High Availability”, Oracle Press
  • 21. 21 Oracle RAC - procesos QUIZ : ¿Cuantos procesos background tiene Oracle? (Instancia + RAC + opciones)
  • 22. 22 Oracle 11.2 92 procesos background (Instancia + RAC + opciones) http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm Oracle 12.1 108 procesos background http://docs.oracle.com/cd/E16655_01/server.121/e17615/bgprocesses.htm Oracle RAC - procesos
  • 23. 23 Clusterware Stack La arquitectura de procesos y el inicio cambió entre versiones: 10g) tres daemons (lanzados mediante inittab) – CSSD, CRSD (root) y EVMD 11.2) dos stacks (lanzados por OHASD mediante inittab) – Oracle High Availability Service Daemon (OHASD) • Gestiona procesos low level – Cluster Ready Services Daemon (CRSD) • Gestiona recursos high level (database)
  • 24. 24 Oracle RAC - Clusterware Funcionalidades • Capa segura de comuncación entre nodos • Gestión de recursos globales – IP, DB, listener, servicios, nodeapps – Failover automático de recursos • Fencing de nodos para garantizar consistencia (eviction) quitando nodos con vista incompleta del cluster (evita split-brain) – Implementa variante de STONITH (shoot the other node in the head): reinico lo hace el mismo nodo aislado – Necesita número impar de voting disks para decidir
  • 25. 25 Oracle RAC - Clusterware Componentes: – Voting disk: estado actual de membresía de nodos (ocssd) • Mecanismo de heartbeat secundario (además de la red) • Gestionado con el comando crsctl – Registry (OCR): metadata de recursos del cluster • Configuración para el proceso CRSD • Definido en /etc/oracle/ocr.loc, gestionado con ocrconfig • Respaldo automático cada cuatro horas en un nodo – $GI_HOME/cdata/<cluster> – Oracle Local Registry (OLR) – desde 11.2 : metadata para nodo local • Gestionado con OHASD, no compartido con otros nodos
  • 26. 26 Clusterware heartbeats RED Pública CSS Nodo2 CSS Nodo1 CSS Nodo3 Interconnect RED Privada RED SAN DiskTimeout def. 200 seg. Voting Disk CSS_MISSCOUNT def. 30 seg. RED Pública
  • 27. 27 Node Eviction • Soporte de Intelligent Platform Management Interface (IPMI) para reinicio remoto de nodos (desde 11.2) – Necesita hardware adicional • Antes de 11.2.0.2, fencing = reinicio de nodo • Desde 11.2.0.2, se intenta reiniciar el cluster, en este orden – Mata procesos que realizan I/O (dbwr, logwr) – Detiene el cluster – OHASD reinicia el cluster – Si alguno de los pasos anteriores falla, el node se reinicia
  • 28. 28 Oracle RAC – caché global GRD Master GRD Master LMSx LMON Cache LCK0 DIAG Nodo2 Instancia 2 Global Resource Directory (GRD) Global Cache Services (GCS) Global Enqueue Services (GES) LMSx LMON Cache LCK0 DIAG Nodo1 Instancia 1 Cache Fusion Interconnect Recursos Globales RAC Cluster
  • 29. 29 Tiempos de acceso Mutex lock/unlock 25 ns Main memory reference 100 ns Send 2K bytes over 1 Gbps network 20,000 ns Read 1 MB sequentially from memory 250,000 ns Round trip within same datacenter 500,000 ns Disk seek 10,000,000 ns Read 1 MB sequentially from disk 20,000,000 ns • Jeff Dean – Google - 'Numbers Everyone Should Know'
  • 30. 30 Overhead del caché global Desglose del tiempo total para obtener un bloque del caché: CPU : buscar bloque en cache local CPU : identificar el master CPU : pedir el bloque a la red RED : transferir el bloque RED : latencia CPU : recibir el bloque CPU : crear imagen consistente
  • 31. 31 Oracle RAC – caché global • Tener presente que no sólo la saturación del interconect afecta la performane del cache global, también lo hace la ocupación de CPU Corolario: uso excesivo de CPU en un nodo puede afectar la performance del resto • Operaciones de reconfiguración, por uso excesivo (afinidad) o por fallas (instancia o nodo), generan contención (proceso GRD)
  • 32. 32 Oracle RAC – más detalles • Uso de servicios y resource manager • Balanceo de carga (cliente y servidor) • Impacto de cambios en servicios – Transparent Application Failover (TAF) – Fast Application Notification (FAN) • Cambios en 11g y 12c (ver más adelante) • Tareas administrativas (respaldos, tuning,...) • Troubleshooting
  • 34. 34 Server connection load balancing PMON CRM1 instancia PMON SCAN Listener1 CRM2 instancia SCAN Listener2 Local Listener Local Listener Nodo2 Nodo1 CRM 2 1 1 3 4 5 6 User Process DNS Client Connect user:@scan:1521/crm
  • 35. 35 Cambios en 11g • ASM y CW en un solo home (Grid Infrastructure) • patchset son instalaciones completas (11.2.0.2) • Server pools • Scan listener • Nueva arquitectura de procesos –nuevos procesos (GPnP, GNS, ...) –Fencing sin restart de nodos –OCR y Voting disk en ASM (11.2) –OLR –Clusterware para single instance (Restart) • Quality of service management (QoS)- analiza carga y cambia asignación de servicios a consumer groups (resource manager) • Nuevos sabores: RAC One node
  • 36. 36 Cambios en 12c • cloudFS • cambio de licencia en Clusterware (gratis con cualquier licencia Oracle) • CW: flex cluster y application cluster – hub nodes y leaf nodes (sin acceso directo al storage, lo hacen a traves de hubs) • flex ASM • ACFS: soporta archivos de la base RAC, Oracle home's y backupsets • Funcionalidad RAC aplication continuity (AC): repite en otra instancia transacciones en ejecución cuando hay fallas en instancia o sesión. Usa Transaction Guard, nuevo en 12c. • SCAN listener: soporta IPv6, multiple subnets en el cluster y restringir servicios que se registran. • QoS no requiere licencia extra
  • 37. 37 Oracle RAC sin sorpresas (v2.0) Agenda 1 – Conceptos 2 – Desafíos al usar RAC 3 – Performance
  • 38. 38 2 - Desafíos Infraestructura – Muchos componentes nuevos (elección, diseño de arquitectura, capacity planning) Gente – Preparación inicial y constante – Dimensionar adecuadamente los grupos – Desarrollo y Soporte Gestión – Incluye áreas antes bien separadas (sysadmin /dba)
  • 39. 39 ¿Recomendaciones? Muchas – Diseño de la arquitectura (capacidad, HA/DR, instalación) – Caminos para migración inicial – Diseño de aplicativo – Gestión de carga – Tuning – Gestión de cambios (parches de Oracle y aplicativos) – Validaciones periódicas de procedimientos de HA/DR Fuentes – Soporte Oracle (ex Metalink) – único oficial – Oracleracsig : grupo de usuarios interesados en RAC (Special Interest Group) – Comunidad – Rac Attack, blogs
  • 40. 40 ¿Recomendaciones? • Oracle Validated Configurations http://www.oracle.com/technetwork/server-storage/linux/validated-configurations-085828.html • Notas para instalación y soporte : – RAC and Oracle Clusterware Best Practices and Starter Kit (Platform Independent) (Doc ID 810394.1) – Master Note for Real Application Clusters (RAC) Oracle Clusterware and Oracle Grid Infrastructure [Article ID 1096952.1] – Top 5 Database and/or Instance Performance Issues in RAC Environment (Doc ID 1373500.1) – Top 5 RAC Instance Crash Issues (Doc ID 1375405.1) – Top 3 RAC Database/Instance Hang Issues (Doc ID 1389520.1) – ...
  • 41. 41 2 - Desafíos Adoptar metodología que permita dar garantías en: – tiempos de respuesta – alta disponibilidad Contar con grupo interdisciplinario enfocado en ambos temas, que conozca toda la solución : aplicativo y plataforma MAA: Se estima esfuerzo de 20 personas por año http://www.oracle.com/us/technologies/026963.pdf, pág. 12
  • 42. 42 ¿Migrar a RAC? Implica : – Objetivos claros : ¿HA, escalabilidad, performance? – Buena preparación de los técnicos involucrados (desarrollo y administración) – Cronograma realista – Mucho testing (inicial y evolutivo) Existen muchas guías y recomendaciones, pero pocas referencias de fracasos y sus motivos.
  • 43. 43 Instalaciones conocidas • Oracle : 30+ clientes con 6 nodos • Amazon (16 nodos en 2010) • Mercadolibre (10 nodos en 2010) • Uruguay: 2 / 3 nodos • Casos de estudio http://www.oracle.com/technetwork/database/features/ha-casestudies-098033.html
  • 44. 44 Herramientas Administración  CLI : crs_ctl, srvctl, asmcmd, ..  Grid control Tuning  Automatic Workload Repository (AWR) / statspack  ADDM  Grid control  Cluster Health Monitor (CHM) - integrado en 11.2.0.2  Support Tools Bundle - nota 1594347.1
  • 45. 45 Oracle RAC sin sorpresas (v2.0) Agenda 1 – Conceptos 2 – Desafíos al usar RAC 3 – Performance
  • 46. 46 3 – performance • Tuning : Mismo enfoque que single-instance – Monitorear – Identificar las esperas/consumidores mayores – Mejorar y comenzar de nuevo • Oracle Enterprise Manager Grid control sirve, pero en algunos casos se necesita más información : – Trace 10053 (CBO) – dbms_xplan.display_cursor – ASH • Nuevos wait-events
  • 47. 47 Tuning – Wait events • Pedir un bloque del cache global puede esperar por respuesta de otra instancia: Cluster Wait Class – Evento genérico mientras se espera: • gc [current|cr] block request – Después del pedido: • gc [current|cr] block [2|3]-way • gc [current|cr] block busy • gc [current|cr] grant 2-way • gc current grant busy • gc [current|cr] [block|grant] congested • gc [current|cr] [failure|retry] • gc buffer busy http://docs.oracle.com/cd/E11882_01/rac.112/e16795/monitor.htm#CFAHDADB
  • 48. 48 • Ejemplo de contención en select .. for update Row-lock contention
  • 49. 49 Ejemplos de problemas específicos de RAC • uso excesivo de cpu afecta respuesta de procesos como LMS (lock manager), lo que puede generar eviction si no responde a tiempo los mensajes de heartbeat. • procesos batch sin buen particionamiento de datos pueden generar contención (locks clásicos o waits del cluster). • uso de claves primarias autoincrementales de forma global (secuencias, fechas) genera contención al insertar (eventos 'enq : TX – index contention', 'gc buffer busy ..' y otros). • sentencias como DROP y TRUNCATE generan checkpoint de la tabla e índices, obligando a sincronización del caché y locks globales. • commits muy frecuentes recargan el proceso LGWR, lo que agrega esperas al proceso LMS que a veces lo necesita para mantener consistencia. • sentencias DDL invalidan SQL parseados sobre objetos, que se sincroniza en el caché global. Problemas conocidos
  • 50. 50 Soluciones ✔ reescribir select for update usando condiciones más reestrictivas ✔ aumentar valor de cache de SEQUENCES ✔ particionar tablas e índices (afinidad en caché global es por segmento) ✔ modificar PCTFREE para tablas chicas con muchos accesos ✔ minimizar uso de sentencias DDL en horarios de mucha concurrencia ✔ usar índices reversos en casos de PK incrementales siempre que no se necesite range scan frecuentes. ✔ Particionar índices por HASH cuando se necesiten range scan ✔ Evitar autocommit en aplicaciones y usar commit por transacción, no por sentencia Consejos
  • 51. 51 Consejos clásicos, pero que ahora impactan más : ● reducir hard parsing (punto de serialización global) ● controlar la combinación de histogramas con bind-peeking en 10g ● reducir generación de redo (p.ej : evitando update *) ● minimizar generación de undo (p.ej : borrar índices no usados) ● comprimir datos. Ej: ● usar D o E en lugar de DISABLED o ENABLED ● permitir valores nulls en columnas (NULL/S en lugar de N/S) ● evitar full table scan no necesarios (optimizado en 11.2) Consejos
  • 53. 53 Referencias • Document ID 810394.1 RAC Assurance Support Team: RAC and Oracle Clusterware Starter Kit and Best Practices (Generic) • Document ID 220970.1 RAC: Frequently Asked Questions • Document ID 1187723.1 Master Note for Automatic Storage Management (ASM) • Document ID 1053147.1 11gR2 Clusterware and Grid Home - What You Need to Know • Document ID 790189.1 Oracle Clusterware and Application Failover Management • Document ID 422893.1 11g Understanding Automatic Diagnostic Repository • Document ID 787420.1 Cluster Interconnect in Oracle 10g and 11g • Oracle RAC SIG: http://www.oracleracsig.org • Oracle RAC 12c http://www.oracle.com/technetwork/database/options/clustering/rac-wp-12c-1896129.pdf
  • 54. 54 Referencias • RAC Attack http://en.wikibooks.org/wiki/RAC_Attack_-_Oracle_Cluster_Database_at_Home/RAC_Attack_12c • SCAN Listeners http://www.oracle.com/technetwork/products/clustering/overview/scan-129069.pdf • QoS http://www.oracle.com/technetwork/products/clustering/overview/qosmanageent- 508184.html • Application continuity (12c) http://www.oracle.com/technetwork/products/clustering/ac-overview-1967264.html • Supported Virtualization and Partitioning Technologies for Oracle Database and RAC Product Releases http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html • How to Deploy a Four-Node Oracle RAC 12c Cluster in Minutes - Using Oracle VM Templates http://www.oracle.com/technetwork/systems/hands-on-labs/deploy-rac-ovm-cluster-2101019.html • Oracle Database Upgrade blog https://blogs.oracle.com/UPGRADE/