uyoug otn tour 2011 - rac sin sorpresas

41
1 RAC sin sorpresas Ing. Nelson Calero, OCP [email protected] Oracle Technology Network Day Montevideo 16 octubre 2010

Upload: nelson-calero

Post on 29-Nov-2014

1.277 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: UYOUG OTN Tour 2011 - RAC sin sorpresas

1

RAC sin sorpresas

Ing. Nelson Calero, [email protected]

Oracle Technology Network DayMontevideo

16 octubre 2010

Page 2: UYOUG OTN Tour 2011 - RAC sin sorpresas

2

Agenda

1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas 4 – Tuning de problemas comunes

Page 3: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 4: UYOUG OTN Tour 2011 - RAC sin sorpresas

4

Oracle RAC

Historia– Primer versión 9i (2001)– Antes OPS (desde 7)

Versión standard - gratis:– 4 CPU por cluster máx.– solo sobre ASM y Oracle Clusterware

Opción en Enterprise Edition:– Sin límite de CPUs.

Page 5: UYOUG OTN Tour 2011 - RAC sin sorpresas

5

Arquitectura

Page 6: UYOUG OTN Tour 2011 - RAC sin sorpresas

6

Fortalezas

Page 7: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 8: UYOUG OTN Tour 2011 - RAC sin sorpresas

8

Escalabildad

Procesamiento paralelo : symmetric multiprocessor (SMP)

Page 9: UYOUG OTN Tour 2011 - RAC sin sorpresas

9

Escalabilidad

Por diseño del RAC, si una aplicación escala en SMP, 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

Page 10: UYOUG OTN Tour 2011 - RAC sin sorpresas

10

Conceptos de paralelismo• Scaleup : volumen-paralelo

volumen-original

• Speedup : tiempo-original tiempo-paralelo

• Ley de Amdahl : 

Page 11: UYOUG OTN Tour 2011 - RAC sin sorpresas

11

Componentes RAC

Software en cada Nodo (ORACLE_HOMEs <>): – Instancia– Clusterware– ASM

Además :– conexión de alta velocidad entre nodos

– SAN– Caché global (o fusion o coherence)

Page 12: UYOUG OTN Tour 2011 - RAC sin sorpresas

12

Arquitectura (cont)

Page 13: UYOUG OTN Tour 2011 - RAC sin sorpresas

13

Oracle RAC - archivos

Page 14: UYOUG OTN Tour 2011 - RAC sin sorpresas

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)

Page 15: UYOUG OTN Tour 2011 - RAC sin sorpresas

15

Oracle RAC - ASM

Page 16: UYOUG OTN Tour 2011 - RAC sin sorpresas

16

Oracle RAC - ASM

Page 17: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 18: UYOUG OTN Tour 2011 - RAC sin sorpresas

18

Oracle RAC - procesos

Page 19: UYOUG OTN Tour 2011 - RAC sin sorpresas

19

Oracle RAC - procesos

QUIZ :

¿Cuantos procesos background tiene Oracle?

(Instancia + RAC + opciones)

Page 20: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 21: UYOUG OTN Tour 2011 - RAC sin sorpresas

21

Oracle RAC - Clusterware

Funcionalidades• Gestión de recursos globales• Membresía de nodos (eviction, evita split-brain) - CRS• Gestión de eventos (de CRS) – EVM

Componentes• Oracle Cluster Registry (OCR) – configuración

(servicios, instancias)• Voting Disk – participación de nodos cuando falla la

red privada entre nodos (usado por CSS)

Page 22: UYOUG OTN Tour 2011 - RAC sin sorpresas

22

Oracle RAC – cache global

Page 23: UYOUG OTN Tour 2011 - RAC sin sorpresas

23

Tiempos de acceso

Mutex 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 ns

Disk seek 10,000,000 nsRead 1 MB sequentially from disk 20,000,000 ns

• Jeff Dean – Google - Numbers Everyone Should Know

Page 24: UYOUG OTN Tour 2011 - RAC sin sorpresas

24

Overhead del cache

Desglose del tiempo total para obtener un bloque 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

Page 25: UYOUG OTN Tour 2011 - RAC sin sorpresas

25

Oracle RAC - cache

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

Page 26: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 27: UYOUG OTN Tour 2011 - RAC sin sorpresas

27

Agenda

1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas 4 – Tuning de problemas comunes

Page 28: UYOUG OTN Tour 2011 - RAC sin sorpresas

28

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)

Page 29: UYOUG OTN Tour 2011 - RAC sin sorpresas

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)

Page 30: UYOUG OTN Tour 2011 - RAC sin sorpresas

30

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 : oracle estima esfuerzo de 20 personas 1 año

Page 31: UYOUG OTN Tour 2011 - RAC sin sorpresas

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, pero pocas de fracasos y sus motivos.

Page 32: UYOUG OTN Tour 2011 - RAC sin sorpresas

32

Instalaciones

• Oracle : 30+ clientes con 6 nodos

• Amazon – 16 nodos

• Mercadolibre – 10 nodos

• Locales : varias de 3 nodos

Page 33: UYOUG OTN Tour 2011 - RAC sin sorpresas

33

3 - 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

Page 34: UYOUG OTN Tour 2011 - RAC sin sorpresas

34

Agenda

1 – Conceptos2 – Desafíos al usar RAC3 – Herramientas 4 – Tuning de problemas comunes

Page 35: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 36: UYOUG OTN Tour 2011 - RAC sin sorpresas

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

Page 37: UYOUG OTN Tour 2011 - RAC sin sorpresas

37

Row-lock contention

Ejemplo contención en select .. for update

Page 38: UYOUG OTN Tour 2011 - RAC sin sorpresas

38

Consejos

Ejemplos 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 lockeos

Soluciones✔ 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

Page 39: UYOUG OTN Tour 2011 - RAC sin sorpresas

39

Consejos

Consejos 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)

Page 40: UYOUG OTN Tour 2011 - RAC sin sorpresas

40

¿Preguntas?

Page 41: UYOUG OTN Tour 2011 - RAC sin sorpresas

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