Multitenant Enhancements in Oracle Database 12.2 (Some More Articles)

The Oracle Database 12c Release 2 (12.2) learning process continues. I’m determined to get to the bottom of all this new multitenant stuff. šŸ™‚

Hereā€™sĀ the latest batch of articles.

So the last one is actually for 12.1, but I hadn’t written about it already, so I added it.

I also updated this article to include the “CONTAINERS Hint” feature functionality.

There is a new feature listed in the docs as as “Support for PDBs with Different Character Sets, Time Zone File Versions, and Database Time Zones in a CDB”. I’ve already written about the PDB character set stuff and it is also listed separately as a new feature. The time zone stuff works in 12.1, so it doesn’t appear to be a 12.2 new feature. The different Time Zone File Versions functionality, as far as I can see, relates to OCI client connections to the server and was introduced in 11.2. With all that in mind, I’m really not sure what this listed new feature specifically relates to. If someone can clear that up for me I would be really grateful, as I’m wondering if I’ve just missed the point somewhere. šŸ™‚

Iā€™veĀ added these to theĀ list of all my multitenant articles here.

Cheers

Timā€¦

Video : Table Point In Time Recovery (PITR) in Oracle Database 12c

It’s been a while, but here is a the latest video.

If videos aren’t your thing, you can read the articles here.

The star of this video is Uwe Hesse, who I recorded at UKOUG Tech 15. Yes, I did mean “15”. I have a bit of a backlog to work through. šŸ™‚

Cheers

Timā€¦

PS. Subscribe to my YouTube channel here.

PL/SQL Objects for JSON in Oracle 12cR2

I’ve been playing around with some more of the new JSON featuresĀ in Oracle Database 12c Release 2 (12.2).

The first thing I tried was the new PL/SQL support for the JSON functions and conditions that were introduced for SQL in 12.1. That was all pretty obvious.

Next I moved on to the new PL/SQL objects for JSON. These are essentially a replacement for APEX_JSON as far as generation and parsing of JSON data are concerned.Ā If I’m honest I was kind-of confused by this stuff at first for a couple of reasons.

  • If you are coming to it with an APEX_JSON mindsetĀ it’s easy to miss the point. Once you “empty your cup” it’s pretty straight forward.
  • The documentation is pretty terrible at the moment. There are lots of mistakes. I tweeted about this the other day and some folks from the Oracle documentation team got back to me about it. I gave them some examples of the problems, so hopefully it will get cleaned up soon!

I was originally intending to write a single article coveringĀ both these JSON new features, but it got clumsy, so I separated them.

The secondĀ one isn’t much more than a glorified links page at the moment, but as I cover the remaining functionality it will either expand or contain more links depending on the nature of the new material. Big stuff will go in a separate article. Small stuff will be included in this one.

I also added a new section to this recent ORDS article, giving an example of handling the JSON payload using the new object types.

I’ve only scratched the surface of this stuff, so I’ll probably revisit the articlesĀ several times as I become more confident with it.

Cheers

Tim…

PS. Remember, you can practice a lot of this 12.2 stuff for free atĀ https://livesql.oracle.com .

Oracle Database 12c on Fedora 25

I was having a play around with Fedora 25 last weekend and I just noticed there was no associated blog post about it, so here goes.

First the warning I always have to include.Ā Do not install Oracle on Fedora before reading this!Ā With that out of the way, let’s continue.

Since Fedora is the proving ground for future releases of Red Hat Enterprise Linux (RHEL) and I’m a fan of running Oracle on a binary clone of RHEL called Oracle Linux (OL), I am curious about any new release.

Not surprisingly, Oracle database 12c installs really easily on Fedora 25, just as it did on previous releases.

I did have the usual problem with the Perl stuff, as I’m running the VM on aĀ relatively modern MacBook Pro, which has a CPU that freaks out the version of Perl shipped with Oracle, but the article includes a link about how to fix that. I’ve repeated the installation under VirtualBox on systems using older chips (my work PC and an old server at home) and it works without complaint. No drama.

So all seems well in the world of Oracle 12c on Fedora 25. Now you know how to do it, please don’t. Use Oracle Linux. šŸ™‚

Cheers

Tim…

Multitenant : It’s easy to screw up!

multitenantSomeĀ things happened to me yesterday which I thought I would pass on, in case it helps others. This is not necessarily a criticism of the Multitenant architecture itself, butĀ more about my misuse of it. šŸ™‚

I’ve complained numerous times about the inclusion of the shared APEX installation used with theĀ Multitenant option. I’m sure it is great for some companies that provide APEX as a service, but it’s not the right option for me.Ā I would typically recommend removing it before you create a PDB, as described here. So what did I do yesterday? I banged out a script as a variant of a non-CDB build and totally forgot about the shared installation. When everything was finished I patted myself on the back, then noticed my mistake. šŸ™ I had to remove the PDBs from 3 instances, remove the shared APEX installations, the recreate the PDBs. Luckily it was early on in the process, so it wasn’t a great drama. It would have been significantly more annoying if I hadn’t noticed for a few days!

Next up I nearly cloned a PDB, which would have left me with 2 PDBs in the instance, and potentially a big bill for the Multitenant option. I was literally about to hit the return key when I realised what I was doing. šŸ™ Needless to say IĀ immediately added a trigger to all my instances to prevent any future stupidity on my part. You can see what I did here. As I say in the article, I’m not sure if there is some hidden long term tracking of the maximum number of PDBs in a CDB, but I’m a paranoid type… šŸ™‚

As an aside, I also noticed that when I add a new PDB to a CDB it takes Cloud Control 13c a long time to notice the PDB is there. I did try to give it a nudge by doing theĀ following, but it didn’t seem to notice.

  • HighlightĀ the CDB in the database target list.
  • Click the “Configure” button.
  • Scroll down and click the “Sync Pluggable Databases” button.

It didn’t recognise the change, even though it was clear in the V$PDBS and CDB_PDBS views. Not sure if this is normal or if I just got unlucky. Everything looks OK now… šŸ™‚

Cheers

Tim…

Data Guard Broker : 11g and 12c

vault-154023_640I’ve been using standby databases, on and off, since Oracle 8i. I first wrote about Data Guard for Oracle 9i. I’ve had an article on 11gR2 Data Guard for ages, but up until recently I’ve always used the manual setup.

We’ve got a project coming up that *may* use Data Guard and *may* be installed by a 3rd party, so I figured I better get up to speed with the Data Guard Broker, inĀ case they go that route. It’s been on my list of things to look at since 10g, butĀ I’ve never got round to it until now. šŸ™‚

At this point, I still don’t know if the project will use 11g or 12c, so I had a play with both, which resulted in a couple of overview articles.

From the overview perspective, the usage is pretty much the same. I really only did the 11g one in case that’s the route this project goes. I didn’t bother putting the 11g one on the front page of the website, because I consider it a “backfill” article. šŸ™‚

After having a play with the broker, I actually quite like it.Ā It definitely feels like a simpler and neater solution than doing all the configuration manually.

Remember, this Data Guard stuff is for EE installations. If you use SE, you might want to take a look at Dbvisit, who have a product that allows you to manage standby databases for Oracle SE.

Cheers

Tim…

PS. I’m not sponsored by Dbvisit and I have no business links with them. I just think they are a great bunch of people and I like what they do.

Fedora 24 and Oracle 12c

fedoraFedora 24 was released a few days ago. As usual I had a play around with it and tried installing Oracle on it.

First comes the warnings, because people keep misunderstand why I do this. Do not install Oracle on Fedora before reading this!

With that out of the way, here’s what I did.

No real drama here. It was pretty much the same as Fedora 23 in that respect.

It’s kind-of hard to get excited about a new version of Fedora since I switched my desktop from Fedora to Mac. One thing that was interesting is the change to the upgrade process. In previous releases I used “fedup” to do it. Now it’s pretty much done using DNF (YUM). If you are interested, you can read about it here.

Cheers

Tim…

Video : Indexing JSON Data in Oracle Database 12c

Following on from last week’s post, today’s video is about indexing JSON data in Oracle Database 12c.

If videos arenā€™t your thing, you might want to read these articles, which the videos are based on.

The cameo in this video comes courtesy of Bertrand Drouvot, who was a silent extra in the previous video too.Ā šŸ™‚

Cheers

Timā€¦

Video : JSON Support in Oracle Database 12c

Today’s video is a sprint through some of the JSON support in Oracle Database 12c.

If videos aren’t your thing, you might want to read these instead.

The cameo in this video comes courtesy of Yves Colin, who I’ll seeĀ again in a couple of weeks at the Paris Province Oracle Meetup. A couple of extras (Bertrand Drouvot and Osama Mustafa) wanted to get in on the act too. šŸ™‚

Cheers

Tim…

TABLE Operator with Locally Defined Types

postit-missed-itIn myĀ OUG Ireland 2016 – SummaryĀ post I mentioned theĀ Oren NakdimonĀ session called ā€œWrite Less (Code) with More (Oracle 12c New Features)ā€. One of the things he mentioned was the removal of restrictionsĀ associated withĀ the use ofĀ the TABLE operator on local table types. If I had read about this or seen it before, it had certainly slipped my mind, so I made a note to write something about it and add a link to it fromĀ my PL/SQL new features article. So here it is.

It’s a neat little feature.

Cheers

Tim…