Dear list,I'm trying to fix a performance issue on a query that runs 48 hours, where it normally runs for 5 minutes. During last slow-run, I activated a 10046 traceevent, to find out where time is spend on.
Query stats (tkprof) are:call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 0 0.00 0.00 0 0 0 0 Execute 0 0.00 0.00 0 0 0 0 Fetch 604 170203.78 167091.28 44687 2765869668 0 661012 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 604 170203.78 167091.28 44687 2765869668 0 661012
Misses in library cache during parse: 0 Parsing user id: 71 Elapsed times include waiting on following events: Event waited on Times Max. Wait Total Waited ---------------------------------------- Waited ---------- ------------ SQL*Net more data to client 5448 0.00 0.51 db file sequential read 12574 0.14 36.56 db file scattered read 424 0.05 4.81 SQL*Net message from client 605 0.02 4.74 SQL*Net message to client 604 0.00 0.00 latch: cache buffers chains 992 0.45 241.80 read by other session 25 0.01 0.06 latch free 54 0.30 14.29 ********************************************************************************Since an average fetch takes about 5 minutes, I browsed through the trace-file. I noticed that:
* a FETCH cputime (c=) itself is about 5 minutes * a FETCH elapsetime (e=) is often smaller the FETCH cpu-time * the total of WAIT's is only about 2 secondsDoes anyone have anyone have idea what's making the fetch so slow and why FETCH elapsetime is smaller than FETCH cpu-time. My main concern is to find out how I can solve this performance issue.
I included a part of the 10046 tracefile (between 2 fetches) below. Thnx for any feedback, Ronald Peters ----------------------------------------------------------- *** 2009-02-15 07:30:13.118FETCH #4:c=779570000,e=761559505,p=145,cr=12835365,cu=0,mis=0,r=1096,dep=0,og=1,tim=26023307089030 WAIT #4: nam='SQL*Net message from client' ela= 8564 driver id=1413697536 #bytes=1 p3=0 obj#=4603 tim=26023307097782 WAIT #4: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=4603 tim=26023307127822
*** 2009-02-15 07:31:11.791WAIT #4: nam='db file sequential read' ela= 403 file#=25 block#=185099 blocks=1 obj#=4603 tim=26023364387816 WAIT #4: nam='db file sequential read' ela= 431 file#=24 block#=210004 blocks=1 obj#=4603 tim=26023365764647
*** 2009-02-15 07:31:49.781WAIT #4: nam='SQL*Net more data to client' ela= 87 driver id=1413697536 #bytes=8714 p3=0 obj#=4603 tim=26023401487444
*** 2009-02-15 07:32:17.119WAIT #4: nam='db file sequential read' ela= 477 file#=25 block#=185100 blocks=1 obj#=4603 tim=26023428185451 WAIT #4: nam='db file sequential read' ela= 5379 file#=25 block#=185561 blocks=1 obj#=4603 tim=26023432401181
*** 2009-02-15 07:33:04.941WAIT #4: nam='SQL*Net more data to client' ela= 96 driver id=1413697536 #bytes=8720 p3=0 obj#=4603 tim=26023474886312
*** 2009-02-15 07:34:03.849WAIT #4: nam='db file sequential read' ela= 452 file#=25 block#=185101 blocks=1 obj#=4603 tim=26023532414156
*** 2009-02-15 07:34:27.762WAIT #4: nam='SQL*Net more data to client' ela= 100 driver id=1413697536 #bytes=8709 p3=0 obj#=4603 tim=26023555766901
*** 2009-02-15 07:35:08.351WAIT #4: nam='db file sequential read' ela= 446 file#=25 block#=185102 blocks=1 obj#=4603 tim=26023595404265
*** 2009-02-15 07:35:21.656WAIT #4: nam='SQL*Net more data to client' ela= 100 driver id=1413697536 #bytes=8714 p3=0 obj#=4603 tim=26023608397703
*** 2009-02-15 07:35:35.829WAIT #4: nam='db file sequential read' ela= 373 file#=25 block#=185103 blocks=1 obj#=4603 tim=26023622238292
*** 2009-02-15 07:35:47.691WAIT #4: nam='SQL*Net more data to client' ela= 103 driver id=1413697536 #bytes=8713 p3=0 obj#=4603 tim=26023633822568
*** 2009-02-15 07:36:02.325WAIT #4: nam='db file sequential read' ela= 460 file#=25 block#=185104 blocks=1 obj#=4603 tim=26023648113351
*** 2009-02-15 07:36:35.331WAIT #4: nam='SQL*Net more data to client' ela= 102 driver id=1413697536 #bytes=8714 p3=0 obj#=4603 tim=26023680347056
*** 2009-02-15 07:36:54.892WAIT #4: nam='db file sequential read' ela= 833 file#=25 block#=185105 blocks=1 obj#=4603 tim=26023699449899
*** 2009-02-15 07:37:24.211WAIT #4: nam='SQL*Net more data to client' ela= 92 driver id=1413697536 #bytes=8716 p3=0 obj#=4603 tim=26023728081929
*** 2009-02-15 07:37:54.758WAIT #4: nam='db file sequential read' ela= 415 file#=25 block#=185106 blocks=1 obj#=4603 tim=26023757912148
*** 2009-02-15 07:44:16.786WAIT #4: nam='db file sequential read' ela= 8435 file#=23 block#=213328 blocks=1 obj#=4603 tim=26024130989289 WAIT #4: nam='db file sequential read' ela= 8359 file#=25 block#=185406 blocks=1 obj#=4603 tim=26024131063149
*** 2009-02-15 07:49:27.199WAIT #4: nam='db file sequential read' ela= 2519 file#=23 block#=213330 blocks=1 obj#=4603 tim=26024434129585 WAIT #4: nam='db file sequential read' ela= 10767 file#=25 block#=185162 blocks=1 obj#=4603 tim=26024442552207 WAIT #4: nam='SQL*Net more data to client' ela= 97 driver id=1413697536 #bytes=8712 p3=0 obj#=4603 tim=26024443296687 WAIT #4: nam='db file sequential read' ela= 6924 file#=27 block#=134031 blocks=1 obj#=4603 tim=26024443788258
*** 2009-02-15 07:49:41.157WAIT #4: nam='db file sequential read' ela= 7179 file#=26 block#=165302 blocks=1 obj#=4603 tim=26024447759981 WAIT #4: nam='db file sequential read' ela= 5310 file#=25 block#=185259 blocks=1 obj#=4603 tim=26024447944080 WAIT #4: nam='db file sequential read' ela= 7539 file#=26 block#=165129 blocks=1 obj#=4603 tim=26024448366144 WAIT #4: nam='db file sequential read' ela= 6410 file#=27 block#=134299 blocks=1 obj#=4603 tim=26024448397926 WAIT #4: nam='db file sequential read' ela= 8976 file#=25 block#=185555 blocks=1 obj#=4603 tim=26024448577466 WAIT #4: nam='db file sequential read' ela= 457 file#=27 block#=133912 blocks=1 obj#=4603 tim=26024448788306 WAIT #4: nam='db file sequential read' ela= 3449 file#=27 block#=134221 blocks=1 obj#=4603 tim=26024448805222 WAIT #4: nam='db file sequential read' ela= 4854 file#=25 block#=185460 blocks=1 obj#=4603 tim=26024448980110 WAIT #4: nam='db file sequential read' ela= 6900 file#=23 block#=213695 blocks=1 obj#=4603 tim=26024449133433 WAIT #4: nam='db file sequential read' ela= 5651 file#=27 block#=134116 blocks=1 obj#=4603 tim=26024454626052
*** 2009-02-15 07:49:51.436WAIT #4: nam='db file sequential read' ela= 5857 file#=26 block#=165242 blocks=1 obj#=4603 tim=26024457798604 WAIT #4: nam='db file sequential read' ela= 7028 file#=23 block#=213540 blocks=1 obj#=4603 tim=26024458531304 WAIT #4: nam='db file sequential read' ela= 8395 file#=26 block#=165191 blocks=1 obj#=4603 tim=26024462223834 WAIT #4: nam='db file sequential read' ela= 4750 file#=27 block#=134263 blocks=1 obj#=4603 tim=26024467241086 WAIT #4: nam='SQL*Net more data to client' ela= 64 driver id=1413697536 #bytes=8715 p3=0 obj#=4603 tim=26024467241334
*** 2009-02-15 07:50:01.748WAIT #4: nam='db file sequential read' ela= 15506 file#=27 block#=134177 blocks=1 obj#=4603 tim=26024467868191 WAIT #4: nam='db file sequential read' ela= 9143 file#=26 block#=165293 blocks=1 obj#=4603 tim=26024468069792 WAIT #4: nam='db file sequential read' ela= 6631 file#=27 block#=134005 blocks=1 obj#=4603 tim=26024470727348
*** 2009-02-15 07:50:13.480WAIT #4: nam='db file sequential read' ela= 5018 file#=23 block#=213573 blocks=1 obj#=4603 tim=26024479325131 WAIT #4: nam='db file sequential read' ela= 472 file#=23 block#=213331 blocks=1 obj#=4603 tim=26024486309958
*** 2009-02-15 07:50:24.432WAIT #4: nam='db file sequential read' ela= 7697 file#=25 block#=185352 blocks=1 obj#=4603 tim=26024490020807 FETCH #4:c=1216790000,e=1189423570,p=35,cr=20074148,cu=0,mis=0,r=1096,dep=0,og=1,tim=26024496521407
... ----------------------------------------------------------- -- //www.freelists.org/webpage/oracle-l