Welcome, Guest
Username: Password: Remember me

TOPIC: How do I drill in to one sqlid in a trace file?

How do I drill in to one sqlid in a trace file? 2 years 1 week ago #352

Hi, I have output like the following and I would like to see the "Response time by subroutine call name" for just the "bunvx480ynf57" sqlid in the trace file. Any ideas?

Response time by SQL id
mrskew --group=$sqlid --gl=SQLID "/home/oracle/appman/ssprd1_ora_3424_AppMan.trc"
2012-09-11T14:14:20.000042-0700
Elapsed: 0.436000 s

SQLID DURATION % CALLS MEAN MIN MAX
bunvx480ynf57 693.240919 58.3% 42 16.505736 0.000000 120.002401
cj35my0vs23xa 269.791010 22.7% 74 3.645824 0.000000 116.097161
#0 149.564896 12.6% 2,826 0.052925 0.000000 62.121444
87nqm7m3sdcs0 69.541729 5.9% 227 0.306351 0.000000 69.276170
g7x1uj27xvyhc 4.688740 0.4% 90 0.052097 0.000000 0.362945
bu3tn86tk123n 0.753042 0.1% 42 0.017930 0.000000 0.335878
ff211d0myz9ch 0.410811 0.0% 70 0.005869 0.000000 0.257014
csf47qkuv00w2 0.276626 0.0% 141 0.001962 0.000000 0.071468
2zyx40j56n270 0.267160 0.0% 6 0.044527 0.000000 0.244963

Thanks for any help.
The administrator has disabled public write access.

Re:How do I drill in to one sqlid in a trace file? 2 years 1 week ago #353

Here's what you want, I think :)
mrskew --where='$sqlid eq "bunvx480ynf57" ' "/home/oracle/appman/ssprd1_ora_3424_AppMan.trc"
Last Edit: 2 years 1 week ago by Ron Crisco.
The administrator has disabled public write access.

Re:How do I drill in to one sqlid in a trace file? 2 years 1 week ago #354

Hi Ron, I had originally used "=" rather than "eq" so I was close, but even your syntax doesn't seem to work:

[oracle@vmbox bin]$ ./mrskew where='$sqlid eq "bunvx480ynf57"' /home/oracle/appman/ssprd1_ora_3424_AppMan.trc
mrskew: file 'where=$sqlid eq "bunvx480ynf57"' does not exist
CALL-NAME DURATION % CALLS MEAN MIN MAX
SQL*Net message from client 1,182.926539 99.5% 595 1.988112 0.000397 120.002401
FETCH 4.582300 0.4% 157 0.029187 0.000000 0.362945
direct path read 0.629283 0.1% 504 0.001249 0.000007 0.039795
EXEC 0.258961 0.0% 157 0.001649 0.000000 0.244963
LOBREAD 0.106983 0.0% 306 0.000350 0.000000 0.002000
single-task message 0.044009 0.0% 1 0.044009 0.044009 0.044009
SQL*Net message from dblink 0.023684 0.0% 11 0.002153 0.000371 0.008172
PARSE 0.014998 0.0% 8 0.001875 0.000000 0.013998
SQL*Net more data to client 0.014148 0.0% 1,057 0.000013 0.000003 0.000117
library cache lock 0.002866 0.0% 11 0.000261 0.000139 0.000799
library cache pin 0.001992 0.0% 9 0.000221 0.000152 0.000401
SQL*Net message to client 0.001674 0.0% 595 0.000003 0.000001 0.000054
gc current grant 2-way 0.000302 0.0% 1 0.000302 0.000302 0.000302
gc current grant busy 0.000287 0.0% 1 0.000287 0.000287 0.000287
DFS lock handle 0.000248 0.0% 1 0.000248 0.000248 0.000248
rdbms ipc reply 0.000175 0.0% 4 0.000044 0.000014 0.000073
SQL*Net message to dblink 0.000028 0.0% 10 0.000003 0.000002 0.000004
Disk file operations I/O 0.000007 0.0% 1 0.000007 0.000007 0.000007
asynch descriptor resize 0.000004 0.0% 1 0.000004 0.000004 0.000004
XCTEND 0.000000 0.0% 127 0.000000 0.000000 0.000000
CLOSE 0.000000 0.0% 15 0.000000 0.000000 0.000000
TOTAL (21) 1,188.608488 100.0% 3,572 0.332757 0.000000 120.002401

Which is the summary for the whole file since it can't find the sqlid. It seems to me that this problem is similar to the one of carving up a trace file(s) by module and action.
The administrator has disabled public write access.

Re:How do I drill in to one sqlid in a trace file? 2 years 1 week ago #355

You missed the two dashes in front of the where, so it thinks the where is a file name. It must start with
mrskew --where
Last Edit: 2 years 1 week ago by Ron Crisco.
The administrator has disabled public write access.

Re:How do I drill in to one sqlid in a trace file? 2 years 1 week ago #356

Very good, thanks Ron.
The administrator has disabled public write access.