Hidden Oracle dependencies when running under #Docker on Fedora/CentOS/RedHat Linux

By | June 28, 2017

There are some hidden dependencies of running oracle database in a docker container under Fedora/CentOS/RedHat Linux.

STEP 1: Kernel parameters

Because the Oracle engine from the Docker container uses in fact the kernel of the host machine we cannot escape the need to set up some kernel parameters on the host.

On the host machine in /etc/sysctl.conf the following kernel parameters must be set

# Oracle Database 11g Express Edition Recommended Values
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967295
fs.file-max = 6815744

PS: Maybe you need to add more parameters here so first gather all the kernel parameters that have to be changed for your environment.
In case ElasticSearch is used, as is my case, I had to add also:

vm.max_map_count=262144

To commit the changes without a system restart apply them executing as root:

sysctl -p

STEP 2: docker-runc dependency
For some strange reason on Fedora/CentOS/RedHat there is no docker-run executable. There is a RedHat support issue opened for this see issue

The fix for this is to create as root a symbolic link with that name:

ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc 

[paypal_donation_button]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.