Symptom: After running certain queries, Trace File Browser only reads the tracefile up to a particular point and then stops reading the tracefile. It then only parses the trace data up to the point of failure, which omits:
- All the trace information pertaining to the query that was run
- Any trace data of subsequent queries within that same session.
This is a nasty “quiet” bug: with no error message displayed, user is left wondering, “Where’s my SQL? Did I trace the right session? What’s going on here? Am I even in Kansas any longer???”
One might wonder, who on earth would write a single SQL query in one line > 4k characters. Answer: Oracle, when using dynamic_sampling, will generate the dynamic-sampling queries that show up in trace files as VERY long (14,500 characters in my case) single-line entries. It was one of these that caused me problems.
Far easier than simulating the dynamic_sampling behavior, just run this query and try to view trace results with the trace-file-browser:
select /* xxxxxxxx…(repeat 4k times)…xxxxx */ * from dual;