Inhalt
Problem
Analyse
Lösung
-- gentablestats.sql DEFINE L_USER="SCOTT" DEFINE L_TABLE_PATT="PFC" set serveroutput on set echo on DECLARE cursor c_table (p_table in varchar2) is select table_name from dba_tables where owner = '&&L_USER' and upper(table_name) like upper(p_table ||'%'); -- v_sqlstring VARCHAR2(2000); begin for table_rec in c_table('&&L_TABLE_PATT') loop DBMS_STATS.gather_table_stats( ownname => '&&L_USER' , tabname => table_rec.table_name , estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE , cascade => TRUE , method_opt => 'for all columns size auto' ); dbms_output.put_line('Table: ' || table_rec.table_name || ' analyzed '); end loop; end; /
SYSTEM Statistiken
begin DBMS_STATS.GATHER_DICTIONARY_STATS; DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; end; /
col PVAL2 form a20 SELECT pname, pval1, pval2 FROM sys.aux_stats$ WHERE sname = 'SYSSTATS_MAIN';
SELECT pname, pval1, pval2 FROM sys.aux_stats$ WHERE sname = 'SYSSTATS_INFO';