Look Oracle from inside (tracing internal calls) --- Logical IOs
Oracle provided many method for us to understand its behaviors, help us to manage and improve it. Such as execution plan, statistics data, dynamic views, and even the events trace and dumping. However, as a DBA, we always want to get more informations to find its secrets, operation details. For example, when we tuning a SQL, we will get the consistent gets (Logical IOs) as an important performance reference. However, sometimes such figure may confuse us. why the logical IOs number is so high eventhough it scans an empty table? Why we get so many logical IOs even it hited index? ... In such scenario, we will want to know what the exact data blocks it got. But this is the Oracle internal behaviors, it did not provide any method to look into it. Now, let's change our view, look it from oracle inside. As we know, all of operations are finally implemented by oracle internal functions. If we can find such functions and trace their calling, we will get what we want. In unix/linux, there are several utilities to trace the call stack, such as pstack. ORADEBUG can also dump the call stacks. But such result may not enough for us. In windows (32), I built a tool (OraTracer) to trace special functions, try to detect their arguments. I will use it get the information we interested in.
|
最新文章