You are on page 1of 1

-------- Check table stats status

sqlplus / as sysdba
set sqlprompt "_user @ _connect_identifier >"

select OWNER,TABLE_NAME,LAST_ANALYZED,NUM_ROWS,STALE_STATS,STATTYPE_LOCKED from


dba_tab_statistics where TABLE_NAME='XYZ'

SQL> exec dbms_stats.unlock_table_stats('SCHEMA_NAME', 'XYZ');

PL/SQL procedure successfully completed.

SQL> exec
dbms_stats.gather_table_stats(ownname=>'SCHEMA_NAME',tabname=>'XYZ',ESTIMATE_PERCEN
T=>SYS.DBMS_STATS.AUTO_SAMPLE_SIZE,METHOD_OPT=>'FOR ALL COLUMNS SIZE
AUTO',CASCADE=>TRUE,DEGREE=>4,NO_INVALIDATE=>FALSE,FORCE=>TRUE);

PL/SQL procedure successfully completed.

SQL> select OWNER,TABLE_NAME,LAST_ANALYZED,NUM_ROWS,STALE_STATS,STATTYPE_LOCKED


from dba_tab_statistics where TABLE_NAME='XYZ';

OWNER TABLE_NAME LAST_ANAL NUM_ROWS STA STATT


-------------------- -------------------- --------- ---------- --- -----
SCHEMA_NAME XYZ 12-SEP-19 415229 NO

SQL> exec dbms_stats.lock_table_stats('SCHEMA_NAME', 'XYZ');

PL/SQL procedure successfully completed.

SQL> select count(*) from SCHEMA_NAME.XYZ;

COUNT(*)
----------
415229

SQL> select OWNER,TABLE_NAME,LAST_ANALYZED,NUM_ROWS,STALE_STATS,STATTYPE_LOCKED


from dba_tab_statistics where TABLE_NAME='XYZ';

OWNER TABLE_NAME LAST_ANAL NUM_ROWS STA STATT


-------------------- -------------------- --------- ---------- --- -----
SCHEMA_NAME XYZ 12-SEP-19 415229 NO ALL

You might also like