Let’s Encrypt : Free Certificates on Oracle Linux (CertBot)

My website has been using HTTPS for over 18 months now. A couple of months ago I came across Let’s Encrypt and thought, “Free Certificates? That’s interesting!”, so I gave it a shot for some other stuff I look after, just to see how I got on with it.

The certificates only last 3 months, but you can automate their renewal using CertBot. You set it up to check every day, and the certificates get renewed if they are within 30 days of expiring. Since I set it up a little over 2 months ago, the first round of renewals happened a couple of days ago. No dramas.

Having seen the first automated refresh happen successfully, I decided to switch the main website to use the Let’s Encrypt certificate today. That means no more buying certificates for me! 🙂

I put together this article when I did the initial setup, just to document it for myself.

I didn’t mention it at the time as I wasn’t really sure about how it would work out, but now I’m using it I thought it might be interesting to any other cheapskates out there. 🙂



Online Table Moves and Partitioning in Oracle Database 12c Release 2 (12.2)

A couple of articles have crept out over the last few days that relate to online operations on Oracle Database 12c Release 2 (12.2). Both of them are pretty small in terms of what you have to do, but are pretty awesome in terms of impact, so I’m giving them the official thumbs-up! 🙂

The first one is about moving tables online.

I wonder if this was a 12.1 feature that got pulled? In 12.1 we got to move partitions and sub-partitions online, but being able to move a table as an online operation is great. Saves you having to mess around with DBMS_REDEFINITION for a bunch of tasks.

The second one is about converting non-partitioned tables to partitioned tables.

This is pretty cool too. For one, you can use a single command to do it now, rather than having to use EXCHANGE PARTITION or DBMS_REDEFINITION to do it. What’s more, it can be done online!

As I’ve said many times before, it’s these convenience new features that usually have a bigger impact on my day-to-day life than the big sexy features.



Should I learn Cloud?

I was asked a question on Twitter today, but it is similar to the types of questions I get asked quite a lot, so I thought I would write this general answer, rather than try to answer in 140 characters. Remember, this is just my opinion and it’s coming from an Oracle DBA perspective. 🙂

Should I learn Cloud?

More specifically I’ve had people ask me, “Should I learn AWS or Oracle Cloud?” When you ask that question, I am tempted to respond with a question like, “What do you think there is to learn?” Are you planning to learn the interfaces or the APIs? Let’s narrow things down *a lot*. If you are asking about learning to running Oracle Databases in the Cloud, I would say you are probably going to end up with a couple of choices over time.

  1. Do everything yourself. You need all the same skills as you do now, because the cloud provider is just providing kit. It’s just another hosting company.
  2. Let them do everything for you. If it’s a managed service, there may be significantly less for you to do.

That is of course being a little simplistic. Each cloud provider will have it’s own ways of doing some things, but you should be able to pick that up really quickly.

The main focus for good cloud implementations of Oracle databases is more to do with architectural concerns. Planning networking, security, how services will interact between the cloud and on-prem, which services should you pick to deliver the results you want, interactions between cloud services and even cloud providers.

  • If you are not currently performing some architectural-type role, you aren’t going to be a DBA one day and a “cloud architect” the next.
  • If you are not currently looking after your company’s virtual infrastructure, you probably won’t be looking after your company’s cloud account and get to use any of the tools directly.
  • If you are not currently doing network and sysadmin work in your company, it is unlikely you will be involved in any of the planning for a move to the cloud.

So I come back to my initial response, with specific reference to Oracle databases on the cloud,  “What do you think there is to learn?” If you are already an experienced DBA, then there isn’t a lot you need to learn about running Oracle on the cloud. It’s not the interface or even the APIs for any one provider that matter. It’s the technologies the other cloud services provide that matter. Doing some of this stuff on the cloud is a lot simpler than building it yourself. 🙂

Can you recommend a book I should read to help me learn “The Cloud”?

There are books out there that discuss cloud computing in general terms, as well as all the projects that make up some of the cool new cloud services, but I don’t think that is what you are asking for. I think you want a book that will teach you a new job in record time. That book does not exist.

I’m an E-Business Suite DBA. How do I learn to be an Oracle Cloud Apps DBA?

You don’t. Your job has gone. Unless you are one of the very few companies in the world that run Oracle Cloud Apps on prem, you don’t get to touch any of this stuff. It’s Software as a Service (SaaS). My company uses Oracle Cloud Apps and I can’t connect to our databases or WebLogic servers. It’s all hidden on the cloud and Oracle look after everything to do with Oracle Cloud Apps. For SaaS it’s the functional people that matter, not so much the techies.

There is development work for data transfers and custom reporting, but the EBS DBA role that used to exist isn’t really there as part of Oracle Cloud Apps. If you were planning to transition from an EBS DBA to an Oracle Cloud DBA you have a big shock coming.

Update. There seems to be some confusion about what I’m saying here. If your company stays with EBS, you still have a job. If your company transitions to EBS on Oracle Cloud, a new service from Oracle, you still have a job as it is IaaS, not SaaS. If your company transition from EBS to Oracle Cloud Apps, there is no Oracle Cloud Apps DBA role. You will have to find a different company that still uses EBS, or change roles.


The DBA job has changed a lot over the last 20+ years I’ve been doing it. The cloud, especially Software as a Service (SaaS) will have a huge impact on the “conventional” DBA job. Relational databases will remain important for some time, but they are no longer considered the right tool for every job. You’ve just got to roll with the punches. 🙂

I think the question you are really asking is, “What new skills do I need to learn?” Tanel Poder‘s response was really good and sounds like a good place to start.

“Learn Python for scripting, Hadoop for non-transactional data & Google BigQuery to see what the future is like.”

Here’s some of my ramblings on the subject.

As a DBA, what do I need to learn next?

So stop asking, “Should I learn Cloud?”, because it doesn’t make sense. Start asking questions like, “What new skills do I need to learn?” You may learn them while using a cloud service, but that’s not the same as “learning the cloud”. 🙂



PS. I understand cloud providers have loads of different services, but realistically you are not going to magically be an expert in all of them overnight. If you are a Hadoop person, you will try the Hadoop implementations of a few providers. If you are an Oracle DBA, that will be your focus on day one.

Oracle Database 12c Release 2 (12.2): Installation Articles

If you follow me on social media, you will know I’ve put out a few 12cR2 installation articles recently. It’s good motivation for me to read through the installation guides and see what’s changed, if anything, between versions. I quite like doing some of this nuts & bolts stuff. 🙂

If you’re interested, this is what I’ve done so far.

I always feel like I should stress a few things in relation to my install guides, or anyone else’s for that matter.

  • You should always read the installation manuals. I know it can be boring, but there is a bunch of stuff you should understand that I don’t include, because my intention isn’t to regurgitate the manual. Maybe you have a situation where something is relevant that other’s don’t care about.
  • The RAC articles are intentionally really basic. I avoid some of the job separation (users and groups) that you may want in your organisation. I keep the storage very simple. I avoid a lot of the possible topology variations. I would always consider these as a starting point for playing with RAC on a VM, rather than something you would consider a RAC “best practice”. Once you’ve got one of these running you can try variations. Don’t expect me to write a separate guide for all variations. Try it yourself.
  • I will make choices over my approach to make stuff suit the wider audience. For example I’ve tended to steer clear of ASMLib and the new “ASM Filter Driver” because a big chunk of my audience are sceptical of them and prefer to use UDEV. I’m happy to use either and if you are using Oracle Linux and UEK it really doesn’t make a great deal of difference. I think you should play with both and decide for yourself which you like. Remember, I’m not going to write multiple variations of the article.
  • The installation guides are all using interactive installations, but I rarely do these nowadays, preferring to use silent installations and silent database creations. I’m not sure how many people would be happy with a bunch of response files as their introduction to a new version. I think the GUI screens aid with understanding when you are new. You should definitely graduate to the silent stuff though! I’ve included the response files generated during each interactive installation.
  • I modify the installation guides over time as I learn more about the stuff. That’s true of all my articles, but don’t assume because I installed it this way today, that’s definitely the way to do it!

I guess what I’m saying is I’ve only done a handful of 12.2 installations, so I’m no guru. Keep that in mind and learn to think for yourself! 🙂

Happy installing!



Oracle Database 12c Release 2 (12.2) : Default APEX Installation Gone!

I’m a fan of APEX, but I am not a fan of the shared installation used in Oracle Database 12.1. I’m sure it is great for some people, but not for me. I prefer to have APEX installed locally in the PDB, which prompted this article.

Fast forward to Oracle Database 12c Release 2 (12.2) and APEX is no longer installed by default. It’s still shipped with the software, see $ORACLE_HOME/apex (see update), but not installed. I am conflicted about this…

  • On the one hand this is great because I don’t have to worry about removing the shared APEX installation before installing it into the PDB.
  • On the other hand this means people have to make an active choice to install APEX, which not everyone will do. That’s a pity. In addition to the tool itself, there is some useful APIs that come with it, like APEX_WEB_SERVICE and APEX_JSON. You don’t really need the later in 12.2 as you have lots of new JSON support, but it’s good to have for backwards compatibility.

So just remember you have an extra job to do after you’ve installed your database, which to install the latest version of APEX. 🙂



Update: As per comment from Joel Kallman, always download the latest version and install in the PDB locally, not in the root!

VirtualBox 5.1.16

VirtualBox 5.1.16 has been released! 🙂

Downloads and changelog are in the usual places.

I’ve done the installation on my Windows 7 desktop at work and an Oracle Linux 6 host at home. After my recent catastrophe with my MBP I’m nervous to touch it. 🙂 I’ll update the post once I’m brave enough to do that one.



PS. Just did a 12.2 RAC installation on OL6 using VirtualBox 5.1.16. No errors. 🙂

PPS. It worked on macOS Sierra fine too.

Oracle Database 12cR2 (12.2) On-Prem : It’s finally here!

Oracle 12cR2 (12.2) has been around for a while on the cloud, but for many people it doesn’t really exist until they’ve downloaded it and run it on an “on-prem” server or a VM on their PC.

If you are of that mind, you will be pleased to know the on-prem release has arrived! You can download it from eDelivery or OTN.

I’ve been writing about it for a while (here), but it’s nice to have the on-prem release and the knowledge that someone might actually read the stuff I’m writing now (or in about 5 years when people start to use it). 🙂

There will of course be the usual rash of installation articles coming from me for a while, before I get back to more interesting things…

Happy downloading…



Update: My first installs here.