Overview

The ora_profile::database class contains all the Puppet® code to install, create and populate an Oracle database. This class is an easy way to get started. It contains the following stages (These are not puppet stages):

  • sysctl (Set all required sysctl parameters)
  • limits (Set all required OS limits)
  • packages (Install all required packages)
  • groups_and_users (Create required groups and users)
  • firewall (Open required firewall rules)
  • db_software (Install required Oracle database software)
  • db_patches (Install specified Opatch version and install specified patches)
  • db_definition (Define the database)
  • db_listener (Start the Listener)
  • db_services (Define Database Services)
  • db_tablespaces (Define all required tablespaces)
  • db_profiles (Define all required Oracle profiles)
  • db_users (Define all required Oracle users)
  • db_startup (Make sure the database restarts after a reboot)

All these stages have a default implementation. This implementation is suitable to get started with. These classed all have parameters you can customize through hiera values. The defaults are specified in the module’s data/default.yaml file.

But sometimes this is not enough and you would like to add some extra definitions, you can, for example, add a Puppet® class to be executed after the systctl stage is done and before the limits is done. You can do this by adding the next line to your yaml data:

ora_profile::database::before_sysctl:   my_profile::my_extra_class

or after:

ora_profile::database::after_sysctl:   my_profile::my_extra_class

If you want to, you can also skip this provided class:

ora_profile::database::sysctl:   skip

Or provide your own implementation:

ora_profile::database::sysctl:   my_profile::my_own_implementation

This mechanism can be used for all named stages and makes it easy to move from an easy setup with a running standard database to a fully customized setup using a lot of your own classes plugged in.