12c Adaptive Cursor Sharing
This is neither a 12c new feature you are still not aware of nor an extension of the 11 g Adaptive Cursor Sharing I am going to have the scoop to announce it. It is rather something I have pointed out...
View ArticleBIND_EQUIV_FAILURE – Or when you will regret using Adaptive Cursor Sharing
Previously, when I was asked to define the Adaptive Cursor Sharing(ACS) feature I’ve often used the following definition: “it represents an answer to the always threating and challenging Oracle task of...
View ArticleThe dark side of using bind variables : sharing everything
An interesting academic situation happened last week which I, honestly believe, is worth a blog article as far as experienced DBA have spent time trying to solve it without success. An overnight job...
View ArticleParallel refreshing a materialized view
I have been asked to troubleshoot a monthly on demand materialized view refresh job which has got the bad idea to crash with the ORA-01555 error after 25,833 seconds (more than 7 hours) of execution....
View ArticleReal time SQL monitoring limitation
I was trying to explain a performance deterioration of a very complex query honoured via an execution plan with 386 operations (386 lines). From where would someone start deciphering this complex and...
View ArticleIndex Efficiency
I used Jonathan Lewis script to locate degenerated indexes –-or indexes that are occupying more space than they should–. Among those indexes I have isolated this one: 16:20:33:TABLE1 - PK_TAB1 Current...
View ArticleExtended Statistics Part I : histogram effect
Extended statistic, also known as column group extension, is one of the important statistic improvements introduced with Oracle 11g. While Oracle Cost Based Optimizer is able to get a correct single...
View ArticleSUBQ INTO VIEW FOR COMPLEX UNNEST
If you are a regular reader of Jonathan Lewis blog you will have probably came across this article in which the author explains why an “OR subquery” pre-empts the optimizer from unnesting the subquery...
View ArticleWhy Dynamic Sampling has not been used?
Experienced tuning guys are known for their pronounced sense of looking at details others are very often ignoring. This is why I am always paying attention to their answers in otn and oracle-l list....
View ArticleReal Time SQL Monitoring oddity
This is a small note about a situation I have encountered and which I thought it is worth sharing with you. There was an insert/select executing in parallel DOP 16 on a 11.2.0.3 Oracle database for...
View ArticleDon’t pre-empt the CBO from doing its work
This is the last part of the parallel insert/select saga. As a reminder below is the two preceding episodes: Part 1: where I have explained why I was unable to get the corresponding SQL monitoring...
View ArticleStressed ASH
It is well known that any record found in dba_hist_active_session_history has inevitably been routed there from v$active_session_history. If so, then how could we interpret the following cut & past...
View ArticleDegree of Parallelism is 16 because of table property
I have been pleasantly surprised by the following Note at the bottom of an execution plan coming from a 12.1.0.2.0 Oracle instance SQL> select * from v$version; BANNER CON_ID...
View ArticleFlash back causing library cache: mutex X
Recently one of our applications suffered from a severe performance issue. It is an application running on a database(11.2.0.4.0) used to validate a pre-production release. This performance issue has...
View ArticleAdaptive Cursor Sharing triggering mechanism
Inspired by Dominic Brooks’ last post on SQL Plan Management choices, I decided to do the same work about my thoughts on Adaptive and Extended Cursor Sharing triggering mechanism: Once a cursor is bind...
View ArticleCardinality Feedback: a practical case
Here it is an interesting case of cardinality feedback collected from an 11.2.0.3 running system. A simple query against a single table has a perfect first execution response time with, according to...
View ArticleCBO decision: unique or non-unique index?
I have been asked to look at one of those few particular frustrating situations that only running systems can procure. It is an update of a single table using a complete set of its primary key columns...
View ArticleBind aware secret sauce (again)
I am sure many of you have already become bored by my posts on adaptive cursor sharing. I hope this article will be the last one :-). In part III of the installment I was unable to figure out the...
View ArticleBasic versus OLTP compression
If you are going to archive a table having a very large amount of data from a running system into a historical table and you expect from this archived table to be read-only then you have better to use...
View ArticleOracle Optimizer and SPM plan interaction
Continuing in the inspiration instilled into me by Dominic Brooks’ post on SQL Plan Management choices, I decided to picture the Oracle CBO behavior in presence of enabled and accepted SPM plan(s)...
View Article