Skip navigation.

John Watson's blog

12c SQL tuning: adaptive execution plans

The concept of an adaptive plan is that execution of a statement can start with one plan, and (during execution) switch to another. A pretty amazing capability. No need to run the statement to completion and try again: correct it in flight.

CTOUG re-launch meeting

I was at the Connecticut Oracle User Group re-launch meeting last week, talking about some of the 12c new features that I specially like: those related to what I call "the self-learning database".

Database 12c: automatic generation of extended statistics

Why does the CBO get it wrong? Often because it has insufficient information. No matter how often you analyze your tables, if your queries use multi-column predicates, the CBO will mis-calculate the cardinalities. You have to understand your data, and create extended statistics to correlate the columns. How many people do this? Hardly any. Not a problem any more: release 12c can do this for you. If you configure it appropriately.

Grid Infrastructure and RAC: the cluster interconnect

A necessary part of a cluster is the cluster interconnect: the private network between the cluster nodes. This component is critical for both reliability and scalability, and configuring it for fault tolerance and capacity is a matter of burning importance for the DBA and his System Administrator (not to mention the end users). One question is, should this be managed by the operating system or by Oracle?

Oracle 12c new feature: Flex Clusters, what they are (and what they are not)

I have seen articles that misrepresent a Flex Cluster, even this book Expert Oracle RAC 12c which is written by people who know better (Oracle ACE directors, an OCM, an Oak Table member) gets it wrong, because of a reliance on beta documentation.

12c Scheduler new feature: external_script jobs

In earlier releases, running a shell script from the Scheduler was awkward. Oracle has realized this, and introduced a new job type in 12c that makes it simple.

How to generate your test case automatically

One often sees requests for test cases, typically when a user has a SQL performance issue. So many users appear to have problems with producing a suitable test case that Uncle Oracle provides routine to automate this. There are no longer any excuses for not providing a test case. Here is an intro to how to do it (code tested on 11.2.0.3 and 12.1.0.1).

Inverted tables: an alternative to relational structures

The inverted table format can deliver fast and flexible query capabilities, but is not widely used. ADABAS is probably the most successful implementation, but how often do you see that nowadays? Following is a description of how to implement inverted structures within a relational database. All code run on Oracle Database 12c, release 12.1.0.1.

Three impossibilities with partitioned indexes

There are three restrictions on indexing and partitioning: a unique index cannot be local non-prefixed; a global non-prefixed index is not possible; a bitmap index cannot be global. Why these limitations? I suspect that they are there to prevent us from doing something idiotic.

Are older releases of the database really unsupported?

I see posts on Oracle related forums about various releases (anything that isn't 11.x or 12.x) being "unsupported". This is wrong. Of course you should upgrade any 9i or 10g databases, but you don't have to.