Case 2: a session dominated by I/O waits. Sample report, generated by WaitScope from an anonymized excerpt of a real trace. View case 1 Back to the WaitScope page

WaitScope

caso-2.trc

Analyzed on 2026-10-29 10:19:52 · 65.3 MiB · 753,357 lines · up to 10 statements per list

299276 recursive calls without a matching level-0 call (trace started or cut in the middle of a call)
Total time
1,029.051 s
17 min 9 s
Period
2016-03-07 04:19:11
to 04:36:20
Database calls
305,623
180 at depth 0
Waits
341,608
75.177 s between calls
Distinct statements
185
65 commits · 0 rollbacks

Session and environment

Database
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
Instance
INST_01
Server
MAQ_01 · AIX · MAQ_02
Session
128.85179 · pid 29352362
Service
SVC_01
Module
MOD_01
Action
Time unit
microseconds
File on server
caso2.trc

Diagnosis

Patterns that often explain what the trace shows, in order of severity. They are leads for the analysis, not conclusions.

medium Many single-block reads (db file sequential read) 35.6% of total time

323,268 reads, totaling 35.6% of the total time. Before speeding up the disk, check whether the plan reads too many blocks (unselective index, row-by-row access). View latency distribution

medium Statement #7: plan operation 1 accounts for 98.1% of the time 10.0% of total time

Operation DELETE TAB_0049. Wrote 66,842 blocks to TEMP: the PGA workarea was not enough. Also significant: operation 2, INDEX RANGE SCAN IDX_0034 (82.2% of logical reads). The operations are highlighted in the plan, in the statement detail. View in the plan of statement #7

medium Statement #1 executed 44,591 times 0.8% of total time

Recursive SQL executed once per row, typical of a PL/SQL loop. Set-based processing (a single SQL or FORALL) usually cuts the time a lot. View statement #1

medium Statement #2 executed 44,590 times 0.5% of total time

Recursive SQL executed once per row, typical of a PL/SQL loop. Set-based processing (a single SQL or FORALL) usually cuts the time a lot. View statement #2

Response time profile

Each row is a share of the total time; added up, they make 100%. Click a component or class name to see what that time means, when it is normal, when it points to a problem and where to check in the report. Unaccounted-for time is what the trace does not explain by CPU or by waits: inside calls, it is usually CPU queueing or code without instrumentation; a negative value comes from the granularity of the CPU measurement.

ComponentDuration (s)% of totalchartOccurrencesAvg (s)Min (s)Max (s)
User I/O 365.865870 35.6 323,268 0.001132 0.000127 0.314918
cpu 170.263521 16.5 102,658 0.001659 0.000002 104.205928
unaccounted-for 149.483409 14.5 305,623 0.000489
unaccounted-for 87.677960 8.5
User I/O 82.615851 8.0 5,357 0.015422 0.000560 0.335030
Idle 74.696038 7.3 68 1.098471 0.001397 22.601830
User I/O 60.291100 5.9 8,825 0.006832 0.000008 0.091651
cpu 17.535369 1.7 99,915 0.000176 0.000000 15.886799
User I/O 12.718013 1.2 1,019 0.012481 0.002717 0.073023
User I/O 7.638662 0.7 2,950 0.002589 0.000007 0.102338
cpu 0.110972 0.0 394 0.000282 0.000002 0.019293
cpu 0.054101 0.0 102,656 0.000001 0.000000 0.000028
Configuration 0.052671 0.0 2 0.026336 0.021904 0.030767
Configuration 0.033119 0.0 2 0.016560 0.008202 0.024917
Unclassified 0.008608 0.0 1 0.008608 0.008608 0.008608
Application 0.002383 0.0 3 0.000794 0.000141 0.001668
Unclassified 0.001118 0.0 1 0.001118 0.001118 0.001118
User I/O 0.000993 0.0 36 0.000028 0.000002 0.000065
Unclassified 0.000409 0.0 6 0.000068 0.000000 0.000395
Other 0.000356 0.0 2 0.000178 0.000176 0.000180
Network 0.000159 0.0 68 0.000002 0.000000 0.000006
Total1,029.050682100.0

By wait class

The same components grouped by Oracle wait class (wait_class), with CPU and unaccounted-for time shown separately. The sum is also the total time.

ClassDuration (s)% of totalchartOccurrencesTop components
529.130489 51.4 341,455 db file sequential read · direct path read · direct path read temp · db file scattered read · direct path write temp
237.161369 23.0 unaccounted-for time within calls · unaccounted-for time between calls
187.963963 18.3 305,623 CPU: EXEC dbcalls · CPU: FETCH dbcalls · CPU: PARSE dbcalls · CPU: CLOSE dbcalls
74.696038 7.3 68 SQL*Net message from client
0.085790 0.0 4 log file switch completion · log file switch (private strand flush incomplete)
0.010135 0.0 8 CSS initialization · CSS operation: action · CSS operation: query
0.002383 0.0 3 enq: RO - fast object reuse
0.000356 0.0 2 reliable message
0.000159 0.0 68 SQL*Net message to client

Top statements by component and by class

How much each statement spent in each profile component and each wait class, based on the statement's exclusive profile (without the recursive SQL it triggers). Up to 10 statements per list: change it at the top of the page.

By profile component

db file sequential read wait365.866 s · 35.6% of total time · 10 of 16 statements

6 more statements spent time here; raise the number at the top of the page to see them.

CPU: EXEC dbcalls cpu170.264 s · 16.5% of total time · 10 of 168 statements

158 more statements spent time here; raise the number at the top of the page to see them.

unaccounted-for time within calls unaccounted-for149.483 s · 14.5% of total time · 10 of 170 statements

160 more statements spent time here; raise the number at the top of the page to see them.

direct path read wait82.616 s · 8.0% of total time · 1 statement
direct path read temp wait60.291 s · 5.9% of total time · 2 statements
CPU: FETCH dbcalls cpu17.535 s · 1.7% of total time · 10 of 108 statements
#Time (s)% of totalchartSQL IDText
516.72145495.4d7sadnr6zu6k9WITH TAB_0082 AS (SELECT DISTINCT COL_0265.COL_0266 , COL_0265.COL_0032 , COL_0265.COL_0039 , COL_0265.COL_0267 , COL_0265.COL_0268 , COL_0265.COL_0269 , COL_02…
20.3332431.9gfhr7c2b942m8SELECT *** FROM TAB_0074 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0412 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.ROT_0020() AND ROWNU…
10.2845261.64yrf1rq97m3vySELECT *** FROM TAB_0072 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0205 = :B2 AND COL_0206 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.R…
30.1588090.9c1q763kjacnm1SELECT X49.COL_0402, X49.COL_0403, SUM(X49.COL_0226) COL_0226, SUM(X49.COL_0227) COL_0227, X49.COL_0404, X49.COL_0405, X49.COL_0406, X49.COL_0407 FROM TAB_0093 …
190.0053900.0d5h8zj9sz0qrgSELECT A.COL_0107, C.COL_0108, A.COL_0109, A.COL_0110, B.COL_0111, B.COL_0112, B.COL_0113, B.COL_0114, B.ROT_0008, B.COL_0115, B.COL_0116, B.COL_0117, B.COL_011…
140.0048790.0aggvkb3vxk338SELECT A.COL_0120, A.COL_0121, A.COL_0113, B.COL_0125, C.COL_0126, C.COL_0127, C.COL_0128, A.COL_0129, A.COL_0130, B.COL_0131, ROWNUM FROM TAB_0032 A, TAB_0033 …
270.0032590.0drt86kmzq1dbhSELECT * FROM TAB_0023 T WHERE ((T.COL_0088 = *** AND :B1 = '***') OR (T.COL_0088 = *** AND T.COL_0032 = COL_0089.COL_0090 AND :B1 = '***') OR (T.COL_0088 = ***…
100.0029960.070uypyj7247nzSELECT COL_0401 FROM TAB_0092 WHERE COL_0204 = :B5 AND COL_0032 = :B4 AND COL_0039 = :B3 AND COL_0398 = :B2 AND COL_0235 = :B1
150.0026970.0g6km04yyxuhtwSELECT NVL(C.COL_0116,***), NVL(COL_0112, '***') FROM TAB_0032 C WHERE C.COL_0120 = :B3 AND C.COL_0121 = :B2 AND C.COL_0113 = :B1
410.0022740.008ndunzrd46fnSELECT DISTINCT COL_0095 FROM TAB_0023 COL_0098 WHERE COL_0098.COL_0032 = COL_0089.COL_0090 AND :B1 = '***' UNION ALL SELECT DISTINCT COL_0095 FROM TAB_0023 COL…

98 more statements spent time here; raise the number at the top of the page to see them.

db file scattered read wait12.718 s · 1.2% of total time · 1 statement
direct path write temp wait7.639 s · 0.7% of total time · 3 statements
CPU: PARSE dbcalls cpu0.111 s · 0.0% of total time · 10 of 169 statements
#Time (s)% of totalchartSQL IDText
160.01938817.5fdnsdx5rvuzbrSELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_0032 = a.COL_0032 and b.COL_0039 = nvl(t…
50.01119310.1d7sadnr6zu6k9WITH TAB_0082 AS (SELECT DISTINCT COL_0265.COL_0266 , COL_0265.COL_0032 , COL_0265.COL_0039 , COL_0265.COL_0267 , COL_0265.COL_0268 , COL_0265.COL_0269 , COL_02…
320.0055535.0dhxd3kb4f5ybdSELECT COL_0086, COL_0132, COL_0133, DECODE(COL_0134, '***', '***', '***', '***', '***') COL_0135, COL_0136, COL_0137 FROM TAB_0035 WHERE COL_0032 = COL_0089.CO…
330.0050344.54gh2v4tbkq9a5SELECT '***' FROM TAB_0017 COL_0260, TAB_0016 COL_0241 WHERE COL_0260.COL_0032 = COL_0089.COL_0090 AND COL_0260.COL_0261 = COL_0089.COL_0138 AND COL_0241.COL_02…
170.0031532.87mp3qb0atz09bSELECT *** COL_0211, LPAD(COL_0212, ***, '***') COL_0213, COL_0214, COL_0215, COL_0216, COL_0217.COL_0210, COL_0217.COL_0218, COL_0219.COL_0207 COL_0220, COL_02…
530.0026752.4d7kdjgkfuxcpnDECLARE COL_0074 INTEGER; ROT_0010 COL_0075.COL_0076; BEGIN FOR c1 IN (SELECT * FROM TAB_0021 WHERE COL_0064 = *** AND UPPER( ROT_0008 ) = '***' ORDER BY COL_00…
510.0024102.287x10zx4cp3y0SELECT *** COL_0086 FROM TAB_0024 COL_0087 WHERE COL_0087.COL_0088 = '***' AND COL_0087.COL_0032 = '***' GROUP BY COL_0087.COL_0088 UNION SELECT *** COL_0086 FR…
540.0023692.12pta3vm59y7taSELECT PKG_0005.ROT_0006(), PKG_0005.ROT_0007(), PKG_0005.ROT_0008() FROM dual
340.0023642.13nvfb7mqmg15mSelect PKG_0003.ROT_0003 ( '***' , TO_DATE('***','***') , '***' , '***' ) From Dual
470.0023612.170690x7jfswszSELECT *** COL_0086 FROM TAB_0023 COL_0087 WHERE COL_0087.COL_0088 = '***' AND COL_0087.COL_0032 = '***' GROUP BY COL_0087.COL_0088 UNION SELECT *** COL_0086 FR…

159 more statements spent time here; raise the number at the top of the page to see them.

CPU: CLOSE dbcalls cpu0.054 s · 0.0% of total time · 10 of 142 statements
#Time (s)% of totalchartSQL IDText
10.02512946.44yrf1rq97m3vySELECT *** FROM TAB_0072 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0205 = :B2 AND COL_0206 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.R…
20.02013637.2gfhr7c2b942m8SELECT *** FROM TAB_0074 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0412 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.ROT_0020() AND ROWNU…
30.0050099.3c1q763kjacnm1SELECT X49.COL_0402, X49.COL_0403, SUM(X49.COL_0226) COL_0226, SUM(X49.COL_0227) COL_0227, X49.COL_0404, X49.COL_0405, X49.COL_0406, X49.COL_0407 FROM TAB_0093 …
80.0014642.7a4tzy6psxru35update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1
100.0004260.870uypyj7247nzSELECT COL_0401 FROM TAB_0092 WHERE COL_0204 = :B5 AND COL_0032 = :B4 AND COL_0039 = :B3 AND COL_0398 = :B2 AND COL_0235 = :B1
140.0002640.5aggvkb3vxk338SELECT A.COL_0120, A.COL_0121, A.COL_0113, B.COL_0125, C.COL_0126, C.COL_0127, C.COL_0128, A.COL_0129, A.COL_0130, B.COL_0131, ROWNUM FROM TAB_0032 A, TAB_0033 …
150.0002270.4g6km04yyxuhtwSELECT NVL(C.COL_0116,***), NVL(COL_0112, '***') FROM TAB_0032 C WHERE C.COL_0120 = :B3 AND C.COL_0121 = :B2 AND C.COL_0113 = :B1
290.0001360.361x5n662780a6select u.name, o.name, a.COL_0052, o.obj# from association$ a, user$ u, obj$ o where a.obj# = :1 and a.property = :2 and a.COL_0053 = o.obj# and u.user# = o.own…
1260.0001060.2gyas258427y28BEGIN ROT_0017(COL_0257, COL_0258, COL_0259); END;
520.0000910.20fxxq8umxumv3select count(COL_0251) from SYS_FBA_TRACKEDTABLES where OBJ# = :1 and bitand(FLAGS, :2)=***

132 more statements spent time here; raise the number at the top of the page to see them.

By wait class

User I/O529.130 s · 51.4% of total time · 10 of 17 statements

7 more statements spent time here; raise the number at the top of the page to see them.

Unaccounted-for237.161 s · 23.0% of total time · 10 of 170 statements

160 more statements spent time here; raise the number at the top of the page to see them.

CPU187.964 s · 18.3% of total time · 10 of 171 statements

161 more statements spent time here; raise the number at the top of the page to see them.

Configuration0.086 s · 0.0% of total time · 1 statement
#Time (s)% of totalchartSQL IDText
70.085790100.0c1bqf8upvjwptDELETE FROM TAB_0049 A WHERE A.COL_0086 = :B1
Unclassified0.010 s · 0.0% of total time · 1 statement
Application0.002 s · 0.0% of total time · 1 statement
Other0.000 s · 0.0% of total time · 1 statement

SQL statements by contribution

Contribution: duration of the statement's depth-0 calls plus the waits between calls on its cursor. Inclusive: sum of all the statement's calls, at any depth.

#Contribution (s)% of totalInclusive (s)TypeDepthExecFetchRowsLIOPIOSQL IDText
1 4.462 0.4 8.467 SELECT 2 44,591 44,591 44,574 44,605 0 4yrf1rq97m3vy SELECT *** FROM TAB_0072 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0205 = :B2 AND COL_0206 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.R…
2 2.615 0.3 4.786 SELECT 2 44,590 44,590 44,575 44,605 0 gfhr7c2b942m8 SELECT *** FROM TAB_0074 WHERE COL_0064 = COL_0075.ROT_0019() AND COL_0412 = :B1 AND COL_0032 = COL_0089.COL_0090() AND COL_0039 = COL_0089.ROT_0020() AND ROWNU…
3 2.043 0.2 4.247 SELECT 2 7,975 7,975 0 7,991 0 c1q763kjacnm1 SELECT X49.COL_0402, X49.COL_0403, SUM(X49.COL_0226) COL_0226, SUM(X49.COL_0227) COL_0227, X49.COL_0404, X49.COL_0405, X49.COL_0406, X49.COL_0407 FROM TAB_0093 …
4 1.631 0.2 3.047 INSERT 2 35 0 52,500 178,360 63 5jh16c5vkcn6b INSERT /*+ SYS_DL_CURSOR */ INTO TAB_0049 (COL_0417, COL_0086, COL_0107, COL_0109, COL_0418, COL_0044, COL_0105) VALUES (SEQ_007.NEXTVAL, :B1 , :B2 , :B3 , :B4 …
5 0.587 0.1 740.853 SELECT 2 1 126 63,000 7,669,408 3,528,057 d7sadnr6zu6k9 WITH TAB_0082 AS (SELECT DISTINCT COL_0265.COL_0266 , COL_0265.COL_0032 , COL_0265.COL_0039 , COL_0265.COL_0267 , COL_0265.COL_0268 , COL_0265.COL_0269 , COL_02…
6 0.012 0.0 0.253 COMMIT 1 41 0 0 39 0 7j4pr906pvfwd COMMIT
7 0.000 0.0 102.905 DELETE 1 1 0 2,953,545 13,173,523 66,988 c1bqf8upvjwpt DELETE FROM TAB_0049 A WHERE A.COL_0086 = :B1
8 0.000 0.0 1.311 UPDATE 1 2,631 0 2,631 7,935 0 a4tzy6psxru35 update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1
9 0.000 0.0 0.343 INSERT 1 43 0 43 549 47 cm2m46jyu6a10 INSERT INTO TAB_0069 (COL_0247, COL_0064, COL_0248, COL_0249, COL_0105, ROT_0008,COL_0044, COL_0250) VALUES (:B8 , :B7 , :B6 , :B5 , :B4 , :B3 ,:B2 , :B1 )
10 0.000 0.0 0.211 SELECT 2 868 868 102 970 0 70uypyj7247nz SELECT COL_0401 FROM TAB_0092 WHERE COL_0204 = :B5 AND COL_0032 = :B4 AND COL_0039 = :B3 AND COL_0398 = :B2 AND COL_0235 = :B1

Showing 10 of 171 statements; raise the number at the top of the page to see more.

Time not attributed to any statement: 1,017.699 s.

Call types

CallCountCPU (s)Duration (s)Disk (PIO)Consistent (CR)Current (CU)RowsMisses
EXEC102,658171.056813.5763,425,4127,301,50513,488,8333,008,85676
FETCH99,91517.53953.717169,791378,37969154,5430
PARSE3940.1260.219016010162
CLOSE102,6560.0540.10600000

Longest depth-0 calls

CallDuration (s)CPU (s)Start (+s)LineLIOPIORowsStatement
PARSE 0.043966 0.025505 42.544 623 54 0 0 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
EXEC 0.012626 0.003546 42.588 634 34 0 0 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
FETCH 0.004895 0.002326 21.713 296 41 0 1 #34 Select PKG_0003.ROT_0003 ( '***' , TO_DATE('***','***') , '***' ,…
PARSE 0.004356 0.002675 74.823 976 0 0 0 #53 DECLARE COL_0074 INTEGER; ROT_0010 COL_0075.COL_0076; BEGIN FOR c1 IN (SELECT * FROM TAB_0021 WHERE COL_0064 = *** AND…
PARSE 0.003858 0.002369 42.467 381 0 0 0 #54 SELECT PKG_0005.ROT_0006(), PKG_0005.ROT_0007(), PKG_0005.ROT_0008() FROM dual
PARSE 0.003855 0.002364 21.709 275 0 0 0 #34 Select PKG_0003.ROT_0003 ( '***' , TO_DATE('***','***') , '***' ,…
PARSE 0.003061 0.001827 18.483 122 2 0 0 #60 Select COL_0017 From TAB_0002 where COL_0018 ='***'
PARSE 0.002153 0.001315 42.487 392 0 0 0 #78 SELECT PKG_0005.ROT_0009() FROM dual
EXEC 0.001898 0.000967 42.839 690 34 0 0 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
EXEC 0.001776 0.001096 74.810 933 12 0 1 4 variants #57 INSERT INTO TAB_0021 ( COL_0070 , … :n , :s , null , :s , :s , :s )
PARSE 0.001677 0.001011 19.153 197 0 0 0 #95 select COL_0027 from TAB_0005 where COL_0028 ='***'
PARSE 0.001465 0.000882 19.161 212 0 0 0 #90 select COL_0029 , COL_0030 from TAB_0006 where COL_0031 ='***'
PARSE 0.001460 0.000839 50.493 745 0 0 0 #106 SELECT COL_0058.COL_0059, COL_0058.COL_0059 || '***' || COL_0058.COL_0060 FROM TAB_0018 COL_0058 WHERE ((COL_0058.COL_00…
PARSE 0.001355 0.000742 21.764 336 0 0 0 #111 Select COL_0046 from TAB_0010 Where COL_0047 ='***'
PARSE 0.001341 0.000808 52.147 762 0 0 0 #107 SELECT COL_0061.COL_0062, COL_0061.COL_0062 || '***' || COL_0061.COL_0063 FROM TAB_0019 COL_0061 WHERE COL_0059 = '***
PARSE 0.001322 0.000746 21.723 307 0 0 0 #98 SELECT TAB_0006.COL_0031 , TAB_0006.COL_0029 FROM TAB_0006 WHERE lower ( TAB_0006.COL_0045 ) =lower ( '***'…
FETCH 0.001237 0.000630 42.601 637 76 1 1 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
PARSE 0.001099 0.000662 21.837 351 0 0 0 #127 Select p.COL_0046 from TAB_0010 p where p.COL_0047 ='***'
FETCH 0.001042 0.000544 42.840 693 76 1 1 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
PARSE 0.001022 0.000637 74.778 824 0 0 0 #124 INSERT INTO TAB_0020 ( COL_0064 , COL_0065 , COL_0066 , COL_0067 , COL_0068 , COL_0032 , COL_0069 ) VALUES ( *** , '***
PARSE 0.000912 0.000550 74.765 795 0 0 0 2 variants #117 SELECT SEQ_001.NEXTVAL FROM dual
PARSE 0.000563 0.000282 74.819 965 0 0 0 8 variants #55 INSERT INTO TAB_0021 ( COL_0070 , … :n , :s , :s , :s , :s , :s )
FETCH 0.000542 0.000334 21.702 263 2 0 1 #138 SELECT PKG_0002.ROT_0002 ( nvl ( LTRIM ( RTRIM ( COL_0034 ) ) , '***' ) , '***' ) , COL_0035 , COL_0036 , C…
PARSE 0.000533 0.000326 74.771 810 0 0 0 #143 SELECT SYSDATE FROM dual
PARSE 0.000445 0.000110 0.025 101 0 0 0 #140 BEGIN PKG_0001.ROT_0001( '***' );END;
FETCH 0.000387 0.000239 42.471 384 0 0 1 #54 SELECT PKG_0005.ROT_0006(), PKG_0005.ROT_0007(), PKG_0005.ROT_0008() FROM dual
FETCH 0.000273 0.000172 21.728 312 19 0 0 #98 SELECT TAB_0006.COL_0031 , TAB_0006.COL_0029 FROM TAB_0006 WHERE lower ( TAB_0006.COL_0045 ) =lower ( '***'…
EXEC 0.000222 0.000135 74.779 825 8 0 1 #124 INSERT INTO TAB_0020 ( COL_0064 , COL_0065 , COL_0066 , COL_0067 , COL_0068 , COL_0032 , COL_0069 ) VALUES ( *** , '***
FETCH 0.000210 0.000133 19.166 217 19 0 0 #90 select COL_0029 , COL_0030 from TAB_0006 where COL_0031 ='***'
EXEC 0.000191 0.000116 42.449 369 0 0 1 #145 BEGIN PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', …
FETCH 0.000190 0.000122 21.724 310 12 0 1 #98 SELECT TAB_0006.COL_0031 , TAB_0006.COL_0029 FROM TAB_0006 WHERE lower ( TAB_0006.COL_0045 ) =lower ( '***'…
FETCH 0.000188 0.000118 19.163 215 12 0 1 #90 select COL_0029 , COL_0030 from TAB_0006 where COL_0031 ='***'
EXEC 0.000172 0.000063 0.025 102 0 0 1 #140 BEGIN PKG_0001.ROT_0001( '***' );END;
PARSE 0.000166 0.000099 21.701 260 0 0 0 #138 SELECT PKG_0002.ROT_0002 ( nvl ( LTRIM ( RTRIM ( COL_0034 ) ) , '***' ) , '***' ) , COL_0035 , COL_0036 , C…
PARSE 0.000154 0.000095 42.838 687 0 0 0 #16 SELECT DISTINCT a.COL_0056, a.COL_0057 FROM TAB_0013 a, (select distinct COL_0032,COL_0039 from TAB_0014) b WHERE b.COL_…
PARSE 0.000153 0.000089 18.585 167 0 0 0 #148 SELECT COL_0022 , COL_0023 , COL_0024 , COL_0025 FROM TAB_0004
FETCH 0.000148 0.000089 18.521 140 4 0 1 #149 SELECT TAB_0003.COL_0019 FROM TAB_0003 WHERE TAB_0003.COL_0020 =( SELECT max ( TAB_0003.COL_0020 ) FROM TAB_0003 )
PARSE 0.000133 0.000073 18.521 137 0 0 0 #149 SELECT TAB_0003.COL_0019 FROM TAB_0003 WHERE TAB_0003.COL_0020 =( SELECT max ( TAB_0003.COL_0020 ) FROM TAB_0003 )
PARSE 0.000129 0.000077 18.624 181 0 0 0 #151 SELECT COL_0026 , COL_0025 FROM TAB_0004
PARSE 0.000128 0.000077 20.478 228 0 0 0 #146 SELECT TAB_0007.COL_0032 , TAB_0007.COL_0033 , TAB_0007.COL_0034 FROM TAB_0007 WHERE ( TAB_0007.COL_0032 ='***' )
PARSE 0.000126 0.000075 18.581 153 0 0 0 #152 SELECT COL_0018 , COL_0021 FROM TAB_0002
FETCH 0.000116 0.000069 18.585 170 2 0 1 #148 SELECT COL_0022 , COL_0023 , COL_0024 , COL_0025 FROM TAB_0004
EXEC 0.000109 0.000065 42.452 374 0 0 1 #145 BEGIN PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', …
PARSE 0.000108 0.000065 42.449 368 0 0 0 #145 BEGIN PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', '***' ); PKG_0004.ROT_0005( '***', …
FETCH 0.000094 0.000056 18.581 156 2 0 1 #152 SELECT COL_0018 , COL_0021 FROM TAB_0002
FETCH 0.000093 0.000051 18.624 184 2 0 1 #151 SELECT COL_0026 , COL_0025 FROM TAB_0004
PARSE 0.000088 0.000052 21.586 245 0 0 0 #146 SELECT TAB_0007.COL_0032 , TAB_0007.COL_0033 , TAB_0007.COL_0034 FROM TAB_0007 WHERE ( TAB_0007.COL_0032 ='***' )
FETCH 0.000085 0.000051 19.155 200 3 0 1 #95 select COL_0027 from TAB_0005 where COL_0028 ='***'
FETCH 0.000084 0.000048 52.149 765 2 0 1 #107 SELECT COL_0061.COL_0062, COL_0061.COL_0062 || '***' || COL_0061.COL_0063 FROM TAB_0019 COL_0061 WHERE COL_0059 = '***
EXEC 0.000073 0.000043 19.154 198 0 0 0 #95 select COL_0027 from TAB_0005 where COL_0028 ='***'

Latency distribution

Buckets in powers of 10, by wait event and by call type. Shows whether the time comes from many fast occurrences or a few slow ones.

db file sequential read323,268 occurrences · 365.866 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms271,10983.999.93768427.3
1 ms ≤ e < 10 ms47,69914.8186.76657151.0
10 ms ≤ e < 100 ms4,4501.477.58206021.2
100 ms ≤ e < 1 s100.01.5795550.4
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
direct path read5,357 occurrences · 82.616 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms60.10.0041720.0
1 ms ≤ e < 10 ms1,42426.69.21795011.2
10 ms ≤ e < 100 ms3,91573.171.69615886.8
100 ms ≤ e < 1 s120.21.6975712.1
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
SQL*Net message from client68 occurrences · 74.696 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms4972.10.1326240.2
10 ms ≤ e < 100 ms913.20.3161030.4
100 ms ≤ e < 1 s34.40.8671621.2
1 s ≤ e < 10 s45.911.71301915.7
10 s ≤ e < 100 s34.461.66713082.6
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
direct path read temp8,825 occurrences · 60.291 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs10.00.0000080.0
10 µs ≤ e < 100 µs180.20.0009070.0
100 µs ≤ e < 1 ms1,17413.30.7733951.3
1 ms ≤ e < 10 ms6,02768.334.60028457.4
10 ms ≤ e < 100 ms1,60518.224.91650641.3
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
db file scattered read1,019 occurrences · 12.718 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms30429.82.32195818.3
10 ms ≤ e < 100 ms71570.210.39605581.7
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
direct path write temp2,950 occurrences · 7.639 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs20.10.0000150.0
10 µs ≤ e < 100 µs391.30.0022120.0
100 µs ≤ e < 1 ms57219.40.3289224.3
1 ms ≤ e < 10 ms2,23875.95.25019568.7
10 ms ≤ e < 100 ms983.31.95498025.6
100 ms ≤ e < 1 s10.00.1023381.3
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
log file switch completion2 occurrences · 0.053 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms2100.00.052671100.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
log file switch (private strand flush incomplete)2 occurrences · 0.033 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms150.00.00820224.8
10 ms ≤ e < 100 ms150.00.02491775.2
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
CSS initialization1 occurrences · 0.009 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms1100.00.008608100.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
enq: RO - fast object reuse3 occurrences · 0.002 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms266.70.00071530.0
1 ms ≤ e < 10 ms133.30.00166870.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
CSS operation: action1 occurrences · 0.001 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms1100.00.001118100.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
Disk file operations I/O36 occurrences · 0.001 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs1233.30.0000686.8
10 µs ≤ e < 100 µs2466.70.00092593.2
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
CSS operation: query6 occurrences · 0.000 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs350.00.0000000.0
1 µs ≤ e < 10 µs116.70.0000020.5
10 µs ≤ e < 100 µs116.70.0000122.9
100 µs ≤ e < 1 ms116.70.00039596.6
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
reliable message2 occurrences · 0.000 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs00.00.0000000.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms2100.00.000356100.0
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
SQL*Net message to client68 occurrences · 0.000 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs57.40.0000000.0
1 µs ≤ e < 10 µs6392.60.000159100.0
10 µs ≤ e < 100 µs00.00.0000000.0
100 µs ≤ e < 1 ms00.00.0000000.0
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
EXEC (call duration e)102,658 occurrences · 813.576 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs240.00.0001550.0
10 µs ≤ e < 100 µs39,37338.43.0290080.4
100 µs ≤ e < 1 ms62,49960.913.7023191.7
1 ms ≤ e < 10 ms6920.71.3104470.2
10 ms ≤ e < 100 ms610.12.9993530.4
100 ms ≤ e < 1 s70.00.9701040.1
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s20.0791.56413997.3
1.000 s ≤ e < ∞00.00.0000000.0
FETCH (call duration e)99,915 occurrences · 53.717 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs64,12664.20.4660980.9
10 µs ≤ e < 100 µs34,97235.00.8462181.6
100 µs ≤ e < 1 ms6730.70.1395460.3
1 ms ≤ e < 10 ms280.00.1836200.3
10 ms ≤ e < 100 ms1150.11.5282852.8
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s10.050.55370394.1
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
PARSE (call duration e)394 occurrences · 0.219 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs00.00.0000000.0
1 µs ≤ e < 10 µs12030.50.0009170.4
10 µs ≤ e < 100 µs10125.60.0025691.2
100 µs ≤ e < 1 ms13233.50.04670121.3
1 ms ≤ e < 10 ms389.60.09325342.5
10 ms ≤ e < 100 ms30.80.07586034.6
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0
CLOSE (call duration e)102,656 occurrences · 0.106 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 1 µs17,50917.10.0000000.0
1 µs ≤ e < 10 µs84,94282.70.09850892.8
10 µs ≤ e < 100 µs1920.20.0047214.4
100 µs ≤ e < 1 ms130.00.0029252.8
1 ms ≤ e < 10 ms00.00.0000000.0
10 ms ≤ e < 100 ms00.00.0000000.0
100 ms ≤ e < 1 s00.00.0000000.0
1 s ≤ e < 10 s00.00.0000000.0
10 s ≤ e < 100 s00.00.0000000.0
100 s ≤ e < 1.000 s00.00.0000000.0
1.000 s ≤ e < ∞00.00.0000000.0

Reads

reads (disk buckets)338,469 occurrences · 521.491 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 5 ms308,62091.2199.90469738.3
5 ms ≤ e < 10 ms19,1425.7133.71823225.6
10 ms ≤ e < 15 ms5,7831.770.41330313.5
15 ms ≤ e < 20 ms2,6040.844.6126168.6
20 ms ≤ e < 25 ms1,0480.323.2583074.5
25 ms ≤ e < 50 ms1,0620.334.0202856.5
50 ms ≤ e < 100 ms1880.112.2862682.4
100 ms ≤ e < 1 s220.03.2771260.6
1 s ≤ e < ∞00.00.0000000.0
reads (SSD buckets)338,469 occurrences · 521.491 s
Duration bucketOccurrences% occ.Duration (s)% duration
0 ≤ e < 15 µs30.00.0000310.0
15 µs ≤ e < 25 µs10.00.0000230.0
25 µs ≤ e < 50 µs60.00.0001980.0
50 µs ≤ e < 100 µs90.00.0006630.0
100 µs ≤ e < 500 µs228,96167.671.67426613.7
500 µs ≤ e < 1 ms43,32812.829.0409855.6
1 ms ≤ e < 10 ms55,45416.4232.90676344.7
10 ms ≤ e < ∞10,7073.2187.86790536.0

First read and reread of the same block

Frequent rereads of the same block point to a small cache or repeated access to the same data.

EventDistinct blocks1st read1st read (s)RereadsRereads (s)
db file sequential read323,225323,225365.662430.204
db file scattered read1,0191,01912.71800.000

Objects with the most wait time

By the obj# of the waits. The name comes from the STAT lines in the trace itself, when present.

obj#NameWait (s)OccurrencesTop events
192892404.790290,860db file sequential read · direct path read · direct path read temp
20284966.67033,428db file sequential read
19289315.8379,559db file sequential read · direct path read · direct path write temp
2028543.822873db file sequential read
2019990.696419direct path read temp · db file sequential read · Disk file operations I/O
2012870.628475direct path read temp · db file sequential read · Disk file operations I/O
1927460.533192db file sequential read · direct path read temp · Disk file operations I/O
2012860.328322direct path read temp · db file sequential read
2028670.30547db file sequential read · Disk file operations I/O
2028650.14336db file sequential read · Disk file operations I/O
201288IDX_00340.06413db file sequential read
192133TAB_00650.0376direct path read temp · db file sequential read
201349IDX_00350.0254db file sequential read
1914730.0125db file sequential read · Disk file operations I/O
190484TAB_00350.0092db file sequential read
190757TAB_00630.0091db file sequential read
199392IDX_00600.0081db file sequential read
2028530.0061db file sequential read
190981TAB_00950.0061db file sequential read
1918160.0063db file sequential read · Disk file operations I/O
202751IDX_00360.0051db file sequential read
2012960.0051db file sequential read
2012990.0041db file sequential read
2012930.0041db file sequential read
198940IDX_00450.0041db file sequential read
1918150.0032db file sequential read · Disk file operations I/O
2013150.0021db file sequential read

Shareable texts

Statements that differ only in literals. With bind variables, a single cursor would serve them all and hard-parse PARSE calls would drop.

TextsPARSEPARSE (s)Total (s)SQL IDsExample
440.0030.005hidden by the mask#48 CREATE GLOBAL TEMPORARY T
880.0030.004hidden by the mask#55 INSERT INTO TAB_0021 ( COL_0070 , … :n , :s , :s , :s , :s , :s )
440.0020.004hidden by the mask#57 INSERT INTO TAB_0021 ( COL_0070 , … :n , :s , null , :s , :s , :s )
220.0010.001hidden by the mask#117 SELECT SEQ_001.NEXTVAL FROM dual

Single-block read

db file sequential read

Reads one block from disk into the buffer cache: index access, table access by ROWID, undo or segment header.

Normal when
Index access to a few blocks, averaging 0.1 to 1 ms on SSD or flash and 5 to 10 ms on disk.
A concern when
Many reads: the plan reads too many blocks (unselective index, NESTED LOOPS with many rows). High average: slow or contended storage.
Where to look

CPU in EXEC calls

CPU: EXEC dbcalls

The session's CPU time executing: DML, cursor opening and the body of PL/SQL blocks. High in PL/SQL: heavy logic or SQL inside a loop.

Normal when
It is part of the database's normal work.
A concern when
It dominates the total time: start with the statements that use the most CPU and with their logical reads.
Where to look

Unaccounted-for time within calls

unaccounted-for time within calls

The part of the call's duration (e=) that is neither CPU (c=) nor a wait recorded inside it.

Normal when
Small. A negative value comes from the granularity of the CPU measurement, not from a problem.
A concern when
It adds up a lot: CPU queueing (more runnable processes than cores), memory paging (swap) or code without wait instrumentation.
Where to look

Unaccounted-for time between calls

unaccounted-for time between calls

Time between the end of one level-0 call and the start of the next with no recorded wait. It is the difference between the total time and the sum of the calls and the waits between them.

Normal when
Small: fractions of a millisecond per call.
A concern when
It adds up a lot: the trace was turned on or off midway, the process was kept off the CPU (saturated server), the application took long without the client wait showing up, or a collection file is missing.
Where to look

Direct read into the PGA

direct path read

Reads blocks from disk straight into session memory, bypassing the buffer cache: large serial full scan or parallel query.

Normal when
Full read of a large table in a batch process.
A concern when
It shows up in a user screen or inside a loop: a large full scan repeated, a whole table read to return a few rows.
Where to look

Waiting for the application

SQL*Net message from client

The session finished the previous call and is waiting for the application's next request. It is application, network and user time, not database time.

Normal when
It shows up between every call. Long, isolated waits are the user thinking or the application busy with something else.
A concern when
It dominates the total time with many short waits: the application talks to the database too much (one row per call, SQL inside a loop). With a few long waits, the delay is in the application, and SQL tuning will not fix it.
Where to look

Reading from TEMP

direct path read temp

Reads from the temporary tablespace what a sort, a hash join or a temporary table wrote there.

Normal when
Large sorts and joins, in batch.
A concern when
The operation should fit in the session's memory: PGA too small for it, or more volume than needed (wrong join, sorting too many rows).
Where to look

CPU in FETCH calls

CPU: FETCH dbcalls

The session's CPU time fetching rows. High: too many logical reads (LIO), usually a plan that reads far more blocks than the rows returned call for.

Normal when
It is part of the database's normal work.
A concern when
It dominates the total time: start with the statements that use the most CPU and with their logical reads.
Where to look

Multiblock read

db file scattered read

Reads several contiguous blocks at once into the buffer cache: full table scan or index fast full scan.

Normal when
Full scan of a small or medium table that fits in the cache.
A concern when
Full scan of a large table to return a few rows: an index is missing, or the index is not used.
Where to look

Writing to TEMP

direct path write temp

Writes to TEMP the part of a sort or hash join that did not fit in the PGA.

Normal when
Large operations, in batch.
A concern when
Same as reading from TEMP: small PGA or high volume.
Where to look

CPU in PARSE calls

CPU: PARSE dbcalls

The session's CPU time parsing the SQL. High: hard parses from SQL without binds, or repeated parsing of the same cursor (opened and closed on every execution).

Normal when
It is part of the database's normal work.
A concern when
It dominates the total time: start with the statements that use the most CPU and with their logical reads.
Where to look

CPU in CLOSE calls

CPU: CLOSE dbcalls

The session's CPU time closing the cursor. Almost always small.

Normal when
It is part of the database's normal work.
A concern when
It dominates the total time: start with the statements that use the most CPU and with their logical reads.
Where to look

Redo log switch

log file switch completion

The session waits for the redo log file switch to finish.

Normal when
Rare: one short wait per switch.
A concern when
Redo logs too small for the volume generated: frequent switches.
Where to look

Configuration

Configuration

Waits caused by a configuration limit: small redo log, buffer cache, ITL, sequence cache, space.

Normal when
Rare.
A concern when
The event points to the parameter or object to tune.
Where to look
  • Which event, and what it asks for: By wait class, this class's row: Top components column

Unclassified

Unclassified

Events the engine cannot classify.

Normal when
It adds up to little time.
A concern when
It adds up a lot: the event's class in v$event_name says where it belongs.
Where to look
  • The event's class: v$event_name.wait_class, in the database

Buffer cleanup (TRUNCATE or DROP)

enq: RO - fast object reuse

TRUNCATE or DROP waiting for the database to discard the object's blocks held in the buffer cache.

Normal when
It adds up to little time.
A concern when
TRUNCATE inside a loop, or a buffer cache too large to sweep.
Where to look

Opening or closing files

Disk file operations I/O

File operations (open, close, size lookup), not data reads.

Normal when
It adds up to little time.
A concern when
It adds up a lot: many files opened and closed, or a slow file system.
Where to look

Inter-process message

reliable message

The session sent a message to background processes or to other instances and waits for the acknowledgement.

Normal when
It adds up to little time.
A concern when
It adds up a lot: TRUNCATE, result cache or a parameter change in RAC.
Where to look

Sending the response

SQL*Net message to client

Time to hand a response packet to the operating system. It does not measure the network to the client, only the handoff to the OS.

Normal when
Microseconds per occurrence, one per call.
A concern when
The average rises to milliseconds: the server's network buffer is full or the network is saturated.
Where to look

User I/O (data reads and writes)

User I/O

Data reads and writes done by the session itself.

Normal when
There is always some I/O, with a low average per read.
A concern when
Too many blocks (the plan reads more than it needs) or high average time per read (slow storage).
Where to look

Unaccounted-for

Unaccounted-for

Time the trace does not explain by CPU or wait: within calls and between them.

Normal when
Small.
A concern when
CPU queue, paging, gaps in the trace or a file missing from the collection.
Where to look

CPU

CPU

CPU time of the database calls (the c= of PARSE, EXEC and FETCH).

Normal when
This is the database's work.
A concern when
It adds up a lot: too many logical reads (plan), too much parsing or heavy PL/SQL.
Where to look

Idle

Idle

The session is waiting for work. In a session trace it is almost always SQL*Net message from client: application, network and user time.

Normal when
It shows up between calls.
A concern when
Dominates the total time and the user complains about slowness: the delay is outside the database (application, network, too many round trips).
Where to look

Application

Application

Waits caused by how the application uses the database: rows and tables locked by another session, application locks, returned errors.

Normal when
It adds up to little time.
A concern when
Session stalled waiting for another: long transactions, same row updated by several sessions, unindexed foreign key.
Where to look

Other

Other

Internal events with no more specific class.

Normal when
It adds up to little time.
A concern when
It adds up a lot: the event itself points to the cause.
Where to look

Network

Network

Sending and receiving data over SQL*Net, with the application or with another database over dblink.

Normal when
It adds up to little time.
A concern when
Large results, low arraysize or slow dblink.
Where to look

Recursive SQL (child statements)

Recursive SQL (child statements)

Time of the calls this statement triggered: SQL inside PL/SQL functions and procedures, triggers and dictionary queries.

Normal when
PL/SQL statement that runs other SQL.
A concern when
It adds up a lot in a plain SELECT or DML: a PL/SQL function called per row, or a heavy trigger.
Where to look
  • Which child statements and what each one costs: statement detail, Recursive SQL

WaitScope 1.7.0 · analyzed on the server · report exported on 2026-10-29 10:19:57