Vous êtes sur la page 1sur 4

El performance de las sentencias SQL dependen mayormente de las estadsticas que el optimizador de Oracle utiliza para disear los

planes de ejecucin. La recoleccin de estadsticas puede ser manual o automtica. La monitorizacin del rendimiento de la Base de Datos puede ser tomada de dos formas generales: Reactiva Proactiva Una perspectiva reactiva permite identificar y corregir asuntos pendientes antes de que puedan convertirse en un problema. Una sentencia SQL puede ser ejecutada de diferenes maneras. Por ejemplo, las tablas se pueden unir en diferente orden, pueden existir diversas maneras de utilizar los diferenes ndices, etc. La eleccin de un plan de ejecucin es crtica para el rendimiento. En una Base de Datos Oracle, el optimizador basa sus decisiones en las estad para evaluar los planes de ejecucin y elegir cual usar. Las estadsticas no son relevantes para cdigo PL/SQL, solamente para SQL. As que las estadsticas no mejoraran el rendimiento del lenguaje procedural. Al analizar una tabla, se obtienen estadsticas de la tabla las cuales sern utilizadas por el optimizador. Tales estadsticas pueden ser observadas en la tabla DBA_TABLES. Aparte de analizar la tabla entera, tambin cada columna perteneciente a la tabla debe ser analizada. Tales estadsticas pueden ser obervadas en la tabla DBA_TAB_COLUMNS. Estas estadsticas guardadas en el Diccionario de Datos, le brindarn informacin necesaria al optimizador para tomar decisiones acerca de la mejor manera de ejecutar las sentencias. Tambin es posible obtener estadsticas de los ndices de las columnas por medio de la tabla INDEX_STATS. Las estadsticas no guardan informacin en tiempo real, es decir, son estticas. Esto significa que las estadsticas permanecern desactualizadas siempre que se ejecute algn comando DML sobre las tablas. Es necesario que el optimizador recolecte informacin actual de la Base de Datos. Las estad pueden ser obtenidas de una manual o automtica Las estadsticas se pueden obtener manualmente mediante el comando ANALYZE o ejecutando los procedimientos pertencientes al paquete DBMS_STATS. Las estadsticas no son obtenidas en tiempo real. Sern estticas hasta que sean actualizadas por un nuevo anlisis. Existe una tarea automtica para la recoleccin de estadsticas: El Maintenance Window. El Maintenance Window se ejecuta de Lunes a Viernes de a las 22:00 hrs con una duracin de 4 hrs y Sbados y Domingos a las 6:00 hrs con una duracin de 20 hrs.

La bsqueda y visibilidad de las estad pueden ser controladas por medio del parmetro STATISTICS_LEVEL. Este parmetro puede tener fijado cualquiera de estos valores: Basic: Deshabilitar la recoleccin de estadsticas y deshabilitar el Anlisis Diario. Typical: Habilitar el Maintenance Window y habilitar el Anlisis Diario. All: Recolecta todas las estadsticas del S.O e informacin detallada de la ejecucin de sentencias SQL. El parmetro controla la bsqueda automtica de estadsticas en 2 niveles: Instancia (Informacin respecto a la actividad) Base de Datos (Informacin con respecto a las estadsticas de los objetos) Las estadsticas de una instancia se acumulan en memoria, posteriormente son transferidas al AWR por el proceso MMON. Las estadsticas de los objetos son recogidas utilizando el paquete DBMS_STATS. Oracle recolecta informacin estadstica acerca de su rendimiento y actividades. Esta informacin se acumula en memoria y periodicamente se escribe a disco. El AWR existe como un conjunto de Tablas y otros objetos en el tablespace de SYSAUX. Peridicamente se transfiere informacin del SGA al disco, es decir al AWR. Esta informacin se conoce como AWR snapshot. La transferencia se lleva acabo por el comando MMON. El MMON tiene acceso directo a las estructuras de memoria del SGA y por lo tanto a las estadsticas dentro de ellas. Por defecto, esta transferencia de informacin slo ocurre una vez por hora y por consiguiente esto no debera afectar el rendimiento del sistema. Por defecto, los snapshots de las estadsticas se guardan en el AWR por 8 das. Para poder ser de utilidad, las estadsticas deben ser convertidas a mtricas. Una mtrica es un conjunto de 2 o ms estadsticas correlacionadas. Un baseline es un conjunto de estadsticas y mtricas que pueden ser utilizadas para comparaciones a lo largo del tiempo. Mientras el MMON guarda los snapshots, genera un gran nmero de mtricas y estadsticas. Esto ocurre automticamente. Un baseline consiste en un par de snapshots que permanecern indefinidamente hasta que sean eliminados. Las estadsticas de un baseline, pueden ser comparadas contra otras mtricas derivadas de la actividad actual de la Base de Datos. La Base de Datos est preconfigurada con un conjunto de advisors(consejeros). Los reportes ADDM son de gran utilidad debido a que destacan las problematicas que estn surgiendo dentro de la Base de Datos y sugieren soluciones. Existen varios tipos de Advisors: ADDM Memory Advisor SQL Access, Tunning y Repair Advisor Automatic Undo Advisor Mean Time to Recover Advisor (MTTR)

Data Recovery Advisor Segment Advisor El ADDM es ejecutado de manera automtica por MMON cuando se toma un snapshot. El Reporte ADDM es automticamente generado. Este reporte snapshot cubrir el periodo entre el snapshot actual y el previo, esto con el objetivo de obtener reportes que contenga estadsticas de todas las horas. Por defecto, estos reportes son purgados cada 30 das. El Memory Advisor: Predicen el efecto de cambiar los tamaos de las estructuras de memoria. SQL Advisor: Har recomendaciones acerca de como hacer que las sentencias SQL se ejecutan de una manera ms rpida. Tunning Advisor: Genera estadsticas adicionales durante la ejecucin de una sentencia SQL para ayudar al optimizador a escoger el mejor plan de ejecucin. Repair Advisor: Generar un parche sobre las sentencias SQL para ayudar ayudar al optimizador a obtener el mejor plan de ejecucin seguro para dicha sentencia. Automatic Undo Advisor: Recomendar los tamaos mnimos que deben tener los undo tablespaces para asegurarse que ningna consulta falle. MTTR: Calcular el tiempo que le llevar al sistema recuperarse de algn problema. Recovery Advisor: Identifica cual es la mejor accin para recuperarse de algn dao sin interrumpir el trabajo de la Base de Datos. Segment Advisor: Observa tanto el estado actual e histrico, as como los patrones de uso de las tablas e ndices y recomienda su propia reorganizacin cuando sea necesario. El Resource Manager, distribuye recursos a las diferentes sesiones de la Base de Datos. Los planes del Resource Manager son activados durante el Maintenance Window. Estos planes aseguran que las tareas programadas no ocupen ms del 25% de los recursos de la computadora. El sistema de Alertas, se encarga de monitorear varias condiciones que podran causar algn problema y enviar notificaciones de lo sucedido. Existen dos tipos de Alertas: Stateful Stateless Stateful: Estn basadas en condiciones que al presentarse, persisten hasta que son arregladas. Stateless: Estn basadas en eventos que ocurren y son corregidos debido al comportamiento natural de la Base de Datos. Para configurar el sistema de alertas se debern configurar algunos thresholds(umbrales). Tales thresholds estn almacenados en el AWR. El Proceso MMON, monitorizar la Base de Datos y la instancia y comprar el estado actual de los thresholds. Si un threshold es sobrepasado, se leventar una alerta. El mecanismo por el cual se

levantan las alertas es escribiendo una entrada en la cola de alertas(alert queue). Un alert queue es una tabla que almacena mensajes que otro proceso puede leer. El proceso por defecto es que el Enterprise Manager pueda desencolar estos mensajes, los pueda despliegar en la Base de Datos y pueda envar notificaciones de lo sucedido.Existen alrededor de 200 mtricas para las cuales pueden fijarse thresholds. El mecanismo de notificaciones por defecto para las stateful alertas no es nada ms que desplegarlas en el Enterprise Manager y escribirlas en la vista DBA_OUTSANDING_ALERTS. Estas alertas sern visibles hasta que sean corregidas. Las alertas pueden corregirse de dos maneras: Ya sea que el DBA corriga el error que la el error sea solucionado en el transcurso natural de los eventos de la Base de Datos. Cuando una alerta es corregida, se remueva la entrada de la vista DBA_OUTSTANDING_ALERTS y escritos dentro de la vista DBA_ALERT_HISTORY. Los Stateless alerts, se copian directamente a la vista DBA_ALERT_HISTORY.

Vous aimerez peut-être aussi