Happy Christmas from oracle-base.com

Happy Christmas to everyone out there, whether they observe the whole Christmas thing or not.

I often take a look at the website stats on occasions like this to see who is hanging about and this is what I can see at 08:00 UK time on Christmas day morning…
ChristmasMorningStats

What’s top of the list as far as content is concerned? Well that will be Data Pump of course! :)

Have a good day everyone and I hope 2015 is even better for you than 2014 was!

Cheers

Tim…

PS. FYI this is just a real-time snapshot of the people who were active as I checked. :)

Skin Game

Skin Game by Jim Butcher is the 15th book in The Dresden Files series.

For a quick recap, Harry Dresden is a wizard for hire. Look him up in the Chicago Yellow Pages. Magic is real. Ghosts are real. Fairies are tall, so beautiful it’s almost painful to look at them, and are so divorced from mortals that they seem evil. All the gods you’ve ever heard of are real. All the things that go bump in the night are real too…

In this book Harry is forced to work with some of his enemies to pull a bank job with a difference!

I love Harry Dresden and I love The Dresden Files. The books are always fast and furious, sometimes a little predictable, but in a good way, and ultimately really fun. I think every book has also had moments that have been genuinely emotional and inspirational.

If you liked the previous books you will love this. If Harry Dresden is not your kind of guy, there is something wrong with you… :)

Cheers

Tim…

Oracle REST Data Services (ORDS) 3.0 on Tomcat 7

What started out being a quick dabble with Oracle REST Data Services (ORDS) 3.0 spawned a bunch of different things…

First, I needed a fresh APEX installation to play around with. Most of the APEX stuff I’ve been using recently has been against Oracle 11.2 databases and I follow this kind of method. Standard stuff…

That’s fine, but the default installation of APEX in Oracle 12c multitenant environments splits APEX between the CDB and the PDBs. On the surface that sounds like a good thing. Installing APEX multiple times sounds like a waste right? In practice, this “shared APEX” situation is a complete pain in the ass and I hate it. So the first thing I now do on a new installation is to remove the shared APEX stuff. That spawned this note.

It’s actually a pretty important decision, because Oracle don’t support removal of APEX from the CDB once it has PDBs, so you will be faced with a bunch of unplugs and administration if you change your mind later. Having to decide up front if you may want to do something later is a total fail in my book. I hope Oracle scrap this shared APEX setup. I would prefer to see people create a new PDB from the seed, install APEX into it and use that as a seed for new PDBs. Effectively building their own gold-image seed… That’s my little rant over. :)

Next thing I needed was a Tomcat installation. Despite the ORDS 3.0 documentation suggesting Tomcat 7, I started with Tomcat 8. Word to the wise, it doesn’t work, at least not by just following the ORDS install docs anyway.

Since I was having problems with the ORDS installation on Tomcat 8, I switched back to the recommended Tomcat 7. This wasn’t so much a case of RTFM as a case of BTFM. The “B” is for Believe. :)

Once I switched to Tomcat 7, the ORDS installation went just fine. Here is a note about that…

So now we are four articles in and I’m just about able to start the thing I wanted to actually test. :) Like I said, a quick dabble spawned a bunch of different things… :)

Cheers

Tim…

The importance of backups and disaster recovery plans

Having tweeted, “When was the last time you practised the recovery of each of your production databases?”, a few days before, I was presented with a very real DR situation for my website.

On Wednesday my website went down while I was at my office Christmas lunch. I restarted it from my phone and it was all up, but I got a message saying one of the RAID1 disks was dead. I do nightly file system and database backups, but I took another backup anyway because I couldn’t remember what had changed during the day. In the evening I contacted the people hosting my dedicated server and asked them to swap out the dead disk. Several hours and several phone calls later it became obvious the data had “magically” disappeared from the second disk in the pair. Of course, it was nothing to do with the hosting company… I think the way I would describe them is a useless bunch of ****s.

I ended up initiating a re-image of the server. Their website says this should take about an hour. After a bit over 2 hours I gave up waiting and went to bed…

I woke up the next morning and started the process of rebuilding the server. Fortunately, I have a DR plan containing all the stuff I need to do to rebuild the server. The plan had one minor flaw, it included some references to my own articles. :) Luckily, these were available via Google Cache. I’ve now copied any relevant information into my DR plan, so when this happens next time I will be even more prepared. :)

Having a full set of file system and database backups meant I was confident I would get it sorted. The biggest problem was upload speed. Home broadband is great for download, but pretty terrible for upload, so my initial plan to just push all the backups to the server then start recovering it had to be revised. Instead I cherry-picked the most recent file system backup and pushed that first. Once on the server, the backup unzipped in a few seconds and the main part of the website was back. I then started to push the most recent DB backups and loaded those. I’ve altered the DR plan so next time I can easily do this, prior to a blanket “rsync” of all the backups back to the server. That should speed up the recovery somewhat.

Lessons people need to learn:

  • Having regular backups is good. (No shit Sherlock!) If you are on this blog you are probably an Oracle person, so this should not come as a surprise. I just wonder how many people don’t bother with them for their blog etc. In my case I self-host, so it is all down to me.
  • You’ve got to have a DR plan. It’s amazing how many bits of software you install over time. It’s also surprising how many odd little commands and config entries you put in over time. Unless you are tracking these manually, or through some admin tool, you are going to have a nightmare getting back. I didn’t remember half of the things I did during the setup of this stuff, but luckily I wrote it all down.
  • You’ve got to practice your DR plan. You don’t know if it works unless you try it. I moved my stuff on to this server a few months ago, so I was pretty confident the plan was viable. I do occasionally build a copy of my website on a VM to make sure the backups are working OK. Obviously, this was a pretty good “test”. :)
  • Remember to back up your backup scripts. My backups were pretty good, but I did forget to include the backup scripts in the backup, so I had to reinvent those. It wasn’t a big deal, but it was a silly mistake.
  • If you are looking for quick recovery of your blog/website, you probably don’t want to rely on backups sitting on your home servers/storage as the broadband upload speed (at least in the UK) is pretty terrible. Maybe investing in a cloud backup solution would be a better idea.

I think everything is sorted now. If not, I’ll pick it up as I go along and add the fix into the plan. :)

Sorry for any inconvenience. :)

Cheers

Tim…

Fun : Endorse my “new” skills…

For a bit of fun I’ve added the following “new” skills to my LinkedIn profile.

It would be really cool if we could get them to the top 4 in the list of my endorsed skills. Please make it a happy holiday by endorsing these. :)

Remember, this only works if you actively don’t endorse the other things!

Cheers

Tim…

PS. I’ve written before about how I think LinkedIn endorsements are a joke. It’s like believing all someone’s Facebook friends are really friends. IMHO if anyone uses LinkedIn endorsement as a measure of ability and employability they are a moron!

CrocodileWrestling

Update : I think some people have mistakenly assumed I was in some way trawling for real endorsements. I really wasn’t. Please endorse the joke ones and avoid or “unsub” the real ones. I want to get these joke ones to the top of the list. :)

WordPress 4.1 “Dinah”

WordPress 4.1 “Dinah” has been born.

The upgrade will probably happen automatically in a few days, but if you go on to you blog now you can force the update. We will no doubt get a 4.1.1 very soon, as this always seems to happen. :)

There is a list of new features that I think is meant to thrill me, but I’m looking at everything post upgrade and it all seems pretty much the same. I tried the new Twenty Fifteen theme, but I was not really happy with it, so I went back to my ultra-plain theme. :)

I’m sure there are some bug fixes and it always pays to be up to date with this stuff.

Happy upgrading.

Cheers

Tim…

Develop against the versions in the Yum repositories!

I saw a tweet by Simon Haslam at the weekend that read,

“I’m v surprised to read that @Atlassian Stash needs newer git than in the latest RHEL/OL6 repos!”

I had a similar experience at the weekend too, but this time with Oracle REST Data Services (ORDS) 3.0 EA. According to the documentation, it requires the following version of Tomcat.

“Apache Tomcat Release 7.0.56 or later”

So let’s have a look at what is typically available from the Yum repositories at the time of writing.

  • RHEL6/OL6 : tomcat6-6.0.24-80.el6.x86_64.rpm
  • EPEL 6 : tomcat-7.0.33-4.el6.noarch.rpm
  • RHEL7/OL7 : tomcat-7.0.42-8.el7_0.noarch.rpm

Realistically, nobody is moving to RHEL7/OL7 for Oracle products yet, since the only database version certified is Oracle 12c (12.1.0.2 onward), so the vast majority of kit out there will be running RHEL6/OL6. With that in mind, the requirement for “Apache Tomcat Release 7.0.56 or later” represents a bit of a support nightmare. As soon as people require a piece of software on a server that is not available from a default (or similar) Yum repository, the product is outside the typical sys admin patching cycle and someone has to make a specific effort to keep the custom installation up to date. You know what that means right? Yeah, it never gets patched… It’s not that installing this stuff is difficult. It’s just the impact it has on sys admin teams that is the problem.

We all want to use the latest and greatest, but there seems to be a disconnect between what the developers do and what is reasonably supportable out here in the real world. Developing stuff against product versions that are not in Yum repos is a mistake IMHO.

I’m going to play around with ORDS on older versions of Tomcat to see what happens…

Cheers

Tim…

Fragile Manifesto

The Fragile Manifesto has been moved to a new location.

Fragile Manifesto

Cheers

Tim…

Fedora 21 : Oracle 11g and 12c Installations

Fedora 21 has arrived and it’s now delivered in three focussed flavours (Workstation, Server and Cloud). This of course resulted in the usual articles from me.

As always, read the warnings before you start down this path.

From an Oracle installation perspective, it’s almost identical to Fedora 20. I chose to use the server flavour and install the “MATE Desktop” package group. I suspect others may prefer to start with the workstation release. Either way it should be fine.

As I suspected, switching my main desktop from Fedora to the MacBook means I care significantly less about this release than before, but I still have some upgrades I’ll need to plug through.

Cheers

Tim…

Riga Dev Day 2015

Over the weekend I booked my flights and hotel for the Riga Dev Day on January 22nd.

It’s my first time in Latvia, so I look forward to seeing everyone out there!

Cheers

Tim..