17-Feb-2008: Oracle V$TIMER

On different OS, Oracle V$TIMER system value shows different values. On Microsoft Windows (I tested Oracle 8.0.5, 8.1.5, 9.0.1.1.1, 9.2.0.1, 10.1.0.2, 10.2.0.1, 10.2.0.1 x64, 11.1.0.6.0 and 11.1.0.6.0 x64) this value is exactly what system call GetTickCount() returning divided by 10. On GNU/Linux (I tested 10.1.0.3, 10.2.0.1, 11.1.0.6.0 and 11.1.0.6.0 x64) this is exactly what times() system call returning. On Solaris 10 (I tested 10.2.0.1 x64) this is value returned by gethrtime() divided by 10000000.

So, while we reading official Oracle manual of 11g Release 1 (11.1):

V$TIMER displays the elapsed time in hundredths of a second. Time is measured since the beginning of the epoch, which is operating system specific, and wraps around to 0 again whenever the value overflows four bytes (roughly 497 days).

... they probably not covering all OS-es.

Update: The story about how did I find it, I added to my "Quick introduction to reverse engineering for beginners" book: //yurichev.com/RE-book.html


This open sourced site and this page in particular is hosted on GitHub. Patches, suggestions and comments are welcome.


→ [list of blog posts, my twitter/facebook]

The page last updated on 16-September-2016