Last December I presented at Tech15, the largest Oracle conference in the Europe. Many thanks to the organizing team of this great conference. Here is my presentation about contemporary latches and mutexes in Oracle It includes several post-conference additions concerning experiments with latch priorities and Windows time granularity.


In these pre-OOW 2013 days, everyone is excited about new features of Oracle 12c. This post describes particularly interesting one – IO outliers profiling in V$KERNEL_IO_OUTLIER. According to Oracle Documentation and Glenn Fawcett blog we know that V$KERNEL_IO_OUTLIER uses the DTrace to collect information about the amount of time an (more...)


Last Thursday I spoke about “Latch Internals” at RuOUG-2012 conference in Moscow. Large timeslot allowed me discuss new topics. If you are interesting, you can download the presentation and supplementary demo scripts. The scripts are in .zip archive, rename it after downloading. Many thanks to the RuOUG team!

Mutex waits. Part III. Contemporary Oracle wait schemes diversity.

Several months have passed since my previous “mutex wait” post. I was so busy with work and conference presentations. Thanks to all my listeners at UKOUG2011, Hotsos2012 and Medias2012 conferences and several seminars for inspiring questions and conversations. I. Unexpected change. Now it is time to discuss how contemporary Oracle waits for mutexes. My previous [...]


A week ago I was back home from MEDIAS-2012 conference. It was held in Limassol (Cyprus), near the spectacular ruins of ancient city Amathus. This was unique style general Computer Science conference with speakers including legendary Soviet cosmonaut Alexandr Serebrov and the inventor of Mean Value Analysis Professor Martin Reiser. In my experience the Reiser’s [...]

Database under fire

This post does not discuss mutexes or latches. I wrote it under the impression of recent escalation due to database corruption. This was Oracle database on HP-UX. Database files underwent recurrent corruption. Most commonly blocks were corrupted in system and undo tablespaces. This resulted in corrupted dictionary tables and indexes. Neither db_block_checking/db_block_checksum nor installation [...]

Hotsos Symposium 2012

Week ago I was back home from the 10th Hotsos Symposium, the best performance dedicated Oracle conference in the world. This was rare opportunity to see extraordinary presentations and discuss advanced Oracle topics. Inspired by Jonathan Lewis new book Oracle Core: Essential Internals for DBAs and Developers book I was happy to attend his Training [...]

Latch Timescales

To compare old and new latch mechanisms, I found useful the following illustration. Since it is hard for us, humans, to visualize milli- and microseconds, imagine “time microscope” that zooms in timed events one million times. Alternatively, just imagine contemporary Oracle software running on 1950th style hardware. Such microscope will magnify the microsecond to second. [...]

UKOUG 2011

I will be speaking about latches at UK Oracle User Group Conference 2011. It will be my first visit to this extraordinary conference and UK. Hopefully see you there!

Mutex waits. Part II. “Cursor: Pin S” in Oracle 11.2 _mutex_wait_scheme=0. Steps out of shadow.

I would like to describe how Oracle versions waited for mutexes. This algorithm also appears to be used in post- PSUs and new patchset as _mutex_wait_scheme=0. My previous post demonstrated that before version 11.2: “Cursor: pin S” was pure wait for CPU. Long “cursor: pin S” waits indicated CPU starvation. Mutex contention was [...]