Fedora 23 and Oracle 11gR2/12cR1


A few months ago I mentioned doing some Fedora 22 installations. At the time I did some pre-emptive installations on the Alpha release of Fedora 23 also.

Now the final release of Fedora 23 is out, I’ve run through the articles again to make sure things are all ship-shape.

It’s pretty much as it was before, with the nice bonus that the “MATE Desktop” package group has been fixed. Happy days! :)

As always, installations of Oracle server products on Fedora are not a great idea, as explained here.

If you do like playing with this stuff, knock yourself out… :)



Multitentant (Pluggable Database) Videos


It’s been over 2 years since 12c was released and there still seems to be a lot of confusion about the pluggable database stuff. I think most people know the top-level concept, there’s only so many times you can see the memory stick analogy before it gets burned on your skull, but that doesn’t do much to help with the reality of working with it day-to-day.

I’ve written a whole bunch of articles on pluggable databases (listed here), but even then I think there is quite a bit of text for what in many cases is a feature that consists of a single statement. :)

I’ve recently been pushing out some videos on this stuff and I’ve got some more already recorded for release while I’m at OOW. Of course, the articles allow you to copy/paste your way through an example, but I think the videos give a more accurate representation of just how simple some of this stuff is from a functional perspective. If you are interested, all the multitenant stuff will be added to this playlist as it is released.



PDB Logging Clause… Again…


About 14 months ago I spotted a problem with the PDB Logging Clause. I opened an SR and several months later I got a patch, which unfortunately didn’t fix the issue, just altered the symptom somewhat. I wrote about that patch here.

Yesterday I got a new patch, which actually does fix the problem, so now the PDB Logging Clause works as documented!

I’ve updated the PDB Logging Clause article to reflect the change.

I realise it’s a small issue, with an easy workaround, but 14 months seems a bit excessive. :)



Adaptive Query Optimization in Oracle 12c : Ongoing Updates


I’ve said a number of times, the process of writing articles is part of an ongoing learning experience for me. A few days ago my personal tech editor (Jonathan Lewis) asked about a statement I made in the SQL Plan Directive article. On further investigation it turned out the sentence was a complete work of fiction on my part, based on my misunderstanding of something I read in the manual, as well as the assumption that everything that happens must be as a result of a new feature. :)

Anyway, the offending statement has been altered, but the conversation this generated resulted in new article about Automatic Column Group Detection.

The process also highlighted how difficult, at least for me, it is to know what is going on in the optimizer now. It wasn’t always straight forward before, but now with the assorted new optimizations, some beating others to the punch, it is even more difficult. There are a number of timing issues involved also. If a statement runs twice in quick succession, you might get a different sequence of events compared to having a longer gap between the first and second run of the statement. It’s maddening at times. I’m hoping Jonathan will put pen to paper about this, because I think he will do a better job of explaining the issues around the inter-dependencies better than I can.

Anyway, I will be doing another pass through this stuff over the coming days/weeks/months/years to make sure it is consistent with “my current understanding”. :)

Fun, fun, fun…



Fedora 22/23 and Oracle 11gR2/12cR1


linux-tuxAs always, installations of Oracle server products on Fedora are not a great idea, as explained here.

I was reading some stuff about the Fedora 23 Alpha and realised Fedora 22 had passed me by. Not sure how I missed that. :)

Anyway, I did a run through of the usual play stuff.

While I was at it, I thought I would get the heads-up on Fedora 23 Alpha.

The F23 stuff will have to be revised once the final version is out, but I’m less likely to forget now. :)

I guess the only change in F22 upward that really affects me is the deprecation of YUM in F22 in favour of the DNF fork. For the most part, you just switch the command.

yum install my-package -y
yum groupinstall my-package-group -y
yum update -y

dnf install my-package -y
dnf groupinstall  my-package-group -y
dnf group install  my-package-group -y
dnf update -y

This did cause one really annoying problem in F23 though. The “MATE Desktop” had a single documentation package that was causing a problem. Usually I would use the following.

yum groupinstall "MATE Desktop" -y --skip-broken

Unfortunately, DNF doesn’t support “–skip-broken”, so I was left to either manually install the pieces, or give up. I chose the latter and use LXDE instead. :) F23 is an Alpha, so you expect issues, but DNF has been in since F22 and still no “–skip-broken”, which I find myself using a lot. Pity.



Emergency Monitoring, Real-Time ADDM, Compare Period ADDM, and Active Session History (ASH) Analytics


My recent dalliance with YouTube (141 subscribers and growing! :) ) has left the blog feeling a little bit unloved of late, but then why write when you can waffle in the car? :)

Anyway, the 12c learning train keeps on rolling. I’ve recently put the following articles live.

These are all listed as 12c new features in the 1Z0-060 “Upgrade to Oracle Database 12c” OCP upgrade exam, which I find a bit odd. Two of them are EM12c features, not database features. The other two are existing EM12c features that are now available directly from the database, but I can’t see myself ever using them on the server when it is much easier to do it from Cloud Control. Whatever! :)

Getting close to the end of the OCP syllabus now… I’ll soon have to consider sitting the exam…



LATERAL Inline Views, CROSS APPLY and OUTER APPLY Joins in 12c


love-sqlI was looking for something in the New Features Manual and I had a total WTF moment when I saw this stuff.

If you look at the final section of the article, you can see in some cases these just get transformed to regular joins and outer joins, but there is certainly something else under the hood, as shown by the pipelined table function example.

I think it’s going to take me a long time before I think of using these in my regular SQL…



Update: The optimizer has used LATERAL inline views during some query transformations for some time, but they were not documented and therefore not supported for us to use directly until now. Thanks to Dominic Brooks and Sayan Malakshinov for the clarification.

Auditing Enhancements (Audit Policies and Unified Audit Trail) in Oracle Database 12c


security_image1_smallA little over a year ago I was at the BGOUG Spring Conference and I watched a session by Maja Veselica about auditing in Oracle Database 12c. At the time I noted that I really needed to take a look at this new functionality, as is was quite different to what had come before. Fast forward a year and I’ve finally got around to doing just that. :)

I’ve tried to keep the article quite light and fluffy. The Oracle documentation on this subject is really pretty good, so you should definitely invest some time reading it, but if you need a quick overview to get you started, my article might help. :)

My 12c learning experience continues…



Partitioning Enhancements in Oracle Database 12c Release 1


I was planning to cover this subject in a single article, but it got a bit bulky, so I split it down into 6 little articles.

I’ve also created a links page to bring them all together.

I guess you could call it a list of nice-to-haves, rather than something revolutionary, but I’m sure someone will come back to me saying one of them has changed their life! :)



Windows 10 : It’s like totally amazing and junk…


I decided I wanted to play with the newly released Spartan browser on Windows 10. Spartan comes with Windows 10 (build 10049), which does not have an ISO download available at the moment. So instead, I downloaded the x64 ISO image of Windows 10 (build 10041) and installed it on VirtualBox.

To get build 10049 you have to switch the Windows Update settings from “Slow” to “Fast”, which gives you access to the latests builds as soon as they are available.


That done, Windows Update will then download build 10049, which is pretty much a full OS download again. Once rebooted, the OS auto-installs for ages, with a few reboots, but when it is done you are left with the latest Windows 10 build.

It boots to the desktop and feels quite similar to Windows 8.1. If you are interested in the latest start menu, here it is.


If I’m honest, I’ve never seen the Windows 8.1 start menu live. The Windows 8 menu was so bad I installed Classic Shell on the Windows 8 machines for my family. I’ve never removed it since the 8.1 upgrade. As a result, I don’t really know if this Windows 10 start menu is new or like the 8.1 menu. I would probably stick with this menu myself, knowing that Classic Shell is always available if it pisses me off. :)

Most importantly, THIS IS SPARTA(N)!


Not surprisingly, it’s a just a browser and any site that sticks reasonably close to the standards will work fine.

So that was the fun bit. Now I’ve got to look at what this is going to break. I’m guessing Oracle Forms isn’t going to like it. :)



PS. Alex – By “and junk” I was not implying it is junk. Este Uimitor!

Update: Installed Oracle Database 12c on Windows 10 without any problems. Happy days!