Multitenant Enhancements in Oracle Database 12.2 (The Next Batch)

I’ve continued playing with some of the new multitenant functionality in Oracle Database 12c Release 2 (12.2).

Here’s the latest batch of articles.

This article is not a multitenant article as such, but you can use the functionality in a PDB.

I’ve added these to the list of all my multitenant articles here.



How to get started with Oracle Database 12c Release 2 (12.2) today?

If you follow my website or the blog, you will know I’ve been putting out some articles about Oracle Database 12c Release 2 (12.2) recently. They are often followed by a question asking when it will be available for download. The answer is…


Even though we don’t currently have a downloadable version of 12cR2, that doesn’t stop you learning it. You can start today! There are two easy ways.

  1. Get a free trial on Oracle Database Cloud Service. Click the “Try It” button and fill out the details using a corporate email address. I don’t think it likes your typical free email addresses (Gmail, Outlook, Yahoo), but maybe that has changed recently. Since my 1 year free trial ended I’ve used a couple of 30 day free trials. It’s a bit of a pain to lose it after 30 days, but I keep all my stuff scripted, so it’s easy for me to rebuild stuff. You can test a lot of stuff using this if you are creative.
  2. Try out It’s free and it’s running on 12.2 now. You can only do basic development type stuff, but it means you can start trying SQL and PL/SQL new features today.

It would be really nice if, which is still on, got upgraded. 🙂

Don’t let the lack of a downloadable version of 12cR2 stop you learning this stuff. There is a load of stuff you can try out just using these two services.

Even if you don’t want to start playing yet, you should probably check out the New Features Manual. It’s always good to know what is coming as it might make you approach existing work slightly differently.



Multitenant Enhancements in Oracle Database 12.2

I’ve started playing with some of the new multitenant functionality in Oracle Database 12c Release 2 (12.2). There’s a lot of really cool stuff in there, which makes the multitenant architecture even more interesting. You can get a free trial of the Oracle Database Cloud Service and check it out if you like. 🙂

Here’s what I’ve been doing over the holidays.

There’s a lot more to cover yet though. I think it could be another 22 articles just on the multitenant stuff. This is just the beginning. 🙂

As always with the new stuff, it’s getting revised constantly as I learn more. I’m also having to go back and edit some stuff from 12.1, just to make reference to the changes in 12.2.

I’m maintaining a list of all my multitenant articles 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.



PS. Remember, you can practice a lot of this 12.2 stuff for free at .

Oracle Database Cloud Service : Say Hello to Oracle Database 12cR2 (12.2)

cloudAs pointed out by Franck Pachot in a tweet about 5 hours ago, Oracle Database 12cR2 (12.2) has now come to the Oracle Database Cloud Service.

12cR2 has been available since Oracle OpenWorld if you were using the Oracle Exadata Express service, but I wasn’t, so this is the first time this version of the database has become accessible to me.

Obviously I’m going to start writing about 12.2 now, but there will still be some things that are off limits. There won’t be any installation articles produced until the on-premise release is dropped.


If you have access to the DBaaS service on Oracle Public Cloud, I’m sure you will be busy for a few months. 🙂



Update 1: I’ve been trying on the EM2 data centre all weekend and it’s not worked yet. I think they are only part way through setting up the service.

Update 2: It’s working now. 🙂

Oracle WebLogic 12cR2 and ADF Runtime Installations…

The new versions of the WebLogic 12cR2 and ADF could not have come at a worse time for me. My top priority is learning about the 12cR1 version of the database. Second, is getting to grips with Cloud Control 12cR3. Third on the list is getting up to speed with the changes in WebLogic 12cR2 and ADF. Unfortunately, my personal priorities don’t quite match my work priorities, so WebLogic 12cR2 has moved up the list for a while. As a result, I did some installations last night.

I’ll have to play with this for a few days to get my head round it as I may be doing a test installation at work early next week.

A word of warning. I am a self-confessed WebLogic newbie. If you ask me questions about it I will be redirecting you to people who actually know what they are talking about…



How can we make Oracle Database 12cR2 the best release ever?

Oracle will be releasing Oracle Database 12cR1 at some point this year. Many companies will avoid this release, opting to wait for 12cR2, their reasoning being it will be more stable and, as a terminal release, will have a longer support life-cycle. Since 12cR2 is what most businesses care about, what can we do to make it as good as it can possibly be? Here are a few thoughts…

  • For a start, you’ve got to use 12cR1 in your organization to understand what it does well and what is a bit crappy about it. If you don’t figure this out during 12cR1, chances are your wishlist will not be ticked off in 12cR2. I’m not saying launch straight into production, but don’t just place your head in the sand either.
  • Report every bug you find, even those that already have resolutions in MOS. Lots of people, including myself, complain about how buggy the Oracle database has become as the functionality has expanded. Workload in any organization has to be prioritized. Chances are, the things that people shout about the most are the things that Oracle will get done. If we all make our feelings known by logging every bug that affects us and explain why/how it is impacting on us, it can only help the cause.
  • Report bugs in the documentation. The Oracle docs have improved a lot over the years, but there is always room for improvements. In the old days you had to report faults in the documentation as SRs. Now, you just need to add comments directly in the documentation, which is a lot quicker and easier. When you see a problem, report it. If you think something is missing, ask for it. Once again, if enough people shout about something, it may affect the priority.
  • File enhancement requests. You often come across things that almost solve your problem, but not quite. If that’s the case, file an enhancement request on MOS. If enough people ask for stuff it will probably get added. Even better if you have an example of how cool that feature is in another DB engine. 🙂
  • Get involved in beta programs. This is not always as easy as it sounds. I would love to have been involved in the 12cR1 beta program, but I was not considered worthy. 🙂 If your company can get involved in beta programs it’s a good way to help improve and shape the product. The more issues logged during the beta testing period, the more likely the final product will live up to your expectations.
  • Make sure Oracle salespeople know and understand your priorities. At the end of the day, Oracle exist to make money. In most commercial companies the sales department have a disproportionate influence on the direction of the products. At every opportunity, make it know what *your* priorities are. I love the new and geeky stuff, but to be honest, most of the work I see people doing requires little more than what was available in Oracle 7. If bug fixes and stability are more important to you than new functionality, make it known.

I have no knowledge of the internal workings of Oracle as a company, so I can’t guarantee these suggestions will have any impact, but I think of this the same way as I do about voting in elections. If you don’t voice your opinions, you don’t really have any right to complain. If Oracle know exactly what their customers want and don’t deliver, they only have themselves to blame if everything goes wrong. If we as customers don’t make our opinions known, we shouldn’t be surprised if Oracle keep chasing the next buzzword, rather than doing what matters to us.



Cloud Control 12cR2 : Is it really release 2?

Oracle Cloud Control 12cR2 is installed and merrily monitoring one of the test 11gR2 databases running on HP-UX. I’ll probably leave it like that until I come back from Oracle OpenWorld. I don’t want to change the entire administration and monitoring infrastructure just as I leave for a couple of weeks.

As I’m re-familiarizing myself with the 12c way of doing things, I’ve been wondering if this really is a full “Release 2” product, or just 12cR1 with Bundle Patch 2. Not surprisingly, one of my readers asked the same question, pointing out the version does not look consistent with a “Release 2” product, which would typically be

I take Oracle version numbers with a pinch of salt. I’m currently using WebLogic version 10.3.5, which is 11g WebLogic. 🙂 At least WebLogic 12c has been versioned appropriately. 🙂

So why the 12cR2 branding, when 12cR1 of the database hasn’t been released yet? My guess is this is a marketing move for one very specific reason. One of the big marketing messages around Cloud Control was its ability manage clouds and allow you to charge customers based on their resource usage. While speaking recently to a representative of a large oracle customer/partner, I found out this functionality plain didn’t work, at least not with their selection of (latest version) Oracle products.

Assuming Cloud Control 12cR2 is now actually capable of delivering on this promise, that represents quite a big change that’s probably worthy of a re-brand, even if the version number doesn’t warrant it.

Of course, this is all speculation on my part. I’m not using it for managing clouds or charging customers. I’m just a regular DBA who likes to watch the performance page every few minutes while doing my administration in SQL*Plus. 🙂



Update: See Hans’ comment about the version number. He’s quite correct that this version falls in line with a new release in the GC/CC universe.

Enterprise Manager Cloud Control 12c Release 2…

Enterprise Manager Cloud Control 12c Release 2 was released a couple of days ago for all the major platforms. That in itself is not news any more, but the fact we are going to trial it at work as a replacement for our 11g Grid Control installation is.

It’s in my low priority task list, so I’m not sure I’ll get it all sorted before OOW12, but it is something to look forward too. I know it’s tragic, but I’m quite excited. 🙂