Recently I tried to install Oracle XE into a docker container on Mac OS Sierra using the official docker file from Oracle. I had no luck, because the installation failed with this error message:
- Oracle has not provided a date by which the current version of the Oracle Mac Database (10gR2) will be certified on Mac OS X 10.6. Oracle’s diminishing commitment to the Apple platform has left Pearson with limited options for customers using Mac servers. We do not have a commitment from Oracle for future versions of the database supporting.
- Oracle database 10g express edition free download - OpenLink Lite Edition ODBC Driver for Oracle 10g, OpenLink Express Edition ODBC Driver for Oracle, OpenLink Express Edition ODBC Driver for.
- Oracle 11g free download - Oracle 10g, OpenLink Lite Edition ODBC Driver for Oracle 10g, Oracle Java, and many more programs. Update Mac OS 9, 9.0.2, or 9.0.3 for better performance.
This system does not meet the minimum requirements for swap space. Based on the amount of physical memory available on the system, Oracle Database 11g Express Edition requires 2048 MB of swap space. This system has 0 MB of swap space. Configure more swap space on the system and retry the installation.
The problem is, that you can't do anything for this on a Mac - the system manages the swap files by itself and if you need for an example 64 GB you will get it. My new standard MacBook has 8 GB RAM and there is currently no reason for a swap file.
So, what can we do? After a short search I found this blog post, which describes how to alter the pre-installation script of the RPM installation file with the help of the
repmrebuild
command. Unfortunately this command is not available on Mac OS. I found only rpmbuild as part of the rpm installation with Homebrew.Oracle installation guide for Apple Mac. If you set up NFS, then you can download and unzip Oracle on the Mac, into a directory you share using NFS (www.oracle.com, Downloads, look for Database 10g for Linux, 32 bit).3 While it's downloading, it might be a good time to install your favourite Firefox bookmark synchronisation.
Luckily I found another way to modify a rpm package under Mac OS: There is a Ruby based tool to build packages for multiple platforms called fpm. So, lets start:
If you don't have Homebrew on your Mac, install this first:
Install rpm:
Install tar:
Install fpm:
Unzip the downloaded Linux XE installation archive and go into the directory Disk1:
Write rpm scripts to text file:
Find this loop (from line 197 until line 212 as of this writing) and comment out or delete it:
Oracle 11g For Mac
Find this line (starting on line 328 as of this writing) and delete the line and everything behind until the file end:
Delete the very first line containing this code:
Save the file and bring it back into the rpm with this command (will take some time):
Go out of Disk1 and update the zip archive, because the Oracle provided build script needs it compressed (will take some time):
When you now do the Docker build you will face another error message:
package oracle-xe-11.2.0-1.0.x86_64 is intended for a different operating system
Oracle Xe For Mac
To fix this is fairly easy. Open the Dockerfile.xe, go to line 61 (as of this writing) and change this code:
Oracle Sql Developer Download Mac
to this one:
Oracle 11g For Mac Os
When you now start the docker build you should be successful (will take some time):
The last step is to run the container - on the first startup the database is created (will take some time, align the name to your needs):
If you plan to use APEX without any dedicated webserver (maybe because you are the only user and it is only a small dev instance) you should pimp the EPG a little bit:
I use currently a Node.js based proxy server running directly on my Mac OS, because I need a webserver there anyway. The nice thing is, that the EPG don't need to serve the images and I also don't need to install the images into the EPG, when I upgrade to a newer APEX version. This saves me time and the EPG runs faster because of less number of requests. I will cover this topic in the next post.
Happy installing :-)
Ottmar
Ottmar