APEX 5.0.1 : We’re all patched up!


apexAPEX 5.0.1 was released about a week ago. I started to patch some stuff straight away. We were already on APEX 5.0 across the board, so we didn’t need to do any full installations, just patches.

During the patching I noticed we were getting some issues with supposed misconfiguration of static files. After clearing my browser cache, the message went away, so I tweeted this.

“Regarding APEX 5.0.1 patch. Clear your browser cache, or you may get that static files message, even though config is correct. :) #orclapex”

Practically before I hit return, Patrick Wolf came back with this.

“@oraclebase Thanks for letting us know. I have filed bug# 21463521 and fixed it for 5.0.2”

We’re a week on now and all our APEX installations are happily running 5.0.1. We had no issues with the upgrades and no problems with the apps.

We are small fry where APEX is concerned, so don’t take this as the green light to upgrade everything yourself. I’m just saying we had no problems with it, which is pretty cool. If APEX is a strategic environment for you, you will probably need to do a lot more testing than us. :)



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…



Oracle OpenWorld Rejections : #TeamRejectedByOracleOpenWorld


Once again it is Oracle OpenWorld paper rejection season. :)

Invariably, us conference types start to have a bit of a moan about being rejected, hence my little jibe #TeamRejectedByOracleOpenWorld. In case people lost sight of this being a joke, here was one of my tweets on the subject.

“Setting up a helpline for #TeamRejectedByOracleOpenWorld to deal with all us people who can’t cope with not being heard for 5 mins. :)”

The reaction to these tweets is quite interesting, because some in the community are stunned by the people getting rejected. In reality it shouldn’t be a surprise to anyone. Jonathan Lewis summed the situation up nicely with the following tweet.

“You’re confusing OOW with a user group event. Different organisations, reasons, and balance”

If I’m honest, presenting is not high on my list of desires where OpenWorld is concerned. There is too much to do anyway, without having to worry about preparing for talks. If someone asks me to get involved in a panel session, RAC Attack or some similar thing I’m happy to help out, but if I do none of the above, I will still be rushed off my feet for a week.

The Oracle ACE program is allocated a few slots each year. Some people need to present or their company won’t allow them to attend. Others want the “profile” associated with presenting at OpenWorld. Neither of these things affect me, so I typically don’t submit for the ACE slots. I would rather see them go to someone who really does want them. I get plenty of opportunities to speak. :)

If you really want to speak at conferences, your focus should be on user group events. Getting to speak at something like OOW can be a nice treat for some people, but it probably shouldn’t be your goal. :)



YouTube : Rags to Riches in 1 Week?


youtubeIf you’ve followed me on Twitter you will have seen me posting links to videos on my YouTube channel. You can see me talking about starting the channel in the first video.

One week and 5 videos in and I’ve just hit 50 subscribers. Watch out PewDiePie!

One thing I didn’t mention in that video was my hopes/expectations as far as subscribers are concerned. As I said in one of my writing tips posts, Oracle is a niche subject on the internet. If you put out some half-decent content on a YouTube gaming or fitness channel, you would probably expect to get a few thousand subscribers fairly quickly. That’s not the case for an Oracle channel. Before I started this YouTube channel I did a little research and the biggest Oracle-related channel I could find was about 30,000 subscribers and that was Oracle’s main YouTube channel. After that some were knocking around 1000-4000 subscribers. Below that were a bunch of channels that were pulling double or triple figures of subscribers. Starting an Oracle-related channel is *not* a good idea if your master plan is to dominate YouTube! :)

OK. With that bullshit out of the way, how have I found my first week?

  • Making YouTube videos is hard! It takes a long time. I’m estimating about 1 hour of effort per minute of footage. The first 3 minute video took 3 days, but that included learning the technology and getting to grips with editing. Hopefully I’ll get a bit slicker as time goes on. :)
  • Doing the vocal for a video is a nightmare. After a certain number of retakes your voice ends up sounding so flat you start to wonder if you are going to send people to sleep. I listen back to my voice on some of the videos and it makes me cringe. It’s monotone and devoid of personality (insert insult of your choice here). As I get better at the recording thing, I’m hoping the number of retakes will reduce and my vocal will sounds less like I’m bored shitless. :)
  • I love the fact I can do “quick” hit-and-run videos and not feel guilty about not including every detail. I’m putting links back to my articles, which contain more detail and most importantly links back to the documentation, so I’m happy that these videos are like little tasters.
  • I’m being a bit guarded about the comments section at the moment. When I look at other channels, their comments are full of spam and haters. I can’t be bothered with that. I’ll see how my attitude to comments develops over time.
  • I’m hoping to do some beginner series for a few areas, which I will build into playlists. This probably won’t be of much interest to regular followers of the blog and website, but it will come in handy for me personally when I’m trying to help people get started, or re-skilled into Oracle. I might be doing some of that at work, hence my interest. :)
  • I’ve tried to release a burst of videos to get the thing rolling, but I don’t know how often I will be able to upload in future. Where Oracle is concerned, the website is my main priority. Then the blog. Then the conference thing. Then YouTube. The day job and general life have to fit in around that somewhere too. This is always going to be a labour of love, not a money spinner, so I have to be realistic about what I can achieve.

So there it is. One week down. Five videos. Four cameos by other members of the Oracle community. Superstardom and wealth beyond my wildest dreams are just around the corner… Not!



Note to self: Why is this a blog post, not another video? :(

VirtualBox 5.0


virtualboxOracle VirtualBox 5.0 has been released. You can see the Oracle Virtualization Blog announcement here, which includes a link to the official announcement.

Downloads and changelog in the normal places.

I’m downloading… Now!



Update: Up and running on my Windows 7 PC at work. Will have to wait until tonight to do it on the Mac and Linux boxes at home… :)

Update 2: Running fine on Mac too. :)

Oracle Midlands : Event #10 Summary


oracle-midlands Last night was Oracle Midlands Event #10 with Jonathan Lewis.

The first session was on “Five Hints for Optimizing SQL”. The emphasis was very much on “shaping the query plan” to help the optimizer make the right decisions, not trying to determine every single join and access structure etc.

In the past I’ve seen Jonathan do sessions on hints, which made me realise how badly I was using them. As a result of that I found myself a little scared by them and gravitating to this “shaping” approach, but my version was not anywhere near as well thought out and reasoned as Jonathan’s approach. It’s kind-of nice to see I was on the right path, even if my approach was the mildly pathetic, infantile version of it. :)

red-stack-tech-swagThe break consisted of food, chatting and loads of prizes. It’s worth coming even if you don’t want to see the sessions, just to get a chance of winning some swag. :) Everyone also got to take home a Red Stack Tech mug, stress bulb and some sweets as well.

The second session was on “Creating Test Data to Model Production”. I sat there smugly thinking I knew what was coming, only to realise I had only considered a fraction of the issues. I think “eye opening” would be the phrase I would use for this one. Lots of lessons learned!

I must say, after nearly 20 years (19 years and 11 months) in the game, it’s rather disconcerting to feel like such a newbie. It seems to be happening quite a lot recently. :)

redstacktechSo that was another great event! Many thanks to Jonathan for taking the time to come and speak to us. Hopefully we’ll get another visit next year? Well done to Mike for keeping this train rolling. Wonderful job! Thanks to all the sponsors of the prize draw and of course, thanks to Red Stack Tech for their support, allowing the event to remain free! Big thanks to all the members of the Oracle Midlands family that came out to support the event. Without your asses on seats it wouldn’t happen!

The next event will be on the 1st September with Christian Antognini, so put it in your diary!



Upgrade Cloud Control 12cR4 to 12cR5


em-12cA couple of weeks ago I wrote a post about doing a Cloud Control 12cR5 installation and said I would be testing the upgrade from 12cR4. I’ve now done that.

The upgrade documentation is quite extensive and the prerequisites are going to be different depending on the database and cloud control versions you are starting with, so this is no way a “recommended” way to do the upgrade. Each one will need to be approached on a case-by-case basis. It’s just meant to give a flavour of what you have to do.

Suffice to say, it worked fine for me. :)



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…



Native Network Encryption and SSL/TLS are not part of the Advanced Security Option


security_image1_smallI had a little surprise the other day. I was asked to set up a SSL/TLS connection to a database and I refused, saying it would break our license agreement as we don’t have the Advanced Security Option. I opened the 11gR2 licensing manual to include a link in my email response and found this.

“Network encryption (native network encryption and SSL/TLS) and strong authentication services (Kerberos, PKI, and RADIUS) are no longer part of Oracle Advanced Security and are available in all licensed editions of all supported releases of the Oracle database.”

I checked the 11gR1, and 10gR2 docs also. Sure enough, it was removed from the Advanced Security Option from 10gR2 onward (check out update below). Check out the 10g licensing doc here, specifically the last paragraph in that linked section.

The documentation on this configuration is split among a number of manuals, most of which still say it is part of the Advanced Security Option. That made me a little nervous, so I raised an SR with Oracle to confirm the licensing situation and file bug reports against the docs to correct the inconsistency. Their response was it is definitely free and the docs are being amended to bring them in line with the licensing manual. Happy days! :)

Lessons learned here are:

  • Skim through the licensing manual for every new release to see what bits are now free.
  • Don’t trust the technical docs for licensing information. Always cross check with the licensing manual and assume that’s got the correct information. If in doubt, raise an SR to check.

As far as the configuration is concerned, I had never written about this functionality before, so I thought I should do backfill articles on it.

The documentation for TCP/IP with SSL/TCP is rather convoluted, so you could be forgiven for thinking it was rocket science. Actually, it’s pretty simple to set up. It was only after I finished doing it I found a reference to the following MOS note.

It would have saved me a lot of bloody time if the documentation included this. I would never have bothered to write the article in the first place!

cloudFor a lot of people, encrypting database connections is probably not that big a deal. If your databases and application servers are sitting behind a firewall in a “safe” part of your network, then why bother?

If there are direct database connections crossing network zones, that’s a different matter! Did anyone mention “cloud”? If you need to connect to your cloud databases from application servers or client tool sitting on-premise, I guess encrypted database connections are pretty high up your list of requirements, or at least they should be. Good job it is free now. :)

It seems I’m not the only person behind the times on this licensing change. The Amazon AWS RDS for Oracle documentation has made the same mistake. I’ve written to them to ask them to correct this page also. :)



Update: Simon, Jacco, Franck and Patrick all pointed out this licensing change was due to this security exploit. It was made public during 11.2, but the license change was made retrospectively back to 10.2. I don’t feel so bad about it now. :)

Update2: I’ve added a link to the Native Network Encryption stuff, based on the comment by Markus.