› Fóruns › Banco de dados Oracle › Estatísticas › Estatísticas
se isso te ajudar em algo,
eu uso esse script na crontab do linux para realizar a coleta do ambiente, se mesmo após a execução do script a tabela continua com o last_analyzed antigo ou em branco, a tabela pode estar com a estatística bloqueada ou pode ser uma tabela temporária.
PROMPT coleta de statística
declare
v_dbms varchar2(800);
BEGIN
FOR I IN
(
select DISTINCT(OWNER)AS OWNER
from dba_tables
where owner not in(‘SYSTEM’,’OLAPSYS’,’IFSCTXTEST2′,’SYS’,’TSMSYS’,’MDSYS’,’IFSCTXTEST0′,’SYSMAN’,’IFSCTXTEST1′,’EXFSYS’,
‘IFSCTXTEST3′,’WMSYS’,’ORDSYS’,’ORACACHE’,’CTXSYS’,’PERFSTAT’,’OUTLN’,’DBSNMP’,’DMSYS’,’XDB’)
and LAST_ANALYZED ‘||””||I.OWNER||””||’,ESTIMATE_PERCENT=>20,
METHOD_OPT=>’||””||’FOR ALL INDEXED COLUMNS SIZE AUTO’||””||’,GRANULARITY=>’||””||’ALL’||””||’,DEGREE=>8,CASCADE=>TRUE); END;’;
DBMS_OUTPUT.PUT_LINE(v_dbms);
EXECUTE IMMEDIATE v_dbms;
END LOOP;
END;
/