Do you know the view “dba_tab_modifications”?
It’s very useful to know what has changed since the last stats gathering of a table and all decision/information that comes with… See the example below..
The only need is to run “dbms_stats.flush_database_monitoring_info” before cheking… take a look:
mydb> create TABLE matheus_boesing.test (nro number); Table created. mydb> begin 2 for i in 1..1000 loop 3 insert into matheus_boesing.test values (i); 4 end loop; 5 commit; 6 end; 7 / PL/SQL procedure successfully completed. mydb> select table_owner,table_name,inserts,updates,deletes from dba_tab_modifications where table_name ='test' and table_owner='MATHEUS_BOESING'; no rows selected mydb> exec dbms_stats.flush_database_monitoring_info; PL/SQL procedure successfully completed. mydb> select table_owner,table_name,inserts,updates,deletes from dba_tab_modifications where table_name ='test' and table_owner='MATHEUS_BOESING'; TABLE_OWNER TABLE_NAME INSERTS UPDATES DELETES ---------------------- -------------- ---------- ---------- ---------- MATHEUS_BOESING test 1000 0 0 mydb> EXEC DBMS_STATS.GATHER_TABLE_STATS('MATHEUS_BOESING','test'); PL/SQL procedure successfully completed. mydb> select table_owner,table_name,inserts,updates,deletes from dba_tab_modifications where table_name ='test' and table_owner='MATHEUS_BOESING'; no rows selected
For more information: http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4149.htm
Have a nice day! 😀
Matheus.