I saw this article from linked in a tweet yesterday and realised I know very little about Oracle’s cloud offering. It seems like this venerable giant of the data industry is not leading the way in the cloud domain. As a curious type, I thought it would be interesting to investigate how to spin up a cheap Oracle database in the cloud using Oracle’s own little known cloud offering and others.
Obviously the article doesn’t make it sound great but it can’t be all that bad right?
Or maybe it is that bad?
I wasn’t initially even sure if it was possible to run an Oracle database without paying the hefty licence fees. After a little exploration it does seem like you have a few options:
- AWS (DBaaS and IaaS)
- Oracle Cloud (DBaaS and IaaS)
- Other Vendors including Google Cloud Platform and Azure (IaaS only)
- The only vendors that offer Oracle Database as a Service are Amazon and Oracle it seems. Every other vendor would provide only bare metal which is not what i need for this experiment. Managing the infrastructure and software config may well be your jam and if that’s the case, power to you! For mission critical applications it can certainly be an advantageous thing as your get powerful hardware dedicated to your application.
Optimising for cheapness…
I thought I’d give Oracle some credit and see what they are offering for the casual user. However, I was immediately put off when I saw a few of their ‘cost calculator’ pages. The first Oracle Cloud pricing calculator I found offered me a single oracle instance for over £400 a month.
I’m expecting that maybe when you compare the costs with the performance that you are getting for that price, it may be competitive than it seems. However for my experiment I was really looking for something which is sub-£100 a month. If you’d like to compare the costs of Oracle Cloud with AWS, below is the hourly cost of Oracle’s offer:
After some searching I found the equivalent pricing calculator for AWS and found a very different story. Amazon offers two licencing options for Oracle on RDS:
- Pay as you go
- Bring your own licence.
The Amazon calculator gave me a much more friendly result for my cheap Dev/Test Oracle environment:
The monthly estimated cost works out as roughly $30 a month which seems totally reasonable given the tiny compute instance I have requested (db.t3.micro)
Setting up an Oracle database in RDS
If you’d like to do this, it’s easy….assuming you already have an AWS account, just select RDS in the products drop down list and click on Create Database as below.
Next, I select Oracle from the database engine options page. The free tier is actually available for use with Oracle, but you must already have a licence to use the software.
I selected the Oracle Standard Edition One as it’s the cheapest but your demands might be different. I also selected a Dev/Test instance on the following page as seen below for the same reason.
This is the final page of config, and where we decide what our licencing model should be (BYOL or Licence Included in monthly cost) as well as choosing the version of the Oracle engine we would like to run, and compute & storage options for the RDS instance we are building.
Finally we get an estimate of monthly running costs and we get to set up an SA user, note this info down somewhere as it’s important for obvious reasons.
Logging in for the first time
Once you have clicked through a couple more OKs you are all set! My instance took about 5 mins to bring online which is amazing when you think how long that would take by literally any other means. Opening up Oracle SQL Developer (download link) on my laptop took almost as long.
After struggling to connect initially, I found that you need to enter the SID for Amazon RDS as ‘ORCL’. This is customisable, but the default for RDS Oracle instances is ORCL.
That’s actually it…this whole process took around 30 mins or less, pretty impressive. I actually found this much easier than I thought it would be. Amazon RDS really is an incredible product and would recommend to anyone who looking to spin up an quick database test environment. I can’t vouch for the performance as I haven’t done any performance testing on this instance, but as far as price is concerned it’s a winner! I hope this blog helped you to understand how to spin up a cheap oracle database in the cloud without lightening your wallet significantly by using Oracle’s own services.