2026-03-12 20:23:15

This commit is contained in:
root
2026-03-12 21:23:47 +01:00
parent eab4b36eca
commit 93039b8489
3332 changed files with 699614 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
COL sql_plan_step FOR A50 WORD_WRAP
SELECT * FROM (
SELECT
a.session_state
, a.event
, a.sql_id
, a.blocking_session_status
, a.blocking_session
, a.blocking_session_serial#
, a.current_obj#
, a.sql_plan_line_id
, a.sql_plan_operation ||' '||a.sql_plan_options sql_plan_step
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
DBA_HIST_ACTIVE_SESS_HISTORY a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-20 17:25:00' AND TIMESTAMP'2011-01-20 18:55:00'
AND a.event = 'enq: TX - index contention'
GROUP BY
a.session_state
, a.event
, a.sql_id
, a.blocking_session_status
, a.blocking_session
, a.blocking_session_serial#
, a.current_obj#
, a.sql_plan_line_id
, a.sql_plan_operation ||' '||a.sql_plan_options
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/

View File

@@ -0,0 +1,32 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
COL sql_plan_step FOR A50 WORD_WRAP
SELECT * FROM (
SELECT
a.session_type
, a.session_state
, a.event
, a.sql_id
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
DBA_HIST_ACTIVE_SESS_HISTORY a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-05-14 06:00:00' AND TIMESTAMP'2011-05-14 06:10:00'
GROUP BY
a.session_type
, a.session_state
, a.event
, a.sql_id
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/

View File

@@ -0,0 +1,90 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SPOOL ash12.txt
--DEF from_time="2010-10-30 18:12:00"
--DEF to_time="2010-10-30 18:14:00"
DEF cols=session_type,program,sql_opcode
--PROMPT FROM_TIME=&from_time TO_TIME=&to_time
SELECT * FROM (
SELECT
&cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
END stage
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
FROM
gv$active_session_history
-- dba_hist_active_sess_history
WHERE
1=1
--AND sample_time BETWEEN TIMESTAMP'from_time' AND TIMESTAMP'to_time'
AND session_state = 'ON CPU'
AND event IS NULL
AND sql_id IS NULL
GROUP BY
&cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
END
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
DEF cols=module
/
DEF cols=action
/
DEF cols=user_id
/
DEF cols=session_type,program,top_level_sql_opcode
/
DEF cols=session_type,program,top_level_sql_opcode,top_level_sql_id
/
DEF cols=session_type,program,plsql_object_id,plsql_subprogram_id
/
DEF cols=wait_class,event
/
DEF cols=sql_id,wait_class
/
DEF cols=sql_id,event
/
DEF cols=program,event
/
SPOOL OFF

View File

@@ -0,0 +1,73 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SPOOL ash13.txt
--DEF from_time="2010-10-30 18:12:00"
--DEF to_time="2010-10-30 18:14:00"
DEF cols=session_type,program,sql_opcode
--PROMPT FROM_TIME=&from_time TO_TIME=&to_time
SELECT * FROM (
SELECT
&cols
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
FROM
gv$active_session_history
-- dba_hist_active_sess_history
WHERE
1=1
-- AND sample_time BETWEEN TIMESTAMP'from_time' AND TIMESTAMP'to_time'
-- AND event IS NULL
-- AND sql_id IS NULL
GROUP BY
&cols
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
DEF cols=event
/
DEF cols=sql_id
/
DEF cols=module
/
DEF cols=action
/
DEF cols=user_id
/
DEF cols=session_type,program,top_level_sql_opcode
/
DEF cols=session_type,program,top_level_sql_opcode,top_level_sql_id
/
DEF cols=session_type,program,plsql_object_id,plsql_subprogram_id
/
DEF cols=wait_class,event
/
DEF cols=sql_id,wait_class
/
DEF cols=sql_id,event
/
DEF cols=program,event
/
SPOOL OFF

View File

@@ -0,0 +1,73 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SPOOL ash13a.txt
--DEF from_time="2010-10-30 18:12:00"
--DEF to_time="2010-10-30 18:14:00"
DEF cols=session_type,program,sql_opcode
--PROMPT FROM_TIME=&from_time TO_TIME=&to_time
SELECT * FROM (
SELECT
&cols
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
FROM
gv$active_session_history
-- dba_hist_active_sess_history
WHERE
1=1
-- AND sample_time BETWEEN TIMESTAMP'from_time' AND TIMESTAMP'to_time'
-- AND event IS NULL
-- AND sql_id IS NULL
GROUP BY
&cols
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
DEF cols=event
/
DEF cols=sql_id
/
DEF cols=module
/
DEF cols=action
/
DEF cols=user_id
/
DEF cols=session_type,program,top_level_sql_opcode
/
DEF cols=session_type,program,top_level_sql_opcode,top_level_sql_id
/
DEF cols=session_type,program,plsql_object_id,plsql_subprogram_id
/
DEF cols=wait_class,event
/
DEF cols=sql_id,wait_class
/
DEF cols=sql_id,event
/
DEF cols=program,event
/
SPOOL OFF

78
tpt/ash/examples/ash2.sql Normal file
View File

@@ -0,0 +1,78 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
--DEF from_time="2010-10-30 18:12:00"
--DEF to_time="2010-10-30 18:14:00"
DEF from_time="&1"
DEF to_time="&2"
DEF cols=session_type,top_level_call_name,program,top_level_sql_opcode,top_level_sql_id,sql_opcode,sql_id
PROMPT FROM_TIME=&from_time TO_TIME=&to_time
SELECT * FROM (
SELECT
count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, &cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
WHEN IN_SEQUENCE_LOAD ='Y' THEN 'SEQUENCE_LOAD'
END stage
FROM
v$active_session_history
WHERE
sample_time BETWEEN TIMESTAMP'&from_time' AND TIMESTAMP'&to_time'
AND session_state = 'ON CPU'
AND event IS NULL
AND sql_id IS NULL
AND session_type = 'FOREGROUND'
GROUP BY
&cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
WHEN IN_SEQUENCE_LOAD ='Y' THEN 'SEQUENCE_LOAD'
END
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
DEF cols=session_type,program,top_level_sql_opcode,sql_id
/
--
-- DEF cols=session_type,program,top_level_sql_opcode,sql_id,event
-- /
--
-- DEF cols=session_type,program,top_level_sql_opcode,sql_id,event,p1
-- /
--
-- DEF cols=session_type,program,top_level_sql_opcode,sql_id,event,p1,p2
-- /
--
-- DEF cols=session_type,program,top_level_sql_opcode,top_level_sql_id
-- /
--
-- DEF cols=session_type,program,plsql_object_id,plsql_subprogram_id
-- /
--

75
tpt/ash/examples/ash3.sql Normal file
View File

@@ -0,0 +1,75 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
DEF from_time="2010-10-30 18:12:00"
DEF to_time="2010-10-30 18:14:00"
DEF cols=session_type,program,sql_opcode
PROMPT FROM_TIME=&from_time TO_TIME=&to_time
SELECT * FROM (
SELECT
&cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
WHEN IN_SEQUENCE_LOAD ='Y' THEN 'SEQUENCE_LOAD'
END stage
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
FROM
-- active_session_history_bak
v$active_session_history
-- dba_hist_active_sess_history
WHERE
1=1 -- sample_time BETWEEN TIMESTAMP'&from_time' AND TIMESTAMP'&to_time'
AND session_state = 'ON CPU'
AND event IS NULL
AND sql_id IS NULL
GROUP BY
&cols
, CASE WHEN IN_CONNECTION_MGMT='Y' THEN 'CONNECTION_MGMT'
WHEN IN_PARSE ='Y' THEN 'PARSE'
WHEN IN_HARD_PARSE ='Y' THEN 'HARD_PARSE'
WHEN IN_SQL_EXECUTION ='Y' THEN 'SQL_EXECUTION'
WHEN IN_PLSQL_EXECUTION ='Y' THEN 'PLSQL_EXECUTION'
WHEN IN_PLSQL_RPC ='Y' THEN 'PLSQL_RPC'
WHEN IN_PLSQL_COMPILATION ='Y' THEN 'PLSQL_COMPILATION'
WHEN IN_JAVA_EXECUTION ='Y' THEN 'JAVA_EXECUTION'
WHEN IN_BIND ='Y' THEN 'BIND'
WHEN IN_CURSOR_CLOSE ='Y' THEN 'CURSOR_CLOSE'
WHEN IN_SEQUENCE_LOAD ='Y' THEN 'SEQUENCE_LOAD'
END
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
DEF cols=module
/
DEF cols=action
/
DEF cols=user_id
/
DEF cols=session_type,program,top_level_sql_opcode
/
DEF cols=session_type,program,top_level_sql_opcode,top_level_sql_id
/
DEF cols=session_type,program,plsql_object_id,plsql_subprogram_id
/

66
tpt/ash/examples/ash5.sql Normal file
View 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SELECT * FROM (
SELECT /*+ LEADING(o) USE_HASH(a) */
a.sql_id
, o.kglnaobj cursor_name
, a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
v$active_session_history a
, x$kglob o
WHERE
a.sql_id = o.kglobt13
AND a.sample_time BETWEEN SYSDATE AND SYSDATE - 1/12
AND o.kglnaobj = 'table_4_9_73c8_0_0_0'
GROUP BY
a.sql_id
, o.kglnaobj
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT /*+ LEADING(o) USE_HASH(a) */
a.sql_id
, o.kglnaobj cursor_name
, a.session_state
, a.event
, a.p1
, a.p2
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
v$active_session_history a
, x$kglob o
WHERE
a.sql_id = o.kglobt13
AND a.sample_time BETWEEN SYSDATE AND SYSDATE - 1/12
AND o.kglnaobj = 'table_4_9_73c8_0_0_0'
GROUP BY
a.sql_id
, a.p1
, a.p2
, o.kglnaobj
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 300
/

57
tpt/ash/examples/ash6.sql Normal file
View File

@@ -0,0 +1,57 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SELECT * FROM (
SELECT
a.sql_id
, a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-05 15:00:00' AND TIMESTAMP'2011-01-05 15:30:00'
AND a.sql_id = '9dq68unz1naqz' -- table_4_9_73c8_0_0_0
GROUP BY
a.sql_id
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-05 15:00:00' AND TIMESTAMP'2011-01-05 15:30:00'
AND a.sql_id = '9dq68unz1naqz' -- table_4_9_73c8_0_0_0
GROUP BY
a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
ORDER BY
percent DESC
)
WHERE ROWNUM <= 300
/

57
tpt/ash/examples/ash7.sql Normal file
View File

@@ -0,0 +1,57 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SELECT * FROM (
SELECT
a.sql_id
, a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-05 15:00:00' AND TIMESTAMP'2011-01-05 15:30:00'
AND a.sql_id = '9dq68unz1naqz' -- table_4_9_73c8_0_0_0
GROUP BY
a.sql_id
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-05 15:00:00' AND TIMESTAMP'2011-01-05 15:30:00'
AND a.sql_id = '9dq68unz1naqz' -- table_4_9_73c8_0_0_0
GROUP BY
a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
ORDER BY
percent DESC
)
WHERE ROWNUM <= 300
/

80
tpt/ash/examples/ash8.sql Normal file
View File

@@ -0,0 +1,80 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SELECT * FROM (
SELECT
a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.program
, a.sql_id
, a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.program
, a.sql_id
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.program
, a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
dba_hist_active_sess_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.program
, a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
ORDER BY
percent DESC
)
WHERE ROWNUM <= 300
/

80
tpt/ash/examples/ash9.sql Normal file
View File

@@ -0,0 +1,80 @@
-- 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.
SET LINES 999 PAGES 5000 TRIMSPOOL ON TRIMOUT ON VERIFY OFF
SELECT * FROM (
SELECT
a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
v$active_session_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.program
, a.sql_id
, a.session_state
, a.event
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
v$active_session_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.program
, a.sql_id
, a.session_state
, a.event
ORDER BY
percent DESC
)
WHERE ROWNUM <= 30
/
SELECT * FROM (
SELECT
a.program
, a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
, count(*)
, lpad(round(ratio_to_report(count(*)) over () * 100)||'%',10,' ') percent
, MIN(a.sample_time)
, MAX(a.sample_time)
FROM
v$active_session_history a
WHERE
a.sample_time BETWEEN TIMESTAMP'2011-01-10 18:00:00' AND TIMESTAMP'2011-01-10 19:00:00'
GROUP BY
a.program
, a.sql_id
, a.session_state
, a.event
, a.p1
, a.p2
ORDER BY
percent DESC
)
WHERE ROWNUM <= 300
/

View File

@@ -0,0 +1,19 @@
SELECT
COUNT(*) totalseconds
, ROUND(COUNT(*) / ((CAST(&4 AS DATE) - CAST(&3 AS DATE)) * 86400), 1) AAS
, LPAD(ROUND(RATIO_TO_REPORT(COUNT(*)) OVER () * 100)||'%',5,' ')||' |' "%This"
, &1
, TO_CHAR(MIN(sample_time), 'YYYY-MM-DD HH24:MI:SS') first_seen
, TO_CHAR(MAX(sample_time), 'YYYY-MM-DD HH24:MI:SS') last_seen
-- , MAX(sql_exec_id) - MIN(sql_exec_id)
, COUNT(DISTINCT sql_exec_start||':'||sql_exec_id) dist_sqlexec_seen
FROM v$active_session_history a
WHERE (session_id, session_serial#) IN (SELECT session_id, session_serial# FROM v$active_session_history
WHERE sample_time BETWEEN &3 AND &4
AND &2
)
AND sample_time BETWEEN &3 AND &4
GROUP BY
&1
/