Overview
1. Roles
1.1. common
These roles are used to configure settings common to all machines
-
Install some generic packages
-
Configure ntp
1.2. orahost
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 parameters
-
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)
1.3. orahost-ssh
Configures passwordless ssh between clusternodes if setting up RAC
(configure_cluster=True)
-
Uses existing ssh-keys
1.4. orahost-storage
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
1.5. oraswgi-install
This role installs and configures Oracle Restart (Grid Infrastructure for a Standalone Server). The tasks for Grid Infrastructure for a Cluster (RAC) are not tested.
-
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 software and configure Oracle Restart
-
Out-of-Place Patching of Oracle Restart 26ai: switch into a new
oracle_home_gi
1.6. oraasm-manage-diskgroups
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
1.7. oraswdb-install
This role installs the oracle database server(s). It is possible to run more than 1 database from each home. It performs Single Instance installations (RAC installations are not tested).
-
Creates a .profile with the correct environment
-
Creates directory structures
-
Installs the database-server(s)
1.8. oradb-manage-db
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
1.9. oraswgi-manage-patches
Manage patches in a GI environment
-
Uses the oracle_opatch module
-
Manages opatchauto type of patches as well as 'normal' one-offs
1.10. oraswdb-manage-patches
Statefully manage patches in a DB environment
-
Uses the oracle_opatch module
-
Manages opatchauto type of patches as well as 'normal' one-offs
1.11. pyoracledb
-
Installs python-oracledb with pip, needed by the modules of ansible-oracle
-
Replaces the removed role cxoracle See https://python-oracledb.readthedocs.io/
1.12. orahost-cron
-
Configures cron schedules if needed
1.13. orahost-logrotate
Logs grow. Log rotation solves the problem of always-growing logs.
1.14. oradb-manage-<*>
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