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 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 ArticleOr expansion: Linear
PREAMBLE In the previous article, we discussed the two-pass technique used by Oracle to evaluate the cost of the different OR-Expansion states. We have shown that this technique evaluates the cost of...
View Articleenq: TM – contention [mode=3/5]
Here is a simple but very practical example to show how to identify the root cause of a sudden and intermittent lock that considerably affects the proper functioning of a database: SQL> @dashtopmho...
View ArticleForce matching signature
It often happens that changes are implemented in new Oracle releases without most (if not all) DBAs and developers being informed. Among those changes, introduced most probably in version 19.13, is a...
View ArticleSPM baseline and historical execution plans
I have often wondered why when we consult a past execution plan that is protected by an SPM baseline, there is no Note at the bottom of that execution plan showing the use of that SPM? SQL> select...
View Article