From 33742d895143d350c7aa3ca0752416eaeb57e864 Mon Sep 17 00:00:00 2001 From: James Pattinson Date: Wed, 20 Aug 2025 14:43:30 -0400 Subject: [PATCH] Enable AL mode and install Rubrik --- .vscode/settings.json | 3 ++ README.md | 52 +++++++++++++++++++ inventory.ini | 2 +- oracle19c_rdbmsinstall.yml | 15 +++++- roles/dbsoftware19c_install/tasks/main.yml | 2 +- .../templates/dbca.rsp.j2 | 2 +- terraform/main.tf | 12 ++++- 7 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 README.md diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5d71af8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "ansible.python.interpreterPath": "/bin/python3" +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..abc487a --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# Oracle Deploy OL8 19c + +Automated deployment of Oracle Database 19c on Oracle Linux 8 using Ansible and Terraform. + +## Prerequisites + +- Proxmox ready to go +- Oracle Database 19c installation files on NFS +- Ansible and Terraform installed +- Sufficient system resources + +Ansible collections + +``` +Collection Version +----------------- ------- +ansible.posix 2.1.0 +community.general 11.2.0 +``` + +## Installation + +1. Clone this repository: + ```sh + git clone https://github.com/yourusername/oracle-deploy-OL8-19c.git + cd oracle-deploy-OL8-19c + ``` +2. Place Oracle 19c installation files in `/data/software/Oracle/19c/`. +3. Adjust inventory and variable files as needed. + +## Usage + +- Use Terraform to provision VMs: + ```sh + cd terraform + terraform init + terraform apply + ``` + +- Update inventory.yml with details of nodes: + ``` + terraform state pull | grep default + ``` + +- Run the Ansible playbook: + ```sh + ansible-playbook -i inventory.ini oracle19c_rdbmsinstall.yml + ``` + +## License + +MIT License diff --git a/inventory.ini b/inventory.ini index be83589..2c555a1 100644 --- a/inventory.ini +++ b/inventory.ini @@ -2,6 +2,6 @@ localhost ansible_connection=local [dbservers] -oraTest1 ansible_host=192.168.10.176 ansible_user=jamesp ansible_become=yes +oraTest2 ansible_host=192.168.10.182 ansible_user=jamesp ansible_become=yes #db2 ansible_host=192.168.10.189 ansible_user=jamesp ansible_become=yes #db2 ansible_host=192.168.10.120 ansible_user=jamesp ansible_become=yes diff --git a/oracle19c_rdbmsinstall.yml b/oracle19c_rdbmsinstall.yml index 0a8cb99..2241f4c 100755 --- a/oracle19c_rdbmsinstall.yml +++ b/oracle19c_rdbmsinstall.yml @@ -2,8 +2,10 @@ hosts: dbservers become: yes vars: + cdm_ip: 192.168.10.18 packages: - oracle-database-preinstall-19c + - https://{{ cdm_ip }}/connector/rubrik-agent.x86_64.rpm pre_tasks: - name: Update all packages @@ -11,9 +13,11 @@ name: "*" state: latest - - name: Install common packages + - name: Install Rubrik Agent and Oracle Prereqs dnf: name: "{{ packages }}" + validate_certs: false + disable_gpg_check: true state: present - name: Create LVM partition on /dev/sdb @@ -48,7 +52,7 @@ lvol: vg: vg_oracle lv: lv_fra - size: 10g + size: 15g state: present - name: Create filesystem on {{ root_directory }} @@ -106,5 +110,12 @@ opts: defaults state: mounted + - name: Stop firewalld service + tags: firewall + systemd: + name: firewalld + state: stopped + enabled: no + roles: - dbsoftware19c_install diff --git a/roles/dbsoftware19c_install/tasks/main.yml b/roles/dbsoftware19c_install/tasks/main.yml index 7307ab4..dbc2d5a 100755 --- a/roles/dbsoftware19c_install/tasks/main.yml +++ b/roles/dbsoftware19c_install/tasks/main.yml @@ -202,7 +202,7 @@ remote_user: "{{ root_user }}" become: yes become_user: "{{ oracle_user }}" - shell: "{{ oracle_home }}/bin/dbca -createDatabase -silent -responseFile /tmp/{{ dbca_rsp }}.rsp" + shell: "{{ oracle_home }}/bin/dbca -createDatabase -silent -responseFile /tmp/{{ dbca_rsp }}.rsp -enableArchive true" ignore_errors: True tags: - dbca_createdatabase diff --git a/roles/dbsoftware19c_install/templates/dbca.rsp.j2 b/roles/dbsoftware19c_install/templates/dbca.rsp.j2 index 9ce6d10..35ab68b 100644 --- a/roles/dbsoftware19c_install/templates/dbca.rsp.j2 +++ b/roles/dbsoftware19c_install/templates/dbca.rsp.j2 @@ -552,7 +552,7 @@ variables=ORACLE_BASE_HOME={{ oracle_home }},DB_UNIQUE_NAME={{ oracle_unqname }} # Default value : None # Mandatory : NO #----------------------------------------------------------------------------- -initParams=undo_tablespace=UNDOTBS1,db_block_size=8192BYTES,nls_language=ENGLISH,dispatchers=(PROTOCOL=TCP) (SERVICE={{ oracle_sid }}XDB),diagnostic_dest={ORACLE_BASE},control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),remote_login_passwordfile=EXCLUSIVE,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=300,nls_territory=UNITED KINGDOM,local_listener=LISTENER_{{ oracle_sid }},memory_target={{ oracle_memory_target }},db_recovery_file_dest_size=12732MB,open_cursors=300,log_archive_format=%t_%s_%r.dbf,compatible=19.0.0,db_name={{ oracle_sid }},db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},audit_trail=db +initParams=undo_tablespace=UNDOTBS1,db_block_size=8192BYTES,nls_language=ENGLISH,dispatchers=(PROTOCOL=TCP) (SERVICE={{ oracle_sid }}XDB),diagnostic_dest={ORACLE_BASE},control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{{ oracle_fra }}/{DB_UNIQUE_NAME}/control02.ctl"),remote_login_passwordfile=EXCLUSIVE,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=300,nls_territory=UNITED KINGDOM,local_listener=LISTENER_{{ oracle_sid }},memory_target={{ oracle_memory_target }},db_recovery_file_dest_size=12732MB,open_cursors=300,log_archive_format=%t_%s_%r.dbf,compatible=19.0.0,db_name={{ oracle_sid }},db_recovery_file_dest={{ oracle_fra }}/{DB_UNIQUE_NAME},audit_trail=db #----------------------------------------------------------------------------- # Name : sampleSchema diff --git a/terraform/main.tf b/terraform/main.tf index 423f8c8..ab9aecf 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -35,8 +35,16 @@ variable "vms" { cores = 4 ip = "dhcp" } - - + "oraTest2" = { + memory = 16384 + cores = 4 + ip = "dhcp" + } + "oraTest3" = { + memory = 16384 + cores = 4 + ip = "dhcp" + } } }