Getting started
This solution has been designed to be run in an AWX/Tower environment or by CLI on an Ansible control host.
AWX/Tower
For AWX/Tower environments, you are guided through creating an inventory of your ONTAP cluster management and Oracle server (IPs and hostnames), creating credentials, configuring a project that pulls the Ansible code from NetApp Automation Github, and the Job Template that launches the automation.
-
Fill out the variables specific to your environment, and copy and paste them into the Extra Vars fields in your job template.
-
After the extra vars have been added to your job template, you can launch the automation.
-
The job template is run in three phases by specifying tags for ontap_config, linux_config, and oracle_config.
CLI via the Ansible control host
-
To configure the Linux host so that is can be used as an Ansible control host
click here for detailed instructions -
After the Ansible control host is configured, you can git clone the Ansible Automation repository.
-
Edit the hosts file with the IPs and/or hostnames of your ONTAP cluster management and Oracle server's management IPs.
-
Fill out the variables specific to your environment, and copy and paste them into the
vars.yml
file. -
Each Oracle host has a variable file identified by its hostname that contains host-specific variables.
-
After all variable files have been completed, you can run the playbook in three phases by specifying tags for
ontap_config
,linux_config
, andoracle_config
.
Requirements
Environment | Requirements |
---|---|
Ansible environment |
AWX/Tower or Linux host to be the Ansible control host |
Ansible v.2.10 and higher |
|
Python 3 |
|
Python libraries |
|
ONTAP |
ONTAP version 9.3 - 9.7 |
Two data aggregates |
|
NFS vlan and ifgrp created |
|
Oracle server(s) |
RHEL 7/8 |
Oracle Linux 7/8 |
|
Network interfaces for NFS, public, and optional mgmt |
|
Oracle installation files on Oracle servers |
Automation Details
This automated deployment is designed with a single Ansible playbook that consists of three separate roles. The roles are for ONTAP, Linux, and Oracle configurations.
The following table describes which tasks are being automated.
Role | Tasks |
---|---|
ontap_config |
Pre-check of the ONTAP environment |
Creation of NFS based SVM for Oracle |
|
Creation of export policy |
|
Creation of volumes for Oracle |
|
Creation of NFS LIFs |
|
linux_config |
Create mount points and mount NFS volumes |
Verify NFS mounts |
|
OS specific configuration |
|
Create Oracle directories |
|
Configure hugepages |
|
Disable SELinux and firewall daemon |
|
Enable and start chronyd service |
|
increase file descriptor hard limit |
|
Create pam.d session file |
|
oracle_config |
Oracle software installation |
Create Oracle listener |
|
Create Oracle databases |
|
Oracle environment configuration |
|
Save PDB state |
|
Enable instance archive mode |
|
Enable DNFS client |
|
Enable database auto startup and shutdown between OS reboots |
Default parameters
To simplify automation, we have preset many required Oracle deployment parameters with default values. It is generally not necessary to change the default parameters for most deployments. A more advanced user can make changes to the default parameters with caution. The default parameters are located in each role folder under defaults directory.
Deployment instructions
Before starting, download the following Oracle installation and patch files and place them in the /tmp/archive
directory with read, write, and execute access for all users on each DB server to be deployed. The automation tasks look for the named installation files in that particular directory for Oracle installation and configuration.
LINUX.X64_193000_db_home.zip -- 19.3 base installer p31281355_190000_Linux-x86-64.zip -- 19.8 RU patch p6880880_190000_Linux-x86-64.zip -- opatch version 12.2.0.1.23
License
You should read license information as stated in the Github repository. By accessing, downloading, installing, or using the content in this repository, you agree the terms of the license laid out here.
Note that there are certain restrictions around producing and/or sharing any derivative works with the content in this repository. Please make sure you read the terms of the License before using the content. If you do not agree to all of the terms, do not access, download, or use the content in this repository.
After you are ready, click here for detailed AWX/Tower deployment procedures or here for CLI deployment.