Oracle Tips by Mike Ault
Automated Statistics Gathering
The actual code for the full
DBMS_REVEALNET.RUNNING_STATS procedure runs to 12 or more pages and
reports on up to nearly a hundred statistics (some are based on
latch statistics or contention statistics so the exact number
monitored changes). The private procedure write_out contained in the
master procedure RUNNING_STATS uses one of two tables,
Remote DBA_RUNNING_STATS or Remote DBA_TEMP to hold all of the retrieved values.
If the “is_interactive” flag is set to TRUE the Remote DBA_TEMP table is
used. If the “is_interactive” flag is set to the default, FALSE,
then the Remote DBA_RUNNING_STATS table is used. The Remote DBA_TEMP table only
holds one set of values and is deleted before use. The
Remote DBA_RUNNING_STATS table keeps an ongoing set of statistics taken at
whatever interval is desired (usually 15 minutes). This allows the
procedure to double duty, either as an instant monitor script (when
combined with a SELECT against the Remote DBA_TEMP table) or as a
background statistics collection script.
Using the DBMS_JOB.SUBMIT procedure, the command
to submit the RUNNING_STATS procedure to the job queue would be:
VARIABLE x NUMBER;
Notice how the BEGIN-END; block structure is
used. This block structure is used to prevent some problems that
have been reported when a straight procedure call is made to the job
queue. Notice that the interval is specified as a character string:
’SYSDATE+(15/14440)’ that evaluates to a future date. The interval
will tend to creep unless the string is specified using concatenated
date values. Also notice how the value for “is_interactive” is
specified, even though it will default to FALSE, this is to reduce
confusion when the job is viewed using the Remote DBA_JOBS view.
SEE CODE DEPOT FOR FULL SCRIPTS
For more information on this topic, I recommend Don
Burleson's latest book "Oracle
Tuning: The Definitive Reference".
You can buy it direct from the publisher for 50%-off and get
instant access to the code depot of Oracle tuning scripts:
Expert Remote DBA
BC is America's oldest and largest Remote DBA Oracle support
provider. Get real Remote DBA experts, call
BC Remote DBA today.