Pular para o conteúdo

Fóruns Banco de dados Oracle Estatísticas Estatísticas

#99624
Sousa04
Participante

    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;
    /