These roles are used to configure settings common to all machines
-
Install some generic packages
-
Configure ntp
Configures the host-specific Oracle settings:
-
Add a user & group
-
Create directory structures
-
Handle filesystem storage (partition devices, creates vg/lv and a filesystem (ext4, xfs, btrfs) etc).
If you want to create your database on a filesystem (instead of ASM) this is where you define the layout. -
Install required OS packages
-
Change kernel paramemeters
-
Set up pam.d/limits config
-
Configures Hugepages (as a percentage of total RAM)
-
Disables transparent hugepages
-
Disables NUMA (if needed)
-
Configures the interconnect network (if needed)
-
Configures Oracle ASMLib (if needed)
Configures passwordless ssh between clusternodes if setting up RAC
(configure_cluster=True
)
-
Uses existing ssh-keys
This role configures storage to be used by ASM.
-
Partitions devices (using parted)
-
Create ASMlib labels or sets up udev-rules for device-name persistence
This role installs and configures Oracle Grid Infrastructure (RAC/SI)
-
Adds a .profile_grid to the oracle user
-
Sets up directory structures
-
Copies the install-files to the servers, or installs from a remote location (e.g nfs share)
-
Install Oracle Grid Infrastructure
This role statefully manages the lifecycle of an ASM diskgroup
-
Uses the oracle_asmdg module
-
Create/delete diskgroup.
-
Add/remove disks
-
Manage attributes for the DG
This role installs the oracle database server(s). It is possible to run more than 1 database from each home. It performs both Single Instance/RAC installations.
-
Creates a .profile with the correct environment
-
Creates directory structures
-
Installs the database-server(s)
This role statefully manages the lifecycle of a database
-
Uses the oracle_db module
-
Creates/deletes:
state: present/absent
-
Maintains archivelog/force_logging True/False
Manage patches in a GI environment
-
Uses the oracle_opatch module
-
Manages opatchauto type of patches as well as 'normal' one-offs
Statefully manage patches in a DB environment
-
Uses the oracle_opatch module
-
Manages opatchauto type of patches as well as 'normal' one-offs
-
Installs cx_Oracle in preparation for using ansible-oracle-modules See https://oracle.github.io/python-cx_Oracle/
Statefully manages various aspects of the DB. They all use modules from ansible-oracle-modules
-
oradb-manage-pdb
-
oradb-manage-tablespace
-
oradb-manage-parameters
-
oradb-manage-roles
-
oradb-manage-users
-
oradb-manage-grants
-
oradb-manage-redo
-
oradb-manage-services