Professional Documents
Culture Documents
El rendimiento de las sentencias SQL depende en gran medida de las estadsticas que el optimizador
tenga. Estas son usadas para la generacin de apropiados planes de ejecucin.
La recoleccin de estadsticas puede ser manual o automtica.
El monitoreo del rendimiento puede ser pro-activo o re-activo
En 11g el uso de los diagnostic advisors libera al DBA de mucho trabajo manual
Uso y administracin de las estadsticas del optimizador
La eleccin del plan de ejecucin es crtica para el rendimiento
El plan de ejecucin se arma dinmicamente por el optimizador, el cual confa totalmente en las
estadsticas.
Las estadsticas ms importantes son las de los objetos. Las estadsticas solo mejoran el rendimiento
de los SQL no de los PL/SQL.
Las estadsticas se ven en la vista DBA_TABLES, incluyen:
Los registros encadenados se dan por que el registro es muy largo o porque los
parmetros del almacenamiento son muy bajos.
Adems de estadsticas a nivel de tabla, existen estadsticas a nivel de columna
(DBA_TAB_COLUMNS), incluyen:
El numero de Nulos
El nmero de entradas en el ndice referentes a registros borrados
Cuando un registro se borra, se conserva la clave de dicho registro en los ndices, despus de un
tiempo, si tenemos muchas entradas de ndice correspondientes a registros borrados el performance
se deteriorara.
Generando estadsticas Manualmente
Las estadsticas no se general en Lnea
Es necesario generarlas regularmente, de tal forma que el optimizador tenga acceso a estadsticas que
correspondan al estado actual de la base de datos.
Las estadsticas pueden generarse manualmente, o se puede automatizar el proceso, se puede utilizar
el comando ANALYZE o el paquete DBMS_STATS, o a travs del Database Control.
El uso de COMPUTE STATISCS indica a oracle que analize toda la tabla.
La instruccin ANALYZE es fcil de usar, sin embargo el paquete DBMS_STATS tiene mas opciones, de
hecho, es la herramienta recomendada.
Si las estadsticas se dejan de actualizar por un perido de tiempo largo, entonces diferirn mucho del
estado de la base de datos y por consecuente, los planes de ejecucin generados por el optimizador
no sern los apropiados.
Sin estadsticas, el performances es malo, pero el proceso de generacin de estadsticas impacta el
rendimiento de la BD, lo cual nos obliga a preguntarlos las siguientes dos coas:
Que porcin del objeto debe ser analizado para tener la foto ms exacta del mismo.
Por defecto, durante la creacin de la base de datos con el DBCA, las estadsticas son configuradas
para generarse automticamente a travs de un Job administrado por el Scheduler, los parmetros
usados son:
OWNAME: Especifica el esquema que ser analizado
CASCADE: Analizara los ndices tambin, adems de las tablas por supuesto, este parmetro permitir
a Oracle determinar que ndices debern ser analizados (Si alguno debe ser analizado).
ESTIMATE_PERCENT: Controla la cantidad de la tabla que deber ser analizada. El parmetro permitir
a Oracle decidir inteligentemente una cantidad significativa para analizar el objeto.
DEGREE: Especifica si el anlisis se analizara con paralelismo. Oracle determinara la cantidad de
procesos paralelos de acuerdo a el ambiente y a el tamao de la tabla.
NO_INVALIDATE: Determina si se deben reparsear todos los SQL con dependencias sobre el objeto
analizado. Este parmetro permitir a Oracle decidir.
GRANULARITY: Se refiere a como el objeto ser analizado de acuerdo a la cantidad de sub objetos,
por ejemplo, por ejemplo cuando la tabla tiene particionamiento.
METHOD_OPT: Controla la cantidad de histogramas que debern construirse o cuantos cubos debern
tener. El parmetro permite a oracle decidir de acuerdo al la sentencia SQL que este siendo ejecutada
y la distribucin de los datos.
OPTIONS: Determina que objetos analizar. Este parmetro indica a Oracle que analice todos los
objetos que Oracle considere que tienen las estadsticas que estn desactualizadas.
Bien sea que el procedimiento DBMS_STATS se est usando desde SQL, o desde el Database Control,
hay opciones para analizar tablas e ndices individualmente, esquemas completos, o bases de datos
completas. Esto a travs de los parmetros que pueden ser pasados a los argumentos del
procedimiento.
El proceso de generacin de estadsticas configurado por el DBCA durante la creacin dela base de
datos generara las estadsticas todos los das de la ventana de mantemiento. La ventana de
mantemiento se ejecuta todos los das de la semana durante 4 horas, iniciando a las 22:00. Tambien
se ejecutara por el una ventana de mantemiento de 20 horas inciando el sbado y el domingo a las
6AM. Normalmente, solo una pequea cantidad de estas horas son usadas. Normalmente una base de
datos funcionara correctamente con las estadsticas generadas por el procedimiento automtico,
eliminando la necesidad de eliminar las estadsticas manualmente.
El parmetro de la instancia STATISTICS_LEVEL: Este parmetro tiene 3 parmetros posibles.
Este parmetro controla el proceso automtico de recopilacin de estadsticas en dos niveles, unas son
las estadsticas acumuladas dentro de la instancia de acuerdo a la actividad, y los otras son las
estadsticas de los objetos dentro de la base de datos. (Estadsticas de Instancia Estadsticas de
Objetos).
Las estadsticas de la Instancia son acumuladas en memoria y posteriormente escritas en el AWR por
el proceso de fondo MMON (Manageability Monitor).
Las estadsticas de los objetos son recopiladas a travs del anlisis de los objetos con el procedimiento
DBMS_STATS.
BASIC: Des-habilita la autorecopilacion de las estadsticas para el AWR y deshabilita el anlisis diario.
TYPICAL: Recopilara las estadsticas para la base de datos y tambin habilitara la recopilacin diaria de
estadsticas de los objetos durante las ventanas de mantenimiento.
ALL: Recopila todas las estadsticas posibles. Esto incluye actividad del sistema operativo, informacin
detallada de las sentencias SQL ejecutadas
Uso y administracin Automatic Workload Repository
Las estadsticas de rendimiento y actividad son recopiladas en la memoria y son peridicamente
escritas peridicamente al disco por el MMON, en las tablas que componen el AWR. Estas tablas estn
en el Tablespace SYSAUX.
Este conjunto de tablas estn relacionadas con el diccionario de datos, pero no son esenciales para el
funcionamiento del motor.
Las estadsticas recopiladas en memoria, y escritas al disco y conservadas por un tiempo,
eventualmente sern sobre escritas con informacin ms reciente. El proceso de recopilacin y uso de
las estadsticas del AWR y las discutidas anteriormente son totalmente diferentes.
Los reportes del ADDM son almacenados por default por 30 dias.
Las recomendaciones del ADDM pueden ser:
Cambios de Hardware
Cambios en el esquema
Cambios en la aplicacin
Para que la base de datos corra bien, es necesario que el optimizador obtenga informacin exacta de
las estadsticas de los objetos; que las tablas e ndices este operando eficientemente si una cantidad
de espacio desperdiciado o fragmentado y que las sentencias SQL estn afinadas.
Por default, existen tres tareas configuradas como Jobs, se montan en la creacin de la base de datos
con el DBCA, son denominadas AUTOTASKS, estas son ejecutadas por el Scheduler (Introducido en
10g), estas son: