Skip to main content

Blog

Bugs Related to SQL Plan Directives Pack and Unpack

SQL plan directives are a new concept introduced in version 12.1. Their purpose is to help the query optimizer cope with misestimates. To do so, they store in the data dictionary information about the predicates that cause misestimates. Simply put, the purpose of SQL plan directives is to instruct the database engine to either use […]

Exadata Storage Index Min/Max Optimization

Before discussing the Exadata-specific feature, let’s review what the database engine can do independently of whether Exadata is used. To execute queries containing the min or max functions efficiently, two specific operations are available with B-tree indexes defined on the column referenced in the min or max function. The first, INDEX FULL SCAN (MIN/MAX), is […]

Restrict the query optimizer through OPTIMIZER_FEATURES_ENABLE and Top-Frequency/Hybrid Hi...

To make upgrades easier, I regularly see people considering disabling query optimizer features by setting the OPTIMIZER_FEATURES_ENABLE initialization parameter to a non-default value. My general opinion about this “habit” is summarized in TOP with the following two sentences: Changing the default value of the OPTIMIZER_FEATURES_ENABLE initialization parameter is only a short-term workaround. Sooner or later […]

STATISTICS COLLECTOR Row Source Operation and LOBs

The aim of the STATISTICS COLLECTOR row source operation, which is used in adaptive plans, is to buffer all data produced by its child operation until it is known whether the inflection point is crossed. It goes without saying that buffering requires memory and, therefore, Oracle Database has to limit the amount of memory that […]

The Importance of the In-Memory DUPLICATE Clause for a RAC System

With the INMEMORY clause you can specify 4 sub-clauses: The MEMCOMPRESS clause specifies whether and how compression is used The PRIORITY clause specifies the priority (“order”) in which the segments are loaded when the IMCS is populated The DISTRIBUTE clause specifies how data is distributed across RAC instances The DUPLICATE clause specifies whether and how […]

About Oracle’s Code of Ethics, MOS Confidentiality Clause, and Content Stolen from My Webs

I strive to keep the number non-technical posts on this blog to the minimum. However, there are days when a non-technical post has to be written. This is one of such days. Oracle Corporation, concerned about legal and ethical issues, not only provides to its employees a document entitled Code of Ethics and Business Conduct, […]