2026-03-12 20:23:15
This commit is contained in:
92
vg/stats_gather_history.sql
Normal file
92
vg/stats_gather_history.sql
Normal file
@@ -0,0 +1,92 @@
|
||||
@@header
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display Statistics gathering operations history
|
||||
* Parameters : 1 - Number of Days (Default 7)
|
||||
* 2 - Operations (e.g gather_database_stats, gather_table_stats) (Use % as wild card, \ as escape)
|
||||
* 3 - Target (Use % as wild card, \ as escape)
|
||||
*
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ -----------------------------------------
|
||||
* 22-Jun-12 Vishal Gupta Created
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/************************************
|
||||
* INPUT PARAMETERS
|
||||
************************************/
|
||||
UNDEFINE days
|
||||
UNDEFINE operation
|
||||
UNDEFINE target
|
||||
UNDEFINE where_clause
|
||||
|
||||
|
||||
DEFINE days="&&1"
|
||||
DEFINE operation="&&2"
|
||||
DEFINE target="&&3"
|
||||
DEFINE where_clause="&&4"
|
||||
|
||||
|
||||
COLUMN _days NEW_VALUE days NOPRINT
|
||||
COLUMN _operation NEW_VALUE operation NOPRINT
|
||||
COLUMN _target NEW_VALUE target NOPRINT
|
||||
|
||||
set term off
|
||||
SELECT DECODE('&&days','','7','&&days') "_days"
|
||||
, DECODE('&&operation','','gather_database_stats%','&&operation') "_operation"
|
||||
, DECODE('&&target','','%',UPPER('&&target')) "_target"
|
||||
FROM DUAL
|
||||
;
|
||||
|
||||
set term on
|
||||
|
||||
|
||||
PROMPT
|
||||
PROMPT ***********************************************************************
|
||||
PROMPT * S T A T I S T I C S G A T H E R H I S T O R Y
|
||||
PROMPT *
|
||||
PROMPT * Input Parameters
|
||||
PROMPT * - Number of Days = '&&days'
|
||||
PROMPT * - Gather Operation = '&&operation'
|
||||
PROMPT * Possible Values - alter_stats_history_retention
|
||||
PROMPT * gather_database_stats(auto)
|
||||
PROMPT * [gather|delete|import|export|restore]_database_stats
|
||||
PROMPT * [gather|delete|import|export|restore|lock|unlock]_schema_stats
|
||||
PROMPT * [gather|delete|import|export|restore|lock|unlock|copy|set]_table_stats
|
||||
PROMPT * [gather|delete|import|export|restore]_dictionary_stats
|
||||
PROMPT * [gather|delete|import|export|restore]_fixed_objects_stats
|
||||
PROMPT * [gather|delete|import|export|purge|get|set]_system_stats
|
||||
PROMPT * - Target = '&&target'
|
||||
PROMPT * - Where Clause = "&&where_clause"
|
||||
PROMPT ***********************************************************************
|
||||
|
||||
|
||||
COLUMN operation HEADING "Operation" FORMAT a29
|
||||
COLUMN duration HEADING "Duration" FORMAT a28
|
||||
COLUMN start_time HEADING "StartTime" FORMAT a22
|
||||
COLUMN end_time HEADING "EndTime" FORMAT a22
|
||||
COLUMN target HEADING "Target" FORMAT a60
|
||||
|
||||
SELECT o.operation
|
||||
, TO_CHAR(o.start_time,'Dy DD-MON-YY HH24:MI:SS') start_time
|
||||
, TO_CHAR(o.end_time,'Dy DD-MON-YY HH24:MI:SS') end_time
|
||||
, REPLACE(o.end_time - o.start_time,'+0000000','+') duration
|
||||
, o.target
|
||||
FROM sys.wri$_optstat_opr o
|
||||
--WHERE o.start_time > CAST( systimestamp - &&days as TIMESTAMP)
|
||||
WHERE o.start_time > cast(current_timestamp - &&days as timestamp WITH TIME ZONE )
|
||||
AND o.operation LIKE '&&operation' ESCAPE '\'
|
||||
AND UPPER(NVL(o.target,'x')) LIKE '&&target' ESCAPE '\'
|
||||
AND UPPER(NVL(o.target,'x')) NOT LIKE 'SYS.UTL_RECOMP%'
|
||||
&&where_clause
|
||||
ORDER BY o.start_time asc
|
||||
;
|
||||
|
||||
@@footer
|
||||
Reference in New Issue
Block a user