diff --git a/oracle-db-install.yml b/oracle-db-install.yml index 6e92097..8980fc0 100644 --- a/oracle-db-install.yml +++ b/oracle-db-install.yml @@ -1,5 +1,5 @@ --- - - name: Install Oracle Software (grid + db) + - name: Install Oracle Software hosts: all # user: root # become: yes diff --git a/roles/oracle-db-install/tasks/download_software.yml b/roles/oracle-db-install/tasks/download_software.yml new file mode 100644 index 0000000..bd1537a --- /dev/null +++ b/roles/oracle-db-install/tasks/download_software.yml @@ -0,0 +1,30 @@ +--- + - name: Téléchrgement des binaires + become: yes + get_url: + url: https://kutt.axiome.io/m7EQg2p + dest: /u01/sources/{{oracle_zip_filename}} + mode: 0755 + group: oinstall + owner: oracle + tags: download_sw + + - name: Téléchrgement OPatch + become: yes + get_url: + url : https://kutt.axiome.io/opatch + dest: /u01/sources/{{opatch_file}} + mode: 0755 + group: oinstall + owner: oracle + tags: download_sw + + - name: Téléchrgement du PSU + become: yes + get_url: + url: https://kutt.axiome.io/db_ru + dest: /u01/sources/{{psu_file}} + mode: 0755 + group: oinstall + owner: oracle + tags: download_sw \ No newline at end of file diff --git a/roles/oracle-db-install/tasks/install_database.yml b/roles/oracle-db-install/tasks/install_database.yml index 1395b36..e6f5e51 100644 --- a/roles/oracle-db-install/tasks/install_database.yml +++ b/roles/oracle-db-install/tasks/install_database.yml @@ -88,12 +88,11 @@ tags: opatch # suppression des binaires, du fichier de réponse et du script d'install -# - name: suppression du repertoire des fichiers decompressés -# file: path={{ oracle_sources }}/database state=absent -# -# - name: suppression du fichier de réponse -# file: path={{ oracle_sources }}/{{ db_response_file }} state=absent -# -# - name: suppression du script d'installation -# file: path={{ oracle_sources }}/run_db_install.sh state=absent + - name: suppression du fichier de réponse + file: path={{ oracle_sources }}/{{ db_response_file }} state=absent + - name: suppression du script d'installation + file: path={{ oracle_sources }}/run_db_install.sh state=absent + + - name: suppression du binaires + file: path={{ oracle_sources }}/{{oracle_zip_filename}} state=absent diff --git a/roles/oracle-db-install/tasks/main.yml b/roles/oracle-db-install/tasks/main.yml index c41c523..9c279c6 100644 --- a/roles/oracle-db-install/tasks/main.yml +++ b/roles/oracle-db-install/tasks/main.yml @@ -1,12 +1,17 @@ --- # -# installation des binaires ORACLE : database +# installation des binaires ORACLE et patch # - # --------------------------------------------------- - # configuration Linux : Utilisateurs et groupes - # --------------------------------------------------- +# telechargement des fihiers : oracle DB + opatch + PSU-RU + - include: download_software.yml + +# installation des binaires Oracle DB - include: install_database.yml +# Application du patch + - include: opatch_apply.yml + +# Ajout des sripts d'exploitation - include: scripts_exploitation.yml diff --git a/roles/oracle-db-install/tasks/opatch_apply.yml b/roles/oracle-db-install/tasks/opatch_apply.yml new file mode 100644 index 0000000..9a7205f --- /dev/null +++ b/roles/oracle-db-install/tasks/opatch_apply.yml @@ -0,0 +1,71 @@ +--- + - name: Vérification de l'espace disque u01 + action: shell df -P /u01 | awk 'END { print $4 }' + register: u01size + failed_when: u01size.stdout|int < {{ u01_size_gb }} * 1024 * 1024 + tags: patch_db + + - name: Vérification de l'espace disque tmp + action: shell df -P /tmp | awk 'END { print $4 }' + register: tmpsize + failed_when: tmpsize.stdout|int < {{ tmp_size_gb }} * 1024 * 1024 + tags: patch_db + + - name: Installation OPatch dns ORACLE_HOME + unarchive: src={{ patch_dir }}/{{ opatch_file }} dest={{ oracle_home }} + # action: shell unzip -oq {{ patch_dir }}/{{ opatch_file }} -d {{ oracle_home }} + become: true + become_method: su + become_user: oracle + tags: patch_db + + - name: unzip du patch + unarchive: src={{ patch_dir }}/{{ psu_file }} dest={{ patch_dir }} + # action: shell unzip -oq {{ patch_dir }}/{{ psu_file }} -d {{ patch_dir }} + become: true + become_method: su + become_user: oracle + tags: patch_db + + - name: patch conflict detection + action: shell export ORACLE_HOME={{ oracle_home }}; cd {{ patch_dir }}/{{ patch_number }}; $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ + register: conflict_detection + failed_when: "'Prereq \"checkConflictAgainstOHWithDetail\" passed.' not in conflict_detection.stdout" + become: true + become_method: su + become_user: oracle + tags: patch_db + + - name: Application du patch + action: shell export ORACLE_HOME={{ oracle_home}}; cd {{ patch_dir }}/{{ patch_number }}; $ORACLE_HOME/OPatch/opatch apply -silent + register: apply_psu + failed_when: "'OPatch succeeded.' not in apply_psu.stdout" + become: true + become_method: su + become_user: oracle + tags: patch_db + + - name: Résultat de l'installation via OPatch + shell: "{{ oracle_home }}/OPatch/opatch lsinventory" + become: true + become_method: su + become_user: oracle + register: opatchls + tags: patch_db + + - debug: var=opatchls.stdout_lines + # with_items: opatchls.results + tags: patch_db + + # suppression des binaires, du fichier de réponse et du script d'install + - name: Nettoyage du répertoire du patch + file: path={{ oracle_sources }}/{{ patch_number }} state=absent + tags: patch_db + + - name: suppression du fichier OPatch + file: path={{ oracle_sources }}/{{ opatch_file }} state=absent + tags: patch_db + + - name: suppression du Patch RU + file: path={{ oracle_sources }}/{{ psu_file }} state=absent + tags: patch_db \ No newline at end of file diff --git a/roles/oracle-db-install/tasks/scripts_exploitation.yml b/roles/oracle-db-install/tasks/scripts_exploitation.yml index 4dcb411..91b1d5d 100644 --- a/roles/oracle-db-install/tasks/scripts_exploitation.yml +++ b/roles/oracle-db-install/tasks/scripts_exploitation.yml @@ -3,8 +3,8 @@ # ajout de script oracle pour les backups rman # --------------------------------------------------- - - name: Copie du script backup_rman.sh dans /home/oracle/scripts - copy: src=backup_rman.sh dest=/home/oracle/scripts/ owner=oracle group=oinstall mode=755 + # - name: Copie du script backup_rman.sh dans /home/oracle/scripts + # copy: src=backup_rman.sh dest=/home/oracle/scripts/ owner=oracle group=oinstall mode=755 # --------------------------------------------------- # configuration Linux : config oracle pour logrotate diff --git a/roles/oracle-db-install/templates/cron_oracle_cleaner.j2 b/roles/oracle-db-install/templates/cron_oracle_cleaner.j2 index 8e276f2..2cb4f90 100644 --- a/roles/oracle-db-install/templates/cron_oracle_cleaner.j2 +++ b/roles/oracle-db-install/templates/cron_oracle_cleaner.j2 @@ -11,3 +11,6 @@ find {{ oracle_base }}/diag/rdbms/ -iname "*trc" -mtime +30 -print -delete | lo /usr/bin/logger -t ora_db_clean_trm "Clean trm file older than 30 days from {{ oracle_base }}/diag/rdbms/" find {{ oracle_base }}/diag/rdbms/ -iname "*trm" -mtime +30 -print -delete | logger -t oracle_clean_trm + +/usr/bin/logger -t ora_db_clean_aud "Clean audit file older than 30 days from {{ oracle_base }}/admin/" +find {{ oracle_base }}/admin/ -iname "*.aud" -mtime +30 -print -delete | logger -t oracle_clean_aud diff --git a/roles/oracle-db-install/vars/main.yml b/roles/oracle-db-install/vars/main.yml index faa14d1..e6c4d41 100644 --- a/roles/oracle-db-install/vars/main.yml +++ b/roles/oracle-db-install/vars/main.yml @@ -12,7 +12,7 @@ oracle_sources: "/u01/sources" oracle_oradata: "/u02/oradata/" oracle_fra: "/u03/fast_recovery_area/" oracle_install_edition: "EE" # SE2 ou EE -oracle_zip_filename: "V982063-01_Oracle_Database_19.3.0.0.0_for_Linux_x86-64.zip" +oracle_zip_filename: "Oracle_Database_19.3.0.0.0_for_Linux_x86-64.zip" # u01_free_space 4 Go pour l'install et 4 Go pour transfert et decompression des zip u01_free_space_gb: 8 @@ -21,3 +21,11 @@ etc_free_spage_gb: 1 var_free_spage_gb: 1 db_response_file: "install_db_{{ oracle_version }}.rsp" + +# Variables pour le patch +u01_size_gb: 1 +tmp_size_gb: 1 +patch_dir: "{{ oracle_sources }}" +opatch_file: p6880880_190000_Linux-x86-64.zip +psu_file: path_ru.zip +patch_number: 34765931 diff --git a/roles/oracle-db-postinstall/files/login.sql b/roles/oracle-db-postinstall/files/login.sql index dd2c6de..c46394d 100644 --- a/roles/oracle-db-postinstall/files/login.sql +++ b/roles/oracle-db-postinstall/files/login.sql @@ -1 +1 @@ -set sqlprompt "_user'@'_connect_identifier >" +set sqlprompt "_user'@'_connect_identifier> " diff --git a/roles/oracle-db-postinstall/tasks/main.yml b/roles/oracle-db-postinstall/tasks/main.yml index 7eae6e7..a5fb9aa 100644 --- a/roles/oracle-db-postinstall/tasks/main.yml +++ b/roles/oracle-db-postinstall/tasks/main.yml @@ -13,6 +13,16 @@ update: yes force: yes + # --------------------------------------------------- + # changement du propriétaire de root en oracle + # --------------------------------------------------- + - name: Changement du propriétaire + file: + dest: "{{ scripts_dir }}" + owner: oracle + group: oinstall + recurse: yes + # --------------------------------------------------- # Modification du prompt SQLPlus # --------------------------------------------------- diff --git a/roles/oracle-db-preinstall/files/rlwrap-0.44-1.el8.x86_64.rpm b/roles/oracle-db-preinstall/files/rlwrap-0.44-1.el8.x86_64.rpm new file mode 100644 index 0000000..fa4d77b Binary files /dev/null and b/roles/oracle-db-preinstall/files/rlwrap-0.44-1.el8.x86_64.rpm differ diff --git a/roles/oracle-db-preinstall/files/rlwrap-0.45.2-1.el8.x86_64.rpm b/roles/oracle-db-preinstall/files/rlwrap-0.45.2-1.el8.x86_64.rpm new file mode 100644 index 0000000..790cfef Binary files /dev/null and b/roles/oracle-db-preinstall/files/rlwrap-0.45.2-1.el8.x86_64.rpm differ diff --git a/roles/oracle-db-preinstall/vars/RedHat_7.yml b/roles/oracle-db-preinstall/vars/RedHat_7.yml index 23cbccf..db7bea3 100644 --- a/roles/oracle-db-preinstall/vars/RedHat_7.yml +++ b/roles/oracle-db-preinstall/vars/RedHat_7.yml @@ -95,6 +95,7 @@ - readline - readline-devel - rlwrap + - rsync - rpcbind - sg3_utils - smartmontools diff --git a/roles/oracle-db-preinstall/vars/RedHat_8.yml b/roles/oracle-db-preinstall/vars/RedHat_8.yml index 872470f..a28ea2b 100644 --- a/roles/oracle-db-preinstall/vars/RedHat_8.yml +++ b/roles/oracle-db-preinstall/vars/RedHat_8.yml @@ -76,7 +76,8 @@ - quota - quota-nls - rpcbind - - smartmontools + - rsync + - rlwrap - smartmontools - sysstat - tar