Files
oracle_19_install/roles/oracle-db-postinstall/tasks/main.yml

122 lines
5.3 KiB
YAML

---
#
# 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
ansible.builtin.stat:
path: "{{ scripts_dir }}"
register: scripts_directory
- name: Git Pull car le répertoire existe
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.yum: name={{ item }} state=latest disable_gpg_check=yes
loop:
- mutt
- curl
tags: backup
- name: Ajout de la tâche cron RMAN
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.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
ansible.builtin.template: src=cron_oracle_cleaner.j2 dest={{ scripts_dir }}/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
ansible.builtin.cron: name="Purge des fichiers trace et audit" user=oracle minute="23" hour="23" day="1" job="sh {{ scripts_dir }}/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 state=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
ansible.builtin.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
ansible.builtin.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"