@@header /* * * Author : Vishal Gupta * Purpose : Display PGA statistics * Parameter : 1 - InstanceNumber (Use % for all instances) * 2 - From Timestamp (In YYYY-MM-DD HH24:MI:SS format) * 3 - To Timestamp (In YYYY-MM-DD HH24:MI:SS format) * 4 - PGA Statistics Name (For exact name, use @pga_stats script to find exact name) * * Revision History: * =================== * Date Author Description * --------- ------------ ----------------------------------------- * 27-Jun-12 Vishal Gupta Created * */ /************************************ * INPUT PARAMETERS ************************************/ DEFINE INST_ID="&&1" DEFINE FROM_TIMESTAMP="&2" DEFINE TO_TIMESTAMP="&3" DEFINE STAT_NAME="&4" /************************************ * CONFIGURATION PARAMETERS ************************************/ set pages 50000 DEFINE COUNT_FORMAT=999,999,999 --DEFINE COUNT_DIVIDER="1" --DEFINE COUNT_HEADING="#" DEFINE COUNT_DIVIDER="1000" DEFINE COUNT_HEADING="#1000" DEFINE BYTES_FORMAT="999,999" --DEFINE BYTES_DIVIDER="1024" --DEFINE BYTES_HEADING="KB" DEFINE BYTES_DIVIDER="1024/1024" DEFINE BYTES_HEADING="MB" --DEFINE BYTES_DIVIDER="1024/1024/1024" --DEFINE BYTES_HEADING="GB" PROMPT PROMPT *************************************************** PROMPT * PGA Statistics from AWR PROMPT * PROMPT * From AWR Repository PROMPT * - For Instance ID - &INST_ID PROMPT * - Between &&FROM_TIMESTAMP and &&TO_TIMESTAMP (YYYY-MM-DD HH24:MI:SS) PROMPT * - Statistic Name - "&&STAT_NAME" PROMPT *************************************************** COLUMN end_interval_time HEADING "SnapTime" FORMAT a18 COLUMN name HEADING "Name" FORMAT a40 COLUMN unit HEADING "Unit" FORMAT a10 COLUMN all_inst_value HEADING "AllInst" FORMAT &&COUNT_FORMAT COLUMN inst1_value HEADING "Inst1" FORMAT &&COUNT_FORMAT COLUMN inst2_value HEADING "Inst2" FORMAT &&COUNT_FORMAT COLUMN inst3_value HEADING "Inst3" FORMAT &&COUNT_FORMAT COLUMN inst4_value HEADING "Inst4" FORMAT &&COUNT_FORMAT COLUMN inst5_value HEADING "Inst5" FORMAT &&COUNT_FORMAT COLUMN inst6_value HEADING "Inst6" FORMAT &&COUNT_FORMAT COLUMN inst7_value HEADING "Inst7" FORMAT &&COUNT_FORMAT COLUMN inst8_value HEADING "Inst8" FORMAT &&COUNT_FORMAT SELECT TO_CHAR(s.end_interval_time,'DD-MON-YY HH24:MI') end_interval_time , p.name , DECODE(pn.unit , 'bytes','&&BYTES_HEADING' , pn.unit) unit , SUM(DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value)) all_inst_value , SUM(DECODE(p.instance_number, 1, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst1_value , SUM(DECODE(p.instance_number, 2, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst2_value , SUM(DECODE(p.instance_number, 3, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst3_value , SUM(DECODE(p.instance_number, 4, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst4_value , SUM(DECODE(p.instance_number, 5, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst5_value , SUM(DECODE(p.instance_number, 6, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst6_value , SUM(DECODE(p.instance_number, 7, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst7_value , SUM(DECODE(p.instance_number, 8, DECODE(pn.unit,'bytes',p.value/&&BYTES_DIVIDER,p.value))) inst8_value FROM dba_hist_pgastat p , dba_hist_snapshot s , v$pgastat pn WHERE p.dbid = s.dbid AND p.instance_number = s.instance_number AND p.snap_id = s.snap_id AND p.name = pn.name AND s.instance_number LIKE '&&INST_ID' AND s.end_interval_time BETWEEN TO_TIMESTAMP('&&FROM_TIMESTAMP','YYYY-MM-DD HH24:MI:SS') AND TO_TIMESTAMP('&&TO_TIMESTAMP' ,'YYYY-MM-DD HH24:MI:SS') AND p.name = '&&STAT_NAME' GROUP BY TO_CHAR(s.end_interval_time,'DD-MON-YY HH24:MI') , p.name , pn.unit ORDER BY TO_DATE(TO_CHAR(s.end_interval_time,'DD-MON-YY HH24:MI'),'DD-MON-YY HH24:MI') , p.name , pn.unit ; UNDEFINE INST_ID UNDEFINE FROM_TIMESTAMP UNDEFINE TO_TIMESTAMP UNDEFINE STAT_NAME @@footer