About Trace file
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
Arpitha
Hi
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..!!
Similar Messages
-
Question about Y_?????? trace files
We have a SAP ERP 6.0 system runninng in Windows. I am checking the trace files in our system, and I have found that there are a lot of Y_??????. I have been looking for information about them, but I cannot find it. Does anyone know how and why these files are generated, and if I can safely delete them?
Thank you for your help,
JoseHi Jose,
Is the file called Y_18001 or Y_<number>. These are just Developer Trace files and you can safely delete those file.
Refer to below link
http://help.sap.com/saphelp_47x200/helpdata/en/1f/8311664bc511d189750000e8322d00/content.htm
Regards,
Arjun -
Trace file doesn't show any info about error
Dear all,
DB : 10.2.0.4
Solaris 5.10
We have a background program to do some activities in the Database.
Today ,when running the program we got the below error :
1) 20221: errexit, ORA-00001: unique constraint (MEDS.MED_USER_EQUS_HIST_PK) violated.
I ran a trace of this session and the trace file doesnt have any info about the error..ran trace using the below command :
exec sys.DBMS_SUPPORT.START_TRACE_IN_SESSION(2166,30629, false,TRUE);
why is that the trace file doesn't have any info about the error.
2) I disable the constraint disable novalidate.
even then I got the same error .. why is the constraint getting validate even if I disable the constraint ?
Please guide
KaiAs usual this question has documented answers, and you are asking this question, because you consistently refuse to read any documentation. So in your case the answer could have been 'Yes, there is. See the docs'.
You could actually say you are in gross violation of the forums etiquette post, and are abusing this forum.
If you would have read the docs, you wouldn't have used dbms_support (which was never supported for end-users), but you would have looked at
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_monitor.htm#i1003679
and what do you see?
The life of a DBA can be so easy when he makes an attempt to find information himself!
He doesn't have to wait until some kind soul answers doc question 779!
Sybrand Bakker
Senior Oracle DBA -
Creating trace file in oracle 10g forms
hii there,
I have developed an application in oracle 10g. but it's too slow . Now i have to trace forms . How can trace oracle forms.
please send it in details as early as possible. I don't know about this trace file generation.
-----SachinHi,
To run SQL trace for a form :
a. Get to the point in the form where you want to turn trace on.
For example, if the problem occurs on the commit, wait until you are
ready to commit, THEN turn trace on.
b. Turn tracing on. In GUI versions: Help - Tools - Trace, enable tracing.
c. Execute the steps you want to trace.
d. Turn tracing off. In GUI versions: Help - Tools - Trace, disable tracing.
The trace file will be written to the subdirectory specified in the
'user_dump_dest' parameter in the INIT.ORA file. -
Hi!
The problem is appearence of pl/sql code in trace file instead of separate cursors of SQL statements. So, I can't get information about each SQL statement separatelly. What's wrong? How to separate SQL statements?
NosorogAs Satish indicated, the "SQL*Net message from client" wait is an event which indicates that the database server was waiting for the next request from the client computer, and not an indication that the query needs to be tuned. Manually review the trace file. At one point in the trace file, you will see this wait event with an ela= value which begins with 14142 - please post to this thread that line from the trace file along with the 20 lines before that line and the 20 lines after that line. You may just have a long wait on this event at the beginning, and another long wait on this event at the end of the query.
Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. -
Unable to generate SQL trace file in shared mode ??
Hello,
I have a 10.2.0.1.0 database on Win2003 server 64 bits, with several instances.
On instances in dedicated mode, I can create trace files by using dbms_system.set_sql_trace_in_session, but on instances in shared mode nothing happens : no file is created in the udump directory.
This doesn't make any sense to me o_O
The shared parameters are the following :
dispatchers=(protocol=TCP)
shared_servers=1
I've checked all the necessary parameters to create a trace file (user_dump_dest, timed_statistics, max_dump_file_size...) and everything is fine.
I really don't understand why I can't create trace files when the instance is in shared mdoe...
Can anyone help about this weird issue ?
thank you !
regards,
AntoineRemember also that in Shared Server mode the trace information is not written to a single file but is written to the Shared Server trace file. Before Oracle 10g there was no way to pull all the trace information for a single user session together out of the trace files. There is a tool for doing so with 10g.
HTH -- Mark D Powell -- -
Unable to generate SQL trace file on a 10.2.0.1.0 database
Hello,
I am unable to generate SQL trace files on a 10.2.0.1.0 database (OS is Win2003 server 64 bits).
First I tried the way I used to do it on older databases (8i and 9i) :
execute dbms_system.set_sql_trace_in_session(sid, serial#, true);
I got no error, but no file was created in the user dump dest directory.
Then I've been searching and I've tried other things :
- I changed the user_dump_dest parameter
- I changed the tracefiles_public parameter value to "true", by modifying the init.ora file
- I tried another package :
exec dbms_monitor.session_trace_enable(139)
Nothing worked, I can't create any trace file...
Does anyone have an idea about this issue ?
thank you for you help !
AntoineHello,
thank you all for replying.
I have 2 instances on this machine, and I've just realized that with the other one I have no problem to generate sql trace files as usual.
But why the hell is it impossible on the first instance ? What difference between the 2 instances can explain this ?
This is pretty weird...
Otherwise I am experiencing serious performance problems on the instance where I can't creat trace files, there must be something wrong with it, but I can't figure it out
regards,
Antoine -
Where is the user trace file?
I have issued the statement below to enable sql trace in session 260 ,and it execute successfully.but i can not find where the trace file in directory $ORACLE_BASE/admin/testcs/udump (testcs is my database name).
SQL> execute dbms_system.set_sql_trace_in_session(260,34880,true);
PL/SQL procedure successfully completed.
where is the trace file?
By the way,how can i find the information about the package DBMS_SYSTEM which is not in ORACLE references?Did you issue some queries after turning tracing on? The trace file might not be created until there is some activity in the session.
I know that DBMS_SYSTEM is documented in the O'Reilly Press book "Oracle Built-in Packages" by Feuerstein, Dye & Beresniewicz.
However for tracing I think that Oracle expects you to use the dbms_support package:
execute sys.dbms_support.start_trace_in_session -
(sid => &sid, serial => &serial, waits => true, binds => true)Or for Oracle 7.3.4 or 8.0 you can use oradebug. Example:
select pid, spid, username from v$process;
PID SPID USERNAME
8 25807 oracle
SVRMGR> oradebug setorapid 8
-- or -
SVRMGR> oradebug setospid 25807
-- turn on
SVRMGR> oradebug event 10046 trace name context forever, level 12
-- turn off
SVRMGR> oradebug event 10046 trace name context off -
Too many trace files generated by program ORACLE.EXE (J001) in "bdump"
Hi,
Please help!
the following trace file messages have been created in my "bdump" folder about every 6 minutes, so it generates about 200 files per hours. Can someone tell me how to solve the error or stop the trace files be generated. Thanks.
Windows thread id: 5520, image: ORACLE.EXE (J001)
*** 2009-05-22 12:49:21.372
*** ACTION NAME:() 2009-05-22 12:49:21.372
*** MODULE NAME:() 2009-05-22 12:49:21.372
*** SERVICE NAME:(SYS$USERS) 2009-05-22 12:49:21.372
*** SESSION ID:(312.292) 2009-05-22 12:49:21.372
java.io.IOException: service early exit: code=1 : err=The system cannot find the path specified.
: out=
at oracle.wh.runtime.server.Util.execRuntimeService(Util.java:122)
CJNo version number and not enough information in what you posted to help you.
Did this just start?
If so what actions preceded it?
Or is this a new install?
Have you tried bouncing the instance?
If it were my system I would have already searched the knowledgebase at metalink and opened an SR if I couldn't find a solution. Did you? -
Hey everyone,
We've been asked to "stress" and "load" test our application as it is predicted our user base might grow in the near future (company acquisitions/etc)...
Unfortunately, there is concern about the overhead added by APEX. From everything I've read, I do not personally believe APEX adds much to each page view (as compared to our own self-managed data), however I need to PROVE this to our system admins/etc. Simply referencing things on the internet like "APEX doesn't add much overhead" doesn't exactly make the case.
To accomplish my mission, I've done the following:
1) generated a trace file on a test page by appending the following to the end of the URL:
"&p_trace=YES" (without quotes)
2) found the location of trace files using:
select value from v$parameter where name = 'user_dump_dest';
3) found the exact trace file for my apex page view
grep -l "3853406964369" *.trc (where the number in quotes was the session id taken from my apex url)
4) formatted the trace file using tkprof from the linux command line:
tkprof orcl_ora_24115.trc tkprof_output
Now, I'm in the process of examining the file. It is great that it shows everything involved in generating a page! A couple of quick questions though.
A) is it safe to assume that this trace file (found by using my method above in steps 1-4) only contains records associated with my single apex page view? My fear is that just because a file contains my session id, that does not guarantee that other random stuff from other sessions is also in the same file (sorry i'm new to trace files and especially trace files generated by apex).
B) if i view a second page with the trace=YES, will a second file get generated or does it get combined into 1 file? how can i easily tell which file is for which page view?
C) is there an easy way to differentiate what queries would normally be made by oracle (regardless of the UI) versus queries ran by APEX specifically (which would not occur if we were using PHP for a front end)?
Specifically, I see queries (similar to the following) that do not appear to be APEX specific from what I can tell:
-- example 1 --
select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i.flags,i.property,
i.pctfree$,i.initrans,i.maxtrans,i.blevel,i.leafcnt,i.distkey,i.lblkkey,
i.dblkkey,i.clufac,i.cols,i.analyzetime,i.samplesize,i.dataobj#,
nvl(i.degree,1),nvl(i.instances,1),i.rowcnt,mod(i.pctthres$,256),
i.indmethod#,i.trunccnt,nvl(c.unicols,0),nvl(c.deferrable#+c.valid#,0),
nvl(i.spare1,i.intcols),i.spare4,i.spare2,i.spare6,decode(i.pctthres$,null,
null,mod(trunc(i.pctthres$/256),256)),ist.cachedblk,ist.cachehit,
ist.logicalread
from
ind$ i, ind_stats$ ist, (select enabled, min(cols) unicols,
min(to_number(bitand(defer,1))) deferrable#,min(to_number(bitand(defer,4)))
valid# from cdef$ where obj#=:1 and enabled > 1 group by enabled) c where
i.obj#=c.enabled(+) and i.obj# = ist.obj#(+) and i.bo#=:1 order by i.obj#
-- example 2 --
select intcol#, toid, version#, intcols, intcol#s, flags, synobj#
from
subcoltype$ where obj#=:1 order by intcol# asc
and I see queries that are definitely APEX related (based on the existence of references to wwv objects):
-- example 3 --
SELECT ID, BRANCH_NAME, BRANCH_ACTION, BRANCH_POINT, BRANCH_TYPE,
BRANCH_CONDITION, BRANCH_CONDITION_TEXT, BRANCH_CONDITION_TYPE,
BRANCH_WHEN_BUTTON_ID, NVL(SAVE_STATE_BEFORE_BRANCH_YN,'N'),
SECURITY_SCHEME
FROM
WWV_FLOW_STEP_BRANCHES WHERE FLOW_ID = :B4 AND FLOW_STEP_ID = :B3 AND
BRANCH_POINT = 'BEFORE_HEADER' AND (REQUIRED_PATCH IS NULL OR
(REQUIRED_PATCH > 0 AND (:B2 IS NULL OR INSTR(:B2 ,
':'||TO_CHAR(REQUIRED_PATCH)||':') = 0) ) OR (REQUIRED_PATCH < 0 AND (:B1
IS NULL OR INSTR(:B1 ,':'||TO_CHAR(0-REQUIRED_PATCH)||':') = 0) ) ) ORDER
BY BRANCH_SEQUENCE, ID
and then of course it's easy for me to identify any queries that are based on our code because I recognize the object names we use.
In the mean-time I'm starting to look into how to interpret trace files (outside of the context of apex).
My biggest concern is that I do not want to "ding" or "tax" APEX for queries that it had nothing to do with and that would be ran by oracle regardless of the UI we use to "view a page".
Thanks!Move older audit files to a different filesystem until you find someone being able to define what files can be deleted.
Regards
Gustavo Restuccia -
Hello experts, for our Netweaver AS administration, I am in charge of periodically checking logs and trace files. I would like to know which are the most useful logs and trace files and the information each one will hold. I am familiar with "DefaultTrace.trc", and as of today it is the only one I have used, but I believe I should also be looking at other logs and trace files.
Any suggestions?Hi Pedro,
If you are talking about JAVA only system defaulttrace is the best log/trace to look, there are other log files like application log, but maybe the best way to check you logs is using NWA (NetWeaver Administrator) on the following URL on your JAVA system:
http://<hostname>:<port>/nwa
From there you need to go to Monitoring -> Logs and Traces and then Predefined View/SAP logs.
My other recommendation is to change the severity level to ERROR for all you JAVA component within the Visual Administrator -> ServeNode -> Services -> Log Configurator -> Locations, otherwise it is possible that you see a lot of garbage on the defaulttraces. Anyway you can change the severity level per component, on demand, to investigate any possible problem.
The work directory is very imporant and maybe you can also check the file "dev_serverX" that also will give you information about any out of memory conditions and garbage collection activity if you have these values set for the server node using the config tool:
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
You can find more information on here:
http://help.sap.com/saphelp_nw70/helpdata/en/ac/e9d8a51c732e42bd0e7de54b9ff4e2/content.htm
Hopefully this help you, let me know if you need more information,
Zareh -
External portal capturing internal portal URL in Log and trace file
Hi,
We are facing one issue in portal like we have two portals for internal (Intranet) and external (Internet) users.
Once users logged in the application and try to get the information about mylink from the external portal link (internet) they should not get any information about the internal portal.
But in log and trace file we can see the external portal link capturing the internal portal URL.
We need to find, from where system capturing the internal portal URL.
Thanks.The tkproffed trace file is in seconds.
"set timing" is in hh:mi:ss.uu format. So 00:00:01.01 is 1.01 seconds.
You have to remember that most of these measurements are rounded. While your trace file says it contains one second of trace data, you know it's more.
One excellent resource for trace files is "Optimizing Oracle Performance" by Cary Millsap & Jeff Holt. (http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X ) I thought I knew trace files before, but this book brings your knowledge to a whole new level.
There is also an excellent WP by Cary Millsap ( http://method-r.com/downloads/doc_details/10-for-developers-making-friends-with-the-oracle-database-cary-millsap ) that gives you some insight. -
Get blocker from the (self) deadlock trace file
Hi,
Recently I had an issue on a 10.2.0.4 single instance database where deadlocks were occurring. The following test case reproduces the problem (I create three parent tables, one child table with indexed foreign keys to all three parent tables and a procedure which performs an insert into the child table in an autonomous transaction):
create table parent_1(id number primary key);
create table parent_2(id number primary key);
create table parent_3(id number primary key);
create table child( id_c number primary key,
id_p1 number,
id_p2 number,
id_p3 number,
constraint fk_id_p1 foreign key (id_p1) references parent_1(id),
constraint fk_id_p2 foreign key (id_p2) references parent_2(id),
constraint fk_id_p3 foreign key (id_p3) references parent_3(id)
create index i_id_p1 on child(id_p1);
create index i_id_p2 on child(id_p2);
create index i_id_p3 on child(id_p3);
create or replace procedure insert_into_child as
pragma autonomous_transaction;
begin
insert into child(id_c, id_p1, id_p2, id_p3) values(1,1,1,1);
commit;
end;
insert into parent_1 values(1);
insert into parent_2 values(1);
commit;And now the action that causes the deadlock:
SQL> insert into parent_3 values(1);
1 row created.
SQL> exec insert_into_child;
BEGIN insert_into_child; END;
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource
ORA-06512: at "SCOTT.INSERT_INTO_CHILD", line 4
ORA-06512: at line 1My question is: how can I determine which table the insert into CHILD was waiting on? It could be waiting on PARENT_1, PARENT_2, PARENT_3, a combination of them or even on CHILD if I tried to insert a duplicate primary key in CHILD. Since we have the full testcase we know that it was waiting on PARENT_3 (or better said, it was waiting for the "parent" transaction to perform a commit/rollback), but is it possible to determine that solely from the deadlock trace file? I'm asking that because to pinpoint the problem I had to perform redo log mining, pl/sql tracing with DBMS_TRACE and manual debugging on a clone of the production database which was restored to a SCN just before the deadlock occurred. So, I had to do quite a lot of work to get to the blocker table and if this information is already in the deadlock trace file, it would have saved me a lot of time.
Below is the deadlock trace file. From the "DML LOCK" part I guess that the child table (tab=227042) holds a mode 3 lock (SX), all the other three parent tables have mode 2 locks (SS), but from this extract I can't see that parent_3 (tab=227040) is blocking the insert into child:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00070029-00749150 23 476 X 23 476 S
session 476: DID 0001-0017-00000003 session 476: DID 0001-0017-00000003
Rows waited on:
Session 476: obj - rowid = 000376E2 - AAA3biAAEAAA4BwAAA
(dictionary objn - 227042, file - 4, block - 229488, slot - 0)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
INSERT INTO CHILD(ID_C, ID_P1, ID_P2, ID_P3) VALUES(1,1,1,1)
----- PL/SQL Call Stack -----
object line object
handle number name
3989eef50 4 procedure SCOTT.INSERT_INTO_CHILD
391f3d870 1 anonymous block
SO: 397691978, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
DML LOCK: tab=227042 flg=11 chi=0
his[0]: mod=3 spn=35288
(enqueue) TM-000376E2-00000000 DID: 0001-0017-00000003
lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x6
res: 0x398341fe8, mode: SX, lock_flag: 0x0
own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398341ff8
SO: 397691878, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
DML LOCK: tab=227040 flg=11 chi=0
his[0]: mod=2 spn=35288
(enqueue) TM-000376E0-00000000 DID: 0001-0017-00000003
lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x6
res: 0x3983386e8, mode: SS, lock_flag: 0x0
own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x3983386f8
SO: 397691778, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
DML LOCK: tab=227038 flg=11 chi=0
his[0]: mod=2 spn=35288
(enqueue) TM-000376DE-00000000 DID: 0001-0017-00000003
lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x6
res: 0x398340f58, mode: SS, lock_flag: 0x0
own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398340f68
SO: 397691678, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
DML LOCK: tab=227036 flg=11 chi=0
his[0]: mod=2 spn=35288
(enqueue) TM-000376DC-00000000 DID: 0001-0017-00000003
lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x6
res: 0x39833f358, mode: SS, lock_flag: 0x0
own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x39833f368
----------------------------------------Thank you in advance for any comments,
JureHi Jonathan,
thank you very much for your reply which more than answers my question. I think it actually clears a lot of doubts I had about TX locks, since your mentioning of "undo segment header transaction table" pointed me in the right direction for further research on this topic (honestly, I didn't know what's "behind" TX locks). So if I understood correctly, to determine which table is the blocker (in the testcase presented above), you have to have some kind of history of executed SQL statements (e.g. by mining redo logs)?
The statement you wrote:
At this point, and with your example, the waiting session is waiting on a TX (transaction) lock - this means it has not idea (and no interest) in the actual data involved, it is merely waiting for an undo segment header transaction table slot to clear. and the example with the savepoint you gave, made me think of some of the consequences of that behaviour. That is probably the reason why it is not possible to get the "blocker" table from v$lock (although sometimes it's possible to get it from v$session.row_wait_obj#) when a session tries to change a row another session holds in exclusive mode, e.g.:
create table t1 (id number);
insert into t1 values (1);
commit;
Session 126:
SID = 126> update t1 set id=2 where id=1;
1 row updated.
Session 146:
SID = 146> update t1 set id=2 where id=1;
{session hangs}
In a separate session:
SQL> SELECT CASE
2 WHEN TYPE = 'TM'
3 THEN (SELECT object_name
4 FROM user_objects
5 WHERE object_id = l.id1)
6 END object_name,
7 SID, TYPE, id1, id2, lmode, request, BLOCK
8 FROM v$lock l
9 WHERE SID IN (126, 146)
10 ORDER BY SID, TYPE, 1
11 /
OBJECT_NAME SID TY ID1 ID2 LMODE REQUEST BLOCK
T1 126 TM 68447 0 3 0 0
126 TX 262153 4669 6 0 1
T1 146 TM 68447 0 3 0 0
146 TX 262153 4669 0 6 0The only thing I can tell from this output is that session 146 is trying to get a TX lock in exclusive mode, and session 126 is blocking it, the reason of the blocking being unknown from this view alone.
Since I'd like to get a better understanding on the mechanics behind this (e.g. why the blocked session can't know the segment that is waiting for, since it has to go to the same segment's data block to find the address of the undo segment header transaction table slot? ; can we get the content/structure of the transaction table in the data block - probably by making a block dump?), do you have any source where a more in depth explanation what happens "behind the scenes" is available (perhaps in Oracle Core?)? Some time ago I found a link on your blog http://jonathanlewis.wordpress.com/2010/06/21/locks/ which points to Franck Pachot's article where he nicely explains the various locking modes: http://knol.google.com/k/oracle-table-lock-modes#. There I also found Kyle Hailey's presentation about locks http://www.perfvision.com/papers/09_enqueues.ppt where slide 23 nicely depicts what's going on when acquiring TX locks. Of course I'll try to search on my own, but any other source (especially from an authority like you) is more than welcome.
Thank you again and regards,
Jure -
Oracle XE 11.2 writing trace files every 30 sec.
Hi all,
we are using an oracle xe 11.2 database on linux. By searching the logs we find some trace files from dbrm that will be updated every 30 secs.
Does anyone can help understand whats the problem ?
Thanks a log
/u01/app/oracle/diag/rdbms/xe/XE/trace> tail -f XE_dbrm_8880.trc
Trace file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_dbrm_8880.trc
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Beta
ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe
System name: Linux
Node name: vtsbpm1
Release: 2.6.32.36-0.5-default
Version: #1 SMP 2011-04-14 10:12:31 +0200
Machine: x86_64
VM name: VMWare Version: 6
Instance name: XE
Redo thread mounted by this instance: 1
Oracle process number: 7
Unix process pid: 8880, image: oracle@vtsbpm1 (DBRM)
*** 2012-02-28 11:39:42.567
*** SESSION ID:(240.1) 2012-02-28 11:39:42.567
*** CLIENT ID:() 2012-02-28 11:39:42.567
*** SERVICE NAME:() 2012-02-28 11:39:42.567
*** MODULE NAME:() 2012-02-28 11:39:42.567
*** ACTION NAME:() 2012-02-28 11:39:42.567
kgsksysstop: blocking mode (2) timestamp: 1330425582566557
kgsksysstop: successful
kgskreset: Threshold setting[numa_pg(0)]
Threshold low[0] = 1, high[0] = 3
kgsksysresume: successful
RESOURCE MANAGER PLAN/CONSUMER GROUP DUMP
type: PLAN, Name: INTERNAL_PLAN_XE, number of directives: 2, bit mask: 0x3
policy index: 0, inst state index: 0, plan id: 1
Data from Management module:
Plan Parameters:
<None>
Plan Directives:
[1] Plan Directive Parameters:
Directive name: MGMT_P1, value: 100
Directive:
type: CONSUMER GROUP, Name: OTHER_GROUPS (addr: 0x8f85b120)
policy index: 0, inst state index: 0, class num: 0x1
mast: INFINITE, ASL qtout: INFINITE, PQQ qtout: INFINITE, mdop: INFINITE
Statistics:
current queued threads: 0,
class total time: 0 msec, penalty # 0
total threads: 0
total CPU yields: 0
total CPU wait: 0 msec
total IO wait: 0 msec
*** 2012-02-28 13:23:15.183
cpu%: cputm: cpuwt: avgrun: avgwt:
1 324 0 0.05 1.00
RQs: < 5: < 10: < 50: < 100: < 200: < 1000: > 1K:
4054 0 3 0 0 0 0
*** 2012-02-28 13:24:45.189
1 308 0 0.00 1.00
4112 0 3 0 0 0 0
4 2049 0 0.05 1.00
*** 2012-02-28 13:26:15.187
6190 14 17 1 1 0 0
*** 2012-02-28 13:27:45.191
24 23051 210 0.15 1.00
20357 30 37 26 17 5 0
*** 2012-02-28 13:29:15.196
9 377 0 0.00 1.00
4309 1 2 0 0 0 0
*** 2012-02-28 13:30:45.207
cpu%: cputm: cpuwt: avgrun: avgwt:
16 448 0 0.00 1.00
RQs: < 5: < 10: < 50: < 100: < 200: < 1000: > 1K:
4294 2 4 0 0 0 0
*** 2012-02-28 13:32:15.207
4 360 0 0.00 1.00
4136 0 4 0 0 0 0
*** 2012-02-28 13:33:45.207
1 392 0 0.00 1.00
4197 1 3 0 0 0 0understand whats the problem ?Without knowing specifics about what is going on in your instance, its hard to say.
Could be a problem indication, more likely not. Appears to be Resource Manager trace files, the resource manager doesn't have much effect on the instance until the host is getting starved for resources, then the engine can throttle down resources given to different resource groups.
http://docs.oracle.com/cd/E11882_01/server.112/e25494/dbrm001.htm#sthref2760 -
Oracle version: 11.2.0.3.0 Enterprise Edition
OS - IBM/AIX RISC System/6000
I am trying to generate a trace file from a piece of code executed by java server. What I asked the java developer to do is to place this block immediately after establishing a connection:
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET TRACEFILE_IDENTIFIER = ''M1''';
dbms_monitor.session_trace_enable(waits => FALSE, binds => TRUE);
END;And at the end of the logical java block of code:
BEGIN
dbms_monitor.session_trace_disable;
END;What I want to know is how many rows the java server fetches after executing one particular select statement, because they complain about receiving less in count rows from the select statement than expecting.
For example, if I execute the same sql query in sqlplus session, then I fetch let's say 1000 rows.
When the same query is executed from java side, the fetched rows are less in count, let's say 500.
And because I doubt it, I wanted to trace to see what actually is executed and how.
From the excerpt of the trace file I see exactly the same query which I execute myself in a sqplus session.
There is no fine-grained control on the udnerlying tables in the query.
And my question is, how to interpret the FETCH phase of the cursor (for the select statement)?
For example, if I see one FETCH for this cursor, does this mean that the java server has fetched only one row?
If I see 100 FETCHes, does this mean they fetched 100 rows from the cursor?
Here is a short excerpt from the trace file (please don't crucify me for the query and the obvious denormalized design of the tables, this is not invented by me):
PARSING IN CURSOR #4573587152 len=667 dep=0 uid=737 oct=3 lid=737 tim=17685516462413 hv=954980718 ad='70000006d3e4940' sqlid='69pm96nwfrqbf'
select /* ordered */ o.id, nvl(o.par_id, -1) as par_id, o.NAME_GER, o.NAME_ENG, o.NAME_ESP, o.NAME_ITL,o.NAME_FRA, decode(lo.lflag, 'Y', 'L', 'N') as leaf_or_node, lo.distance + 1 as "LEVEL", to_char(o.beg_date, 'DD.MM.YYYY HH24:MI:SS'), o.mais_id, l.path, nvl(o.non_selectable, 'N') from st_prod o, lprod_new l, lprod lo where o.end_date = to_date('31.12.3999', 'DD.MM.YYYY') and (lo.id, lo.beg_date) in (select id, beg_date from st_prod where par_id is null and end_date = to_date('31.12.3999', 'DD.MM.YYYY')) and lo.lid = o.id and lo.lid_beg_date = o.beg_date and l.st_prod_id = o.id and l.st_prod_beg_date = o.beg_date order by lo.distance, o.name_ger
END OF STMT
PARSE #4573587152:c=31,e=152,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2027551050,tim=17685516462412
EXEC #4573587152:c=80,e=375,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2027551050,tim=17685516462936
*** 2013-03-11 11:28:09.122
FETCH #4573587152:c=519446,e=892645,p=0,cr=113446,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517355715
FETCH #4573587152:c=37,e=59,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517359109
FETCH #4573587152:c=39,e=63,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517361128
FETCH #4573587152:c=29,e=46,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517362849
FETCH #4573587152:c=31,e=48,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517364621
<162 more FETCH-es here>
<STAT phase>
CLOSE #4573587152:c=533,e=849,dep=0,type=1,tim=17685517671878Is it possible based on the trace file (if I have to change something in the way of tracing) to determine how many rows were fetched?Hi
I read the traces into a table from the client from which I log and then read from the table If you can copy the content of the table column you are reading and paste it into a file say : your_trace_name.trc file then you can use this to generate a TKPROF trace fiile
C:\>tkprof your_trace_file.trc your_trace_file.txt
TKPROF: Release 10.2.0.3.0 - Production on Mon Mar 11 15:28:13 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.To find the arraysize you are using then use this formula
rows/Fetch = arraysizeFew details about interpreting TKRPOF exist here
http://hourim.wordpress.com/2012/09/14/tuning-by-tkprof-a-case-study/
Best regards
Mohamed Houri
Maybe you are looking for
-
Hierarchy load - Error RSAR 683 Syntax error in generated program, row 0
Hi guys, When I load the hierarchy on ZMATERIAL (load from 0MATERIAL hierarchy - source system BW), I have this error message : RSAR 683 Syntax error in generated program, row 0. I have found several SAP notes, especially [Sap Note 944842|https://www
-
Upgrading from iPhone 4s to 5s.
I followed directions for transfering data from 4s to 5s. I backuped the 4s, restored the 5s from the 4s backup. My apps do not transfer over let alone their data. Can someone help me to move my
-
SOLUTION TO BUSINESS PROBLEM IN INVENTORY
Hi all PROBLEM DESCRIPTION: When a driver from the warehouse/Inventory collects all the goods to distribute them to different stores He signs the paper and then leave. This signing of the paper is creating a lot of problem as they have to keep this h
-
Automator workflow stopped working after 10.6.6
I have an automator workflow which has worked flawless for the last 6 months. It's pretty simple, only does two things 1. Upload files to ftp (files/dirs that are dropped on the icon) 2. Runs a shell script which in turn executes a java program Sudde
-
I have recently had to hand back my work computer having had my email account closed as well. I have opened a new account but having done this I cant open the books I have on my reader that were purchased through my old account. How can I open my boo