The new versions of the WebLogic 12cR2 and ADF could not have come at a worse time for me. My top priority is learning about the 12cR1 version of the database. Second, is getting to grips with Cloud Control 12cR3. Third on the list is getting up to speed with the changes in WebLogic 12cR2 and ADF. Unfortunately, my personal priorities don’t quite match my work priorities, so WebLogic 12cR2 has moved up the list for a while. As a result, I did some installations last night.
Over the last couple of days I’ve put another couple of articles live. In this case they are both focused on easing migration from non-Oracle databases to Oracle.
It’s a little hard to get excited about either feature as I would not expect any straight Oracle shop to want to use them.
A comment from Greg Rahn in response to my posting yesterday prompted me to do a quick follow-up (test time ca. 3 minutes, write-up time, ca. 50 minutes – thanks for the temptation, Greg ;). Greg asked if the “Top N” would push down for a parallel query, so all I had to do was re-run my script with a parallel hint in place. Here’s the resulting execution plan (from explain plan, but v$sql_plan showed the same structure):
There have been a couple of nice posts about the “Top N” (or First N / Next N) syntax that has appeared in 12c, here and here, for example. I particularly like the first set of examples because they include some execution plans that give you a good idea of what’s going on under the covers. “Under the covers” is important, because if you don’t actually have a large data set to test on you might not realise what impact a “Top N” query might have on a production data set.
I shouldn’t really need to write this post, but recent events seem to indicate it is necessary…
Oracle Database 12c is new! The people out there writing articles can be broken down into three basic groups:
Regardless of which group people belong to, we all got the final production release at about the same time. It is quite common for features to be pulled from the beta product and for minor API changes to take place, so even those on the beta program might have some re-learning to do.
So why write this post?
Here’s a couple of extracts from a trace file after I’ve set optimizer_dynamic_sampling to level 3. I’ve run two, very similar, SQL statements that both require dynamic sampling according to the rules for the parameter – but take a look at the different ways that sampling has happened, and ask yourself what’s going on:
Statement 1 produced this sampling code:
This is a small note describing how Oracle implemented the situation which is covered by the db file parallel read wait event. This events happens if Oracle knows it must read multiple blocks which are not adjacent (thus from different random files and locations), and cannot continue processing with the result of a single block. In other words: if it cannot process something after reading a single block (otherwise Oracle will read a single block visible by the wait ‘db file sequential read’).
This is how it shows up if you enable sql trace:
My mission to learn 12c continues. I’ve been looking at the Identity Column functionality and enhancements to column defaults.
With all the excitement about Oracle Database 12c being released, you may have missed the release of Cloud Control 12c Release 3. It’s available for download from OTN. All the usual ports are available. This is the version you are going to need if you want to monitor 12c databases in your organisation.
I did a quick run through the Cloud Control 12c Release 3 installation yesterday on both OL5 and OL6. As I suspected, there is pretty much no change in the installation process compared to the previous release.