Library cash statistic in trace file
Hello!
I'm get ora-00600, and in one of trace files I see library cash statistic :
LIBRARY CACHE STATISTICS:
namespace gets hit ratio pins hit ratio reloads invalids
My question - is this statistic cumulative or current ?
Please advise .
Thanks and regards,
Paul
Paul wrote:
I'm get ora-00600, and in one of trace files I see library cash statistic :
LIBRARY CACHE STATISTICS:
namespace gets hit ratio pins hit ratio reloads invalids
My question - is this statistic cumulative or current ? In a trace file dump it's the current contents of the structure under v$librarycache, which means it's the stats since instance startup.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
Author: <b><em>Oracle Core</em></b>
Similar Messages
-
Continual library cache misses in trace file for spatial queries
Hi all,
Could somebody explain to me how the SQL parse engine works for spatial queries.
My understanding is that Oracle creates a hash value for SQL that is parsed with no errors. This hash value is then stored in the library cache ready to be matched against other incoming SQL statements. This provides one of the main reasons for using parametising SQL in languages such as PL/SQL, .Net etc and improves performance on query intensive applications.
However i have noticed that for spatial, any queries except for refreshes of identical ones already sent, the SQL engines re parses the query. This can take upto 0.2 seconds which is causing a performance bottle neck.
When looking at the full trace file of a single spatial query using SDO_FILTER with a query window the amount of additional internal queries that are performed is quiet a lot. Are these additional queries included in the total parse time?
I am wondering why for spatial queries the only way to get a hit in the library cache was to refresh an exact same SQL that had been previously sent?
Thanks
DanielThose additional internal queries are not included in the parse time,
if they are used in the execution time.
Edited by: yhu on Mar 4, 2011 10:52 AM -
ORA-00600 , Internal Error , Trace File and 50% CPU use HTMLDB library
Hi HTMLDB team
One HTMLDB allpication processes generated an ORA-00600 error as follows :
ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [], []
The Trace file is as follows :
*** SESSION ID:(32.925) 2006-08-01 13:17:07.574
*** 2006-08-01 13:17:07.497
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [], []
ORA-06502: PL/SQL: numeric or value error
ORA-06502: PL/SQL: numeric or value error
ORA-06502: PL/SQL: numeric or value error
Current SQL statement for this session:
declare
rc__ number;
begin
owa.init_cgi_env(:n__,:nm__,:v__);
htp.HTBUF_LEN := 255;
null;
null;
null;
null;
f(p=>:p);
if (wpg_docload.is_file_download) then
rc__ := 1;
wpg_docload.get_download_file(:doc_info);
null;
null;
null;
commit;
else
rc__ := 0;
null;
null;
null;
commit;
owa.get_page(:data__,:ndata__);
end if;
:rc__ := rc__;
end;
Also , this process has been consuming an unacceptable amount of cpu :
18146 oracle 1 0 0 3924M 1840M cpu/1 167:24 49.62% oracle
OEM reports the lastest SQL run by this process is the same as above.
Is there anyway I could upload the trace file for you to have a look at ?
Thanks
IndiraHi HTMLDB team
One HTMLDB allpication processes generated an ORA-00600 error as follows :
ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [], []
The Trace file is as follows :
*** SESSION ID:(32.925) 2006-08-01 13:17:07.574
*** 2006-08-01 13:17:07.497
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [], []
ORA-06502: PL/SQL: numeric or value error
ORA-06502: PL/SQL: numeric or value error
ORA-06502: PL/SQL: numeric or value error
Current SQL statement for this session:
declare
rc__ number;
begin
owa.init_cgi_env(:n__,:nm__,:v__);
htp.HTBUF_LEN := 255;
null;
null;
null;
null;
f(p=>:p);
if (wpg_docload.is_file_download) then
rc__ := 1;
wpg_docload.get_download_file(:doc_info);
null;
null;
null;
commit;
else
rc__ := 0;
null;
null;
null;
commit;
owa.get_page(:data__,:ndata__);
end if;
:rc__ := rc__;
end;
Also , this process has been consuming an unacceptable amount of cpu :
18146 oracle 1 0 0 3924M 1840M cpu/1 167:24 49.62% oracle
OEM reports the lastest SQL run by this process is the same as above.
Is there anyway I could upload the trace file for you to have a look at ?
Thanks
Indira -
There is anonimous block:
begin
execute immediate 'alter session set tracefile_identifier = ''TS''';
dbms_monitor.session_trace_enable;
some_proc(true);
end;Procedure some_proc consists following code
loop
select val into i from a where par = 'Bar';
if i = 'EXIT' then
exit;
end if;
for cur in (select fld from t order by r) loop
processing(cur);
end loop;
end loop;Tables A and t is very small tables. So table t is empty.
As you can see, expected than will be works loop and select from very small table.
I have executed the block, and it works about 477 seconds.
select value
2 from v$sesstat s
3 natural
4 join v$statname n
5 where sid = sys_context('USERENV', 'SID')
6 and name = 'CPU used by this session';
VALUE
2
declare
2 t date;
3 begin
4 execute immediate 'alter session set tracefile_identifier = ''TS''';
5 dbms_monitor.session_trace_enable;
6 come_proc(true);
7 end;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:07:57.63
select value
2 from v$sesstat s
3 natural
4 join v$statname n
5 where sid = sys_context('USERENV', 'SID')
6 and name = 'CPU used by this session';
VALUE
45175But there is some strange moments:
1. In tkprof report shows only 277.83 sec (whereas statistic "CPU usage" above is different and more appropriate, 451.75 sec.)
declare
t date;
begin
execute immediate 'alter session set tracefile_identifier = ''TS''';
dbms_monitor.session_trace_enable;
some_proc(true);
end;
call count cpu elapsed disk query current rows
Parse 0 0.00 0.00 0 0 0 0
Execute 1 260.95 277.83 0 64 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 1 260.95 277.83 0 64 0 1
Misses in library cache during parse: 0
Misses in library cache during execute: 1
Optimizer mode: FIRST_ROWS
Parsing user id: 10757
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 20.64 20.64
SELECT VAL
FROM
A WHERE PAR = 'BAR'
call count cpu elapsed disk query current rows
Parse 1 0.01 0.00 0 0 0 0
Execute 1782640 29.01 28.20 0 0 0 0
Fetch 1782640 32.78 31.77 0 5347922 0 1782640
total 3565281 61.80 59.97 0 5347922 0 1782640
Misses in library cache during parse: 1
Optimizer mode: FIRST_ROWS
Parsing user id: 43 (recursive depth: 1)
Rows Row Source Operation
1782640 INDEX RANGE SCAN A_UI (cr=5347922 pr=0 pw=0 time=31762812 us)(object id 530778)
SELECT FLD
FROM
T ORDER BY R
call count cpu elapsed disk query current rows
Parse 1 0.01 0.01 0 0 0 0
Execute 1782639 33.21 31.91 0 0 0 0
Fetch 1782639 95.52 95.82 0 12478473 0 0
total 3565279 128.74 127.75 0 12478473 0 0
Misses in library cache during parse: 1
Optimizer mode: FIRST_ROWS
Parsing user id: 43 (recursive depth: 1)
Rows Row Source Operation
0 SORT ORDER BY (cr=12478473 pr=0 pw=0 time=103178656 us)
0 PARTITION RANGE SINGLE PARTITION: 1 1 (cr=12478473 pr=0 pw=0 time=92028737 us)
0 TABLE ACCESS FULL T PARTITION: 1 1 (cr=12478473 pr=0 pw=0 time=86376673 us)2. In raw trace very many rows with c=0. And somtimes there is rows with c=1000
EXEC #9:c=0,e=13,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912283
FETCH #9:c=0,e=42,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912345
EXEC #8:c=0,e=12,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912395
FETCH #8:c=0,e=13,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451912427
EXEC #9:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912475
FETCH #9:c=0,e=37,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912534
EXEC #8:c=0,e=11,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912580
FETCH #8:c=0,e=12,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451912612
EXEC #9:c=0,e=13,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912659
FETCH #9:c=0,e=39,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912718
EXEC #8:c=0,e=16,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912807
FETCH #8:c=0,e=14,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451912865
EXEC #9:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912916
FETCH #9:c=0,e=46,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451912982
EXEC #8:c=0,e=12,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913040
FETCH #8:c=0,e=13,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451913148
EXEC #9:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913197
FETCH #9:c=0,e=40,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913256
EXEC #8:c=0,e=11,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913302
FETCH #8:c=0,e=12,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451913334
EXEC #9:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913381
FETCH #9:c=0,e=39,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913440
EXEC #8:c=0,e=12,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913487
FETCH #8:c=0,e=19,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451913525
EXEC #9:c=0,e=18,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913590
FETCH #9:c=0,e=36,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913661
EXEC #8:c=10000,e=12,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913710
FETCH #8:c=0,e=13,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451913742
EXEC #9:c=0,e=13,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913790
FETCH #9:c=0,e=37,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913846
EXEC #8:c=0,e=11,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913893
FETCH #8:c=0,e=12,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451913924
EXEC #9:c=0,e=18,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451913996
FETCH #9:c=0,e=51,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451914077
EXEC #8:c=0,e=18,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451914149
FETCH #8:c=0,e=17,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=2,tim=5857451914207
EXEC #9:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451914284
FETCH #9:c=0,e=37,p=0,cr=7,cu=0,mis=0,r=0,dep=1,og=2,tim=5857451914347Questions:
1. How do you think, lost time is time spent
a. in PLSQL engine during context switch,
b. or lost time is time spent in SQL processing where CPU time is less than minimum accurancy (0.01s)
c. or time lost during write in trace file (trace overhead)?
2. Value c=10000 is accumulated value? I think no, may be I am wrong?
But if I right, and time of processing was smaller than 0.01s, CPU time in tkprof will equal to zero, right?
And from this point of view, strange that CPU time and elapsed time is near.
3. Write in trace file is included into "elapsed time" in tracefile steps, e.g. "execute" and "fetch"?
In other words I want more deeply understand process of SQL processing and trace.What version of Oracle are you using?
Can you post the entire contents of the trace file? -
Not able to get the actual plan from trace file
Hi all
I have a Db package and want to get actual execution plan of all the statements in that pakcage it does provides the plan for System's statements but does not displays the plan for Sql statements
DB version 9.2.0 using the following sequence of insructions
set timing on
set serveroutput on
alter session set events '10046 trace name context forever ,level 12';
begin
run_service.collect_data(sysdate);
end;
alter session set sql_trace=false;
exit; ---exit from Sql
now look at the output
select distinct obj#,containerobj#,pflags,xpflags,mflags
from
sum$, suminline$ where sumobj#=obj# and inline#=:1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 1 1 0 0
total 3 0.00 0.00 1 1 0 0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: SYS (recursive depth: 2)
Rows Row Source Operation
0 SORT UNIQUE
0 NESTED LOOPS
0 TABLE ACCESS BY INDEX ROWID SUMINLINE$
0 INDEX RANGE SCAN I_SUMINLINE$_2 (object id 1614116)
0 TABLE ACCESS BY INDEX ROWID SUM$
0 INDEX UNIQUE SCAN I_SUM$_1 (object id 319)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 1 0.00 0.00
SELECT SEQ_NUM, S_DATE, S_TIME, CSTATUS, G_SERVICE,
B_REFERENCE, V_REFERENCE, M_PRIORITY
FROM GL_HIST
ORDER BY S_DATE DESC, S_TIME DESC
call count cpu elapsed disk query current rows
Parse 1 0.01 0.01 0 0 0 0
Execute 2819 0.37 0.32 0 0 0 0
Fetch 2819 2.50 20.47 2786 20164 0 2819
total 5639 2.88 20.81 2786 20164 0 2819
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 15550 (recursive depth: 1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 2786 0.05 18.19
latch free 4 0.04 0.06
UPDATE G_ORIG SET G_SERVICE = :B1
WHERE
SEQ_NUM = :B5 AND S_DATE = :B4 AND S_TIME = :B3 AND
C_STATUS = :B2 AND NVL(G_SERVICE, '+') <> NVL(:B1, '+')
call count cpu elapsed disk query current rows
Parse 1 0.00 0.03 0 0 0 0
Execute 3731 0.74 0.99 261 18712 119 54
Fetch 0 0.00 0.00 0 0 0 0
total 3732 0.74 1.02 261 18712 119 54
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 15550 (recursive depth: 1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 261 0.01 0.19
latch free 9 0.01 0.04
COMMITRemove the line alter session set sql_trace=false and just exit/disconnect. The explain plain is contained in the STAT lines in the trace file and are only written when the cursor closes. If you turn off tracing before the cursor closes the STAT lines will not get written.
-
Ora-00604 error while taking tkprof of a trace file
Sorry i am giving the full erro but omitting exact table names
Hi ,
I have an error while taking tkprof of a trace file.
I gave the following command ---
tkprof <source.trc> <file.prc> sys=no sort=exeela,fchela,prsela explain= /
error is --
Error in create table of EXPLAIN PLAN table : unix_session_user.prof$paln_table
ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Step-6:DDL
Event Security. You are not permitted to perform the requested structural
changes to PROF (TABLE)
Event triggered : CREATE
ora_login_user
(session_user) : unix_session_user(dummy)
Search : select count(*) from
tabl(dummy table name) where obj_name like '%\%%' escape '\' and obj_type =
'TABLE' and obj_type = 'USER' and ( event_CREATE = 'Y' or status =
'Override')
ORA-06512: at line 162
ORA-06510: PL/SQL: unhandled
user-defined exception
EXPLAIN PLAN option disabled.
i searched for the error and in oracle forum i found a solution .. http://forums.oracle.com/forums/thread.jspa?threadID=844287&tstart=0
but after giving the table option it is giving the same error
tkprof <source.trc> <file.prc> sys=no sort=exeela,fchela,prsela table=old_schema.plan_table explain= /
it again gave the same error.
In both two cases it gives elapsed time results,library cache missing etc but before giving this it throws ORA-00604 error as stated above
then i again correct the tkprof statement ..
tkprof <source.trc> <file.prc> sys=no sort=exeela,fchela,prsela table=new_schema.plan_table explain= /
say this schema name here i used is dummy schema name.
My question is did this error came as we had not sufficient previlages in the old_schema but that previleges we have in new_schema?
My databse version is 9.2.0.4.0
Thanks in advance
Edited by: bp on Feb 3, 2009 11:36 PM
Edited by: bp on Feb 3, 2009 11:40 PMPlease post here full error message, there should be lines with ORA-00604 and then some other ORA as well.
And are there any trace files generated during this error?
And as You can see from error description, probably You will have to contact with Oracle support in order to solve this case:
oerr ora 00604
00604, 00000, "error occurred at recursive SQL level %s"
// *Cause: An error occurred while processing a recursive SQL statement
// (a statement applying to internal dictionary tables).
// *Action: If the situation described in the next error on the stack
// can be corrected, do so; otherwise contact Oracle Support. -
Trace File / EJB / dbms_java.grant_permission
I am trying to deploy a simple Hello World EJB onto Oracle 8.1.7 using Jdeveloper 3.2.
I get the following error when deploying :
Loading EJB Jar file and Comm Stubs Jar file...
error: loadJava has failed to load some classes; Please check trace file!
*** Errors occurred while deploying the EJB to 8i JVM ***
*** Deployment completed ***
My trace file has the following in it :
*** 2001-05-03 17:33:29.531
*** SESSION ID:(14.2397) 2001-05-03 17:33:29.531
Error while creating class oracle/aurora/jndi/sess_iiop/ActivationException
ORA-29545: badly formed class: User has attempted to load a class (oracle.aurora.jndi.sess_iiop.ActivationException) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
could not find oracle/aurora/jndi/sess_iiop/ActivationException in WILLOW2K
could not find oracle/aurora/jndi/sess_iiop/ActivationException in WILLOW2K
ORA-29534: referenced object WILLOW2K.javax/naming/InitialContext could not be resolved
ORA-29545: badly formed class: at offset 128 of packagessb.ssbClient2.main expecting a class-javax.naming.NamingException but encountered a class-oracle.aurora.jndi.sess_iiop.ActivationException.
ORA-29545: badly formed class: at offset 4 of javax.naming.spi.NamingManager.createObjectFromFactories expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
at offset 4 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
at offset 38 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
at offset 38 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Name but encountered a class-javax.naming.Name.
at offset 37 of javax.naming.spi.NamingManager.getURLObject expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
ORA-29534: referenced object WILLOW2K.javax/naming/spi/NamingManager could not be resolved
ORA-29534: referenced object WILLOW2K.javax/naming/spi/NamingManager could not be resolved
Error while resolving class oracle/aurora/jndi/sess_iiop/ActivationException
ORA-04043: object /889d46b7_ActivationException does not exist
I think the error stems from the line :
(oracle.aurora.jndi.sess_iiop.ActivationException) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
Doe anyone know how I can grant the user permission to the above library. How exactly is it done using Oracle 8.1.7 ?
nulldid you read the install notes (install.htm) or release notes(readme.htm) files for known issues ?
see the release notes for the following :
Problems Deploying Business Components for Java Libraries in Different Schema (1095107)
Attempting to deploy a Business Components for Java library in a different schema from the JDeveloper IDE generates the following error:
Generating Jar File...done
Loading EJB Jar file and Comm Stubs Jar file...
error: loadJava has failed to load some classes; Please check trace file!
*** Errors occurred while deploying the EJB to 8i JVM *** -
Logrotate and open trace files
On our racs we see a lot of open (lsof) trace files in our dump directories. We've been using logrotate with cumpersome pre/post rotate code to rotate the files, with the code supposedly filtering out open files, but we still run into issue and are going to revisit this code soon.
I'm wondering if anybody has found a clean way to rotate and delete trace files without accidently deleting open files?
-JeffHollis, let's set expectations first.
Digital Editions runs on your computer, not your ereader. What it does is
interface between the publisher or distributor and you, by taking files
from them, reformatting them into readable documents in some cases (in
others, checking and maintaining digital rights), and transferring those
files (now in .epub format) to your computer. It keeps a library of these
epubs and manages it for you. You have to have Digital Editions or some
other similar program on your computer if you intent to obtain ebooks from
various sources. If you're satisfied with Barnes and Noble and the ebooks
they have, then you can link up with them via the Nook's wireless features
or through your computer and download ebooks directly to it that way.
You do not load Digital Editions or any similar program onto your Nook.
Next, at least a couple of people have told you how to the download. Arpit
Kapoor works for Adobe. His reply tells you how to download Digital
Editions and get it installed onto your computer. So my question to is do
you understand what he's saying?
If you have a problem with the download, then tell us in a bit more detail
what your computer is and what it's running (Windows or Mac). There are
some issues that others have had which relate to Win7, but your post isn't
clear enough to tell us whether you're encountering those issues.
=================== -
Diff between Log files and Trace files
hi
What is the exact differences between Log Files and Trace Files.
And the relevant informative URL/reference materils would be highly appriciated.
Thanks
SekharHi,
Go through these,
http://help.sap.com/saphelp_nw04/helpdata/en/d1/7b1e40777cdd5fe10000000a155106/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0bf8c890-0201-0010-8b8c-fc93fa1f4795
Hope it clarifies
Regards
Srinivasan T -
SQL Query taking longer time as seen from Trace file
Below Query Execution timings:
Any help will be benefitial as its affecting business needs.
SELECT MATERIAL_DETAIL_ID
FROM
GME_MATERIAL_DETAILS WHERE BATCH_ID = :B1 FOR UPDATE OF ACTUAL_QTY NOWAIT
call count cpu elapsed disk query current rows
Parse 1 0.00 0.70 0 0 0 0
Execute 2256 8100.00 24033.51 627 12298 31739 0
Fetch 2256 900.00 949.82 0 12187 0 30547
total 4513 9000.00 24984.03 627 24485 31739 30547
Thanks and RegardsThanks Buddy.
Data Collected from Trace file:
SELECT STEP_CLOSE_DATE
FROM
GME_BATCH_STEPS WHERE BATCH_ID
IN (SELECT
DISTINCT BATCH_ID FROM
GME_MATERIAL_DETAILS START WITH BATCH_ID = :B2 CONNECT BY PRIOR PHANTOM_ID=BATCH_ID)
AND NVL(STEP_CLOSE_DATE, :B1) > :B1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.54 0 0 0 0
Execute 2256 800.00 1120.32 0 0 0 0
Fetch 2256 9100.00 13551.45 396 77718 0 0
total 4513 9900.00 14672.31 396 77718 0 0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 66 (recursive depth: 1)
Rows Row Source Operation
0 TABLE ACCESS BY INDEX ROWID GME_BATCH_STEPS
13160 NESTED LOOPS
6518 VIEW
6518 SORT UNIQUE
53736 CONNECT BY WITH FILTERING
30547 NESTED LOOPS
30547 INDEX RANGE SCAN GME_MATERIAL_DETAILS_U1 (object id 146151)
30547 TABLE ACCESS BY USER ROWID GME_MATERIAL_DETAILS
23189 NESTED LOOPS
53736 BUFFER SORT
53736 CONNECT BY PUMP
23189 TABLE ACCESS BY INDEX ROWID GME_MATERIAL_DETAILS
23189 INDEX RANGE SCAN GME_MATERIAL_DETAILS_U1 (object id 146151)
4386 INDEX RANGE SCAN GME_BATCH_STEPS_U1 (object id 146144)
In the Package there are lots of SQL Statements using CONNECT BY CLAUSE.
Does the use of CONNECT BY Clause degrades performance?
As you can see the Rows Section is 0 but the Query and elapsed time is taking longer
Regards -
Interpreting Trace File.
Hi i am using 10.2.0.4.0 version of oracle.
I am having trace file info as below, for one of the query. So how should i interpret the trace file? What is the issue in the query, and the scope of improvement in the query? please note that , i have removed the query and its plans from the trace file, i have only posted the wait sections.
call count cpu elapsed disk query current rows
Parse 1 0.14 0.13 0 0 1 0
Execute 1 6.63 162.12 33540 72921 383 0
Fetch 17272 178.89 1933.95 274835 3147603 20 259063
total 17274 185.66 2096.21 308375 3220524 404 259063
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: 36
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
control file sequential read 4 0.00 0.00
db file sequential read 302812 0.62 1913.89
latch: cache buffers chains 3 0.04 0.04
direct path write temp 501 0.01 0.30
SQL*Net message to client 17272 0.00 0.04
db file scattered read 120 0.02 0.63
direct path read temp 608 0.14 1.71
SQL*Net message from client 17272 44.81 31865.74
SQL*Net more data to client 15 0.00 0.00
latch: object queue header operation 1 0.00 0.00
latch: library cache 3 0.03 0.04
latch: library cache pin 1 0.00 0.00
latch: cache buffer handles 1 0.00 0.00
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 1 0.14 0.13 0 0 1 0
Execute 1 6.63 162.12 33540 72921 383 0
Fetch 17272 178.89 1933.95 274835 3147603 20 259063
total 17274 185.66 2096.21 308375 3220524 404 259063
Misses in library cache during parse: 1
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 17275 0.00 0.04
SQL*Net message from client 17274 75.57 31941.39
SQL*Net more data from client 2 0.00 0.01
db file sequential read 302812 0.62 1913.89
control file sequential read 4 0.00 0.00
latch: cache buffers chains 3 0.04 0.04
direct path write temp 501 0.01 0.30
db file scattered read 120 0.02 0.63
direct path read temp 608 0.14 1.71
SQL*Net more data to client 15 0.00 0.00
latch: object queue header operation 1 0.00 0.00
latch: library cache 3 0.03 0.04
latch: library cache pin 1 0.00 0.00
latch: cache buffer handles 1 0.00 0.00
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 11 0.02 0.01 0 0 0 0
Execute 348 0.20 0.17 0 0 1 0
Fetch 367 0.06 0.37 59 1187 0 3806
total 726 0.28 0.56 59 1187 1 3806
Misses in library cache during parse: 11
Misses in library cache during execute: 10
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 59 0.01 0.32
1 user SQL statements in session.
348 internal SQL statements in session.
349 SQL statements in session.
********************************************************************************below is the estimate and actual results.
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads | Writes | OMem | 1Mem | Us
ed-Mem | Used-Tmp|
|* 1 | COUNT STOPKEY | | 13475 | | 13475 |00:01:32.33 | 134K| 11357 | 0 | | |
| |
| 2 | NESTED LOOPS | | 13475 | 2 | 13475 |00:01:31.66 | 134K| 11357 | 0 | | |
| |
| 3 | NESTED LOOPS | | 13475 | 1 | 13475 |00:01:29.22 | 94325 | 11357 | 0 | | |
| |
|* 4 | INDEX RANGE SCAN | | 13475 | 1 | 13475 |00:00:26.63 | 40425 | 4014 | 0 | | |
| |
| 5 | TABLE ACCESS BY INDEX ROWID | | 13475 | 1 | 13475 |00:01:02.46 | 53900 | 7343 | 0 | | |
| |
|* 6 | INDEX RANGE SCAN || 13475 | 1 | 13475 |00:00:16.80 | 40425 | 2056 | 0 | | |
| |
|* 7 | TABLE ACCESS FULL | | 13475 | 2 | 13475 |00:00:02.26 | 40425 | 0 | 0 | | |
| |
| 8 | TABLE ACCESS BY INDEX ROWID || 94399 | 1 | 94399 |00:06:17.09 | 389K| 32207 | 0 | | |
| |
|* 9 | INDEX UNIQUE SCAN | | 94399 | 1 | 94399 |00:02:59.79 | 294K| 15488 | 0 | | |
| |
| 10 | TEMP TABLE TRANSFORMATION | | 1 | | 170K|00:35:11.08 | 1575K| 195K| 6158 | | |
| |
| 11 | LOAD AS SELECT | | 1 | | 1 |00:04:49.06 | 53704 | 28653 | 264 | 525K| 525K| 5
25K (0)| |
| 12 | PARTITION RANGE ALL | | 1 | 55430 | 16097 |00:06:26.06 | 53433 | 28651 | 0 | | |
| |
| 13 | PARTITION HASH ALL | | 54 | 55430 | 16097 |00:09:20.69 | 53433 | 28651 | 0 | | |
| |
|* 14 | TABLE ACCESS BY LOCAL INDEX ROWID | INV | 432 | 55430 | 16097 |00:06:11.42 | 53433 | 28651 | 0 | | |
| |
|* 15 | INDEX SKIP SCAN | | 432 | 125K| 16097 |00:00:39.90 | 4642 | 4508 | 0 | | |
| |
| 16 | TABLE ACCESS BY INDEX ROWID | | 1 | 2 | 170K|00:30:21.66 | 1522K| 166K| 5894 | | |
| |
| 17 | NESTED LOOPS | | 1 | 97 | 276K|34:55:49.92 | 1470K| 150K| 5894 | | |
| |
| 18 | NESTED LOOPS | | 1 | 55 | 105K|00:22:14.57 | 1128K| 134K| 5894 | | |
| |
| 19 | NESTED LOOPS OUTER | | 1 | 52 | 105K|00:16:32.91 | 694K| 105K| 5894 | | |
| |
|* 20 | HASH JOIN | | 1 | 52 | 105K|00:16:19.68 | 402K| 102K| 5894 | 9641K| 2205K| 16
27K (1)| 10240 |
| 21 | VIEW | | 1 | 65234 | 105K|00:16:16.46 | 402K| 101K| 4655 | | |
| |
| 22 | SORT UNIQUE | | 1 | 65234 | 105K|00:16:16.46 | 402K| 101K| 4655 | 8724K| 1161K| 61
8K (48)| 9216 |
| 23 | UNION-ALL | | 1 | | 105K|00:14:59.93 | 402K| 97342 | 252 | | |
| |
| 24 | NESTED LOOPS OUTER | | 1 | 19975 | 105K|00:14:10.24 | 395K| 94655 | 0 | | |
| |
| 25 | NESTED LOOPS | | 1 | 19975 | 105K|00:13:58.47 | 140K| 93616 | 0 | | |
| |
| 26 | VIEW | | 1 | 55430 | 16097 |00:00:00.43 | 270 | 531 | 0 | | |
| |
| 27 | TABLE ACCESS FULL | | 1 | 55430 | 16097 |00:00:00.19 | 270 | 531 | 0 | | |
| |
|* 28 | TABLE ACCESS BY INDEX ROWID| | 16097 | 1 | 105K|00:13:59.70 | 140K| 93085 | 0 | | |
| |
|* 29 | INDEX RANGE SCAN | | 16097 | 10 | 145K|00:00:40.42 | 32685 | 8237 | 0 | | |
| |
| 30 | TABLE ACCESS BY INDEX ROWID | | 105K| 1 | 84716 |00:00:16.78 | 254K| 1039 | 0 | | |
| |
|* 31 | INDEX UNIQUE SCAN | | 105K| 1 | 84716 |00:00:13.05 | 169K| 982 | 0 | | |
| |
| 32 | NESTED LOOPS | | 1 | 45259 | 0 |00:00:17.19 | 7336 | 2687 | 252 | | |
| |
|* 33 | HASH JOIN RIGHT OUTER | | 1 | 45259 | 0 |00:00:17.19 | 7336 | 2687 | 252 | 884K| 884K| 3
09K (0)| |
| 34 | TABLE ACCESS FULL | | 1 | 1673 | 1677 |00:00:00.01 | 24 | 8 | 0 | | |
| |
|* 35 | HASH JOIN | | 1 | 45259 | 0 |00:00:17.13 | 7310 | 2678 | 252 | 3318K| 1235K| 4
47K (1)| 2048 |
|* 36 | TABLE ACCESS FULL | | 1 | 45259 | 49043 |00:00:07.41 | 7043 | 2170 | 0 | | |
| |
| 37 | VIEW | | 1 | 55430 | 16097 |00:00:00.14 | 267 | 256 | 0 | | |
| |
| 38 | TABLE ACCESS FULL || 1 | 55430 | 16097 |00:00:00.12 | 267 | 256 | 0 | | |
| |
| 39 | TABLE ACCESS BY INDEX ROWID | | 0 | 1 | 0 |00:00:00.01 | 0 | 0 | 0 | | |
| |
|* 40 | INDEX UNIQUE SCAN | | 0 | 1 | 0 |00:00:00.01 | 0 | 0 | 0 | | |
| |
| 41 | VIEW | | 1 | 55430 | 16097 |00:00:00.02 | 267 | 0 | 0 | | |
| |
| 42 | TABLE ACCESS FULL | | 1 | 55430 | 16097 |00:00:00.01 | 267 | 0 | 0 | | |
| |
| 43 | TABLE ACCESS BY INDEX ROWID | | 105K| 1 | 93385 |00:00:24.90 | 291K| 2104 | 0 | | |
| |
|* 44 | INDEX UNIQUE SCAN | | 105K| 1 | 93385 |00:00:16.45 | 196K| 1405 | 0 | | |
| |
| 45 | TABLE ACCESS BY INDEX ROWID | | 105K| 1 | 105K|00:05:49.82 | 434K| 29495 | 0 | | |
| |
|* 46 | INDEX UNIQUE SCAN || 105K| 1 | 105K|00:02:54.37 | 328K| 14644 | 0 | | |
| |
|* 47 | INDEX RANGE SCAN | | 105K| 2 | 170K|00:03:01.14 | 342K| 15690 | 0 | | |
| |
Predicate Information (identified by operation id):
1 - filter(1>=ROWNUM)
4 - access("XS"."SITEPK"=:B1)
6 - access("XS"."VENDORPK"="XB"."VENDORPK")
7 - filter(("XB"."BUYERCOMPANYPK"="CC"."PARENTCOMPANYPK" OR "XB"."BUYERCOMPANYPK"="CC"."CHILDCOMPANYPK"))
9 - access("INVOICEPK"=:B1 AND "LINENUM"=:B2)
14 - filter(("IH"."INVOICEORIGIN"='APP' AND "IH"."PO_PK" IS NULL AND "IH"."ISPOSTED"='Y'))
15 - access("IH"."PAYPK"=3914297352 AND "IH"."POSTDATE">=1338508800000 AND "IH"."POSTDATE"<1341014400000)
filter(("IH"."POSTDATE">=1338508800000 AND "IH"."PAYPK"=3914297352 AND "IH"."POSTDATE"<1341014400000))
20 - access("NEWVIEW"."PRIMARYKEY"="TAB"."INVOICEPK")
28 - filter(TO_NUMBER("RAT"."AUDITTYPE")<2)
29 - access("INNERTAB1"."INVOICEPK"="RAT"."INVOICEPK")
filter("RAT"."INVOICEPK" IS NOT NULL)
31 - access("RAT"."USERPK"="UR"."USERPK")
33 - access("RA"."QUEUEPK"="Q"."QUEUEPK")
35 - access("INNERTAB2"."INVOICEPK"="RA"."INVOICEPK")
36 - filter(("RA"."INVOICEPK" IS NOT NULL AND "RA"."RECEIVERPK" IS NOT NULL))
40 - access("RA"."RECEIVERPK"="UR"."USERPK")
44 - access("TAB"."ENTEREDBY"="UR"."USERPK")
46 - access("TAB"."INVOICEPK"="ISUM"."INVOICEPK")
47 - access("IDD"."INVOICEPK"="TAB"."INVOICEPK")
87 rows selected.
Elapsed: 00:00:04.10
SQL>Edited by: 930254 on Aug 7, 2012 9:33 AM -
Max wait from a trace file...what does it mean
Hi,
following is a part of an extended sql trace file :
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
library cache lock 5 0.00 0.00
row cache lock 7 0.00 0.00
library cache pin 3 0.00 0.00
rdbms ipc reply 2 0.00 0.00
SQL*Net message to client 8185 0.00 0.01
SQLNet message from client 8185 1671.98 1688.26*
here what does the column max.wait mean? this is a trace file when a proc was run remotely to a database - it has lots of dbms_output statements, it creates an output file (on the remote pc from which it runs) the proc calls several sql scrips, does lot of query and dml
Now when teh same script is run locally from the server those sql net waits are not there. and the interesting fact is: when run locally it takes 4 mins
and remotely it takes 1 hour. How can we interpret this? and what does teh max wait indiccate?
thanks,Can you explain more on this? the same proc when run locally does not have this wait and when run from remote ip it has this wait - so does that mean that this is due to network issue?
should we for example - remove the dbms_output statements from this and try ? what should we do to be able to run the script from remote ip and run it in 6-7 minutes- when the scritp is run locally from the from server it takes 4 minutes and from a remote ip it takes one hour. the script also has a spool statement as it has to log its output. Is it that spoling that may be causing this?
Thanks again,
Edited by: orausern on Jan 18, 2010 7:09 AM -
Best practice to reduce size of BIA trace files
Hi,
I saw alert on BIA monitor says 'check size of trace files'. Most of my trace files are above 20MB. I clicked on details it says "Check the size of your trace files. Remove or move the trace files with the memory usage that is too high or trace files that are no longer needed."
I would like to reduce them these trace files but not sure what is the safetest way to do it. Any suggestion would be appreciated!
Thanks.
MimosaMimosa,
Let's be clear here first. The tracing set via sm50 is for tracing on the ABAP side of BI not the BIA.
Yes, it is safe to move/delete TrexAlertServer.trc, TrexIndexServer.trc, etc from the OS level. You can also right click the individual trace when you enter the "Trace" tab in the TREX Admin Tool (python) and I believe there is options to delete them there but it is certaintly OKAY to do this on the OS level. They are simply recreated when new traces are generated.
I would recommend that you simply .zip the files and move the .zip files to another folder in case SAP support may need them to analyze an issue. As long as they aren't huge, and if hard disk space permits, this shouldnt be an issue. After this you then will need to delete the trace file. It is important that if a trace file has an open handle registered to it then it wont let you delete/move it. Therefore it might be a good idea to do this task when system activity is low or non-existent.
2 things also to check:
1. Make sure the python trace is not on.
2. In the python TREXAdmin Tool, check the Alerts tab and click "Alert Server Configuration". Make sure the trace level is set to "error".
Hope that helps. As always check the TOM for any concerns:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/46e11c10-0e01-0010-1182-b02db2e8bafb
Edited by: Mike Bestvina on Apr 1, 2008 3:59 AM - revised some statements to be more clear -
Hi
Can I create a trace file as my desire name in Udump folder? Because there are so many trc files in my udump folder. If I soft by date also, i can't recognize my trace file which is recently created.
Please advise...!!
Regards
ArpithaHi
How to see the following output of TKPROF for a query? and also how to see the Wait events info? Please help me?
My query
SELECT * FROM emp, dept
WHERE emp.deptno = dept.deptno;I would like to see the trace file output like this...
call count cpu elapsed disk query current rows
Parse 11 0.08 0.18 0 0 0 0
Execute 11 0.23 0.66 0 3 6 0
Fetch 35 6.70 6.83 100 12326 2 824
total 57 7.01 7.67 100 12329 8 826
Misses in library cache during parse: 0 Wait events info.
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 8084 0.12 5.34
direct path write 834 0.00 0.00
direct path write temp 834 0.00 0.05
db file parallel read 8 1.53 5.51
db file scattered read 4180 0.07 1.45
direct path read 7082 0.00 0.05
direct path read temp 7082 0.00 0.44
rdbms ipc reply 20 0.00 0.01
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.00 0.00please help me in this regard..!! -
No wait events info in trace file?
A very good day to all experts,
I am tracing a session using the below procedure.
dbms_system.set_ev(12,13,EV=>10046,LE=>12,NM=>'');
I am just displaying the following information in trace file.Trace file is not displaying any wait events even when i am doing level 12 tracing.How i can see the wait event information in trace files?
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.01 0.01 0 0 0 0
Fetch 2 0.00 0.05 2 2 0 1
total 4 0.01 0.07 2 2 0 1
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: 55
Rows Row Source Operation
1 TABLE ACCESS BY INDEX ROWID aaa_USERS (cr=2 pr=2 pw=0 time=58806 us)
1 INDEX UNIQUE SCAN SYS_C004271 (cr=1 pr=1 pw=0 time=42773 us)(object id 47506)
Thank you....Your post is without version information up to 4 digits.
You post tkprof output.
Not all version of Oracle have tkprof post wait event info.
IIRC. this started in Oracle 9iR2.
You would need to look in the raw trace file to find out whether this information is actually available. You will find it is.
This could likely being caused by using 8i, which doesn't have this facility.
But as you don't post a version, your question can not be answered.
Sybrand Bakker
Senior Oracle DBA
Maybe you are looking for
-
How to create a Crystal Report to connect to Oracle
Hi, When I create a Crystal report to connect to SQL Server, I create a stored procedure to get all data I need and connect to it from Crystal Report.(In the stored procedure, I created temp tables, used cusor etc to run data.) But now I need to use
-
Sql loader maximum data file size..?
Hi - I wrote sql loader script runs through shell script which will import data into table from CSV file. CSV file size is around 700MB. I am using Oracle 10g with Sun Solaris 5 environment. My question is, is there any maximum data file size. The fo
-
I have an imac that has erratic scrolling, it just scrolls to the bottom of the page or in whatever area the cursor is positioned at. It comes and goes and sometimes it's just best to shut the computer down to solve the issue. Any suggestions?
-
Approvals for online tax form (w4) and manage payroll payments in SSHR
Can someone throw ideas how to build the approvals in workflow? Oracle did not provide approvals for both the functions W4 and Manage payroll payments(change/modify payment methods)
-
Error during 501 in migo... while doing this entry t004f g049 missing
while doing 501 in migo entry t004f g049 miss