Locate Hard hitting SQL from Statpack Repository
1. Login as PERFSTAT user on database. It won’t work unless U login as PERFSTAT user
2. Find DBID using “select dbid from stats$sql_summary”
3. Locate MIN(SNAP_ID) pBgnSnap & MAX(SNAP_ID) pEndSnap
SELECT MIN (snap_id), MAX (snap_id), MIN (snap_time), MAX (snap_time) FROM stats$snapshot WHERE TO_NUMBER (TO_CHAR (snap_time, 'HH24')) > 10 AND TO_NUMBER (TO_CHAR (snap_time, 'HH24')) < 13 AND TRUNC (snap_time) = TRUNC (SYSDATE)
Show All SQL Stmts ordered by Logical Reads SELECT e.hash_value "E.HASH_VALUE", e.module "Module", e.buffer_gets - NVL (b.buffer_gets, 0) "Buffer Gets", e.executions - NVL (b.executions, 0) "Executions", ROUND ( DECODE ( (e.executions - NVL (b.executions, 0)), 0, TO_NUMBER (NULL), (e.buffer_gets - NVL (b.buffer_gets, 0)) / (e.executions - NVL (b.executions, 0)) ), 3 ) "Gets / Execution", ROUND ( 100 * (e.buffer_gets - NVL (b.buffer_gets, 0)) / sp920.getGets (:pDbID, :pInstNum, :pBgnSnap, :pEndSnap, 'NO'), 3) "Percent of Total", ROUND ( (e.cpu_time - NVL (b.cpu_time, 0)) / 1000000, 3) "CPU (s)", ROUND ( (e.elapsed_time - NVL (b.elapsed_time, 0)) / 1000000, 3) "Elapsed (s)", ROUND (e.fetches - NVL (b.fetches, 0)) "Fetches", sp920.getSQLText (e.hash_value, 400) "SQL Statement" FROM stats$sql_summary e, stats$sql_summary b WHERE b.snap_id(+) = :pBgnSnap AND b.dbid(+) = e.dbid AND b.instance_number(+) = e.instance_number AND b.hash_value(+) = e.hash_value AND b.address(+) = e.address AND b.text_subset(+) = e.text_subset AND e.snap_id = :pEndSnap AND e.dbid = :pDbId AND e.instance_number = :pInstNum ORDER BY 3 DESC
Show SQL Stmts where SQL_TEXT like '%'
SELECT e.hash_value "E.HASH_VALUE", e.module "Module", e.buffer_gets - NVL (b.buffer_gets, 0) "Buffer Gets", e.executions - NVL (b.executions, 0) "Executions", ROUND ( DECODE ( (e.executions - NVL (b.executions, 0)), 0, TO_NUMBER (NULL), (e.buffer_gets - NVL (b.buffer_gets, 0)) / (e.executions - NVL (b.executions, 0)) ), 3 ) "Gets / Execution", ROUND ( 100 * (e.buffer_gets - NVL (b.buffer_gets, 0)) / sp920.getGets (:pDbID, :pInstNum, :pBgnSnap, :pEndSnap, 'NO'), 3) "Percent of Total", ROUND ( (e.cpu_time - NVL (b.cpu_time, 0)) / 1000000, 3) "CPU (s)", ROUND ( (e.elapsed_time - NVL (b.elapsed_time, 0)) / 1000000, 3) "Elapsed (s)", ROUND (e.fetches - NVL (b.fetches, 0)) "Fetches", sp920.getSQLText (e.hash_value, 400) "SQL Statement" FROM stats$sql_summary e, stats$sql_summary b WHERE b.snap_id(+) = :pBgnSnap AND b.dbid(+) = e.dbid AND b.instance_number(+) = e.instance_number AND b.hash_value(+) = e.hash_value AND b.address(+) = e.address AND b.text_subset(+) = e.text_subset AND e.snap_id = :pEndSnap AND e.dbid = 2863128100 AND e.instance_number = :pInstNum AND sp920.getSQLText (e.hash_value, 400) LIKE '%ZPV_DATA%' ORDER BY 3 DESC
Leave a Reply
You must be logged in to post a comment.