Oracle 19c New Features

Hello, friends!

Oracle 19c is now available for Oracle Cloud and Exadata.  It’s not yet available for “on-premises”, but it will no doubt be available shortly.  Well, hopefully.

19c is the terminal release of 12.2, which means that prior to Oracle’s versioning changes, it would have been referred to as  As of the time of writing, it will be supported for the next 4 years under Premium Support and 3 years under Extended Support.

This is probably going to be the version that those waiting to pull the plug on upgrading to 12c are going to move to as 18c is still quite buggy (especially for versions < 18.1.5)

Bear in mind that there is no support for 19c on Linux 6.  The minimum versions of the O/S and kernels are as follows:

  • Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4: 4.1.12-112.16.7.el7uek.x86_64 or later
  • Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 5: 4.14.35-1818.1.6.el7uek.x86_64 or later
  • Oracle Linux 7.4 with the Red Hat Compatible kernel: 3.10.0-693. or later
  • Red Hat Enterprise Linux 7.4: 3.10.0-693. or later
  • SuSE Linux Enterprise Server 12 SP3: 4.4.103-92.56-default or later

It’s been 17 years since I worked with an Oracle database running on SuSE, but there must be some hiding out there somewhere!

One thing to bear in mind, though, is that the upgrade to 19c on Exadata can be quite painful.  If you moved to 18c and found it to be nice and (relatively) easy, don’t be surprised if 19c is trickier.

As we try and contain our excitement, here are some of the features I think are going to be the most useful.

Continue reading



How to Make the Most Out of Collaborate IOUG 2019!

A new video on how to make the most out of Collaborate 2019 is up on my YouTube channel.

Along with some handy tips, I also explain how to score a free Oracle certification exam AND how to get Oracle’s new Autonomous DBA certification!

Tagged , , , , , , ,

Collaborate IOUG 2019

It’s been a while (!) but I’ve made a resolution to do a better job in keeping my blog updated, no matter how busy I might be.

I will be attending Collaborate IOUG 2019 in San Antonio this year.  I plan on putting together a collection of hints and tips to get the most out of the conference soon.  There are some really cool benefits that you might not be aware of.

Stay tuned.

Tagged , ,

Exadata X6

Blink and you might have missed it, but the Exadata X6 was officially announced today

As has become the norm, Oracle have doubled-down on the specs compared to the X5:

  • 2x disk capacity
  • 2x Flash capacity
  • 2x faster Flash
  • 25% faster CPUs
  • 13% faster DRAM

With the X6-2 machine, you still have Infiniband running at 40Gb/sec, but the compute nodes and the storage servers now have the following:

X-6 Compute Node

  • 2x 22-core Broadwell CPUs
  • 256Gb of DDR4 DRAM (expandable to 768Gb)
  • 4x 600Gb 10,000 RPM disks for local storage (expandable to 6)

High Capacity Storage Server

  • 2x 10-core Broadwell CPUs
  • 128Gb of DDR4 DRAM
  • 12x 8Tb 7,000 RPM Helium SAS3 disks
  • 4x 3.2Tb NVMe PCIe 3.0 Flash cards

Extreme Flash Storage Server

  • 2-socket, 10-core Broadwell CPUs
  • 128Gb of DDR4 DRAM
  • 8x 3.2Tb NVMe PCIe 3.0 Flash cards

What does all of that give you when it comes down to it?

Well, remember that the eighth-rack is the same as a quarter-rack, but you have access to half the cores and half the storage across the board (you still have two compute nodes and three storage servers):

High Capacity Eighth-Rack

  • 44-core compute nodes
  • 30-core storage servers
  • 144Tb raw usable disk storage
  • 19.2Tb Flash storage

Extreme Flash Eighth-Rack

  • 44-core compute nodes
  • 30-core storage servers
  • 38.4Tb Flash storage

Minimum licensing requirements is 16 cores for the eighth-rack and 28 cores for the quarter-rack.

I’m sure you can read through the sales stuff yourself, but aside from the UUUUGE increase in hardware, two new features of the X6 really pop out for me.

Exadata now has the ability to preserve storage indexes through a storage cell reboot. Anyone who had to support an older Exadata machine will remember quite how much of a big deal that used to be: the wait for the storage index to be rebuilt would take hours and often require some major understanding on the part of user population and management to get through the first day or so after some maintenance.

Probably the biggest thing is that Oracle have introduced high availability quorum disks for the quarter-rack and eighth-rack machines. I blogged about this before as I thought it had the potential to be a real “gotcha” if you were expecting to run high redundancy diskgroups on anything less than a half-rack.

No longer.

Now, a copy of the quorum disk is stored locally on each database node, allowing you to lose a storage cell and still be able to maintain your high redundancy.

This is a particularly useful development when you remember that Oracle have doubled the size of the high-capacity disks from 4Tb to 8Tb. Why? Well, because re-balancing a bunch of 8Tb disks is going to take longer than re-balancing the same number of 4Tb disks.

I’ll be going to Collaborate IOUG 2016 next week and I’m looking forward to hearing more about the new kit there.


Tagged , , ,


It’s been a very busy summer for yours truly and the rest of the database world.  Some interesting nouvelles (I thought so, at least) in case you missed them:


The UK Government has ordered its agencies to “get rid of Oracle“. While Oracle have been shooting themselves in the foot spectacularly of late with their bedside manner, I have personal experience of the last time that the UKG wanted to replace them.

It didn’t go well. At all.

Nor did it go cheaply, which is all that anyone is caring about, of course.

Despite the horror stories in the media about how difficult it is to deal with Oracle’s support, sales and auditing teams, it’s still the best database out there by a country mile.


Ask … Someone Other Than Tom
It’s no longer possible to Ask Tom. Mr. Kyte has decided to take a very well-deserved sabbatical and has handed over Ask Tom duties to … someone who isn’t called Tom.

What a crazy world we live in.

I’m not going to lie – I definitely was dazzled by his stardom on more than one occasion. At a NEOUG conference in Cleveland, I managed to get him to sign a copy of his book and one of the most memorable moments of my DBA career was when I asked him a “great question” on a webinar many years ago. It helped me win an important argument at work, so I will always be thankful to him for that 🙂


Don’t Believe The Hype
Talking of which, not even Gartner thinks Big Data is worthy of the hype now. Instead of moving to their “Slope of Enlightenment” or “Plateau of Productivity”, it fell off their Hype Cycle for Emerging Technologies completely.



Maybe part of the reason is that the industry has realized that a lot of NoSQL databases just plain suck. Don’t forget that the “big” Hadoop story of 2015 is “Hadoop-on-SQL”, which would have been QUITE the juxtaposition eighteen months ago.

Still think NoSQL databases will replace relational databases? Then read this beauty and try and say that “relational databases are outdated” with a straight face.

While they found over a PETABYTE of unsecured data without too much trouble, probably the most noteworthy finding is that they found 347 different MongoDB databases called “DELETED_BECAUSE_YOU_DIDNT_PASSWORD_PROTECT_YOUR_MONGODB”.



Tagged , , , , ,

Today’s Nugget: Oracle OpenWorld 2015 … Or Not

Alas, my submission for this year’s Oracle OpenWorld was turned down by Oracle a little while ago.

Maybe I shouldn’t have installed this browser extension?

Tee-hee 🙂

I’m nothing if not persistent(ly annoying) – so I submitted a similar abstract to the 2016 RMOUG Training Days.

Tagged , , , ,

Standard Edition, Standard Edition One or Standard Edition 2?

You know how people complain that Oracle licensing can be very complicated?

Well, Oracle Standard Edition 2 has been released after being announced earlier in the summer.  Great, but what about Standard Edition and Standard Edition One?

  • Oracle 12c Database Standard Edition will only be available as a release.
  • Oracle 12c Database Standard Edition One 12c will only be available as a release.
  • Oracle 12c Database Standard Edition 2 12c will only be available as a release.

A bit confused?  I know I was.

Basically, SE and SEOne (SE1?) are available options if you’re running a database. However, if you like living your life in the fast lane (as well as making use of some really cool new features) and you’re running, both SE and SE1 editions are replaced by SE2.

The licensing restrictions are as follows.  The bold emphasis is mine:

“Oracle Database Standard Edition 2 may only be licensed on servers that have a maximum capacity of 2 sockets. When used with Oracle Real Application Clusters, Oracle Database Standard Edition 2 may only be licensed on a maximum of 2 one-socket servers. In addition, notwithstanding any provision in Your Oracle license agreement to the contrary, each Oracle Database Standard Edition 2 database may use a maximum of 16 CPU threads at any time. When used with Oracle Real Application Clusters, each Oracle Database Standard Edition 2 database may use a maximum of 8 CPU threads per instance at any time. The minimums when licensing by Named User Plus (NUP) metric are 10 NUP licenses per server.”

By the way, SE2 does not support multi-tenant.  Don’t forget, though, Oracle have deprecated non-“CDB / PDB” architecture from onwards, so you should install SE2 as a single-tenant pluggable database with a container database to follow Oracle’s recommended path.

One wonders whether the “SE2” nomenclature will persist. Will Oracle only offer “Standard Edition 2” and “Enterprise Edition” for Database 13.1?

“What happened to Standard Edition 1?
Why don’t they just call it ‘Standard Edition’?”

I do not know, dear reader.  I do not know.

Tagged , , , , , ,

248 Days

This week, a client encountered a particularly nasty bug – 10194190 – which caused their ASM instance processes to “spin” and cause a bunch of errors, essentially leading to a instance crash on both of their RAC nodes.

In the ASM instance:

ORA-00490: PSP process terminated with error
PMON (ospid: 12345): terminating the instance due to error 490

In the database instance, we either saw an ORA-00240 or ORA-03113 error and an instance crash.

ORA-00240: control file enqueue held for more than 120 seconds

ORA-15064: communication failure with ASM instance
ORA-03113: end-of-file on communication channel

What triggered this was that the uptime of each node was greater than 248 days. On Solaris SPARC systems, there is a bug in the compiler which can cause either a database or an ASM instance crash if the server has been up for more than 248 days.

There are bug fixes available for versions through, but there is no fix for any 12c database at the moment.


Larry’s Secret Number?
“248 days”, you ask? Curious, n’est pas? Indeed, especially when you learn that there are another couple of Oracle bugs out there which really seem to fixate on that number.

In a previous life, I encountered bug 4612267 while running the Client for an EDW batch server.

It is looping on the times() function.

In addition to sqlplus, it has been reported that the netca and dbca tools also hang.
This may happen with a new installation of Instant Client or Oracle on UNIX platform, or it can just occur after some period of time with no other changes.

This is a known, unpublished bug.


This machine was critical to the enterprise and had to be rock solid, so once we got things stable, the project team were loathe to mess with it, even though it was running

“Not messing with it” also involved maintaining server uptime, because we had a bunch of NFS mounts attached to it, which seemed to somehow cause the server to take a very long time to reboot.

Unfortunately, the platform was a bit too “solid” and we hit bug 4612267 during a particularly busy afternoon of batch processing. As with such things, it took a while to find the culprit, but it ended up being new sqlplus sessions started after 1pm that day on the EDW batch server. The server had been up 231 days.

We looked and we could see the sessions had started, but they had got no CPU time whatsoever. In typical IT fashion, we collected as much diagnostic info as we could and bounced the server. Naturally, the problem went away.

After much head-scratching and seeing the same issue once or twice more whenever the server uptime ranged between 60 and 248 days, we realized we were hitting the bug. As we were using a client install, we couldn’t upgrade to and applying the patch failed for some obscure reason, despite assistance from Oracle Support. We only “fixed” the bug when we upgraded the client to 11g, which was deemed to be too much “messing about” until after our busiest period of the year was over.

Our workaround was to schedule a server reboot, which was a pain, though it was better than the alternative.

I always did wonder why someone would code something which would “spin” if the server uptime was between 60 and 248 days. What does that matter to SQL*Plus? Besides, once you went beyond 248 days of uptime, you were in the clear. This is why it took three years before it was noticed.

I wonder what significance 248 days has with Oracle?  Maybe it’s a code which is somehow used to obtain privileged access somewhere in Redwood City? 🙂



Tagged , ,

Today’s Nugget: Materialized Views

As I’m still trying to get my feet under the door at my new gig, here’s another nugget in place of a real blog entry. While troubleshooting for a client, I noted that there were three types of materialized view. I knew this before, sort of, but this troubleshooting exercise was a great aide memoire.

The three types of materialized views:

  1. Read-only
  2. Updateable
  3. Writeable

The read-only MV omits the FOR UPDATE clause in its DDL during creation and does not permit DML.

The updateable MV includes the FOR UPDATE clause in its DDL and is included in a materialized view group.  This allows changes made to the MV to be pushed back to the ‘master’ during a refresh.

The writeable MV includes the FOR UPDATE clause in its DDL, but does not belong to a materialized view group.  All changes made to the MV are lost during a refresh.


Tagged , , , ,
%d bloggers like this: