Lisa,
 Monitoring, by itself, does not fire any automatic analyze. It simply montiors the 
DML activity on the monitored table and counts inserts/deletes/upates. Those counts 
may not be 100% accurate, but are very close. These can be viewed in 
dba_tab_modifications, and are dumped there by SMON every 3 hours or so (in 9i there 
is a new procedure, flush_database_monitoring_info, to flush these counts to this view 
on demand). These counts do not affect the ones maintained in *_tables views. 
 
Monitoring is basically there to help identify which tables may need statistics 
computed again. 'Gather stale' option will only analyze tables that have undergone DML 
activity (inserts/deletes/updates) that amounts to more than 10% of the number of rows 
(from previous analyze) in the table. And 'gather auto' option 'figures' out what 
tables to analyze, but you must execute dbms_stats. So, there is nothing automatic in 
gathering table stats.

You can test it yourself..... remember there is a last_analyzed column ;) 

HTH,

- Kirti 

 


-----Original Message-----
From:   Koivu, Lisa [mailto:[EMAIL PROTECTED]]
Sent:   Wed 1/29/2003 9:09 AM
To:     Multiple recipients of list ORACLE-L
Cc:     
Subject:        RE: Global Stats

Hi Jared, 

Actually I think monitoring won't work in my case.  Data loads fire
throughout the day and the docs say that in 8i, analyze can fire based upon
table monitoring sometime within 3 hours after data changes.  I would rather
include a manual fire of analyze in my data load and avoid any locking
issues or contention for resources. 

In addition, if temp space is blown during "auto-analyze" (fired based upon
monitoring), would I know about it?  

Just my thoughts.  Am I wrong?

Lisa

-----Original Message-----
Sent: Wednesday, January 29, 2003 3:55 AM
To: Multiple recipients of list ORACLE-L



You may want to read up on table monitoring.

Jared

On Tuesday 28 January 2003 11:10, Koivu, Lisa wrote:
> Hi everyone,
>
> Back to the lovely world of Oracle :) I've been reading up on statistics.
> Out of the 8.1.7 doco:
> /*
> Partitioned schema objects may contain multiple sets of statistics. They
> can have statistics which refer to the entire schema object as a whole
> (global statistics), they can have statistics which refer to an individual
> partition, and they can have statistics which refer to an individual
> subpartition of a composite partitioned object.
>
> Unless the query predicate narrows the query to a single partition, the
> optimizer uses the global statistics. Because most queries are not likely
> to be this restrictive, it is most important to have accurate global
> statistics. Intuitively, it may seem that generating global statistics
from
> partition-level statistics should be straightforward; however, this is
only
> true for some of the statistics. For example, it is very difficult to
> figure out the number of distinct values for a column from the number of
> distinct values found in each partition because of the possible overlap in
> values. Therefore, actually gathering global statistics with the
DBMS_STATS
> package is highly recommended, rather than calculating them with the
> ANALYZE statement
>
> */
> The table I need to generate stats for is currently 32GB and grows by ~2GB
> per week.  Even the smallest estimate with calculating global stats will
> take a long long time and I may not be able to spring for all the required
> temp space.
>
> How does the list feel about global stats?  Does anyone agree with the
> documentation that they "most important"?  I'm thinking my partitioned
> statistics are the "most important".
>
> Any input is appreciated.  Thanks
>
> Lisa Koivu
> Oracle Database Administrator
> Fairfield Resorts, Inc.
> 5259 Coconut Creek Parkway
> Ft. Lauderdale, FL, USA  33063





<<winmail.dat>>

Reply via email to