12.2 Partitions
At the end of my presentation to the UKOUG Database SIG yesterday I summed up (most) of points I’d made with a slide making the claim:In 12.2 you can: Convert a simple table to partitioned with...
View Articledbms_sqldiag
If you’re familiar with SQL Profiles and SQL Baselines you may also know about SQL Patches – a feature that allows you to construct hints that you can attach to SQL statements at run-time without...
View ArticleOFE
The title is a well-known shorthand for parameter optimizer_features_enable and it has been the topic of a recent blog post by Mike Dietrich in which he decries the practice of switching the parameter...
View Article12c Parse
Following on from a comment to a recent posting of mine about “bad” SQL ending up in the shared pool and the specific detail that too much bad SQL could cause contention problems while staying...
View ArticleUpgrades
One of my maxims for Oracle performance is: “Don’t try to be too clever”. Apart from the obvious reason that no-one else may be able to understand how to modify your code if the requirements change at...
View ArticleTruncate upgrade
Connor McDonald produced a tweet yesterday linking to a short video he’d created about an enhancement to the truncate command in 12c. If you have referential integrity declared between a parent and...
View ArticleRandom Upgrade
Here’s a problem that (probably) won’t affect the day to day running of most systems – but it could be a pain in the backside for people who write programs to generate repeatable test data. I’m not...
View ArticleUpgrade threat
Here’s one I’ve just discovered while trying to build a reproducible test case – that didn’t reproduce because an internal algorithm has changed.If you upgrade from 12c to 18c and have a number of...
View ArticleUpgrades – again
I’ve got a data set which I’ve recreated in 11.2.0.4 and 12.2.0.1.I’ve generated stats on the data set, and the stats are identical.I don’t have any indexes or extended stats, or SQL Plan directives or...
View ArticleLOB length
This note is a reminder combined with a warning about unexpected changes as you move from version to version. Since it involves LOBs (large objects) it may not be relevant for most people but since...
View ArticleAW-argh
This is another of the blog notes that have been sitting around for several years – in this case since May 2014, based on a script I wrote a year earlier. It makes an important point about...
View ArticleDrop Column bug
When I was a child I could get lost for hours in an encyclopedia because I’d be looking for one topic, and something in it would make me want to read another, and another, and …The same thing happens...
View ArticleRecursive WITH upgrade
There’s a notable change in the way the optimizer does cost and cardinality calculations for recursive subquery factoring that may make some of your execution plans change – with a massive impact on...
View ArticleMassive Deletes
One of the recurrent questions on the Oracle Developer Commuity forum is:What’s the best way to delete millions of rows from a table?There are an enormous number of relevant details that you need to...
View ArticleCase and Aggregate bug
The following description of a bug appeared on the Oracle Developer Community forum a little while ago – on an upgrade from 12c to 19c a query starting producing the wrong results on a simple call to...
View ArticleUpgrades : You have to do them. When are you going to learn? (TLSv1.2)
Questions:Do you remember when SSLv3 was a thing?Do you remember when everyone disabled SSLv3 on their websites?Do you remember how loads of people running Oracle database version 11.2.0.2 and lower...
View ArticleUpgrade trivia
Sometimes it’s the little things that catch you out (perhaps only briefly) on an upgrade. Here’s one that came up on Oracle’s Groundbreakers Developers Community [sic] (who knows what it will be called...
View Article19c tweak
There are times when an upgrade makes a big difference to performance because an enhancement to the optimizer code path changes the costing of a plan that was always possible, but badly costed. I...
View ArticlePivot upgrade
I’ve hardly ever touched the pivot/unpivot feature in SQL, but a recent comment by Jason Bucata on a note I’d written about Java names and the effects of newer versions of Oracle allowing longer object...
View ArticleOracle Database Upgrades : One Size Does Not Fit All
If you follow me on Twitter, you’ll know I’ve been doing a lot of upgrades recently. Whenever I mention upgrades, someone comes back with a comment asking me to describe in detail what I’ve done. This...
View Article