Inicio » Oracle » Estadisticas » Recolección automática de estadísticas:

Recolección automática de estadísticas:

En Oracle 11 existe un job que se encarga de recolección automática de estadísticas, tanto obsoletas como inexistentes para el optimizador basado en costos (CBO).
Las estadísticas automáticas no almacenan información sobre las filas encadenadas. Esto implica que no se almacena información para el campo CHAIN_CNT. Para obtener está información se debe utilizar el Automatic segment advisor.
Los intervalos de ejecución de job para recolectar estadísticas son:
Todas las noches de 10 p.m a 2 a.m
Todos los fines de semana de 6.a.m a 20.
En Oracle 11 el GATHER_STATS_JOB no existe. Este ha sido incluido en Automatic Maintenance Tasks.
Estas son las tareas que se programan en las ventanas de mantenimiento:

select client_name from dba_autotask_client
CLIENT_NAME

----------------------------------------------------------------

auto optimizer stats collection

auto space advisor

sql tuning advisor

Cómo se activan la recolección automática de estadísticas:

exec DBMS_AUTO_TASK_ADMIN.ENABLE(
 client_name => 'auto optimizer stats collection',
 operation => NULL,
 window_name => NULL);

Cómo se desactivan la recolección automática de estadísticas:

 exec DBMS_AUTO_TASK_ADMIN.DISABLE(
 client_name => 'auto optimizer stats collection',
 operation => NULL,
 window_name => NULL);

Cómo se desactivan la recolección automática de estadísticas:

select client_name, JOB_SCHEDULER_STATUS
 from DBA_AUTOTASK_CLIENT_JOB
 where client_name='auto optimizer stats collection';

Los posibles estatus son:
o DISABLED
o RETRY SCHEDULED
o SCHEDULED
o RUNNING
o COMPLETED
o BROKEN
o FAILED
o REMOTE
o SUCCEEDED
o CHAIN_STALLED
Cómo se desactivan la recolección automática de estadísticas:

 

SELECT client_name, window_name, jobs_created, jobs_started, jobs_completed
 FROM dba_autotask_client_history
 WHERE client_name like '%stats%';
CLIENT_NAME WINDOW_NAME JOBS JOBS JOBS
 CREATED STARTED COMPLETED
 ------------------------------- ---------------- ------- -------- ----------
 auto optimizer stats collection THURSDAY_WINDOW 1 1 1
 auto optimizer stats collection SUNDAY_WINDOW 3 3 3
 auto optimizer stats collection MONDAY_WINDOW 1 1 1
 auto optimizer stats collection SATURDAY_WINDOW 2 2 2

Cómo se desactivan la recolección automática de estadísticas:

 SQL> exec DBMS_AUTO_TASK_IMMEDIATE.GATHER_OPTIMIZER_STATS;

 

Este comando inicializa el job de recolección de estadísticas, salvo que ya este inicializado. Si crea tendrá un nombre similar a este: ORA$_AT_OS_MANUAL_nnnnnn.Al contrario que el job Automated Maintenance , este job manual no está asociado a ninguna ventana de mantenimiento.
Cómo comprobar los valor de parámetros (porcentaje de estimación, tipos de histogramas, etc) utilizados por el job:

 BMS_STATS.GET_PARAM (pname IN VARCHAR2) RETURN VARCHAR2;

Y para ver si han modificado las preferencias por defecto:

 DBMS_STATS.GET_PREFS (pname IN VARCHAR2,ownname IN VARCHAR2 DEFAULT NULL, tabname IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;

Posibles preferencias:
o AUTOSTATS_TARGET
o CASCADE
o DEGREE
o ESTIMATE_PERCENT
o METHOD_OPT
o NO_INVALIDATE
o GRANULARITY
o PUBLISH
o INCREMENTAL
o STALE_PERCENT
Cómo se modifican las preferencias:

Si se modifican las preferencias se esto afectara al todos los esquemas incluido SYS

exec DBMS_STATS.SET_GLOBAL_PREFS('STALE_PERCENT','5');

También existe:

 SET_DATABASE_PREFS

Qué significa parámetros AUTOSTAT_TARGET de SET_GLOBAL_PREFS
Este parámetro controla que objetos monitorizara el job de recolección automática de estadísticas. Los posibles valores de este parámetro son:
o ALL
Todos lo objetos de la base de datos.
o ORACLE
Solo los esquemas de Oracle (sys, system, etc)
o AUTO (default)
Oracle decide sobre que objetos debe ejecutar las estadísticas. Actualmente AUTO y ALL se comportan de la misma manera

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s