代码拉取完成,页面将自动刷新
Prompt
prompt +-----------------------------------------------------------+
prompt | Wait Profile for last 60 second |
Prompt +-----------------------------------------------------------+
prompt
SELECT NULL TIME_INTERVAL, NULL EVENT, NULL ACT_SESS, NULL PERCENT, NULL TIME_WAITED_S,
NULL WAIT_COUNT, NULL AVG_WAIT_MS FROM DUAL WHERE 1 = 0
UNION ALL (
SELECT NULL TIME_INTERVAL, NULL EVENT, NULL ACT_SESS, NULL PERCENT, NULL TIME_WAITED_S,
NULL WAIT_COUNT, NULL AVG_WAIT_MS FROM DUAL WHERE 1 = 0
) UNION ALL ( SELECT * FROM (
WITH B_INFO AS
( SELECT
DECODE(INSTANCE_NUMBER, -1, USERENV('INSTANCE'), INSTANCE_NUMBER) INSTANCE_NUMBER,
EVENT,
MIN_WAIT_TIME_MS,
EXCLUDE_IDLE_EVENTS,
EXCLUDE_SYSTEM,
EXCLUDE_ADMINISTRATIVE,
AVG_RTT_US,
ORDER_BY
FROM
( SELECT
-1 INSTANCE_NUMBER,
'%' EVENT,
1 MIN_WAIT_TIME_MS,
'X' EXCLUDE_IDLE_EVENTS,
'X' EXCLUDE_SYSTEM,
'X' EXCLUDE_ADMINISTRATIVE,
400 AVG_RTT_US, /* adapt with system specific roundtrip time in micro seconds */
'TIME' ORDER_BY /* TIME, EVENT */
FROM
DUAL
)
)
SELECT
TO_CHAR(BEGIN_TIME, 'dd.mm.yyyy hh24:mi:ss') || ' - ' ||
TO_CHAR(END_TIME, 'dd.mm.yyyy hh24:mi:ss') TIME_INTERVAL,
EVENT,
TO_CHAR(ACTIVE_SESSIONS, 9990.99) ACT_SESS,
TO_CHAR(RATIO_TO_REPORT(ACTIVE_SESSIONS) OVER () * 100, 990.99) PERCENT,
TO_CHAR(TIME_WAITED_CS / 100, 999999990.99) TIME_WAITED_S,
TO_CHAR(WAIT_COUNT, 999999990) WAIT_COUNT,
TO_CHAR(DECODE(WAIT_COUNT, 0, 0, TIME_WAITED_CS * 10 / WAIT_COUNT), 9999990.99) AVG_WAIT_MS
FROM
( SELECT
EM.BEGIN_TIME,
EM.END_TIME,
EN.NAME EVENT,
EM.TIME_WAITED / 100 / ( EM.END_TIME - EM.BEGIN_TIME ) / 86400 ACTIVE_SESSIONS,
EM.TIME_WAITED TIME_WAITED_CS,
EM.WAIT_COUNT,
BI.ORDER_BY
FROM
B_INFO BI,
GV$EVENTMETRIC EM,
GV$EVENT_NAME EN
WHERE
BI.INSTANCE_NUMBER = EM.INST_ID AND
EM.INST_ID = EN.INST_ID AND
EN.NAME LIKE BI.EVENT AND
EM.EVENT# = EN.EVENT# AND
( BI.MIN_WAIT_TIME_MS = -1 OR TIME_WAITED * 10 >= BI.MIN_WAIT_TIME_MS ) AND
( BI.EXCLUDE_IDLE_EVENTS != 'X' OR EN.WAIT_CLASS != 'Idle' ) AND
( BI.EXCLUDE_SYSTEM = ' ' OR
EN.WAIT_CLASS != 'System I/O'
) AND
( BI.EXCLUDE_ADMINISTRATIVE = ' ' OR
( EN.WAIT_CLASS != 'Administrative' AND
EN.NAME NOT IN
( 'ARCH wait on SENDREQ',
'LNS wait on SENDREQ',
'LGWR-LNS wait on channel',
'remote db file write'
)
)
)
UNION ALL
( SELECT
SM.BEGIN_TIME,
SM.END_TIME,
'CPU' METRIC_NAME,
SM.VALUE / 100 / ( SM.END_TIME - SM.BEGIN_TIME ) / 86400 ACTIVE_SESSIONS,
SM.VALUE TIME_WAITED_CS,
NULL WAIT_COUNT,
BI.ORDER_BY
FROM
B_INFO BI,
GV$SYSMETRIC SM
WHERE
BI.INSTANCE_NUMBER = SM.INST_ID AND
SM.GROUP_ID = 2 AND
SM.METRIC_NAME IN ( /* 'CPU Usage Per Sec', */ 'Host CPU Usage Per Sec') AND
( BI.MIN_WAIT_TIME_MS = -1 OR SM.VALUE * 10 >= BI.MIN_WAIT_TIME_MS )
)
UNION ALL
( SELECT
SM.BEGIN_TIME,
SM.END_TIME,
'Network' METRIC_NAME,
SM.VALUE * AVG_RTT_US / 1000000 ACTIVE_SESSIONS,
SM.VALUE * ( SM.END_TIME - SM.BEGIN_TIME ) * 86400 * AVG_RTT_US / 10000 TIME_WAITED_CS,
SM.VALUE * ( SM.END_TIME - SM.BEGIN_TIME ) * 86400 WAIT_COUNT,
BI.ORDER_BY
FROM
B_INFO BI,
GV$SYSMETRIC SM
WHERE
BI.INSTANCE_NUMBER = SM.INST_ID AND
SM.GROUP_ID = 2 AND
SM.METRIC_NAME = 'User Calls Per Sec' AND
( BI.MIN_WAIT_TIME_MS = -1 OR SM.VALUE * 10 >= BI.MIN_WAIT_TIME_MS )
)
)
ORDER BY
DECODE(ORDER_BY, 'TIME', TIME_WAITED_CS, 0) DESC,
DECODE(ORDER_BY, 'EVENT', EVENT, NULL)
));
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。