To PDB or not to PDB

I’m about to start a Proof of Concept (POC) for a 12c upgrade of one of our databases. The production database in question is running on Oracle Linux inside a VMware virtual machine, so the starting point I’ve been given for the POC is a clone of the whole VM…

Probably the biggest decision I’ve got to make is “to PDB or not to PDB” *. I mentioned it on Twitter earlier and got some conflicting opinions. I guess the pros and cons of the PDB approach go something like this in my head.

Pros:

  • The multitenant architecture is the future of Oracle. Depending on which rumours you believe, it’s possible that 12.2 will no longer allow the pre-12c style instances. Putting it off is delaying the inevitable.
  • As long as you only use a single PDB, there is no extra cost.
  • The multitenant architecture has some neat features related to cloning, especially remote clones. That potentially makes provisioning new environments pretty quick.
  • Even with a single PDB per CDB, there are potential advantages regarding patching and upgrades. Caveats apply as always.
  • I’m going to upgrade to a pre-12c style instance first anyway, so I will have a natural fallback position ready to go if I need it.
  • It would be good to invest the time up front to convert stuff now, rather than wait a few years to clean up the mess of CRON jobs and connections using SIDs, rather than services. This choice would force our hand.
  • If some of the technologies we are using are not going to “play well” with the multitenant architecture, I would rather know now than later.

Cons:

  • Using a PDB is definitely going to break a number of things for us, especially CRON jobs that run scripts using OS authentication. See here.
  • Once the decision has been made to “switch the multitenant architecture on”, it would be really easy for someone to create an extra PDB and incur additional licensing costs. As far as I’m aware, there is nothing to restrict the number of PDBs to 1, to prevent an uninitiated DBA from copying a script from the net and creating more. If someone knows an undocumented parameter for this I would be interested in knowing it. Note, “_max_pdbs” isn’t the answer here! 🙂
  • I’m going to upgrade to a pre-12c style instance first, so why add on the extra effort of cloning that to a PDB?
  • Why make life hard for yourself? You can use 12.1 as a half-way house and make the final step later.

I don’t think there is really a right or wrong answer in this debate. I could probably put forward a convincing argument in favour of either option. I’m leaning on the side of the “to PDB” choice. If this proves to be a no-go, then I’ll start a POC of a pre-12c style instance… 🙂

Despite my leaning for the PDB choice, I am interested to know what others think, especially those that have done something a bit more extensive than running this stuff on their laptop. 🙂

Cheers

Tim…

* I forgot to mention previously, we will almost definitely be going with a single PDB per CDB (the free option) initially. So this is not a “consolidate using multitenant” issue from the outset.

More Oracle Multitenant Changes (12.1.0.2)

When I wrote about the remote cloning of PDBs, I said I would probably be changing some existing articles. Here’s a change I’ve done already.

There are also new articles.

I’m sure there will be some more little pieces coming out in the next few days…

As I mentioned before, the multitenant option is rounding out nicely in this release.

Cheers

Tim…

 

 

MySQL Upgrades

I read Wim Coekaerts post about the MySQL 5.6.20-4 this morning. I logged on to my server and did the following command as root.

# yum update -y

That’ll be the upgrade done then… 🙂

If you are using MySQL on Linux you can use the MySQL Repository for your distribution, rather than using the bundled MySQL version, to make sure you stay up to date with the latest and greatest. As long as you stay within a point release (5.6, 5.7 etc.) of the latest version, upgrades should really be as simple as a “yum update”.

I’ve started the ball rolling for the upgrades to the MySQL servers at work. That will take a bit longer because of the required testing. 🙂

Now I know that Oracle is a very different beast to MySQL or SQL Server, but the patches for MySQL and SQL Server are so much easier that patching Oracle, it’s not surprising people gravitate to them. I’m sure the pluggable database stuff in 12c is going to simplify things somewhat, but it’s still not going to be anywhere near as simple as this stuff.

Cheers

Tim…

EM Cloud Control 12c : The 24 Hour DBA

I think I’ve lived through all the ages of Enterprise Manager. I used the Java console version back in the days when admitting you used it got you excommunicated from the church of DBA. I lived through the difficult birth of the web-based Grid Control. I’ve been there since the start of Cloud Control. I’ll no doubt be there when it is renamed to Big Data Cloud Pixie Dust Manager (As A Service).

I was walking from the pool to work this morning, checking my emails on my phone and it struck me (not for the first time) that I’m pretty much a 24 hour DBA these days. I’m not paid to be on call, I’m just a 9-5 guy, but all my Cloud Control notifications come through to my phone and tablet. I know when backups have completed (or failed). I know when a Tnsping takes too long. I know when we have storage issues. I know all this because Cloud Control tells me.

Now you might look on this as a bad thing, but being the control freak I am, I prefer to get a message on a Sunday telling me something is broken, hop on the computer and fix it there and then, rather than coming in on Monday to a complete sh*t-storm of users complaining. I’m not paid to do it, but that’s the way I roll.

While walking down memory lane I was thinking about all the scripting I used to do to check all this stuff. Endless amounts of shell scripts to check services and backups etc. I don’t do hardly any of that these days. Cloud Control handles all that.

We are a pretty small Oracle shop, but I think life would be a whole lot more difficult without Cloud Control. I’ve mentioned this a number of times, but it’s worth saying again… If you have more than a handful of Oracle databases, you really should be using Cloud Control these days. It’s as simple as that.

Just in case you are wondering, this is how our infrastructure looks this morning… 🙂

em-all-green

Cheers

Tim…

Oracle 11gR2 and 12cR1 on Oracle Linux 7

I did a quick update of my Oracle installation articles on Oracle Linux 7. The last time I ran through them was with the beta version OL7 and before the release of 12.1.0.2.

The installation process of 11.2.0.4 on the production release of Oracle Linux 7 hasn’t changed since the beta. The installation of 12.1.0.2 on Oracle Linux 7 is a lot neater than the 12.1.0.1 installation. It’s totally problem free for a basic installation.

You can see the articles here.

There is a bold warning on the top of both articles reminding you that the database is not supported on Oracle Linux 7 yet! Please don’t do anything “real” with it until the support is official.

Note. I left the fix-it notes for the 12.1.0.1 installation at the bottom of the 12c article, but now 12.1.0.2 is available from OTN there is really no need for someone to be installing 12.1.0.1 other than for reference I guess.

Cheers

Tim…

 

 

Remote Cloning of PDBs and Non-CDBs (12.1.0.2)

I mentioned in a previous post that I would be revisiting some of my existing multitenant articles to include some of the features introduced in the 12.1.0.2 patch. Here’s one of them.

Not only have Oracle fixed the bug in 12.1.0.1 that prevented the remote cloning, but they’ve also added the ability to clone directly from non-CDB style instances, giving you another option for migrating from non-CDBs to PDBs. Pretty darn cool if you ask me! 🙂

Some more stuff will be amended over the coming days. If the changes result in some major rewrites I’ll probably blog about them. If not, I’ll just slip them into the articles and make a reference to the fact the specific feature was introduced in 12.1.0.2…

Cheers

Tim…

Oracle Licensing : It’s Your Responsibility to Comply

This little moan was inspired by some posts by Kevin Closson.

Kevin is awesome (I love you Kevin!), but I don’t happen to agree with him in this specific case*. Having said that, I do understand where he is coming from.

Earlier in the year my current employer had an Oracle license audit, which I wrote about here. I must admit I was quite nervous going into it. Oracle licensing is a tricky business and Oracle tend to ship a lot of functionality out-of-the-box, so it is easy for people to use things “by accident”. Having said that, Oracle do provide tools (DBMS_FEATURE_USAGE_STATISTICS) and documentation (Feature Availability by Edition) to help you keep track of things. You can also speak to Oracle License Management Services.

So now to the point of this moan and the title of this post. In my opinion, a DBA should have a basic awareness of licensing. I’m not talking about a profound knowledge of the licensing manual. I just mean a rough idea about database editions and options and how to find out what options you are using.

I think there are two distinct issues here:

  1. Some database options have an on/off switch and are turned off by default (like the In-Memory Column Store). If your DBA turns one of these on “by accident”, they should be fired. They are an idiot. Simple as that!
  2. Other database options are turned on by default, or even mandatory, but you are not breaking your licensing unless you use them. It’s very easy for a DBA or developer to copy something from a website or a MOS note and accidentally breach the license agreement. I have a lot of sympathy for people who fall into this trap. Anyone who was around in the early 10g days, when AWR, ADDM and ASH were first introduced, will remember the massive stink that caused. Click on the wrong page in EM or query the wrong DBA view and you’re in trouble. This was just plain wrong!

Anyway, enough of this moaning. I would be interested to know other people’s opinions though!

Cheers

Tim…

* So it turns out Kevin was correct in so far as the feature does get tracked as being used, but this is down to a bug. Presumably when that bug gets patched it will flush this usage and everything will be back to normal.

In-Memory Column Store and More

It was inevitable that I would have to have a play with the In-Memory Column Store.

It’s just a functional look. I have no idea about performance at the moment, although I should be starting a proof of concept in the next couple of weeks for one of our internal systems, so it will be interesting to see how it holds up. 🙂

Another thing that has come out of this release is the Full Database Cache Mode. That’s nothing to do with the In-Memory Column Store, but I can definitely see us using this on some of our stuff!

Finally, I’ve done a quick write up of the Smart Flash Cache stuff for my OCP exam notes.

It’s been out since 11.2.0.2, so I’m not sure why it is considered worthy of inclusion in the 12c DBA exam.

There have been a lot of changes to the multitenant option, so I’m probably going to spend some time amending/rewriting those articles to take on board the new stuff. From what I can see so far, the stuff they’ve added has certainly plugged a lot of “holes” in that option. Looks good so far!

Cheers

Tim…

Oracle Linux 7 Released

With all the excitement around the release of Oracle Database 12.1.02, it’s easy to forget that there is other stuff going on as well.

I’ve just noticed that Oracle have announced the release of Oracle Linux 7. You can download it now from eDelivery.

Just remember, it takes quite a while to get products certified on this stuff, so although I’ve already tried installations on the beta versions, I would not install any Oracle products on this stuff “for real” until the official certification is announced for each product.

Cheers

Tim…

Oracle Database 12c Release 1 (12.1.0.2) Patch Released

I just read this post by Dirk Nachbar, saying that 12.1.0.2 is now available from edelivery.oracle.com. I’ve downloaded it, so the rest of the world is now allowed to start their downloads. 🙂

I assume it will be available from MOS also at some point.

Cheers

Tim…

PS. It will allegedly be made available on OTN at some point in the future.