122 lines
5.3 KiB
YAML
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"
|