UYOUG OTN Tour 2011 - RAC sin sorpresas

1,346 views

Published on

Presentación dada durante el OTN Tour 2011 en Montevideo.

Resumen:
Introducción a la versión clusterizada de la base de datos Oracle. Se presentan conceptos y consideraciones para su adpoción.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,346
On SlideShare
0
From Embeds
0
Number of Embeds
119
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

UYOUG OTN Tour 2011 - RAC sin sorpresas

  1. 1. RAC sin sorpresas Ing. Nelson Calero, OCPnelson.calero@logos.com.uy Oracle Technology Network Day Montevideo 16 octubre 2010 1
  2. 2. Agenda1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas4 – Tuning de problemascomunes 2
  3. 3. 1 - Conceptos• Cluster : servidores interconectados que actuan como uno solo• RAC : varias instancias accediendo a una misma base. Una instancia por nodo. – Solución basada en Shared storage – Beneficios : • Alta disponibildad (elimina la instancia como SPOF) • Escalabilidad (horizontal / scale-out, hasta 100 nodos) • Gestión de carga automática (balanceo de servicios) • Consolidación de servidores 3
  4. 4. Oracle RACHistoria – Primer versión 9i (2001) – Antes OPS (desde 7)Versión standard - gratis: – 4 CPU por cluster máx. – solo sobre ASM y Oracle ClusterwareOpción en Enterprise Edition: – Sin límite de CPUs. 4
  5. 5. Arquitectura 5
  6. 6. Fortalezas 6
  7. 7. RAC NO ES• NO ES solución para recuperación de desastres• NO ES solución mágica para aplicativos con problemas de performance 7
  8. 8. EscalabildadProcesamiento paralelo : symmetric multiprocessor(SMP) 8
  9. 9. EscalabilidadPor diseño del RAC, si una aplicación escala enSMP, escala en RAC sin cambiar el código.– 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 9
  10. 10. Conceptos de paralelismo• Scaleup : volumen-paralelo volumen-original• Speedup : tiempo-original tiempo-paralelo• Ley de Amdahl :  10
  11. 11. Componentes RACSoftware en cada Nodo (ORACLE_HOMEs <>): – Instancia – Clusterware – ASMAdemás : – conexión de alta velocidad entre nodos – SAN – Caché global (o fusion o coherence) 11
  12. 12. Arquitectura (cont) 12
  13. 13. Oracle RAC - archivos 13
  14. 14. Oracle RAC - archivos• Compartidos y únicos – Datos, controlfile, init• Compartidos pero únicos por instancia – undo, redo, temp• No compartidos – Logs, traces, audit ($ORACLE_BASE/admin en 10.2, DIAGNOSTIC_BASE en 11) 14
  15. 15. Oracle RAC - ASM 15
  16. 16. Oracle RAC - ASM 16
  17. 17. 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 – Striping – Balanceo – Mirroring – Operaciones online 17
  18. 18. Oracle RAC - procesos 18
  19. 19. Oracle RAC - procesosQUIZ : ¿Cuantos procesos background tieneOracle? (Instancia + RAC + opciones) 19
  20. 20. Oracle RAC - procesos Oracle 11.2 88 procesos background (Instancia + RAC + opciones)http://download.oracle.com/docs/cd/E14072_01/server.112/e10820/bgprocesses.htm 20
  21. 21. Oracle RAC - ClusterwareFuncionalidades• Gestión de recursos globales• Membresía de nodos (eviction, evita split-brain) - CRS• Gestión de eventos (de CRS) – EVMComponentes• Oracle Cluster Registry (OCR) – configuración (servicios, instancias)• Voting Disk – participación de nodos cuando falla la red privada entre nodos (usado por CSS) 21
  22. 22. Oracle RAC – cache global 22
  23. 23. Tiempos de accesoMutex lock/unlock 25 nsMain memory reference 100 nsSend 2K bytes over 1 Gbps network 20,000 nsRead 1 MB sequentially from memory 250,000 nsRound trip within same datacenter 500,000 nsDisk seek 10,000,000 nsRead 1 MB sequentially from disk 20,000,000 ns• Jeff Dean – Google - Numbers Everyone Should Know 23
  24. 24. Overhead del cacheDesglose del tiempo total para obtener unbloque del cache : CPU : buscar bloque en cache local CPU : identificar el master CPU : pedir el bloque a la red NET : transferir el bloque NET : latencia CPU : recibir el bloque CPU : cear imagen consistente 24
  25. 25. Oracle RAC - cacheTener presente que no sólo la saturación delinterconect afecta la performane del cache global,también lo hace la ocupación de CPUCorolario: uso excesivo de CPU en un nodo puedeafectar la performance del resto 25
  26. 26. Oracle RAC – más detalles• Servicios• Balanceo de carga (clientes)• Impacto de cambios en servicios – Transparent Application Failover (TAF) – Fast Application Notification (FAN)• ...• Tareas administrativas (respaldos, tunning,..)• Troubleshooting 26
  27. 27. Agenda1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas4 – Tuning de problemascomunes 27
  28. 28. 2 - DesafíosInfraestructura – Muchos componentes nuevos (elección, diseño de arquitectura, capacity planning)Gente – Preparación inicial y constante – Dimensionar adecuadamente los grupos – Desarrollo y SoporteGestión – Incluye áreas antes bien separadas (sysadmin /dba) 28
  29. 29. ¿Recomendaciones?Muchas – Diseño – Configuraciones de hardware validadas – Migración – Tuning –…Fuentes – Soporte Oracle (ex Metalink) – único oficial – Oracleracsig : grupo de usuarios interesados en RAC (Special Interest Group) 29
  30. 30. 2 - DesafíosAdoptar metodología que permita dar garantías en: – tiempos de respuesta – alta disponibilidadContar con grupo interdisciplinario enfocado enambos temas, que conozca toda la solución :aplicativo y plataformaMAA : oracle estima esfuerzo de 20 personas 1 año 30
  31. 31. ¿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, peropocas de fracasos y sus motivos. 31
  32. 32. Instalaciones• Oracle : 30+ clientes con 6 nodos• Amazon – 16 nodos• Mercadolibre – 10 nodos• Locales : varias de 3 nodos 32
  33. 33. 3 - HerramientasAdministración  CLI : crs_ctl, srvctl, asmcmd, ..  grid controlTuning  Automatic Workload Repository (AWR) / statspack  ADDM  Grid control  Cluster Health Monitor (CHM) - integrado en 11.2.0.2 33
  34. 34. Agenda1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas4 – Tuning de problemascomunes 34
  35. 35. 4 - tuning• Mismo enfoque que single-instance – Monitorear – Identificar las esperas/consumidores mayores – Mejorar y comenzar de nuevo• Grid control sirve, pero se necesita más información para diagnosticar trancas – Trace 10053 (CBO) – dbms_xplan.display_cursor – v$sql_bind_capture• Nuevos wait-events 35
  36. 36. Tuning – Wait events– Evento generico mientras se espera: • gc [current|cr] block request– Después de resuelto: • 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 36
  37. 37. Row-lock contentionEjemplo contención en select .. for update 37
  38. 38. ConsejosEjemplos de problemas específicos de RAC• uso excesivo de cpu afecta respuesta de LMS, lo que puede generar eviction al no responder al heartbeat a tiempo• procesos batch sin buen particionamiento de datos pueden generar contención (locks clásicos o waits del cluster)• uso de secuencias como clave primaria de forma global genera lockeosSoluciones ✔ reescribir select for update haciendo updates más complejos ✔ aumentar cache de secuencias ✔ modificar pctfree para tablas chicas con muchos accesos ✔ minimizar uso de DROP y TRUNCATE 38
  39. 39. ConsejosConsejos clásicos, pero que ahora impactan más● reducir hard parsing (global lock)● controlar la combinación de histogramas con bind-peeking● reducir redo (p.ej : evitando update *)● minimizar generación de undo ● 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 (optimizado en 11.2) 39
  40. 40. ¿Preguntas? 40
  41. 41. 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 787420.1 Cluster Interconnect in Oracle 10g and 11g• 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• http://www.oracleracsig.org 41

×