I have an oracle query generating a 3137 error, and the trace file contains the query. For example:

select x from y where z = :1

I think it would help to isolate the problem if I could determine the specific value of :1, however the 4.7M file doesn't seem to offer that information.

Is this information stored in the trc file?

This is oracle 11g running on redhat.

link|improve this question
feedback

2 Answers

Not sure if the .trc file described here is made the same way yours was, but this might help you.

Essentially, somewhere in there, there should be a section of Binds which shows which values were bound to that :1 variable. The article doesn't do a good job of explaining how to tell which binds went to which queries since the example had only one query (and I can't figure it out from looking at it). Ignore the sort|uniq bit they used at the end to show that it was always the same query over and over, and you should get results like

Bind#0
  value=55

or whatever.

link|improve this answer
1  
The tie in between a statement and the binds is the cursor number. In the link description the statement is seen in PARSING IN CURSOR #2 and the binds in BINDS #2. But the same cursor number may get reused by the session as cursors are closed and opened. – Gary Jan 11 '11 at 22:31
@Gary thanks for the cursor hint, I do see many cursor notes, but am still not able to tie them to a bind variable. – Nathan Feger Jan 12 '11 at 14:27
feedback

Worth checking out the Trace Analyzer if you have an Oracle support contract.

link|improve this answer
this looks good, the poster intimates that the bind variables may not be availble in the trc. – Nathan Feger Jan 12 '11 at 14:26
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.