Towards the end of 2018, Oracle announced the much anticipated release of Oracle 18c Database Express version - also known as the 18c XE database. A free… yes a FREE database edition that you can use without any licensing to be paid - yes, this is really true. For some this felt like something totally new, but in fact the Oracle Database Express Edition has been around since 10g.
There is actually a lot to say about this little gem, so instead of rushing it off in one blog, we will spread it over a few of which this is Part 1.
The first question most will ask is “What is the catch? This is free so there must be a catch”. And yes, as with most free things, there is a catch - but it depends on how you look at it. We think there is a lot of opportunity here. But let's not jump ahead too much and start with listing the few core restrictions you must be aware of.
There are 4 key restrictions - or let's call them rules:
CPU Limitation
2 CPU Cores for Processing
Even if you have 4 or 8 Cores available, only 2 will be used
Installation and execution restrictions
You may only install one set of executables per “logical environment"
This can be a Virtual Machine, Physical host … or even Docker container - more on this later
User limitations
This comes down to Storage - usable user storage, which in 18c XE is 12GB
Attempting to use more will result in an ORA-12592 error - and yes, I tried this and this error does pop up promptly when you exceed this limit.
Memory
The maximum memory that can be used is 2GB.
Now that we have these mentioned I wonder, how much of this is really a restriction in your environment or for some of your database needs? Yes in some cases I agree, this will be a major restriction and just not feasible, but I have seen many database environments over the year where these limits would not have been a showstopper.
Now there are a few other areas I would like to highlight as over the years I have heard many say things like, you cannot put the XE database in archivelog mode, or backups are not possible, or you cannot have standby databases… mmm that is just wrong! With a closer look at the Express Edition (XE), you will quickly find out that you can place the database in archivelog mode, and RMAN (Oracle Recovery Manager) is available for backups - oh and if you are a little old school and still prefer the good old SQL commands with “… begin backup..” And “…. end backup ….” Yes, they will still work.
But one thing Oracle did was to add a few extra features - and this is where it gets interesting. Here is a shortlist of my favorite options or features now available for you to use in 18c XE:
These are just a few of the options available in this little 18c XE database. For more details, I do encourage you to review the 18c XE licensing document and compare this against the big brothers like Enterprise Edition licensing.
With these features available… think outside the box, you can actually get a lot of cool stuff done with these features - and yes 12GB of storage and 2 CPU cores might not be much, but for many sites with a well planned architecture, this might just be a perfect fit.
One important part to highlight though with 18c XE - well the Express Edition in general is SUPPORT! There are no official support options available for this edition, which does mean, you are stuck with Forums and blogs. Patches or updates might not be made available - so always make sure that if you are looking at using the Express Edition in a production environment, that you thoroughly test every aspect as much as possible to make sure you are aware of any issues or limitations. We do hope that Oracle will keep updating the Express Edition with updates as they become available - but time will tell.
Now that part is out of the way, time to get into the details - installing and configuring 18c XE and taking a closer look at options available to you.
In this blog series, we want to focus on getting 18c XE installed in Docker using Oracle Linux 7. And my assumption will be that maybe you do not know that much about Docker, so we will try and cover a few pointers here and there to help get you started. But we hope that you will find using Docker is a game changer. As with most things it takes a little bit of time to get used to, but once you are, you will find you might be using it more than the traditional Virtual Machines.
There are a few ways to get started, and an easy way would be to just download a Docker image that someone else created - if you are not familiar with Dockerfile and Docker images yet, think of it as someone created a Virtual Machine template or kind of cookbook and you are just going to run that - not having to do any of the hard work to create the environment. But in doing this we will not learn much about how to install and configure 18c XE - and a few tips and tricks along the way. So what we will do is take you though this process step by step over the next few weeks.
Now some might say, it is easy to install 18c XE - just look here And yes, as you can see on Oracle Linux - just 3 lines and you are ready… well kind of:
Download oracle-database-xe-18c-1.0-1.x86_64.rpm
Run “yum -y localinstall oracle-database*18c*”
Run “/etc/init.d/oracle-xe-18c configure”
But there is more to it than just this - yes it is simple to get the basics done, but knowing a little bit more - you will get a lot more out of 18c XE.
If you would like to follow this blog series and run tests in your environment, we would suggest you look at getting Docker installed on your local environment - your PC or Laptop if you have one. Docker is supported on Linux, Windows and Mac. We will be using Docker for Mac in my posts going forward.
So what next? Well before we can start, you need to go to the Oracle website, login, review and then accept the license agreement and download the 18c XE software. This can be found here
The download page will look like this:
Now, this post is already getting too long, but we do want to leave you with one last bit to get ready before the next post. Download and install Docker Community Edition (CE) - which is a free version you can run on your PC or Laptop. Now a word of caution, do not be scared too quickly when you start looking at Docker - when you break it down to the basics it is not that difficult! Have a look at the documentation but focus on the Community Edition and the basics.
Quick and easy installation guides can be found here:
We would suggest you also create a Docker hub account - details can be found here
Now we hope you are as excited to get going on the next post in which we will get started with installing 18c XE, inside a Docker container, all while also exploring some of the 18c XE options available to you - including a few tips and tricks we hope you will find useful.