RE: Strange wait for what should be a fast query
- From: "Cary Millsap" <cary.millsap@xxxxxxxxxx>
- To: <sacrophyte@xxxxxxxxx>, "_oracle_L_list" <oracle-l@xxxxxxxxxxxxx>
- Date: Tue, 19 Dec 2006 15:34:10 -0600
A common real-life scenario that would create exactly this trace file
is:
12:00:00n Execute "sqlplus"
12:01:00.00p Execute "select user from dual;" within sqlplus.
12:01:00.01p View the output from your sqlplus query.
12:01:01p Take a phone call, go to the bathroom, wander the halls for a
bit.
12:30p (approximately) Execute "exit" within sqlplus.
12:31p Look at your trace file, which reveals that your Oracle kernel
process spent about a half hour of time spent blocking on a read from
the I/O device to which your SQL*Net code stack is attached, listening
for the instruction to follow the FETCH call from the "select" cursor
you opened. ...Which, ultimately, was "exit", which, in turn, causes
sqlplus to issue a "commit" database call and disconnect.
If you did this from sqlplus, then I'd expect the next line in the trace
data to be "XCTEND...".
Cary Millsap
Hotsos Enterprises, Ltd.
http://www.hotsos.com
Nullius in verba
Hotsos Symposium 2007 / March 4-8 / Dallas
Visit www.hotsos.com for curriculum and schedule details...
________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Charles Schultz
Sent: Tuesday, December 19, 2006 3:04 PM
To: ORACLE-L
Subject: Strange wait for what should be a fast query
We have an application that is consistently seeing this so-called "idle"
wait:
select user
from
dual
call count cpu elapsed disk query current
rows
------- ------ -------- ---------- ---------- ---------- ----------
----------
Parse 4 0.02 0.01 0 0 0
0
Execute 4 0.00 0.00 0 0 0
0
Fetch 4 0.00 0.00 0 0 0
4
------- ------ -------- ---------- ---------- ---------- ----------
----------
total 12 0.02 0.01 0 0 0
4
Misses in library cache during parse: 1
Optimizer mode: FIRST_ROWS
Parsing user id: 13992
Rows Row Source Operation
------- ---------------------------------------------------
1 FAST DUAL (cr=0 pr=0 pw=0 time=13 us)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total
Waited
---------------------------------------- Waited ----------
------------
SQL*Net message to client 4 0.00
0.00
SQL*Net message from client 4 1843.75
1851.55
I am very perplexed about this - what possible message is SQL*Net
waiting for from the client?
Here is the corresponding info from the raw trace file (from the 4th and
final fetch):
select user from dual
END OF STMT
PARSE #3:c=0,e=45,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=2,tim=7923152389704
BINDS #3:
EXEC #3:c=0,e=115,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=2,tim=7923152389991
WAIT #3: nam='SQL*Net message to client' ela= 2 driver id=1413697536
#bytes=1 p3=0 obj#=58 tim=7923152390127
FETCH #3:c=0,e=42,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=2,tim=7923152390255
*** 2006-12-19 09:10:27.832
WAIT #3: nam='SQL*Net message from client' ela= 1843756325 driver
id=1413697536 #bytes=1 p3=0 obj#=58 tim=7926058417512
--
Charles Schultz
- Follow-Ups:
- Re: Strange wait for what should be a fast query
- From: Charles Schultz
Other related posts:
- » Strange wait for what should be a fast query
- » RE: Strange wait for what should be a fast query
- » Re: Strange wait for what should be a fast query
- » RE: Strange wait for what should be a fast query
- » Re: Strange wait for what should be a fast query
- » Re: Strange wait for what should be a fast query
- » RE: Strange wait for what should be a fast query
- » Re: Strange wait for what should be a fast query
- » Re: Strange wait for what should be a fast query
- Re: Strange wait for what should be a fast query
- From: Charles Schultz