--- # # post configuration d'une installation de base de données Oracle # # --------------------------------------------------- # récupération des scripts sql # --------------------------------------------------- - name: Vérifier si le répertoire scripts existe stat: path: "{{ scripts_dir }}" register: scripts_directory - name: Git Pull car le répertoire existe git: repo: https://github.com/Yacine31/sql.git dest: "{{ scripts_dir }}" update: yes force: yes when: scripts_directory.stat.exists become: true become_method: su become_user: oracle - name: Clonage du repository github SQL car le répertoire n'existe pas git: repo: https://github.com/Yacine31/sql.git dest: "{{ scripts_dir }}" clone: yes update: yes force: yes when: not scripts_directory.stat.exists ignore_errors: true become: true become_method: su become_user: oracle # --------------------------------------------------- # changement du propriétaire de root en oracle # --------------------------------------------------- - name: Changement du propriétaire file: dest: "{{ scripts_dir }}" owner: oracle group: oinstall recurse: yes # --------------------------------------------------- # Ajout de la variabe ORACLE_PATH ans .bash_profile # --------------------------------------------------- - name: Ajout de la variabe ORACLE_PATH ans .bash_profile lineinfile: path=/home/oracle/.bash_profile line="export ORACLE_PATH={{ scripts_dir }}" create=yes tags: oraclepath # --------------------------------------------------- # ajout de script oracle pour les backups rman # --------------------------------------------------- - name: Création de répertoire de sauvegarde RMAN et Datapump /u04 file: dest=/u04 mode=775 owner=oracle group=oinstall state=directory recurse=yes tags: backup - name: installation du package mutt et curl pour envoyer des mails depuis le shell yum: name={{ item }} state=latest disable_gpg_check=yes loop: - mutt - curl tags: backup - name: Ajout de la tâche cron RMAN cron: name="Backup RMAN des bases ouvertes et en AL" user=oracle minute="44" hour="23" job="sh {{ scripts_dir }}/backup_rman_alldb.sh 2>&1 1>/dev/null" tags: backup - name: Ajout de la tâche cron Datapump cron: name="Export Datapump des bases ouvertes" user=oracle minute="44" hour="21" job="sh {{ scripts_dir }}/export_datapump_alldb.sh 2>&1 1>/dev/null" tags: backup - name: Ajout de la tâche cron backup des binaires cron: name="Backup des binaires" user=oracle minute="44" hour="20" day="1" job="sh {{ scripts_dir }}/backup_bin.sh 2>&1 1>/dev/null" tags: backup - name: Ajout de la tâche cron backup des AL si FRA >= seuil définit cron: name="Backup des AL si FRA >= seuil définit" user=oracle minute="*/10" job="sh {{ scripts_dir }}/backup_rman_AL_fct_FRA_Usage.sh 2>&1 1>/dev/null" tags: backup # --------------------------------------------------- # configuration Linux : config oracle pour logrotate # Gestion des fichiers logs seulement (archivage et réinitialisation) # --------------------------------------------------- - name: Gestion des logs Oracle - copie du fichier de configuration pour logrotate template: src=logrotate_oracle.j2 dest=/etc/logrotate.d/oracle mode=644 owner=root group=root tags: logrotate # --------------------------------------------------- # configuration Linux : oracle cleaner dans le cron de l'utilisateur oracle # Gestion des fichiers trace et xml : purge des anciens fichiers # --------------------------------------------------- - name: Netoyage ADR Oracle - copie du fichier de configuration pour cron template: src=cron_oracle_cleaner.j2 dest=/home/oracle/oracle_cleaner.sh mode=755 owner=oracle group=oinstall tags: oracle_cleaner # ajout du script dans le crontab de l'utilisateur oracle - name: Ajout de la tâche cron purge des fichiers trace et audit cron: name="Purge des fichiers trace et audit" user=oracle minute="23" hour="23" day="1" job="sh /home/oracle/oracle_cleaner.sh 2>&1 1>/dev/null" tags: oracle_cleaner # suppression de l'ancien fichier qui se trouve dans /etc/cron.daily si il existe - name: suppression du fichier /etc/cron.daily/oracle_cleaner si il existe ansible.builtin.file: path=/etc/cron.daily/oracle_cleaner status=absent tags: oracle_cleaner # --------------------------------------------------- # copy du fichier dbora.service dans /lib/systemd/system pour redémmarage auto # --------------------------------------------------- - name: Copie du script de démarrage auto des bases Oracle template: src=dbora.service.j2 dest=/lib/systemd/system/dbora.service owner=root mode=644 tags: dbora_init - name: Activation par systemctl du script de démarrage auto des bases Oracle systemd: name=dbora daemon_reload=yes enabled=yes tags: dbora_init - debug: msg="Pensez à mettre Y au lieu de N dans /etc/oratab pour les bases à démarreage automatique"