Docker Oracle 12c database and shared memory constraints

Posted by: Seth Lakowske

If you are trying to run an Oracle 12c Database (https://hub.docker.com/r/sath89/oracle-12c/) in Docker and getting failures, you may have run into a shared memory constraint.  Native Linux Docker users may not have a problem, but macOS and Windows users taking advantage of docker-machine may run into errors while trying to run an Oracle 12c database because there isn’t enough shared memory available.

Try increasing the shared memory on docker runs with the –shm-size flag or even better create a new machine with more available RAM.  The second option is preferable so that you’re not depending on a special flag in your scripts.


docker-machine create -d virtualbox --virtualbox-disk-size 100000 --virtualbox-memory 2048 default

This creates a new machine with 100GB of disk space and 2GB of ram. That was enough to run a memory hungry Oracle 12c database.