--- # # installation des binaires ORACLE # - name: Création du répertoire oracle shell: | mkdir -p {{ item }} chown -R oracle:oinstall /$(echo {{ item }} | cut -d"/" -f2) chmod -R 775 /$(echo {{ item }} | cut -d"/" -f2) # file: dest={{ item }} mode=775 owner=oracle group=oinstall state=directory recurse=yes with_items: - "{{ oracle_base }}" - "{{ oracle_inventory }}" - "{{ oracle_home }}" - "{{ oracle_sources }}" - "{{ oracle_oradata }}" - "{{ oracle_fra }}" tags: createdir - name: vérification de l espace disque disponible sur oracle_base action: shell df -P {{ oracle_base }} | awk 'END { print $4 }' register: u01size failed_when: u01size.stdout|int < u01_free_space_gb*1024*1024 tags: diskfreespace - name: vérification de l espace disque disponible sur /tmp action: shell df -P /tmp | awk 'END { print $4 }' register: tmpsize failed_when: tmpsize.stdout|int < tmp_free_space_gb*1024*1024 tags: diskfreespace - name: Vérifier si une installation existe ... shell: grep "{{ oracle_home }}" "{{ oracle_inventory }}/ContentsXML/inventory.xml" | wc -l register: checkdbswinstall failed_when: checkdbswinstall.stdout != "0" tags: checkifexists - name: Téléchargement des binaires Oracle shell: wget --no-check-certificate https://kutt.axiome.io/m7EQg2p -O {{ oracle_sources }}/{{oracle_zip_filename}} tags: download_sw - name: Extraction des binaires Oracle unarchive: src={{ oracle_sources }}/{{ oracle_zip_filename }} dest={{ oracle_home }} become: true become_method: su become_user: oracle tags: extract_sw # copie des librairies stubs.tar pour Linux 9 - name: Copier le fichier stub.tar copy: src=stub.tar dest={{ oracle_home }}/lib/stubs/stub.tar tags: extract_stubs when: ansible_distribution_major_version == "9" # décompression du fichier tar : - name: Extraction des librairies stubs.tar dans OH/lib/stubs/ unarchive: src={{ oracle_home }}/lib/stubs/stub.tar dest={{ oracle_home }}/lib/stubs/ become: true become_method: su become_user: oracle tags: extract_stubs when: ansible_distribution_major_version == "9" # téléchargeent de OPatch et Patch Release Update - name: Téléchargement OPatch shell: wget --no-check-certificate https://kutt.axiome.io/opatch -O /u01/sources/{{opatch_file}} tags: download_opatch - name: Téléchargement du PSU shell: wget --no-check-certificate https://kutt.axiome.io/db_ru -O /u01/sources/{{psu_file}} tags: download_ru # decompression de OPatch dans $ORACLE_HOME - name: Installation OPatch dns ORACLE_HOME unarchive: src={{ patch_dir }}/{{ opatch_file }} dest={{ oracle_home }} become: true become_method: su become_user: oracle tags: patch_db # extract du patch dans /u01/sources - name: unzip du patch unarchive: src={{ patch_dir }}/{{ psu_file }} dest={{ patch_dir }} become: true become_method: su become_user: oracle tags: patch_db - name: Copie du fichier de réponse pour installation silencieuse template: src=db_install_{{ oracle_version }}.j2 dest={{ oracle_sources }}/{{ db_response_file }} tags: responsefile - name: Création du script d installation silencieuse template: src=run_db_install.sh.j2 dest={{ oracle_sources }}/run_db_install.sh mode=755 tags: responsefile ## La commande export est dans le fichier sh de l'étape précédente qui lance l'installation silencieuse. # - name: modification du numero de distib sur Linux 8 # lineinfile: dest={{ oracle_home }}/cv/admin/cvu_config state=present line="CV_ASSUME_DISTID=OEL7.6" # tags: distid_ol7 - name: Installation des binaires Oracle shell: "{{ oracle_sources }}/run_db_install.sh" register: oradbinstall become: true become_method: su become_user: oracle ignore_errors: true tags: orainstall - debug: var=oradbinstall.stdout_lines tags: orainstall - name: Vérification de l existance du fichier orainstRoot.sh stat: path="{{ oracle_inventory }}/orainstRoot.sh" register: orainstRoot - name: Exécution du script orainstRoot.sh shell: "{{ oracle_inventory }}/orainstRoot.sh" when: orainstRoot.stat.exists tags: runroot - name: Exécution du script root.sh shell: "{{ oracle_home }}/root.sh" tags: runroot - name: Résultat de l installation via OPatch shell: "{{ oracle_home }}/OPatch/opatch lspatches" become: true become_method: su become_user: oracle register: opatchls tags: opatch - debug: var=opatchls.stdout_lines tags: opatch # suppression des binaires, du fichier de réponse et du script d'install - 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 # 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