On Wed, Oct 24, 2012 at 03:03:28PM +0100, fatmcgav wrote: > Afternoon all. > > I've been reading around on Puppet and Oracle, and have come up with a few > links that suggest how to get Oracle installed and base configured, which > has got me started in the right direction on that. > > My next challenge is maintaining Oracle database specific configuration on > the relevant hosts. This contains various elements, such as /etc/oratab, > /etc/oranfstab (as we're using dNFS), various NFS mounts required for a > given database, and a few other bits and pieces... > Ideally, it would be a 1-to-1 relationship between a given host and a given > DB. However that's unlikely in our env - We're more likely to have 1 or > multiple databases on a given host, which all need to be maintained. > > My initial thoughts are to use something like hiera to maintain this > configuration data. > Is this my best approach? Any other suggestions? Anyone doing this for > real? > > Basically, any info/pointers you give me is greatly appreciated. > > Regards > Gavin > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. >
A collegue of mine wrote an oracle::server class that makes sure directories, users, groups and NFS mounts are in place. The class will also install oracle itself with an exec resource (silent install). The exec resource will not run the installer directly but will launch a wrapperscript. It basically looks like exec { 'Install_Oracle': command => "/path/to/nas/share/install_oracle${version}.sh", creates => "/u01/some/path/log/install_oracle${version}.done.log", } The wrapper script will launch a slient install and will create the .done.log file afterwards. This was in our opinion the best way to keep puppet from installing the software in each puppet run. The oracle::server class does nothing that is related to a specific instance. We then have an oracle::instance define that installs instance related files. The define has a similar exec resource that can install a single instance (I guess the command is dbca or similar). To manage oratab entries we use a custom type I've written: https://github.com/stschulte/puppet-oracle We do not use hiera to store instance related data (instance name, charset, homedirectory) we use parameterized classes (oracle::server) and defines (oracle::instance) with parameters at node level in site.pp -Stefan -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.