PHV2
PLAN_HASH_VALUE_2 (Phv2) includes the hash value of the execution(PLAN_HASH_VALUE) and the hash value of its predicate part. Whenever, I have a doubt about the difference between two similar execution...
View ArticleSQL Monitor flaw
Observe the following real-life real time SQL Monitor report and try to figure out why the Duration is not equal to the Elapsed time Global Information ------------------------------ Status : DONE...
View ArticleWhy my execution plan has not been shared: Part 6
In this sixth installment of the series of articles about the non-sharing reasons that prevent Oracle from using an existing execution plan, I am going to dig into a new supplementary reason which is...
View ArticleSQL*Net break/reset to client
This is a draft I wrote in 2015. I don’t know why I have not published it by that time? probably I was looking for something to add in this context. Anyway, I decided to give it a rebirth right now...
View ArticleWhy my hint has not been used?
While waiting for Tanel Poder hacking session about sql hint invalidity which I encourage everyone to subscribe and to follow, here’re few particular cases where hints are not obeyed by the Oracle Cost...
View ArticleOracle LuxOUG – Virtual Tech Days
My friend Rodrigo Mufalani asked me to speak about the Adaptive and Extensive Cursor Sharing during the LuxOUG – Virtual Tech Days in English, and for a Luxembourg local team in French. Here’re below...
View ArticleOn the impact of stale statistics when enabling Foreign keys
If you are going to enable a foreign key integrity constraint, then make sure you have fresh and representative statistics on both child and parent table ends. If this is not so, then you might lose a...
View ArticleHistorical column histogram
Tracking column histogram modifications is not a common task among the Oracle DBA and developer’s sphere. And, why one would want to know the past column histogram values? In this blog post I intend to...
View ArticleSET operation to join
In this article about semi-join in modern relational databases I’ve shown that, neither Oracle nor Postgres, are able to transform a SET operation like INTERSECT or MINUS into a SEMI-JOIN. Jonathan...
View ArticleA 2 min tuning case
Here’s a practical performance troubleshooting case which took me a couple of minutes to fix but about one hour to write down . It comes via an end user complaint about a load process (insert/select)...
View ArticleOR-Expansion: bypassed – query block has subquery correlated to non-parent
It looks like Oracle 19c release comes up with a new heuristic impeachment for the OR-expansion transformation: ORE: bypassed - query block has subquery correlated to non-parent. Let’s see this in...
View ArticleDDL Optimization and VPD
I have mentioned in the past two situations where DDL optimization is not possible: When the compatible mode is set to a release where this feature was not yet implemented When the table is compressed...
View ArticleFunction based indexes and cursor sharing
To be selected by Oracle, a Function Based Index (FBI) must have a definition that matches the predicate expression of the query. For example, the following FBI index is used because its definition...
View ArticleNull-Aware anti-join, parsing and _optimizer_squ_bottomup
I originally wrote about Null-Aware anti join in 2017 just as something I’d keep seeing several times at client sites. But it turned out that it was rather to explain Null-Accepting Semi-Join. For the...
View ArticleOR-Expansion by-passed: top query block of a DML
Here’s an interesting OR-Expansion limit which reared its head a little bit after a 12cR1-to-19c Oracle upgrade. It happens during a Create Table As Select (CTAS) which was using a CONCATENATION...
View ArticleDisk file operations I/O
When Disk file operations I/O wait event starts showing at the top of the AWR Top 10 Foreground Events by Total Wait Time it can consume a lot of CPU and freeze your database. Since I have gone through...
View ArticleWhy my execution plan is not in AWR?
I realized the other week while following the Diagnosing Oracle RAC Performance using AWR reports webinar that there are many persons out there asking why, despite their sql_id is present in...
View ArticleStatistics: On the importance of the Notes column
Notice the output of the following query: SQL> getPartCol col partition_name format a20 col num_distinct format a20 col last_anal format a20 col column_name format a12 col notes format a35 select...
View ArticleWhy my execution plan has not been shared: Part 7
In this 7th episode of the series of articles about why my execution plan has not been shared, I will deep dive into the AUTO_CHECK_MISMATCH. Before I start, I wanted, first, to remind you that I...
View ArticleOr expansion: Two-pass, Linear or Greedy
Abstract The OR Expansion represents the ability of the CBO to transform an initial query that includes predicates linked together by an OR operator into a UNION ALL operator applied on two or more...
View Article
More Pages to Explore .....