Veewee/Vagrant/Puppet configuration to install an oracle database on CentOS 6.4
- Veewee (*can be skipped if using prebuilt box)
- Vagrant
- VirtualBox
- Oracle 11g Database Installer - store these in
downloads
Please note, getting veewee, vagrant and virtual box to play nicely can be fun and is left as an exercise for the reader.
- Create the Vagrant/VirtualBox CentOS 6.4 basebox
veewee vbox build centos-6.4veewee vbox validate centos-6.4veewee vbox export centos-6.4
- Add basebox to Vagrant
vagrant box add centos-6.4 centos-6.4.box- You can skip the veewee build by issuing
vagrant box add centos-6.4 http://share.agile.ly/centos-6.4.box
- Using Vagrant, start an instance of the basebox which will install oracle (using puppet)
vagrant up
- Login to the box and check oracle install
vagrant sshsudo -isu - oraclesqlplus sys/password as sysdba
You can if you want export this as a box to save the time required to install oracle ;)
- Export the box and create new instance
vagrant export --output oracle-vm.boxvagrant box add oracle-vm oracle-vm.boxvagrant destroy
- Try your shiny new oracle box
mkdir instancecd instancevagrant init oracle-vmvagrant up
I would publish the prebuilt oracle-vm.box, but since I had to agree to the OTN restrictions to get the oracle installers I would be violating the agreement by doing so.
I may add some more detailed documentation to describe what is going on, but essentially, we are creating a standard vagrant basebox (that's the veewee part, which includes all the stuff to create the VM, run kickstart and install the minimal software). We then use vagrant to install oracle using puppet. The puppet module has been deliberately kept simple and self-contained to make it easy for a newcomer to understand and also easy for a DBA to review.