Session 01 IntroOracle
Session 01 IntroOracle
BASE DE DATOS IV
3
Introducción a la Base de Datos Oracle
El SGA (System Global Area) es una región de memoria compartida que es crucial para el funcionamiento de la base de
datos. El SGA almacena datos y estructuras de control necesarios para la operación de la base de datos y es
compartido por todos los procesos de usuario y procesos en segundo plano.
• La SGA y la PGA permiten que Oracle gestione eficientemente los recursos de memoria, lo
que es crucial para el rendimiento de la base de datos.
• Optimización de Consultas: El Shared Pool en la SGA almacena las sentencias SQL parseadas,
lo que permite reutilizarlas y optimiza el rendimiento de las consultas.
• Seguridad y Recuperación de Datos: Los procesos de fondo como LGWR y DBWR aseguran
que los cambios en los datos se registren y escriban adecuadamente, proporcionando
mecanismos robustos para la recuperación de datos en caso de fallos.
• Consistencia de Datos: Los checkpoints gestionados por CKPT y las operaciones de limpieza
de SMON y PMON aseguran que la base de datos se mantenga en un estado consistente,
incluso después de fallos del sistema.
• Rendimiento General: Una gestión eficiente de los componentes de la instancia impacta
directamente en el rendimiento general de la base de datos, proporcionando tiempos de
respuesta rápidos y una experiencia de usuario mejorada.
Tuning o afinamiento de la Base de Datos Oracle
1. Rendimiento Mejorado
Consultas Más Rápidas: Ajustar consultas SQL y la
configuración de la base de datos puede reducir
significativamente el tiempo de respuesta de las
consultas, lo que es vital para aplicaciones que
dependen de respuestas rápidas.
Optimización de Recursos: El tuning permite una
utilización más eficiente de los recursos del sistema,
como CPU, memoria y disco, evitando cuellos de
botella y sobrecargas.
2. Escalabilidad
Manejo de Crecimiento: A medida que la cantidad de
datos y el número de usuarios crecen, el tuning
asegura que la base de datos pueda manejar la carga
adicional sin una disminución significativa en el
rendimiento.
Preparación para el Futuro: Un sistema bien afinado
puede escalar mejor y más rápidamente para satisfacer
las demandas futuras.
Importancia del Tuning de la Base de datos Oracle
3. Eficiencia Operacional
Reducción de Costos: Al utilizar los recursos de manera más eficiente, se pueden reducir los costos
operativos, como la necesidad de hardware adicional o costos de almacenamiento.
Menos Mantenimiento: Un sistema optimizado requiere menos intervención manual y
mantenimiento, liberando tiempo y recursos para otras tareas críticas.
4. Fiabilidad y Disponibilidad
Menos Fallos: El tuning puede ayudar a identificar y resolver problemas potenciales antes de que
provoquen fallos en el sistema.
Recuperación Rápida: Mejora la capacidad del sistema para recuperarse de fallos y desastres,
asegurando una mayor disponibilidad de la base de datos.
5. Experiencia del Usuario
Satisfacción del Usuario: Un rendimiento mejorado de la base de datos resulta en tiempos de
respuesta más rápidos, lo que mejora la experiencia del usuario final.
Productividad: Los usuarios pueden realizar sus tareas más rápidamente, lo que aumenta la
productividad general de la organización.
Importancia del Tuning de la Base de datos Oracle
6. Optimización de Consultas
Uso Eficiente del Planificador: Ajustar las consultas SQL permite al optimizador de Oracle generar
planes de ejecución más eficientes, lo que puede mejorar significativamente el rendimiento.
Índices Apropiados: Identificar y crear los índices correctos puede reducir el tiempo de búsqueda y
mejorar la velocidad de acceso a los datos.
7. Manejo de la Contención y la Concurrencia
Reducción de Contención: Ajustar la base de datos puede minimizar la contención de recursos entre
usuarios concurrentes, mejorando el rendimiento en entornos multiusuario.
Gestión de Transacciones: El tuning puede optimizar la gestión de transacciones, reduciendo
bloqueos y mejorando la consistencia de los datos.
8. Ajuste de la Configuración del Sistema
Parámetros de Inicialización: Ajustar parámetros críticos de inicialización y configuración del sistema
puede tener un gran impacto en el rendimiento y la estabilidad de la base de datos.
Distribución de la Carga: Asegurar una correcta distribución de la carga de trabajo puede prevenir
sobrecargas en componentes específicos del sistema.
Escenario: afinamiento de la SGA
Escenario:
Diagnostico Inicial:
1. La vista V$SESSION proporciona información sobre las sesiones activas, y V$SESSION_WAIT muestra
el evento de espera actual de cada sesión.
Escenario: afinamiento de la SGA
Afinamiento de la SGA:
• El SGA incluye varias áreas que se pueden ajustar para mejorar el rendimiento, como el
Buffer Cache, Shared Pool, Large Pool, y Java Pool.
1. Buffer Cache:
• Si se observa que el Buffer Cache está causando un alto número de lecturas físicas
(esperas en disco) en lugar de lecturas lógicas (en memoria), puedes aumentar el
tamaño del DB_CACHE_SIZE para reducir la necesidad de lectura de disco.
• Usa V$DB_CACHE_ADVICE para estimar el impacto de aumentar el tamaño del Buffer
Cache.
2. Shared Pool:
• Si hay problemas con la carga de SQL o se observan errores de "ORA-04031" (memoria
del Shared Pool insuficiente), considera aumentar el SHARED_POOL_SIZE.
• Analiza los Library Cache y Data Dictionary Cache para determinar si necesitan más
memoria.
Escenario: afinamiento del PGA