🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.databases.oracle.misc
Article #134

Re: SQL Trace: What's in the XCTEND line ?

#134
From: Thomas Kyte
Date: Fri, 26 Jun 1998 00:00
130 lines
7624 bytes
A copy of this was sent to "Michael R�pschl" <miker@art.at>
(if that email address didn't require changing)
On 26 Jun 1998 11:58:18 GMT, you wrote:

>Does anyone know what the XCTEND-line in Oracle SQL-Trace means??
>Sample:
>insert into x values('uuuu')
>END OF STMT
>PARSE #1:c=1,e=0,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=3986300500
>EXEC #1:c=0,e=0,p=0,cr=1,cu=3,mis=0,r=1,dep=0,og=4,tim=3986300500
>Fri Jun 26 12:21:50 1998
>XCTEND rlbk=0, rd_only=0
>
>I'm looking for a way to find out when a program using OCI is commiting.

----------------------------------------------------------------------------
XCTEND rlbk=%d rd_only=%d
----------------------------------------------------------------------------	
    XCTEND      A transaction end marker.
    rlbk	1 if a rollback was performed, 0 if no rollback (commit).
    rd_only	1 if transaction was read only, 0 if changes occurred.
----------------------------------------------------------------------------

explains that one.... For the next question, here is the meaning of the other
fields:

----------------------------------------------------------------------------	
APPNAME mod='%s' mh=%lu act='%s' ah=%lu
----------------------------------------------------------------------------	
    APPNAME     Application name setting.  This only applies to Oracle 7.2
                and above.  This can be set by using the DBMS_APPLICATION_INFO 
                package.  See <Note:30366.1>.    mod		Module name.
    mh		Module hash value.    act		Action.    ah		Action hash
value.
----------------------------------------------------------------------------
PARSING IN CURSOR #<CURSOR> len=X dep=X uid=X oct=X lid=X tim=X hv=X ad='X'
<statement>END OF STMT
----------------------------------------------------------------------------
    <CURSOR>	Cursor number.    len		Length of SQL statement.    dep
PGA depth.
    uid		Schema user id of parsing user.    oct		Oracle command type.
    lid		Privilege user id.    tim		Timestamp (100ths of a second).
		Can be used to determine times between points in the trace file.
		The value is the value in V$TIMER when the line was written.
		If there are TIMESTAMPS in the file you can use the difference
		between 'tim' values to determine an absolute time.    hv		Hash id.

    ad		SQLTEXT address (see <View:V$SQLAREA> and <View:V$SQLTEXT>).
    <statement>	The actual SQL statement being parsed.
----------------------------------------------------------------------------
PARSE ERROR #%d:len=%ld dep=%d uid=%ld oct=%d lid=%ld tim=%lu err=%d
<statement> ...
----------------------------------------------------------------------------
    PARSE ERROR	In Oracle 7.2+ we report parse errors.
    len		Length of SQL statement.    dep		PGA depth.    uid		User id.
    oct		Oracle command type (if known).    lid		Privilege user id.
    tim	 	Timestamp.    err		Error reported.        
    <statement>	The SQL statement that errored.  If this contains a password,
		the statement is truncated as indicated by '...' at the end.
----------------------------------------------------------------------------
PARSE #<CURSOR>:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=0 
EXEC  #<CURSOR>:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=0
FETCH #<CURSOR>:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=0
UNMAP #<CURSOR>:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=0
----------------------------------------------------------------------------
- OPERATIONS:    	PARSE	Parse a statement.
    	EXEC 	Execute a pre-parsed statement.    	FETCH	Fetch rows from a
cursor.
	UNMAP	If the cursor uses a temporary table, when the cursor is
		closed you see an UNMAP when we free up the temporary table 
		locks.(Ie: free the lock, delete the state object, free the		temp
segment) 
		In tkprof, UNMAP stats get added to the EXECUTE statistics.	SORT UNMAP
		As above, but for OS file sorts or TEMP table segments. 
	c	CPU time (100th's of a second).	e	Elapsed time (100th's of a second).
	p	Number of physical reads.  	cr	Number of buffers retrieved for CR
reads.
	cu	Number of buffers retrieved in current mode.	mis	Cursor missed in the
cache.
	r	Number of rows processed.
	dep	Recursive call depth (0 = user SQL, >0 = recursive). 	og	Optimizer
goal:
			KKOSHARW 1  All_Rows			KKOSHFRW 2  First_Rows
KKOSHRUL 3  Rule
			KKOSHCHO 4  Choose
	tim	Timestamp (large number in 100ths of a second).  Use this to 
                determine the time between any 2 operations.
----------------------------------------------------------------------------
ERROR #%d:err=%d tim=%lu
----------------------------------------------------------------------------
    SQL         Error shown after an execution or fetch error.
    err		Oracle error code at the top of the stack.    tim		Timestamp.
----------------------------------------------------------------------------	
STAT #<CURSOR> id=N cnt=0  [pid=0 pos=0 obj=0 op='SORT AGGREGATE ']
----------------------------------------------------------------------------	
    STAT        Lines report explain plan statistics for the numbered <CURSOR>.
    <CURSOR>	Cursor which the statistics apply to.
    id		Line of the explain plan which the row count applies to (starts
		at line 1).  This is effectively the row source row count
		for all row sources in the execution tree.
    cnt		Number of rows for this row source.
    As of 7.3.3 the items in '[...]' are also reported:
    pid		Parent id of this row source.    pos		Position in explain
plan.
    obj		Object id of row source (if this is a base object).
    op='...'	The row source access operation.
    These let you know the 'run time' explain plan.
----------------------------------------------------------------------------
XCTEND rlbk=%d rd_only=%d
----------------------------------------------------------------------------	
    XCTEND      A transaction end marker.
    rlbk	1 if a rollback was performed, 0 if no rollback (commit).
    rd_only	1 if transaction was read only, 0 if changes occurred.
----------------------------------------------------------------------------	

 
Thomas Kyte
tkyte@us.oracle.com
Oracle Government
Herndon VA
 
http://govt.us.oracle.com/    -- downloadable utilities
 
----------------------------------------------------------------------------
Opinions are mine and do not necessarily reflect those of Oracle Corporation
 
Anti-Anti Spam Msg: if you want an answer emailed to you, 
you have to make it easy to get email to you.  Any bounced
email will be treated the same way i treat SPAM-- I delete it.
Technical Details
Message-ID: <35989d4e.4341382@192.86.155.100>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bda0f9$97ca99a0$510f01c0@rup>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: fb53f,437493736524d27e
X-Google-Attributes: gidfb53f,public
X-Google-Thread: fa4f9,437493736524d27e
X-Google-Attributes: gidfa4f9,public
X-Google-Thread: f5464,437493736524d27e
X-Google-Attributes: gidf5464,public
X-Google-Thread: 112235,437493736524d27e
X-Google-Attributes: gid112235,public
X-Google-Thread: f99a8,437493736524d27e
X-Google-Attributes: gidf99a8,public
From: tkyte@us.oracle.com (Thomas Kyte)
Subject: Re: SQL Trace: What's in the XCTEND line ?
Date: 1998/06/26
Message-ID: <35989d4e.4341382@192.86.155.100>
X-Deja-AN: 366288541
Content-Transfer-Encoding: 8bit
References: <01bda0f9$97ca99a0$510f01c0@rup>
Mime-Version: 1.0
Reply-To: tkyte@us.oracle.com
Content-Type: text/plain; charset=ISO-8859-1
Organization: Oracle Government
Newsgroups: comp.databases.oracle.misc,comp.databases.oracle.server,comp.databases.oracle.tools,fido7.rdbms.oracle,hannover.uni.comp.oracle