Files
2025-09-05 10:18:39 -04:00

210 lines
5.6 KiB
YAML
Executable File

- name: display pre database software install message
remote_user: "{{ root_user }}"
debug:
msg:
- 'Oracle Database Software 19c Installation started for Single Instance at {{ansible_date_time.iso8601}}:'
- name: Ensure free space on disk is more than 7.2 GB
assert:
that: item.size_available > 7200000000
msg: "warning: disk space is low"
when: item.mount == mount_directory
with_items: "{{ ansible_mounts }}"
no_log: true
- debug:
msg: "checking resource limits"
- name: check file descriptor soft limit
shell:
cmd: ulimit -Sn
register: limits
- name: ---
fail:
msg: "warning: file descriptor soft limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 1024
- name: check file descriptor hard limit
shell:
cmd: ulimit -Hn
register: limits
- name: ---
fail:
msg: "warning: file descriptor hard limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 65536
- name: check available processes soft limit
shell:
cmd: ulimit -Su
register: limits
- name: ---
fail:
msg: "warning: available processes soft limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 2047
- name: check available processes hard limit
shell:
cmd: ulimit -Hu
register: limits
- name: ---
fail:
msg: "warning: available processes hard limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 16384
- name: check stack segment soft limit
shell:
cmd: ulimit -Ss
register: limits
- name: ---
fail:
msg: "warning: stack segment soft limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 10240
- name: check stack segment hard limit
shell:
cmd: ulimit -Hs
register: limits
- name: ---
fail:
msg: "warning: stack segment hard limit is {{ limits.stdout }}"
ignore_errors: yes
when: limits.stdout | int < 10240 or limits.stdout | int > 32768
- name: create required directories
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
file:
path="{{ item }}"
state=directory
owner="{{ oracle_user }}"
group="{{ oracle_install_group }}"
mode=0775
with_items:
- "{{ root_directory }}"
- "{{ scripts_directory }}"
- "{{ oracle_inventory }}"
- "{{ oracle_base }}"
- "{{ stage_dir }}"
- "{{ oracle_home }}"
- "{{ oracle_datadir }}"
- "{{ oracle_fra }}"
tags:
- db19c_createinventory
- name: Unpack Oracle 19c Database Software to the target server
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
unarchive:
src: "{{ oracle19c_path }}"
dest: "{{ oracle_home }}"
remote_src: yes
mode: 0775
# group: "{{ oracle_install_group }}"
owner: "{{ oracle_user }}"
tags:
- db19c_unpackdbsoftware
- name: Setup Oracle 19c Database Software silent response file
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
template: src=roles/dbsoftware19c_install/templates/{{ oradbsoft_rsp }}.rsp.j2 dest={{ stage_dir }}/{{ oradbsoft_rsp }}.rsp mode=0755
tags:
- db19c_setuprspfile
- name: Install Oracle 19c Database Software
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
shell: "CV_ASSUME_DISTID=OEL7.6 {{ oracle_home }}/runInstaller -silent -responseFile {{ stage_dir }}/{{ oradbsoft_rsp }}.rsp -noconfig -ignorePrereqFailure"
ignore_errors: True
tags:
- dbsoft19c_install
- name: Execute orainstroot.sh
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
shell: "{{ oracle_inventory }}/orainstRoot.sh"
ignore_errors: True
tags:
- db19c_exeorainstroot
- name: Execute root.sh
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
shell: "{{ oracle_home }}/root.sh -silent"
tags:
- db19c_exeroot
- name: Remove stage directory
when: inventory_hostname in groups['dbservers']
file: path={{ stage_dir }} state=absent
- name: Ensure /bin exists
file:
path: ~oracle/bin
state: directory
owner: oracle
group: oinstall
mode: '0755'
tags:
- dbca_mkbin
- name: Create Oracle profile
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
template: src=roles/dbsoftware19c_install/templates/{{ profile_script }}.j2 dest=~/bin/{{ profile_script }} mode=0755
tags:
- dbca_setupprofile
- name: Ensure setEnv.sh is sourced in .bash_profile
lineinfile:
path: ~{{ oracle_user }}/.bash_profile
line: ". ~{{ oracle_user }}/bin/setEnv.sh"
state: present
create: yes
insertafter: EOF
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
tags:
- dbca_setenvprofile
- name: Setup Oracle 19c DBCA silent response file
when: inventory_hostname in groups['dbservers']
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
template: src=roles/dbsoftware19c_install/templates/{{ dbca_rsp }}.rsp.j2 dest=/tmp/{{ dbca_rsp }}.rsp mode=0755
tags:
- dbca_setuprspfile
- name: Creating Oracle 19c Database
when: inventory_hostname in groups['dbservers'] and create_database
remote_user: "{{ root_user }}"
become: yes
become_user: "{{ oracle_user }}"
shell: "{{ oracle_home }}/bin/dbca -createDatabase -silent -responseFile /tmp/{{ dbca_rsp }}.rsp -enableArchive true"
ignore_errors: True
tags:
- dbca_createdatabase