Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

adding top_procedure,. top_session, bbw plus file renaming

  • Loading branch information...
commit 3b33d40034f5e974274e67aa1ec886f7e7d38ef9 1 parent 43f0d5a
Kyle Hailey authored
50 ash_bbw.sql
... ... @@ -0,0 +1,50 @@
  1 +
  2 +
  3 +/*
  4 + when block type is not found in v$waitclass then it's undo/rbs segement
  5 +
  6 +OBJN OTYPE FILEN BLOCKN SQL_ID BLOCK_TYPE
  7 +------------------------- ----------- ------ ------------- ------------------
  8 +53218 BBW_INDEX_VAL_I INDEX 1 64826 97dgthz60u28d data block 1
  9 +53218 BBW_INDEX_VAL_I INDEX 1 64826 gypmcfzruu249 data block 1
  10 +53218 BBW_INDEX_VAL_I INDEX 1 64826 2vd1w5kgnfa5n data block 1
  11 +53218 BBW_INDEX_VAL_I INDEX 1 64826 3p3qncvp2juxs data block 1
  12 +53218 BBW_INDEX_VAL_I INDEX 1 64826 6avm49ys4k7t6 data block 1
  13 +53218 BBW_INDEX_VAL_I INDEX 1 64826 1hsb81ypyrfs5 data block 1
  14 +53218 BBW_INDEX_VAL_I INDEX 1 64652 2vd1w5kgnfa5n data block 1
  15 +53218 BBW_INDEX_VAL_I INDEX 1 64826 3p3qncvp2juxs data block 1
  16 +53218 BBW_INDEX_VAL_I INDEX 1 64923 5wqps1quuxqr4 data block 1
  17 +53218 BBW_INDEX_VAL_I INDEX 1 64826 6avm49ys4k7t6 data block 1
  18 +-1 0 0 fm7zcsnd5fud6 39
  19 +-1 0 0 3qrw5v6d6qj4a 39
  20 +53218 BBW_INDEX_VAL_I INDEX 1 64825 2vd1w5kgnfa5n segment header 4
  21 +53218 BBW_INDEX_VAL_I INDEX 1 64826 gypmcfzruu249 data block 1
  22 +53218 BBW_INDEX_VAL_I INDEX 1 64826 5x0fksgfwkn6s data block 1
  23 +53218 BBW_INDEX_VAL_I INDEX 1 64826 2vd1w5kgnfa5n data block 1
  24 +
  25 +*/
  26 +
  27 +
  28 +col block_type for a18
  29 +col objn for a25
  30 +col otype for a15
  31 +select
  32 + --ash.p1,
  33 + --ash.p2,
  34 + --ash.p3,
  35 + CURRENT_OBJ#||' '||o.object_name objn,
  36 + o.object_type otype,
  37 + CURRENT_FILE# filen,
  38 + CURRENT_BLOCK# blockn,
  39 + ash.SQL_ID,
  40 + w.class ||' '||to_char(ash.p3) block_type
  41 +from v$active_session_history ash,
  42 + ( select rownum class#, class from v$waitstat ) w,
  43 + all_objects o
  44 +where event='buffer busy waits'
  45 + and w.class#(+)=ash.p3
  46 + and o.object_id (+)= ash.CURRENT_OBJ#
  47 + --and w.class# > 18
  48 +Order by sample_time
  49 +/
  50 +
142 ash_graph.sql
... ... @@ -1,142 +0,0 @@
1   -
2   -/*
3   - see: http://dboptimizer.com/2012/01/17/looking-at-awr-repositories-for-performance-issues/
4   -
5   - The graph on the right shows the load over time each line is an hour by default.
6   -
7   - The "+" represent CPU, "o" represent I/O and "-" represent a wait.
8   -The columns "FIRST" and "SECOND" represent the top two things happening on the database.
9   -
10   - output looks like
11   -
12   -TO_CHAR( AAS PCT1 FIRST PCT2 SECOND GRAPH
13   --------- ----- ---- --------------- ---- --------------- -------------------------------------------
14   -16 00:00 7.02 52 db file sequent 27 CPU ++++++++++oooooooooo4ooooooooooooooo--
15   -16 01:00 3.80 57 CPU 36 db file sequent +++++++++++oooooooo 4
16   -16 02:00 5.51 38 db file sequent 21 CPU ++++++oooooooooooo--4---------
17   -16 03:00 2.89 69 db file sequent 20 CPU +++ooooooooooo 4
18   -16 04:00 .34 45 db file sequent 28 CPU o 4
19   -16 05:00 .78 58 db file sequent 24 CPU +ooo 4
20   -16 06:00 .59 41 db file sequent 39 CPU +oo 4
21   -16 07:00 .19 57 CPU 21 db file sequent + 4
22   -16 08:00 .18 57 CPU 28 db file scatter + 4
23   -16 09:00 .50 69 db file sequent 24 CPU +oo 4
24   -16 10:00 1.79 79 db file sequent 13 CPU +ooooooo 4
25   -16 11:00 2.51 76 db file sequent 12 CPU +ooooooooooo 4
26   -
27   -*/
28   -
29   -Def v_secs=3600 -- bucket size
30   -Def v_days=1 -- total time analyze
31   -Def v_bars=5 -- size of one AAS in characters
32   -Def v_graph=80
33   -
34   -col aveact format 999.99
35   -col graph format a80
36   -col fpct format 9.99
37   -col spct format 9.99
38   -col tpct format 9.99
39   -col aas format 9.99
40   -col pct1 format 999
41   -col pct2 format 999
42   -col first format a15
43   -col second format a15
44   -
45   -Def p_value=4
46   -
47   -select to_char(start_time,'DD HH24:MI'),
48   - --samples,
49   - --total,
50   - --waits,
51   - --cpu,
52   - (total/&v_secs) aas,
53   - --round(fpct * (total/&v_secs),2) aas1,
54   - fpct*100 pct1,
55   - decode(fpct,null,null,first) first,
56   - --round(spct * (total/&v_secs),2) aas2,
57   - spct*100 pct2,
58   - decode(spct,null,null,second) second,
59   - -- substr, ie trunc, the whole graph to make sure it doesn't overflow
60   - substr(
61   - -- substr, ie trunc, the graph below the # of CPU cores line
62   - -- draw the whole graph and trunc at # of cores line
63   - substr(
64   - rpad('+',round((cpu*&v_bars)/&v_secs),'+') ||
65   - rpad('o',round((io*&v_bars)/&v_secs),'o') ||
66   - rpad('-',round((waits*&v_bars)/&v_secs),'-') ||
67   - rpad(' ',&p_value * &v_bars,' '),0,(&p_value * &v_bars)) ||
68   - &p_value ||
69   - -- draw the whole graph, then cut off the amount we drew before the # of cores
70   - substr(
71   - rpad('+',round((cpu*&v_bars)/&v_secs),'+') ||
72   - rpad('o',round((io*&v_bars)/&v_secs),'o') ||
73   - rpad('-',round((waits*&v_bars)/&v_secs),'-') ||
74   - rpad(' ',&p_value * &v_bars,' '),(&p_value * &v_bars),( &v_graph-&v_bars*&p_value) )
75   - ,0,&v_graph)
76   - graph
77   - -- spct,
78   - -- decode(spct,null,null,second) second,
79   - -- tpct,
80   - -- decode(tpct,null,null,third) third
81   -from (
82   -select start_time
83   - , max(samples) samples
84   - , sum(top.total) total
85   - , round(max(decode(top.seq,1,pct,null)),2) fpct
86   - , substr(max(decode(top.seq,1,decode(top.event,'ON CPU','CPU',event),null)),0,15) first
87   - , round(max(decode(top.seq,2,pct,null)),2) spct
88   - , substr(max(decode(top.seq,2,decode(top.event,'ON CPU','CPU',event),null)),0,15) second
89   - , round(max(decode(top.seq,3,pct,null)),2) tpct
90   - , substr(max(decode(top.seq,3,decode(top.event,'ON CPU','CPU',event),null)),0,10) third
91   - , sum(waits) waits
92   - , sum(io) io
93   - , sum(cpu) cpu
94   -from (
95   - select
96   - to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS') start_time
97   - , event
98   - , total
99   - , row_number() over ( partition by id order by total desc ) seq
100   - , ratio_to_report( sum(total)) over ( partition by id ) pct
101   - , max(samples) samples
102   - , sum(decode(event,'ON CPU',total,0)) cpu
103   - , sum(decode(event,'ON CPU',0,
104   - 'db file sequential read',0,
105   - 'db file scattered read',0,
106   - 'db file parallel read',0,
107   - 'direct path read',0,
108   - 'direct path read temp',0,
109   - 'direct path write',0,
110   - 'direct path write temp',0, total)) waits
111   - , sum(decode(event,'db file sequential read',total,
112   - 'db file scattered read',total,
113   - 'db file parallel read',total,
114   - 'direct path read',total,
115   - 'direct path read temp',total,
116   - 'direct path write',total,
117   - 'direct path write temp',total, 0)) io
118   - from (
119   - select
120   - to_char(sample_time,'YYMMDD') tday
121   - , trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod
122   - , to_char(sample_time,'YYMMDD')||trunc(to_char(sample_time,'SSSSS')/&v_secs) id
123   - , decode(ash.session_state,'ON CPU','ON CPU',ash.event) event
124   - , sum(decode(session_state,'ON CPU',10,decode(session_type,'BACKGROUND',0,10))) total
125   - , (max(sample_id)-min(sample_id)+1) samples
126   - from
127   - dba_hist_active_sess_history ash
128   - where
129   - -- sample_time > sysdate - &v_days
130   - -- and sample_time < ( select min(sample_time) from v$active_session_history)
131   - dbid=&DBID
132   - group by trunc(to_char(sample_time,'SSSSS')/&v_secs)
133   - , to_char(sample_time,'YYMMDD')
134   - , decode(ash.session_state,'ON CPU','ON CPU',ash.event)
135   - ) chunks
136   - group by id, tday, tmod, event, total
137   -) top
138   -group by start_time
139   -) aveact
140   -order by start_time
141   -/
142   -
3  ash_graph_histash_by_dbid.sql
@@ -4,6 +4,8 @@
4 4 input DBID
5 5 time filter by # of days, input variable &v_days
6 6
  7 + ATTENTION: number of CPU cores is hard coded to 4.
  8 + future enhancement is to get CPU_COUNT by DBID instead
7 9
8 10 Output looks like
9 11
@@ -149,4 +151,3 @@ group by start_time
149 151 ) aveact
150 152 order by start_time
151 153 /
152   -
154 ash_graph_histash_dbid.sql
... ... @@ -1,154 +0,0 @@
1   -
2   -/*
3   - ASH graph from dba_hist_active_sess_history no v$active_session_history
4   - input DBID and SQL_ID
5   - time filter by # of days, input variable &v_days
6   -
7   -
8   - Output looks like
9   -
10   - TO_CHAR( AAS PCT1 FIRST PCT2 SECOND GRAPH
11   - -------- --- ---- --------------- ---- --------------- -------------------------------------------
12   - 15 15:00 7 46 db file sequent 19 CPU +++++++ooooooooooooo4ooooooooooo------
13   - 15 16:00 6 53 db file sequent 31 CPU +++++++++ooooooooooo4oooooooo---
14   - 15 17:00 7 48 db file sequent 41 CPU +++++++++++++++ooooo4oooooooooooooooo-
15   - 15 18:00 5 55 CPU 37 db file sequent ++++++++++++++oooooo4oooooo-
16   - 15 19:00 1 64 CPU 21 db file sequent ++o 4
17   - 15 20:00 1 63 CPU 19 read by other s ++++o- 4
18   - 15 21:00 2 31 db file sequent 24 CPU ++ooo---- 4
19   - 15 22:00 3 35 CPU 24 db file scatter +++++ooooooo--- 4
20   - 15 23:00 6 29 log file sync 25 db file sequent ++++ooooooooo-------4-------------
21   - 16 00:00 7 52 db file sequent 27 CPU ++++++++++oooooooooo4ooooooooooooooo--
22   - 16 01:00 4 57 CPU 36 db file sequent +++++++++++oooooooo 4
23   - 16 02:00 6 38 db file sequent 21 CPU ++++++oooooooooooo--4---------
24   - 16 03:00 3 69 db file sequent 20 CPU +++ooooooooooo 4
25   - 16 04:00 0 45 db file sequent 28 CPU o 4
26   - 16 05:00 1 58 db file sequent 24 CPU +ooo 4
27   - 16 06:00 1 41 db file sequent 39 CPU +oo 4
28   -
29   -
30   - The "graph" on the right shows the load over time each line is an hour by default.
31   - The "+" represent CPU, "o" represent I/O and "-" represent a wait.
32   - The columns "FIRST" and "SECOND" represent the top two things happening on the database.
33   -
34   -*/
35   -
36   -
37   -
38   -Def v_secs=3600 -- bucket size
39   -Def v_days=1 -- total time analyze
40   -Def v_bars=5 -- size of one AAS in characters
41   -Def v_graph=80
42   -
43   -col aveact format 999.99
44   -col graph format a80
45   -col fpct format 9.99
46   -col spct format 9.99
47   -col tpct format 9.99
48   -col aas format 999.99
49   -col aas1 format 9.99
50   -col aas2 format 9.99
51   -col pct1 format 999
52   -col pct2 format 999
53   -col first format a15
54   -col second format a15
55   -
56   -Def p_value=4
57   -
58   -select to_char(start_time,'DD HH24:MI'),
59   - --samples,
60   - --total,
61   - --waits,
62   - --cpu,
63   - (total/&v_secs) aas,
64   - --round(fpct * (total/&v_secs),2) aas1,
65   - fpct*100 pct1,
66   - decode(fpct,null,null,first) first,
67   - --round(spct * (total/&v_secs),2) aas2,
68   - spct*100 pct2,
69   - decode(spct,null,null,second) second,
70   - -- substr, ie trunc, the whole graph to make sure it doesn't overflow
71   - substr(
72   - -- substr, ie trunc, the graph below the # of CPU cores line
73   - -- draw the whole graph and trunc at # of cores line
74   - substr(
75   - rpad('+',round((cpu*&v_bars)/&v_secs),'+') ||
76   - rpad('o',round((io*&v_bars)/&v_secs),'o') ||
77   - rpad('-',round((waits*&v_bars)/&v_secs),'-') ||
78   - rpad(' ',&p_value * &v_bars,' '),0,(&p_value * &v_bars)) ||
79   - &p_value ||
80   - -- draw the whole graph, then cut off the amount we drew before the # of cores
81   - substr(
82   - rpad('+',round((cpu*&v_bars)/&v_secs),'+') ||
83   - rpad('o',round((io*&v_bars)/&v_secs),'o') ||
84   - rpad('-',round((waits*&v_bars)/&v_secs),'-') ||
85   - rpad(' ',&p_value * &v_bars,' '),(&p_value * &v_bars),( &v_graph-&v_bars*&p_value) )
86   - ,0,&v_graph)
87   - graph
88   - -- spct,
89   - -- decode(spct,null,null,second) second,
90   - -- tpct,
91   - -- decode(tpct,null,null,third) third
92   -from (
93   -select start_time
94   - , max(samples) samples
95   - , sum(top.total) total
96   - , round(max(decode(top.seq,1,pct,null)),2) fpct
97   - , substr(max(decode(top.seq,1,decode(top.event,'ON CPU','CPU',event),null)),0,15) first
98   - , round(max(decode(top.seq,2,pct,null)),2) spct
99   - , substr(max(decode(top.seq,2,decode(top.event,'ON CPU','CPU',event),null)),0,15) second
100   - , round(max(decode(top.seq,3,pct,null)),2) tpct
101   - , substr(max(decode(top.seq,3,decode(top.event,'ON CPU','CPU',event),null)),0,10) third
102   - , sum(waits) waits
103   - , sum(io) io
104   - , sum(cpu) cpu
105   -from (
106   - select
107   - to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS') start_time
108   - , event
109   - , total
110   - , row_number() over ( partition by id order by total desc ) seq
111   - , ratio_to_report( sum(total)) over ( partition by id ) pct
112   - , max(samples) samples
113   - , sum(decode(event,'ON CPU',total,0)) cpu
114   - , sum(decode(event,'ON CPU',0,
115   - 'db file sequential read',0,
116   - 'db file scattered read',0,
117   - 'db file parallel read',0,
118   - 'direct path read',0,
119   - 'direct path read temp',0,
120   - 'direct path write',0,
121   - 'direct path write temp',0, total)) waits
122   - , sum(decode(event,'db file sequential read',total,
123   - 'db file scattered read',total,
124   - 'db file parallel read',total,
125   - 'direct path read',total,
126   - 'direct path read temp',total,
127   - 'direct path write',total,
128   - 'direct path write temp',total, 0)) io
129   - from (
130   - select
131   - to_char(sample_time,'YYMMDD') tday
132   - , trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod
133   - , to_char(sample_time,'YYMMDD')||trunc(to_char(sample_time,'SSSSS')/&v_secs) id
134   - , decode(ash.session_state,'ON CPU','ON CPU',ash.event) event
135   - , sum(decode(session_state,'ON CPU',10,decode(session_type,'BACKGROUND',0,10))) total
136   - , (max(sample_id)-min(sample_id)+1) samples
137   - from
138   - dba_hist_active_sess_history ash
139   - where
140   - -- sample_time > sysdate - &v_days
141   - -- and sample_time < ( select min(sample_time) from v$active_session_history)
142   - dbid=&DBID
143   - and sql_id='&SQL_ID'
144   - group by trunc(to_char(sample_time,'SSSSS')/&v_secs)
145   - , to_char(sample_time,'YYMMDD')
146   - , decode(ash.session_state,'ON CPU','ON CPU',ash.event)
147   - ) chunks
148   - group by id, tday, tmod, event, total
149   -) top
150   -group by start_time
151   -) aveact
152   -order by start_time
153   -/
154   -
0  io_sizes.sql → ash_io_sizes.sql
File renamed without changes
57 ash_top_procedure.sql
... ... @@ -0,0 +1,57 @@
  1 +
  2 +
  3 +/*
  4 +
  5 + only 10.2.0.3 and above
  6 +
  7 +COUNT(*) SQL_ID calling_code
  8 +--------- ------------- --------------------------------------------------------------------
  9 + 2 1xxksrhwtz3zf ORDERENTRY.NEWORDER => DBMS_RANDOM.VALUE
  10 + 2 07p193phmhx3z ORDERENTRY.BROWSEPRODUCTS => DBMS_APPLICATION_INFO.SET_ACTION
  11 + 2 1xxksrhwtz3zf ORDERENTRY.NEWORDER => DBMS_LOCK.SLEEP
  12 + 3 1xxksrhwtz3zf ORDERENTRY.NEWORDER => DBMS_APPLICATION_INFO.SET_ACTION
  13 + 13 1xxksrhwtz3zf ORDERENTRY.NEWORDER
  14 + 16 0bzhqhhj9mpaa ORDERENTRY.NEWCUSTOMER
  15 + 45 41zu158rqf4kf ORDERENTRY.BROWSEANDUPDATEORDERS
  16 + 70 0yas01u2p9ch4 ORDERENTRY.NEWORDER
  17 + 76 dw2zgaapax1sg ORDERENTRY.NEWORDER
  18 + 82 05s4vdwsf5802 ORDERENTRY.BROWSEANDUPDATEORDERS
  19 + 111 75621g9y3xmvd ORDERENTRY.NEWORDER
  20 + 120 75621g9y3xmvd ORDERENTRY.BROWSEPRODUCTS
  21 + 131 75621g9y3xmvd ORDERENTRY.BROWSEANDUPDATEORDERS
  22 + 163 0uuqgjq7k12nf ORDERENTRY.NEWORDER
  23 +
  24 +*/
  25 +
  26 +
  27 +set linesize 120
  28 +col entry_package for a25
  29 +col entry_procedure for a25
  30 +col cur_package for a25
  31 +col cur_procedure for a25
  32 +col calling_code for a70
  33 +select
  34 + count(*),
  35 + sql_id,
  36 + procs1.object_name || decode(procs1.procedure_name,'','','.')||
  37 + procs1.procedure_name ||' '||
  38 + decode(procs2.object_name,procs1.object_name,'',
  39 + decode(procs2.object_name,'','',' => '||procs2.object_name))
  40 + ||
  41 + decode(procs2.procedure_name,procs1.procedure_name,'',
  42 + decode(procs2.procedure_name,'','',null,'','.')||procs2.procedure_name)
  43 + "calling_code"
  44 +from v$active_session_history ash,
  45 + all_procedures procs1,
  46 + all_procedures procs2
  47 + where
  48 + ash.PLSQL_ENTRY_OBJECT_ID = procs1.object_id (+)
  49 + and ash.PLSQL_ENTRY_SUBPROGRAM_ID = procs1.SUBPROGRAM_ID (+)
  50 + and ash.PLSQL_OBJECT_ID = procs2.object_id (+)
  51 + and ash.PLSQL_SUBPROGRAM_ID = procs2.SUBPROGRAM_ID (+)
  52 + and ash.sample_time > sysdate - &minutes/(60*24)
  53 +group by procs1.object_name, procs1.procedure_name,
  54 + procs2.object_name, procs2.procedure_name,sql_id
  55 +order by count(*)
  56 +/
  57 +
73 ash_top_session.sql
... ... @@ -0,0 +1,73 @@
  1 +
  2 +
  3 +/*
  4 +
  5 +STATUS SID NAME PROGRAM CPU WAITING IO TOTAL
  6 +------------ ----- ------------ ------------------------- ----- ---------- ----- ------
  7 +CONNECTED 165 SYS ORACLE.EXE (CKPT) 232 173 0 405
  8 +DISCONNECTED 158 SYS ORACLE.EXE (J003) 43 6 303 352
  9 +DISCONNECTED 141 SYS ORACLE.EXE (J002) 13 3 333 349
  10 +CONNECTED 162 SYS ORACLE.EXE (CJQ0) 149 14 2 165
  11 +CONNECTED 167 SYS ORACLE.EXE (DBW0) 26 116 0 142
  12 +CONNECTED 166 SYS ORACLE.EXE (LGWR) 46 94 0 140
  13 +CONNECTED 161 SYS ORACLE.EXE (MMON) 34 13 16 63
  14 +CONNECTED 170 SYS ORACLE.EXE (PMON) 59 0 0 59
  15 +DISCONNECTED 147 SYS ORACLE.EXE (m000) 0 24 12 36
  16 +
  17 +
  18 +*/
  19 +
  20 +
  21 +col name for a12
  22 +col program for a25
  23 +col CPU for 9999
  24 +col IO for 9999
  25 +col TOTAL for 99999
  26 +col WAIT for 9999
  27 +col user_id for 99999
  28 +col sid for 9999
  29 +
  30 +set linesize 120
  31 +
  32 +select
  33 + decode(nvl(to_char(s.sid),-1),-1,'DISCONNECTED','CONNECTED')
  34 + "STATUS",
  35 + topsession.sid "SID",
  36 + u.username "NAME",
  37 + topsession.program "PROGRAM",
  38 + max(topsession.CPU) "CPU",
  39 + max(topsession.WAIT) "WAITING",
  40 + max(topsession.IO) "IO",
  41 + max(topsession.TOTAL) "TOTAL"
  42 + from (
  43 +select * from (
  44 +select
  45 + ash.session_id sid,
  46 + ash.session_serial# serial#,
  47 + ash.user_id user_id,
  48 + ash.program,
  49 + sum(decode(ash.session_state,'ON CPU',1,0)) "CPU",
  50 + sum(decode(ash.session_state,'WAITING',1,0)) -
  51 + sum(decode(ash.session_state,'WAITING',
  52 + decode(wait_class,'User I/O',1, 0 ), 0)) "WAIT" ,
  53 + sum(decode(ash.session_state,'WAITING',
  54 + decode(wait_class,'User I/O',1, 0 ), 0)) "IO" ,
  55 + sum(decode(session_state,'ON CPU',1,1)) "TOTAL"
  56 +from v$active_session_history ash
  57 +group by session_id,user_id,session_serial#,program
  58 +order by sum(decode(session_state,'ON CPU',1,1)) desc
  59 +) where rownum < 10
  60 + ) topsession,
  61 + v$session s,
  62 + all_users u
  63 + where
  64 + u.user_id =topsession.user_id and
  65 + /* outer join to v$session because the session might be disconnected */
  66 + topsession.sid = s.sid (+) and
  67 + topsession.serial# = s.serial# (+)
  68 + group by topsession.sid, topsession.serial#,
  69 + topsession.user_id, topsession.program, s.username,
  70 + s.sid,s.paddr,u.username
  71 + order by max(topsession.TOTAL) desc
  72 +/
  73 +
0  ash_sql_top.sql → ash_top_sql.sql
File renamed without changes
0  eventmetric_latency.sql → latency_eventmetric.sql
File renamed without changes
0  system_event_latency.sql → latency_system_event.sql
File renamed without changes
0  waitclassmetric_latency.sql → latency_waitclassmetric.sql
File renamed without changes

0 comments on commit 3b33d40

Please sign in to comment.
Something went wrong with that request. Please try again.