Hoy vamos a ver algunas consultas practicas de las estadisticas de sistema
Esquemas o objetos de un esquema con las estadisticas bloqueadas
Veamos algunas consultas utiles para comprobar cuales son las tablas que estan bloqueadas o para trabajar con las estadistias del esquema APPSCHEMA
Tablas conlas estadisticas bloqueadas para un esquema
select owner, table_name, stattype_locked
from dba_tab_statistics
where
stattype_locked is not null and OWNER=’APPSCHEMA’;
Cuando fueron bloqueadas las estadisticas en estas tablas?
set linesize 200
set pagesize 0
col owner format a20;
col table_name format a30;
Select table_name,last_analyzed from dba_tables
where table_name in
(select table_name from dba_tab_statistics where stattype_locked is not null and OWNER=’APPSCHEMA’)
order by last_analyzed asc ;
Tenemos una metaconsulta para desbloquearlas todas?
select 'exec dbms_stats.unlock_table_stats('||chr(39)||'APPSCHEMA'||chr(39)||','||chr(39)||TABLE_NAME||chr(39)||' );'
from dba_tab_statistics where stattype_locked is not null and OWNER='APPSCHEMA';
Ver las fechas de las estadisticas que han sido analizadas en los ultimos 2 dias
set pagesize 9000; column owner format a20; column TABLE_NAME format a30; column PARTITION_NAME format a30; select owner,table_name,partition_name,to_char(LAST_ANALYZED,'dd-mm-yy hh:mi'),NUM_ROWS,STATTYPE_LOCKED from dba_TAB_STATISTICS where OWNER='APPSCHEMA' and LAST_ANALYZED < sysdate-2 order by LAST_ANALYZED asc ;
Ver la fecha en la que fueron obtenidas las estadisticas de una tabla en concreto
set pagesize 9000; column owner format a20; column TABLE_NAME format a30; column PARTITION_NAME format a30; select owner,table_name,partition_name,to_char(LAST_ANALYZED,'dd-mm-yy hh:mi'),NUM_ROWS,STATTYPE_LOCKED from dba_TAB_STATISTICS where TABLE_NAME='APPSCHEMA' order by LAST_ANALYZED asc ;
Como salvamos las estadisticas de un determinado esquema
Creamos una tabla de estadisticas llamada «MISTATS bajo el esquema APPSCHEMA
exec dbms_stats.create_stat_table(ownname => 'APPSCHEMA', stattab => 'MISTATS');
Si quisiesemos guardar solo las estadisticas de una tabla
exec dbms_stats.export_table_stats(ownname=>'APPSCHEMA', tabname=>'MISTATS', statown=>'APPSCHEMA', stattab=>'MISTATS', cascade=>true);
Si queremos salvar los de un esquema
EXEC DBMS_STATS.export_schema_stats('APPSCHEMA','MISTATS',NULL,'APPSCHEMA');
Mas informacion en

