Quantcast
Channel: Mohamed Houri’s Oracle Notes
Browsing all 224 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

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 Article



SQL 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 Article

Why 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 Article

SQL*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 Article

Why 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 Article


Oracle 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 Article

Image may be NSFW.
Clik here to view.

On 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 Article

Image may be NSFW.
Clik here to view.

Historical 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 Article


SET 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 Article


Image may be NSFW.
Clik here to view.

A 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 Article

OR-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 Article

Image may be NSFW.
Clik here to view.

DDL 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 Article

Function 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 Article


Null-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 Article

OR-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 Article


Disk 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 Article

Why 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 Article


Statistics: 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 Article

Why 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 Article

Or 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
Browsing all 224 articles
Browse latest View live




Latest Images