All on Adaptive and Extended Cursor Sharing presentation
Here’s a presentation I did 3 days ago (26/11/2015) for French Oracle Meetup (Lille). It gives details on how Oracle (Adaptive Cursor Sharing part) monitors a bind sensitive cursor before making it...
View Article2015 in review
This is the 2015 annual report for my blog. I hope I will continue sharing and learning interesting things with you. Here’s an excerpt: The concert hall at the Sydney Opera House holds 2,700 people....
View Article12c TOP-Frequency and the ’’half least popular value’’
Asking Oracle 12c to collect histogram for a data set with a number of distinct values (NDV) greater than the supplied number of buckets (N) will probably result in Hybrid histogram. There is indeed a...
View ArticleNatural and Adjusted Hybrid Histogram
I was going to write a comment in this Jonathan Lewis article and have finally decided to write a blog article because it turned to be a long comment. In the above mentioned article a reader was...
View ArticleRAC : Uncached TEMP SPACE
We parallelized a very big index (171GB) creation using this: SQL> create UNIQUE index PK_TABLE_XXXX ON TABLE_XXXX (COL1 ,COL2 ,COL3 ,COL4 ,COL5) LOCAL TABLESPACE TBS_IDX_XXXX parallel 8 NOLOGGING;...
View ArticleIndex Skip Scan : how many columns are skippable?
If you want to know what an index skip scan operation is then Richard Foote article and Jonathan Lewis one you can find here and here respectively are two reliable references. This article deals about...
View ArticleSQL Server 2016 : parallel DML
In contrast to Oracle where parallel DML is possible since a long time in SQL Server it is only until the 2016 last release where a parallel insert-select has been made possible. This article aims to...
View ArticlePrimary Key non unique unusable index and direct path load:again
This combination of aprimary key policed by a non-unique unusable index on table direct path loaded raising error ORA-26026 has occurred again following a recent upgrade from 11.2.0.3 to 11.0.2.4 I...
View ArticleTEMP Table transformation and PQ_SLAVE_mismatch
A SQL Profiled query opted for a different execution plan despite the Note at the bottom of its execution plan indicating that a SQL Profile has been used. The new plan makes the query failing with the...
View ArticleAWR and superfluous historical statistics
An active sql_id is subject to a capture and a load into ASH (gv$active_session_history). As long as this sql_id is present in ASH there is a 1/10 chance for it to be captured into AWR persisted...
View ArticleSQL Profile: or when the hint exceeds 500 bytes
A couple of days ago I have been in a weird situation following a 12c upgrade: a critical query (46h7mfaac03yv) started to perform very poorly impacting the overall response time of a critical report...
View Article12cR2 : Capturing SPM plans from AWR
A couple of years ago I set myself a best practice goal of preferring SPM baselines over SQL-Profiles. I must recognize that I failed to achieve this goal. Fortunately as of Oracle 12cR2 it becomes...
View Article12cR2: SPM and cursor bind awareness property
In the previous article we knew that, as of Oracle 12cR2, it is now possible to capture SPM baselined plans from AWR historical tables. In this article we are going to see how in 12cR2 a cursor will...
View ArticleDe-Correlated Lateral view: VW_DCL_mmm
Oracle Cost Based Optimizer has a number of query rewrites and transformations both simple and complex, old and new. Wether you know very few of them or only the most common ones, I believe it is worth...
View Article12cR2: unreproducible SPM and cursor bind awareness
In the previous article we knew that, as of Oracle 12cR2, a cursor can’t be kept bind aware when it is protected by a single enabled and accepted SPM plan baseline. In other words, the preceding...
View ArticleIndex and mixed order by
The orderly arrangement of the index keys in the leaf blocks makes it possible for Oracle to traverse the index both backward and forward. It renders, as such, the CBO in the plausible capacity of...
View Article_optimizer_ansi_join_lateral_enhance
There was a question raised at my client site shorter after I troubleshooted a performance issue due to the new 12cR1 Decorrelated Lateral View transformation: ”Is there a way to disable this CBO...
View ArticleOptimiser non sharing reasons
Whenever Oracle is prevented from sharing an execution plan of an already seen parent cursor, it hard parses a new plan and externalizes the corresponding non-sharing reason in the gv$sql_shared_cursor...
View Article12cR2 OR-Expansion
In contrast to what the title seems suggesting, the OR-Expansion is not a new 12cR2 transformation. It has existed before and has been nicely explained in this article by the Oracle optimizer group....
View ArticleORA-54032 : column to be renamed is used in a virtual column expression
This is a simple note re-explaining what this 12cR1 ORA-54032 error is as it kicked in again a couple of days ago at one of my customer sites and showing that it has definitely been solved in 12cR2....
View Article