ora_profile
Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.7.0 < 7.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'enterprisemodules-ora_profile', '0.8.9'
Learn more about managing modules with a PuppetfileDocumentation
Table of Contents
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
Overview
The ora_profile
module allows an easy path from first simple installation to a fully customized Enterprise setup. It is part of our family of Puppet modules to install, manage and secure Oracle databases with Puppet. Besides the ora_profile
module, this family also contains:
- ora_install For installing an Oracle database and other database related Oracle products
- ora_config For configuring every aspect of your Oracle database
- ora_cis To secure your databases according to the CIS benchmarks.
- ora_rac To use Puppet to create and manage Oracle RAC installations.
This module support Oracle 10, 11, 12 and 18
License
Most of the Enterprise Modules modules are commercial modules. This one is NOT. It is an Open Source module. You are free to use it any way you like. It, however, is based on our commercial Puppet Oracle modules.
Description
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)asm_storage
(Setup storage for use with ASM (skipped by default))asm_software
(Install Grid Infrastructure/ASM (skipped by default))asm_diskgroup
(Define all requires ASM diskgroups (skipped by default))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.
Check here to see the full documentation for this module.
Setup
Requirements
The ora_profile
module requires:
- Puppet module
enterprisemodules-ora_config
installed. - Puppet module
enterprisemodules-ora_install
installed. - Puppet module
enterprisemodules-easy_type
installed. - Puppet module
enterprisemodules/ora_cis
installed. - Puppet module
ipcrm-echo
installed. - Puppet module
herculesteam-augeasproviders_core
installed. - Puppet module
herculesteam-augeasproviders_sysctl
installed. - Puppet module
saz-limits
installed. - Puppet module
puppetlabs-firewall
installed. - Puppet module
crayfishx-firewalld
installed. - Puppet module
puppetlabs-stdlib
installed. - Puppet version 4.0 or higher. Can be Puppet Enterprise or Puppet Open Source
- Oracle 11 higher
- A valid Oracle license
- A valid Enterprise Modules license for usage.
- Runs on most Linux systems.
- Runs on Solaris
- Windows systems are NOT supported
Installing the ora_profile module
To install these modules, you can use a Puppetfile
mod 'enterprisemodules/ora_profile' ,'0.1.0'
Then use the librarian-puppet
or r10K
to install the software.
You can also install the software using the puppet module
command:
puppet module install enterprisemodules-ora_profile
Usage
To get started, include the ora_profile::database
class in your role, make sure you have a module called software
that has a folder files
and that directory contains the the next files:
- linuxx64_12201_database.zip
- p6880880_122010_Linux-x86-64_12.2.0.1.12.zip (OPatch)
- p27468969_122010_Linux-x86-64.zip (GI APR 2018 RELEASE UPDATE 12.2.0.1.180417)
If you also want to install ASM, the file below also needs to be placed in the files
directory:
- linuxx64_12201_grid_home
You can download these files from here or here
Run Puppet and you have a running Oracle 12.2 database called DB01
Reference
Here you can find some more information regarding this puppet module:
Here are related blog posts:
- How to ensure you only use Oracle features you paid for
- Oracle 12.2 support added to our Oracle modules
- Secure your Oracle Database
- Manage Oracle containers with Puppet
- Manage your oracle users with Puppet
- Reaching into your Oracle Database with Puppet
- Manage your Oracle database schemas with Puppet
- Managing your Oracle database size with Puppet
- Using Puppet to manage Oracle
Limitations
This module runs on Solaris, AIX and most Linux versions. It requires a puppet version higher than 4. The module does NOT run on windows systems.
Changelog
All notable changes to this project will be documented in this file.
Release 0.8.9
Bug fixes
[core] Use ensure_resources in steda of create_resources to make manifests more resilient
Release 0.8.8
New features
- [release] Use correct version of ora_install
- [asm_software] Use new ora_tab_entry type
- [db_definition] Use new ora_tab_entry type
Release 0.8.7
New features
- [db_software] allow usage of bash_profile for db_software
- [db_definition] Fix lint errors
- [docs] reword db_tablespaces::list
Release 0.8.6
New features
- [db_definition] archivelog configurable
- [db_definition] add support for RAC
- [instance] pass log_size and use it
Bug fixes
- [db_definition_template] properly add line to oratab
- [data] add more defaults
- [asm_software] properly add line to oratab
Release 0.8.5
Bug fixes
- [db_definition] Container disabled by default
Release 0.8.4
New features
- [db_definition] Add support for container databases
Release 0.8.3
Bug fixes
- [asm_storage] Fix timing issues with ASMlib disks
Release 0.8.2
Bug fixes
- [asm_groups_and_users] Fix used home when not default
Release 0.8.1
Bug fixes
- [asm_software] / [asm_diskgroup] make redundancy configurable
- [docs] update readme with all dependencies
Release 0.8.0
New features
- Add support for Puppet 6
Bug fixes
- [quality] Fix rubocop messages
- [core] Update metadata to new pdk
Release 0.7.1
Bug fixes
- [db_software] Small fixes in ordering and dirs
Release 0.7.0
New features
- Add support for Oracle 18
Release 0.6.2
Bugfixes
- [asm_storage] Remove some NFS defaults and add some afd defaults
- [asm_software] Add extra dir
Release 0.6.1
Bugfixes
- [asm_storage] Some new documentation generated
- [db_software] Use the passed dba_group, install_group and os_user correct
Release 0.6.0
- [database] Use conditional staged_contain
- [database] Add code for deploying RAC
- [asm] refacter to have easier hiera
- [firewalld] Fix description of rule
- [db_software] Small fix in requires
- [core] Update documentation and some small fixes
Release 0.5.0
- [core] Add multiple storage options for asm and integrate RAC
Release 0.4.0
- [database] Fix resource type
- [asm] Fix document generation
- [core] Add code to install ASM
- [spec] Fix unittests when used with latest version of ora_cis
- [db_definition_template] Add docs for db_definition_template manifest
- [firewalld] Use correct zone
- [docs] Add generated docs to some more classes
- [docs] Update source docs
- [db_definition_template] Add code to create database from template
Features
- Added initial support for asm
Bugfixes
- Fixed creating oracle users
Release 0.3.0
- [db_patches] Add support for patching when the database is running
- [db_patches] Apply default patches
- [docs] Update description
- [spec] Remove deprecation messages
- [db_patches] Remove tmp_dir property
- [secured_database] Add initial implementation and docs
- [specs] Move unit specs to correct directory
- [core] Some minor fixes: added required packages for installation and patching (unzip, psmisc) and set the correct patches for a 12.2 release (current patch is April 2018)
Features
- Added
ora_profile::secure_database
for having a CIS secured database - Added support for automatic patches
Bugfixes
- Fixed some missing packages
Release 0.2.0
- [core] Provide better messages on what’s going on.
- [firewall] Remove udp ports list
- [core] Add support for using the customisations without hiera values
- [firewall] Add iptables of firewalld package if not already in catalog
- [db_software] Add zipp to catalog if not already there
- [database] Add support for managing firewall ports.
- [release] Add directly called modules as dependencies & remove unsupported OS-es
Features
- Allows management of IP firewall rules for database
- Allows direct changes of the master parameters through puppet instead of through hiera.
- All directly called modules are now in the metadata
Bugfixes
None
Known Issues
- Cannot install new patches after the database is already running
- File for Opatch update is not idomatic.
Release 0.1.0
Initial release
Features
- Allows easy database installation and management
Bugfixes
None
Known Issues
- Cannot install new patches after the database is already running
- Firewall rules are not added. Just the firewalls are stopped
Dependencies
- enterprisemodules/easy_type (>= 2.6.0 < 3.0.0)
- enterprisemodules/partition (>= 0.5.0 < 1.0.0)
- enterprisemodules/ora_config (>= 3.0.0 < 4.0.0)
- enterprisemodules/ora_install (>= 4.3.0 < 5.0.0)
- enterprisemodules/ora_cis (>= 2.0.0 < 3.0.0)
- ipcrm-echo (>= 0.1.5 < 1.0.0)
- herculesteam-augeasproviders_core (>= 2.1.4 < 3.0.0)
- herculesteam-augeasproviders_sysctl (>= 2.2.0 < 3.0.0)
- saz-limits (>= 3.0.2 < 4.0.0)
- puppetlabs-firewall (>= 1.12.0 < 2.0.0)
- crayfishx-firewalld (>= 3.4.0 < 4.0.0)
- puppetlabs-stdlib (>= 4.25.0 < 5.0.0)