I recently encountered Oracle Database 12c and needed to deploy it to IBM PureApplication System (IPAS) as part of a larger solution.
One of the key value propositions of IPAS is automated deployments enabled by patterns. Obviously, in order to realize that value proposition, Oracle needed to be installed automatically to Linux running on IPAS (scripts to do that are here in GitHub repository).
I found many posts all around Internet about installing Oracle and some of them explained how to do it silently. But I didn’t find any guides how to do the complete installation automatically, without human intervention. After some detective work and learning about the life of Oracle database, I developed the script(s) that install Oracle.
For testing the automatic installation, I used local VMWare testing environment: CentOS 6.6, minimal installation plus added packages: zip, unzip, wget, xauth and xeyes (for testing X11 that was needed while I developed the scripts. I used Cygwin/X in my Windows laptop). Here are the major steps that you can take to install Oracle automatically:
- The very first thing is to download Oracle 12c for Linux x86-64 from Oracle site or somewhere else.
- Copy install packages to directory /u01/install_files (in real life database files would be copied automatically).
- Add host name and ip address to /etc/hosts (in real life, this is not needed). In my Linux, I used host name: centos.ibm.com.
- Get the oracle12c_install scripts from GitHub, including prereq config of Linux and Oracle installation (during development, this Tecmint.com post was very helpful as well as Oracle docs).
- Execute script deploy_oracle.sh as root. Optionally specify one argument, the default password that is used everywhere.
- Test connectivity. Use, for example, this simple jdbctester to test connectivity And remember Oracle JDBC drivers.
- Use Oracle normally, as it were installed manually 🙂
So that was the first part. And now to the more interesting stuff.. IPAS patterns and automatic deployment of Oracle.
It’s no rocket science to create patterns. To prove that, here’a a video that shows the creation of the pattern, the deployment and testing.
That’s it! As you can see, any existing scripts can be used with PureApplication and automatic deployment is the reality. If you didn’t see it, the deployment takes about a half an hour. And with patterns, deployment can be done over and over again whenever needed and it will always be the same kind of environment, without the risk of human errors.
Below are Gist snippets of install.sh and prereq.sh.