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!
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 [...]
This post does not discuss mutexes or latches. I wrote it under the impression of recent escalation due to database corruption. This was Oracle 10.2.0.4 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 [...]
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 [...]
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. [...]
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!
I would like to describe how Oracle versions 220.127.116.11-18.104.22.168.1 waited for mutexes. This algorithm also appears to be used in post-22.214.171.124.2 PSUs and new 126.96.36.199 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 [...]
Oracle KGX mutexes appeared more than 7 years ago. However, mutex waits are still obscure. Oracle Documentation provided only brief description of mutex wait events without any information about wait durations and timeouts. Look at the following timeline: In 2005 mutexes were introduced with Oracle 10.2.0.2 patchset. Documentation states that “cursor: pin S” wait event [...]