OUG Ireland 2015 : The Journey Begins

The day started early, about 1 hour before my alarm in fact. I got up, lay in the bath for a while drinking a can of Monster and considering the day ahead, got out of the bath, puked, then got my shit together ready for the taxi. I’ve been ill this week. That combined with sleep deprivation, nerves and the Monster kinda turned my stomach.

The taxi ride to the airport was really good. The driver was a really cool bloke and I enjoyed talking to him.

I arrived at the airport with a couple of hours to spare. It’s a bit silly for such a short flight when I have to check in online and I only have a laptop as baggage, but I would rather be early than late for my £27 flight to Dublin. :)

We got seated in the plane and were told we had a 60 minute delay. One guy started to freak out. It was like an episode of the Jeremy Kyle show. I was waiting for someone to come in with the DNA results, to prove he was not the father of the baby etc. No punches were thrown…

We ended up taking off about 50 minutes late. My first session was after 12:00, so I wasn’t too worried. The girls next to me used the time to do their make-up. Apparently it takes about 40 minutes to achieve “the natural look”. The combination of that, the selfies and the giggling about stuff on Snapchat made me feel very old!

On arrival it was a quick taxi ride to Croke Park, then OUG Ireland started for me.

Cheers

Tim…

PDB Logging Clause : What you give with one hand, you take away with the other…

The Oracle 12c 12.1.0.2 release came with a bit of functionality called the PDB Logging Clause. Or to put it another way, it didn’t because the feature just didn’t work. I raised an SR highlighting the issue.

The PDB logging clause is meant to allow you to define a default logging clause for the whole PDB. If a tablespace is created in the PDB without an explicit logging clause, the current PDB logging clause setting should be used.

It was listed as a new feature in 12.1.0.2, but like I said, it just didn’t work. You could alter the PDB logging clause setting, but the CREATE TABLESPACE command seemed oblivious to this setting…

I wrote an article about the feature, with a big note about it not working, because it confused the hell out of me when I was looking at it and I saw a bunch of other blogs talking about the feature, without mentioning it was actually broken. I figured it might be worth setting the record straight for any confused parties out there.

Today (6 months later) I got an update to the SR telling me the issue had been fixed by patch 18902135. I downloaded the patch and applied it to a test instance. At first it looked like it was working, but it has introduced a new problem. Once patched the functionality does the following.

  • If the PDB logging clause is set to NOLOGGING, any new tablespaces created without an explicit logging clause are created as NOLOGGING. That sounds like a step in the right direction! It didn’t do this before the patch was applied. :)
  • Unfortunately, you *can’t* override this by explicitly specifying the logging clause in the CREATE TABLESPACE command.

The docs are quite clear about how it should work.

“The specified attribute is used to establish the logging attribute of tablespaces created within the PDB if the logging_clause is not specified in the CREATE TABLESPACE statement.”

Fortunately, there is a workaround, which is to assume the feature doesn’t exist and keep doing things the way you always have. That is, manually define tablespaces as NOLOGGING when you need them.

I’ve added the problems associated with the current “bug fix” to my SR and this has been referred back to development. Let’s see how long the fix for this takes… :)

Cheers

Tim…

Oracle Midlands Event #8 : Summary

Last night was Oracle Midlands Event #8 sponsored by Redgate.

There was a problem with the projector, but fortunately there were a couple of large TV screens, so it didn’t have to be a complete no-slide zone. Neither of the talks relied on displaying lots of code, so I don’t think this caused a big problem.

First up was Chris Saxon speaking about Edition-Based Redefinition. I’ve done talks on this subject, so I was interested to see how Chris approached it. The talk started with an explanation of the problems associated with deploying new versions of PL/SQL code to production, then moved on to possible solutions available prior to 11gR2. Once that ground work had been established, he moved on to explain how EBR can be used to make the process more robust, focussing on some specific pieces of the EBR functionality. I preferred his approach to the subject than my own, so I was taking a bunch of notes about his presentation style. There is always something to learn. I thought it was a really good session and Chris handled the subject (and the projector issue) really well. His recent move to Steven Feuerstein’s advocacy/evangelist team at Oracle means I should get to see him speaking some more in the future, which will be cool.

After the food break, it was my session on “Pluggable Databases – What they will break and why you should use them anyway!” It was the first time I’ve done this session in front of a crowd, which is always a bit nervy. It seemed to go down pretty well. Here is the feedback from those who filled in the evaluations.

  • “Good presentation”
  • “Good presentation, dynamic material & delivery”
  • “A lot of content, probably requires a part 2″
  • “Scary!!!”
  • “Good information and entertaining delivery style”
  • “Excellent – superb topic & presentation skills”
  • “Very good talk. Much information gained”
  • “Brilliant & scary!”
  • “Informative, passionate & useful”
  • “Brilliant”
  • “Really good insight/information. Real world understanding which makes a real difference. As always brilliant!”
  • “Not bad for a beginner”
  • “Really enjoyed & challenging subject matter”
  • “Fantastic!”
  • “Good”

The, “Not bad for a beginner”, comment made me LOL when I read it. There are a couple of people I’m putting in the frame for that one. :)

It wasn’t my intention to make the Mulitenant option seem really scary. I thought I was doing a sales pitch for it, not scaring people off. Maybe I need to re-frame things a little… :)

Thanks to Mike for getting the event sorted and thanks to Redgate for the sponsorship. Thanks to Chris for coming along. Hopefully we can get him back again in the future. Big thanks to everyone who turned up to the event last night. Let’s keep this train rolling!

Cheers

Tim…

VirtualBox 4.3.24

VirtualBox 4.3.24 has been released. Downloads and changelog are in the usual places.

Regarding the upgrades:

  • Fedora 21 : No problems.
  • Mac OS X Yosemite : No problems.
  • Windows 7 : I had to use the task manager to kill the “VBoxNetDHCP.exe” and “VBoxSVC.exe” processes from the current installation before the upgrade could continue. Once those were killed, it installed and worked fine.

Happy upgrading!

Cheers

Tim…

Birmingham City University (BCU) Talk

Last year I spoke at the UKOUG Next Gen event at Birmingham City University (BCU). One of the lecturers, Stuart Hutchison, from BCU saw me speaking and asked if I was interested in coming to speak to the students about Oracle. He’s trying to get a handful of external speakers to come in during the year and speak on a range of subjects to give the students a feel for what’s going on out in the world. Life was pretty hectic towards the end of last year so it took quite a while to actually get something sorted out. On Monday I went to BCU and did my first talk to the students.

I was quite nervous in the lead up to the session. I’m used to a dealing with an Oracle technology crowd, but I didn’t really know what to expect from the students. I spent some time talking to Stuart to try and get a feel for what he wanted. He sent me some of their Oracle course material and labs, which helped me to pitch my stuff at the right level and stopped me treading on his toes. :) The students are currently in the middle of an Oracle security module, so I spoke about SQL injection, data redaction and transparent data encryption (TDE). The idea was to touch on a few subjects and leave plenty of time for questions.

I think it went pretty well, but I’ve got some room for improvement. :) Despite it being an Oracle talk, it is quite a different crowd, which needs a different approach. I’ll be going back in about a month to do another session before the exam season kicks off, so that should give me some time to work on my approach a bit.

Hopefully, I’ll be able to do some of these sessions every year. I’m interested to see how this helps me develop as a speaker. Let’s see how it goes. :)

Cheers

Tim…

Transparent Data Encryption (TDE) in 12c and RTFM Carefully

I keep thinking I’m moving forward with this Oracle database 12c stuff, but around every corner there is another surprise. A few days ago I was setting up a demo for Transparent Data Encryption (TDE) in 12c using my existing articles (10g, 11g). That’s when I noticed things had changed, so I had to use an 11g instance for the demo and make a note to revisit TDE for 12c…

On revisiting the subject, I saw that the encryption key management has changed in 12c. What’s more, if you are using the multitenant option it is a bit different again. That resulted in this article.

While I was working through this I was getting some freaky results, which were driving me mad. Whilst trying to figure out that I noticed I had two PDBs of the same name under a single listener. I had created two test instances (cdb1 and cdb2), each with a PDB called “pdb1″. There is a sentence in the docs to say this is not a good idea, which resulted in this little article.

So it turns out that TDE works fine, provided you are not an idiot. :)

The moral of the story is RTFM carefully, because sometimes a single sentence can make all the difference!

Cheers

Tim…

Statistics Collection Enhancements on Oracle Database 12c

I’ve been having a play around with the enhancements to the statistics collection in 12c. I’ve put together this top-level post with links to all my other articles on this subject.

Here are the new articles it links to.

It also links to some of the stuff I put out previously for the Adaptive Query Optimization functionality, as that is statistics related.

In a totally unrelated incident, I wrote this thing about the new READ object privilege, but forgot to mention it on the blog.

The journey continues…

Cheers

Tim…