A vagrant box that provisions Oracle 12c automatically, using only Vagrant and a shell script.
linuxamd64_12102_database_1of2.zip
and linuxamd64_12102_database_2of2.zip
from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html and unzip to database/
unzip '*.zip'
to do this for you.vagrant plugin install vagrant-vbguest
vagrant up
vagrant halt
and the start it up again via vagrant up
.localhost
1521
orcl
password
.The folder oradata
is mounted as a shared folder with permissions for Oracle to use it. If you have Oracle schemas that will consume a lot of space, create a tablespace for your schema in this directory instead of using the built in tablespaces. See tablespace.sql for an example of how to create a tablespace in this directory.
vagrant ssh
.sudo su - oracle
to switch to the oracle user./opt/oracle/
/vagrant
is a shared folder and maps to wherever you have this file checked out.On vagrant up
if you experience this issue:
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
Then you may have hit a bug in vagrant 1.8.5. See http://stackoverflow.com/questions/22922891/vagrant-ssh-authentication-failure
The solution is to:
vagrant ssh
password: vagrant
chmod 0600 ~/.ssh/authorized_keys
exit
then vagrant reload
.
Once Oracle and the listener starts up, it may take a few moments until you are able to connect to the DB, eg via SQL Developer.
Comment out line 35 in the Vagrant file. This mounts an additional folder however depending on how long it takes the machine to boot, the database might startup before that happens and things will complain.