2026-03-12 20:23:15
This commit is contained in:
66
tpt/ash/gashtop.sql
Normal file
66
tpt/ash/gashtop.sql
Normal file
@@ -0,0 +1,66 @@
|
||||
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
|
||||
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
|
||||
|
||||
-- usage: @ashtop sql_id
|
||||
|
||||
COL ash_from_date NEW_VALUE ash_from_date
|
||||
COL ash_to_date NEW_VALUE ash_to_date
|
||||
|
||||
-- This was too much!
|
||||
--SELECT
|
||||
-- regexp_replace('&3','^-([0-9]*)(.)$', ' sysdate - \1 / ', 1, 0, 'i')
|
||||
-- ||decode(regexp_replace('&3', '^-[0-9]*(.)$', '\1', 1, 0, 'i'),
|
||||
-- 'd', '1',
|
||||
-- 'h', '24',
|
||||
-- 'm','24/60',
|
||||
-- 's','24/60/60',
|
||||
-- ''
|
||||
-- ) ash_from_date,
|
||||
-- regexp_replace(regexp_replace('&4', '^now$', 'sysdate'),'^-([0-9]*)(.)$', ' sysdate - \1 / ', 1, 0, 'i')
|
||||
-- ||decode(regexp_replace(regexp_replace('&4', '^now$', 'sysdate'), '^-[0-9]*(.)$', '\1', 1, 0, 'i'),
|
||||
-- 'd', '1',
|
||||
-- 'h', '24',
|
||||
-- 'm','24/60',
|
||||
-- 's','24/60/60',
|
||||
-- ''
|
||||
-- ) ash_to_date
|
||||
--from
|
||||
-- dual
|
||||
--/
|
||||
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
LPAD(ROUND(RATIO_TO_REPORT(COUNT(*)) OVER () * 100)||'%',5,' ') "%This"
|
||||
, &1
|
||||
, COUNT(*) "TotalSeconds"
|
||||
, SUM(CASE WHEN wait_class IS NULL THEN 1 ELSE 0 END) "CPU"
|
||||
, SUM(CASE WHEN wait_class ='User I/O' THEN 1 ELSE 0 END) "User I/O"
|
||||
, SUM(CASE WHEN wait_class ='Application' THEN 1 ELSE 0 END) "Application"
|
||||
, SUM(CASE WHEN wait_class ='Concurrency' THEN 1 ELSE 0 END) "Concurrency"
|
||||
, SUM(CASE WHEN wait_class ='Commit' THEN 1 ELSE 0 END) "Commit"
|
||||
, SUM(CASE WHEN wait_class ='Configuration' THEN 1 ELSE 0 END) "Configuration"
|
||||
, SUM(CASE WHEN wait_class ='Cluster' THEN 1 ELSE 0 END) "Cluster"
|
||||
, SUM(CASE WHEN wait_class ='Idle' THEN 1 ELSE 0 END) "Idle"
|
||||
, SUM(CASE WHEN wait_class ='Network' THEN 1 ELSE 0 END) "Network"
|
||||
, SUM(CASE WHEN wait_class ='System I/O' THEN 1 ELSE 0 END) "System I/O"
|
||||
, SUM(CASE WHEN wait_class ='Scheduler' THEN 1 ELSE 0 END) "Scheduler"
|
||||
, SUM(CASE WHEN wait_class ='Administrative' THEN 1 ELSE 0 END) "Administrative"
|
||||
, SUM(CASE WHEN wait_class ='Queueing' THEN 1 ELSE 0 END) "Queueing"
|
||||
, SUM(CASE WHEN wait_class ='Other' THEN 1 ELSE 0 END) "Other"
|
||||
FROM
|
||||
gv$active_session_history a
|
||||
, dba_users u
|
||||
WHERE
|
||||
a.user_id = u.user_id (+)
|
||||
AND &2
|
||||
AND sample_time BETWEEN &3 AND &4
|
||||
GROUP BY
|
||||
&1
|
||||
ORDER BY
|
||||
"TotalSeconds" DESC
|
||||
, &1
|
||||
)
|
||||
WHERE
|
||||
ROWNUM <= 20
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user