Index Scan with Filter Predicate Based on a Subquery
Most execution plans can be interpreted by following few basic rules (in TOP, Chapter 6, I provide such a list of rules). Nevertheless, there are some special cases. One of them is when an index scan,...
View ArticleAnalysing Row Lock Contention with LogMiner
Recently I had to analyse a row lock contention problem that can be illustrated by the following test case: A session (let’s call it #1) creates a table and inserts a row into it (note that “n” is the...
View ArticleCOMMIT_WAIT and COMMIT_LOGGING
Recently I used the COMMIT_WAIT and COMMIT_LOGGING parameters for solving (or, better, working around) a problem I faced while optimizing a specific task for one of my customers. Since it was the first...
View ArticleDisplay System Activity without Enterprise Manager
I regularly use the system-level activity chart available in Enterprise Manager. In my opinion it is a simple and effective way to know how much a specific database is loaded at a specific time. This...
View ArticleAd: Mastering Oracle Trace Data
This is just a short post to point out that the company I work for, Trivadis, is organizing 3 classes with Cary Millsap. The topic, as the title suggests, is Cary’s 1-day class entitled “Mastering...
View ArticleEvent 10046 – Full List of Levels
Extended SQL trace (a.k.a. debugging event 10046 at a level higher than 1) is one of the key features provided by Oracle to troubleshoot applications using Oracle Database. For many years the available...
View ArticleAd: CBO Days 2012
The company I work for, Trivadis, is very pleased to organize, the 11th and 12th of December, an outstanding seminar with top guest speakers in Zurich. This year’s focus will be on the Oracle query...
View ArticleHow Many Children Can a Parent Cursor Have? 1,000,000?
The patch set 11.2.0.3 includes a fix for bug# 10187168 which, in reality, is an enhancement request. Its purpose is to artificially limit the number of child cursors that a parent cursor can have. The...
View ArticleDoes the Parse Time Increase Linearly with the Number Of Child Cursors?
In the last post I discussed a test case generating lot of child cursors. Today I wanted to show you, for the very same test case, that in 11.2 the parse time might increases linearly with the number...
View ArticleAd: CBO Days 2012 – Final Agenda
The 11th and 12th of December and, therefore, the CBO Days in Zurich are approaching. Given the high quality of the speakers that accepted my invitation and the number of people that decided to attend...
View ArticlePremature Optimization
Premature optimization, (probably) because of Donald Knuth’s famous line “premature optimization is the root of all evil,” (see Structured Programming with go to Statements) is, at the very least, a...
View ArticleITL Deadlocks (script)
A reader of this blog, VijayS, asked me to share the script I use to demo ITL deadlocks that I mentioned in this comment. Since other readers might be interested, here is the script. SET TERMOUT ON...
View ArticleNamed Notation and SEM_MATCH Table Function
This is a short post about a strange behavior I discovered today… The fact is that it is not really possible to use the named notation with the SEM_MATCH table function. In fact, even though the...
View ArticleScripts to Download Oracle Database 12c Release 1 Documentation
In the past (here and here) I already shared with you the scripts I used to download the documentation related to Oracle Database. The aim of this short post is to provide the scripts I just wrote for...
View ArticleThe Broken Statistics: “parse count (total)” and “session cursor cache hits”
The values provided by the “parse count (total)” and “session cursor cache hits” statistics are subject to several bugs. And, what’s worse, for years Oracle didn’t care to fix it. This is my...
View ArticleSystem Statistics Gathered in Exadata Mode – When Are They Relevant?
The aim of this post isn’t to explain what the “exadata mode” is. Hence, if you don’t know what it is, before continuing reading have a look to this post published on Kerry Osborne’s blog. The only...
View ArticleOracle ACE Director
Few days ago Oracle accepted my Oracle ACE Director nomination! In this short post I would like to thank the people that actively supported the nomination. Special thanks go to Yury Velikanov. When...
View ArticleAdaptive Plans in Active Session History
Yesterday, during the talk “The Query Optimizer in Oracle Database 12c – What’s New?” at OakTable World UK 2013, an attendee asked me an interesting question that can be summarized as follows: does ASH...
View ArticleExtension Bypassed Because of Missing Histogram
Today, while tuning a fairly complex query experiencing wrong cardinality estimates, I noticed something I was not aware of. Hence, I thought to write this short post to illustrate how to reproduce the...
View ArticleCBO Days 2014
The company I work for, Trivadis, is very pleased to organize, on the 10th and 11th of June, an outstanding seminar with top guest speakers in Zurich. This year’s focus will be on the Oracle query...
View Article