Image for running Oracle Database 11g Standard/Enterprise. Due to oracle license restrictions image is not contain database itself and will install it on first run from external directory.
This image for development use only
Download database installation files from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html and unpack them to install_folder.
Run container and it will install oracle and create database:
docker run --privileged --name oracle11g -p 1521:1521 -v <install_folder>:/install jaspeen/oracle-11g
Then you can commit this container to have installed and configured oracle database:
docker commit oracle11g oracle11g-installed
Database located in /opt/oracle folder
Optionally you can map dpdump folder to easy upload dumps:
docker run -d --privileged --name oracle11g -p 1521:1521 -v <install_folder>:/install -v <local_dpdump>:/opt/oracle/dpdump jaspeen/oracle-11g
To execute impdp/expdp just use docker exec command:
docker exec -it oracle11g impdp ..
On windows under docker-machine you can face the problem:
Exception: ORA-31640: unable to open dump file "/opt/oracle/dpdump/xxx.dmp" for read
Workaround is following:
- Attach to container:
docker exec -it <container>
- Login as oracle:
- Create new directory for dumps on aufs(not mounted from external): mkdir /opt/oracle/dpdump_local
- Change oracle data_pump_dir via sqlplus under SYS user:
create or replace directory data_pump_dir as '/opt/oracle/dpdump_local';
- Copy necessary dump from dpdump to dpdump_local directory