Invoker Rights in Oracle Database 12c : Some more articles

I wrote about the Code Based Access Control (CBAC) stuff in Oracle Database 12c a while back.

I’ve recently “completed the set” by looking at the INHERIT PRIVILEGES and BEQUEATH CURRENT_USER stuff for PL/SQL code and views respectively.

It’s pretty cool, but I’m not sure how much of it I will see in the wild as it will require developers to do a bit more thinking, rather than doing what they’ve always done… :)

Cheers

Tim…

Automatic Diagnostics Repository (ADR) in Oracle Database 12c

There’s a neat little change to the Automatic Diagnostics Repository (ADR) in Oracle 12c. You can now track DDL operations and some of the messages that would have formerly gone to the alert log and trace files are now written to the debug log. This should thin out some of the crap from the alert log hopefully. Not surprisingly, ADRCI has had a minor tweak so you can report this stuff.

You can see what I wrote about it here:

Of course, the day-to-day usage remains the same, as discussed here:

Cheers

Tim…

Articles on Oracle Database 12c Multitenant Option

From a technology perspective, the Multitenant option is really cool, but it can be rather difficult to get to grips with some aspects of it. Everything is so intertwined and every feature in 12c somehow links back to the Multitentant option. As I’ve been working my way through the features the same pattern keeps repeating.

  • Write an article on a feature X.
  • Put it live.
  • Move on to looking at feature Y.
  • Notice something about feature Y that affects the article I’ve written about feature X.
  • Go back and revise the article on feature X.
  • Rinse and repeat.

This pattern has made me rather reluctant to post anything on the blog about new articles, because although I don’t release articles until I think they are finished, all these Multitenant articles feel very much like a work-in-progress. I fully expect to step back and revise/rewrite all of them as I figure more out about this stuff.

The first link is not so much an article, more of a links page. I originally wanted to write about Multitenant as a single article. Looking back now that is quite laughable. Ten articles in and I’ve barely scratched the surface. As I keep adding more content, I’ll keep adding it to the overview article, so it remains the index page for the option.

I’ve said it before and I’ll say it again, it’s going to take a long time to get fully up to speed with this option, so you really need to start learning about it now!

Cheers

Tim…

Data Pump Enhancements in Oracle Database 12c

Another one to file under “Not sexy but flippin’ awesome!”

If you are a DBA, you are going to spend a lot of time with Data Pump. All roads seem to lead back to it. :) There are some more headline worthy features, like transportable database, but the two that jumped out at me were actually pretty small, but awesome.

  • “TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y” – Switches table and/or index imports to NOLOGGING for the lifespan of the import operation.
  • “LOGTIME=ALL” – Puts a timestamp in the output message so you can see how long individual operations took.

I wrote up an article about it here.

Cheers

Tim…

Warning: Problems with 9.2 clients connecting to databases patched to 11.2.0.4…

I mentioned this a couple of days ago on Twitter, but I’ve only just go round to posting here…

I recently had to back out some 11.2.0.4 patches because the patch seems to cause problems with Oracle 9.2 client connections where 11.2.0.3 worked fine. I’m not sure how widespread the problem is. All I can tell you is we had two separate occasions (services) where this happened, so we’ve put a halt on patching to 11.2.0.4 until we can identify and upgrade the old clients.

Why are there 9.2 clients lurking around? In some cases it’s due to certification of legacy apps. In other cases it’s because the service owner has been working on a, “if it ain’t broke, don’t fix it”, basis. I guess now it’s broke, we gotta fix it. :)

If you have legacy client installations lurking around, you might want to tread carefully when testing this patch.

Good luck!

Cheers

Tim…

PS. At this point I am not sure what patch level the 9.2 clients are, so if you have a later patch level you might be OK. See MOS note 207303.1

Cloud Control 12c Database Backup Jobs (Continued)

I’ve been rather critical of the way Cloud Control handles database backup jobs, as can be seen in these two previous posts.

Yesterday I found out I schedule database backups in Cloud Control the “wrong way”…

So typically, when I am sorting out a new database, I do something like this:

  • If the host doesn’t already have an agent, push one out the to server.
  • Discover the targets. For existing hosts, this may just be discovering a new database.
  • Tell Cloud Control to used the RMAN catalog for backups. (Oracle Database > Availability > Backup & Recovery > Recovery Catalog Settings)
  • Set the default location for the backups and any other stuff. (Oracle Database > Availability > Backup & Recovery > Backups Settings)
  • Finally schedule the backup. (Oracle Database > Availability > Backup & Recovery > Schedule Backups…)

Notice how all the backup-related things come from the same location (Oracle Database > Availability > Backup & Recovery). Obvious right? Wrong!

So it turns out, if you schedule the backup using the (Oracle Database > Availability > Backup & Recovery > Schedule Backups…) screen, you do schedule a backup job, it works and it is visible in the (Enterprise > Job > Activity) screen, but it is not a “real” Cloud Control job. It is actually created using the job type of “Backup”, which is not a supported job type, rather than the job type “RMANScript”.

If you schedule a backup in this way, you can’t:

  • use the job library.
  • do a create-like of an existing job.
  • edit most of the details about the job after it’s created, including the RMAN script.
  • describe the job using EMCLI.

So what is the solution? Well, you do all the prep in the same way, but you don’t actually schedule the job using the (Oracle Database > Availability > Backup & Recovery > Schedule Backups…) screen. You do it directly from the (Enterprise > Job > Activity) screen. If you do it from here, then you get to pick the “RMANScript” job type and suddenly everything works much better and things seem a lot more consistent. Basically, you’ve created a “real” Cloud Control job.

So in my latest round of [enchancement requests | bug reports] I got the answer back from development that I was doing it wrong, which is good to know, and they want to close the SR. My response to that was, why do you let me do it the “wrong way”? Why does the (Oracle Database > Availability > Backup & Recovery > Schedule Backups…) screen not schedule a “real” Cloud Control job? It seems odd to me that you build a product that lets you do things inconsistently. It’s probably a throw back to the old DBConsole stuff, but that doesn’t make it any less annoying.

I’m going to recreate all my backup jobs to make them use the “RMANScript” job type, which will solve my EMCLI issues, but I really think this mess should get cleaned up. I wonder how many other people out there are not creating “real” Cloud Control jobs for their database backups?

I’m going add this blog post to my SR and see what the response is…

Cheers

Tim…

Quick Pluggable Database (PDB) Update…

I’ve been playing around with using SQL Developer and Cloud Control 12cR3 for managing pluggable databases (PDBs) this morning. I’ve added a couple of quick references to my PDB article.

If you understand the DBCA and SQL*Plus approach, the SQL Developer and Cloud Control screens are pretty self explanatory, so I’ve made my references to them brief. :)

Cheers

Tim…

Upgrading to Oracle Database 12c : First Steps…

I’ve taken my first tentative steps into upgrading to Oracle 12c.

This article is targeted at the type of information you are likely to need for the 12c OCP DBA exam. In reality, upgrades are too important to rely on a generic article like this. Every time I do a real upgrade I go back to the upgrade docs and work my way through them. That’s the only way to make sure you’ve not missed out an important step, specific to the features you are using.

My first impressions are:

  • The DBUA looks a little different, but not enough to scare you.
  • The manual upgrades are very different and will take a bit of getting used to.
  • I think the transport database option is quite interesting, restrictions permitting.

I don’t know how long it will be before I have to do a “real” upgrade to 12c. It probably won’t happen until 12cR2…

I’ve recently installed a clean 12c instance at work to hold a FMW repository, but that is for a throwaway test VM. If it were a real installation we would no doubt be using 11gR2.

Cheers

Tim…

Windows Blue (8.1) and Oracle Database 12c

Inspired by this article, I decided to download Windows Blue 8.1 and install it on VirtualBox. Once Classic Shell was installed it looked almost usable. :)

The Windows version of Oracle 12c is now available, so that seemed like the obvious thing to try next. That went really smoothly.

Windows81-Oracle12c

I’m bored with Windows now, so I’m off back to Linux. :)

Cheers

Tim…

Top-N Queries and the Multithreaded Model in Oracle 12c…

A couple of new 12c articles have rolled off the press. Both of them small, but interesting to me.

These resulted in amendments to a couple of old articles.

I wonder how many people will start using the multithreaded model and still try and kill sessions on the operating system using the UNIX/Linux process ID? :)

Cheers

Tim…