Thank you all for coming to my session "The Art and Science of Tracing" at Collaborate 2014. As I mentioned, I prepared a full session even though this is supposed to be a quick tip. I hope you enjoyed it and get the value from the full presentation deck.

For some time now, I am using gdb to trace the inner working of the Oracle database. The reason for using gdb instead of systemtap or Oracle’s dtrace is the lack of user-level tracing with Linux. I am using this on Linux because most of my work is happening on Linux.

In order to see the same information with gdb on the system calls of Oracle as strace, there’s the Oracle debug info repository. This requires a bit of explanation. When strace is used on a process doing IO that Oracle executes asynchronous, the IO calls as seen with strace look something like this: