Category Archives: Oracle Databases

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)

DDR4 DRAM

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.

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:

GET RID OF ORACLE!
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 🙂

NoSQL = NoPASSWORDS = NoDATA?
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.

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”.

“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 12.1.0.2 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?

Share this:

Like this:

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.

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 10.2.0.4 through 11.2.0.4, 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 10.2.0.1 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.
Changes
This may happen with a new installation of Instant Client 10.2.0.1.0 or Oracle 10.2.0.1.0 on UNIX platform, or it can just occur after some period of time with no other changes.
Cause

This is a known, unpublished bug.

Bug 4612267 OCI CLIENT IS IN AN INFINITE LOOP WHEN MACHINE UPTIME HITS 248 DAYS

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 10.2.0.1.

“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 10.2.0.2 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? 🙂

Share this:

Like this:

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:

Read-only

Updateable

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.

Have you tried to get a graphical tool, such as DBCA, DBUA or even VNC to run on your Exadata lately?

If, like me, you had quite the struggle until a friendly sysadmin installed a bunch of packages for you, you might be interested in reading this MOS note:

1969308.1 – Unable to run graphical tools (gui) on Exadata 12.1.2.1.0 or later.

I understand that Oracle have been increasingly hardening Exadata since the birth of their X3-2 machines, but you’d think that you wouldn’t need to add extra packages to a system that’s meant to be “ready to use” once your choice of consultant has finished with the Deployment Assistant.

After all, aren’t DBCA / DBUA Oracle’s tools of choice? Do they really want DBAs to spend their time creating response files and running these tools from the command line?

Oracle announced a new Exadata Critical Issue this morning (EX21) which applies to the ESS software versions 12.1.1.1.2 and 12.1.2.1.1.

“This issue is encountered only when a disk media error occurs while synchronous I/O is performed. Because the majority of I/O operations issued with Exadata storage are done asynchronously, and this problem is possible only when disk media errors are experienced while synchronous I/O is performed, the likelihood of experiencing this problem is low. However, the impact of hitting this problem can potentially be high.

Disk corruption symptoms are varied. Some corruptions will be resolved automatically by Oracle Database, while other corruptions will lead to unexpected process shutdown due to internal errors.”

ESS 12.1.1.2.1 DOES have a patch available, but 12.1.2.1.1 does not at the moment (the patch is “pending”). I’m sure it will become available soon.

I have MOS email me whenever the Exadata Critical Issues document (1270094.1) is updated so I’m quickly aware of the latest important bugs. It’s pretty neat and I’d advise other Exadata types to make use of it as well.

Lots of shops dipped their toes in the Exadata water with a quarter-rack first of all.

(For those who are new to the Exadata party and don’t know of a world without elastic configurations, a quarter-rack is a machine with two compute nodes and three storage cells).

If you are / were one of those customers, you’ll probably have winced at the difference between the “raw” storage capacity and the “usable” storage capacity when you got to play with it for the first time.

While you could choose to configure your DATA and RECO diskgroups with HIGH redundancy in ASM, did you notice that you couldn’t do the same with the DBFS_DG / SYSTEM_DG?

“A slight HA disadvantage of an Oracle Exadata Database Machine X3-2 quarter or eighth rack is that there are insufficient Exadata cells for the voting disks to reside in any high redundancy disk group which can be worked around by expanding with 2 more Exadata cells. Voting disks require 5 failure groups or 5 Exadata cells; this is one of the main reasons why an Exadata half rack is the recommended minimum size.”

Basically, you need at least 5 storage cells for each Exadata environment if you want to have true “high availability” with your Exadata machine.

While quarter-rack machines have 3 storage cells, half-rack machines have 7 or 8 storage cells, depending on the model.

Let’s say that you have the model with 8 storage cells: if you split a half-rack machine equally, you’ll have 2x quarter-rack machines with 4 storage cells, so you would need one more storage cell per machine to provide HA for the SYSTEMDG / DATA_DG diskgroup.

For some reason, this nugget escaped my attention until recently. Even more reason to have a standby Exadata machine at your DR site …