Una de las mayores responsabilidades de un DBA es garantizar que la base de datos de Oracle se sintoniza correctamente. El RDBMS de Oracle es altamente tuneable y permite que la base de datos para ser monitoreados, regulados para optimizar y aumentar el rendimiento de la BD.
¿QUE GANAMOS AL TUNEAR?
- Mejorar el tiempo de respuesta de la base de datos.
- Disponibilidad de servicio de la base de datos.
- Mejorar el uso de la memoria.
- Mejorar de porcentaje de hits.
- Pocas esperas de los recursos (waits).
¿QUÉ PODEMOS OPTIMIZAR?
- Sentencias SQL y PL/SQL.
- Diseño lógico de la base de datos.
- Diseño físico de la base de datos.
- Parámetros de la base de datos.
- Sistema operativo y hardware.
¿QUÉ MECANISMOS PODEMOS REALIZAR PARA HACER UN : AUTOMATIC SQL TUNING ?.
Se puede realizar AUTOMATIC SQL TUNING usando:
- SQL TUNING ADVISOR
- SQL ACCESS ADVISOR
DUMMY #1:
En esta oportunidad mostrare el manejo del: SQL TUNING ADVISOR, desde la creación de las tablas hasta el de los QUERYs y DECLARE que brindan el soporte al Tuning respectivo.
-- ================================================= --
-1- CREAR TABLAS, INSERTs Y CONSTRAINTs PARA EL DUMMY --
-- ================================================= --
CODIGO en el adjunto [AL FINAL].
-- ========================== --
-2- CREAR LA [TAREA DE TUNING] --
-- ========================== --
[CÓDIGO AL FINAL].
-- ============================================== --
-3- VERIFICAR QUE LA [TAREA DE TUNING] ESTE CREADA --
-- ============================================== --
[CÓDIGO AL FINAL].
-- ==================================== --
-4- EJECUTAR LA [TAREA DE TUNING] CREADA --
-- ==================================== --
[CÓDIGO AL FINAL].
-- =========================================== --
-5- CONTROLAR EL ESTADO DE LA [TAREA DE TUNING] --
-- =========================================== --
[CÓDIGO AL FINAL].
-- ============================================== --
-6- CONTROLAR EL PROGRESO DEL [SQL TUNING ADVISOR] --
-- ============================================== --
[CÓDIGO AL FINAL].
-- ============================================= --
-7- MOSTRAR EL RESULTADO DEL [SQL TUNING ADVISOR] --
-- ============================================= --
[CÓDIGO AL FINAL].
-- ==================================== --
-8- ELIMINAR LA [TAREA DE TUNING] CREADA --
-- ==================================== --
[CÓDIGO AL FINAL].
DUMMY #2:
En este DUMMY mostrare la diferencia al desarrollar QUERYs: CON y SIN INDICES, mediante un análisis por medio de: EXPLAIN PLAN TOOL.
Creamos la TABLA y generamos los INSERTs respectivos (200000 registros):
Mediante la herramienta PL/SQL DEVELOPER accedermos a la vista de EXPLAIN PLAN:
PRUEBA #1 (SIN APLICACIÓN DE INDICES): Ejecutaros un QUERY que lo FILTRAREMOS mediante 2 variables de tipo BIND que representan a cualquier posible variable a reemplazar.
PRUEBA #2 (SIN APLICACIÓN DE INDICES): Ejecutaros un QUERY que lo FILTRAREMOS mediante 2 parámetros de búsqueda.
IMPORTANTE: El RESULTADO al ejecutar el QUERY con PARAMETROS FIJOS y con VARIABLES BIND, NO siempre es el mismo, así que uno NO DEBE CONFIAR.
Ahora PROBAREMOS los QUERYs anteriores pero antes le CREAMOS y asignaremos un INDEX para mejorar y optimizar los
FILTROS en base a los dos parámetros de tipo VARCHAR2.
PRUEBA #3 (CON APLICACIÓN DE INDICES): Ejecutaros el mismo QUERY de la PRUEBA #1, FILTRANDOLO mediante 2 variables de tipo BIND que representan a cualquier posible variable a reemplazar.
PRUEBA #4 (CON APLICACIÓN DE INDICES): Ejecutaros el mismo QUERY de la PRUEBA #2, FILTRANDOLO mediante 2 parámetros fijos.
CONCLUSIONES:
Es notorio que al aplicar un correcto manejo de INDICES el rendimiento en la consulta SQL es mayor y optimizado, decrementando considerablemente en recursos como: COST y en BYTES.
Para un mejor entendimiento del TEMA posteado (CÓDIGO) podemos descargar el TUTORIAL paso a paso de: AQUI.
No hay comentarios:
Publicar un comentario