ajout instal_oracle_sw
This commit is contained in:
112
install-oracle-sw/tasks/install_database.yml
Normal file
112
install-oracle-sw/tasks/install_database.yml
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
#
|
||||
# installation des binaires ORACLE
|
||||
#
|
||||
|
||||
- name: Création des répertoires
|
||||
file: dest={{ item.dir }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory
|
||||
with_items:
|
||||
- { dir: "{{ oracle_base }}", owner: "{{ db_user }}", group: "{{ oracle_group }}", mode: 755 }
|
||||
- { dir: "{{ oracle_inventory_loc }}", owner: "{{ db_user }}", group: "{{ oracle_group }}", mode: 755 }
|
||||
- { dir: "{{ db_home }}", owner: "{{ db_user }}", group: "{{ oracle_group }}", mode: 775 }
|
||||
- { dir: "{{ oracle_stage }}", owner: "{{ db_user }}", group: "{{ oracle_group }}", mode: 775 }
|
||||
tags: createdir
|
||||
|
||||
- name: vérification de l espace disque disponible sur oracle_racine
|
||||
action: shell df -P {{ oracle_racine }} | 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 "{{ db_home }}" "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" | wc -l
|
||||
register: checkdbswinstall
|
||||
failed_when: checkdbswinstall.stdout != "0"
|
||||
tags: checkifexists
|
||||
|
||||
- name: Extraction des binaires Oracle
|
||||
unarchive: src={{ item[0].filename }} dest={{ oracle_stage }}
|
||||
with_nested:
|
||||
- "{{ db_software }}"
|
||||
- "{{ db_version }}"
|
||||
when: item[0].version == db_version
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
tags: transfert
|
||||
|
||||
- name: Linux 7 - application du pacth 19404309 pour installer 11.2 sur Linux 7
|
||||
# https://updates.oracle.com/Orion/Services/download?type=readme&aru=17984752
|
||||
# cela consiste à copier le fichier cvu_prereq.xml dans le répertoire d'install
|
||||
copy: src=cvu_prereq.xml dest={{ oracle_stage }}/database/stage/cvu owner={{ db_user }} group={{ oracle_group }} mode=644
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
tags: patch_p19404309
|
||||
when: ansible_distribution_major_version == '7' and db_version == "11.2.0.4"
|
||||
|
||||
- name: Copie du fichier de réponse pour installation silencieuse
|
||||
template: src=db_install_{{ db_version }}.j2 dest={{ oracle_stage }}/{{ db_response_file }}
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
tags: responsefile
|
||||
|
||||
- name: Création du script d installation silencieuse
|
||||
template: src=run_db_install.sh.j2 dest={{ oracle_stage }}/run_db_install.sh mode=755
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
tags: responsefile
|
||||
|
||||
- name: Installation des binaires Oracle
|
||||
shell: "{{ oracle_stage }}/run_db_install.sh"
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
register: oradbinstall
|
||||
tags: orainstall
|
||||
|
||||
- debug: var=oradbinstall.stdout_lines
|
||||
# with_items: oradbinstall.results
|
||||
tags: orainstall
|
||||
|
||||
- name: Vérification de l existance du fichier orainstRoot.sh
|
||||
stat: path="{{ oracle_inventory_loc }}/orainstRoot.sh"
|
||||
register: orainstRoot
|
||||
|
||||
- name: Exécution du script orainstRoot.sh
|
||||
shell: "{{ oracle_inventory_loc }}/orainstRoot.sh"
|
||||
sudo: yes
|
||||
sudo_user: root
|
||||
when: orainstRoot.stat.exists
|
||||
tags: runroot
|
||||
|
||||
- name: Exécution du script root.sh
|
||||
shell: "{{ db_home }}/root.sh"
|
||||
sudo: yes
|
||||
sudo_user: root
|
||||
tags: runroot
|
||||
|
||||
- name: Résultat de l installation via OPatch
|
||||
shell: "{{ db_home }}/OPatch/opatch lsinventory"
|
||||
sudo: yes
|
||||
sudo_user: "{{ db_user }}"
|
||||
register: opatchls
|
||||
tags: opatch
|
||||
|
||||
- debug: var=opatchls.stdout_lines
|
||||
# with_items: opatchls.results
|
||||
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_stage }}/database state=absent
|
||||
|
||||
- name: suppression du fichier de réponse
|
||||
file: path={{ oracle_stage }}/{{ db_response_file }} state=absent
|
||||
|
||||
- name: suppression du script d'installation
|
||||
file: path={{ oracle_stage }}/run_db_install.sh state=absent
|
||||
|
||||
136
install-oracle-sw/tasks/install_grid_infra.yml
Normal file
136
install-oracle-sw/tasks/install_grid_infra.yml
Normal file
@@ -0,0 +1,136 @@
|
||||
---
|
||||
#
|
||||
# installation des binaires ORACLE
|
||||
#
|
||||
|
||||
- name: Création des répertoires
|
||||
file: dest={{ item.dir }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory
|
||||
with_items:
|
||||
- { dir: "{{ oracle_racine }}", owner: "{{ gi_user }}", group: "{{ oracle_group }}", mode: 775 }
|
||||
- { dir: "{{ oracle_base }}", owner: "{{ db_user }}", group: "{{ oracle_group }}", mode: 755 }
|
||||
- { dir: "{{ oracle_racine }}/{{ gi_user }}", owner: "{{ gi_user }}", group: "{{ oracle_group }}", mode: 755 }
|
||||
- { dir: "{{ gi_home }}", owner: "{{ gi_user }}", group: "{{ oracle_group }}", mode: 775 }
|
||||
- { dir: "{{ oracle_stage }}", owner: "{{ gi_user }}", group: "{{ oracle_group }}", mode: 775 }
|
||||
tags: createdir
|
||||
|
||||
- name: vérification de l espace disque disponible sur oracle_racine
|
||||
action: shell df -P {{ oracle_racine }} | 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 "{{ gi_home }}" "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" | wc -l
|
||||
register: checkdbswinstall
|
||||
failed_when: checkdbswinstall.stdout != "0"
|
||||
tags: checkifexists
|
||||
|
||||
- name: Extraction des binaires Oracle
|
||||
unarchive: src={{ item[0].filename }} dest={{ oracle_stage }}
|
||||
with_nested:
|
||||
- "{{ gi_software }}"
|
||||
- "{{ gi_version }}"
|
||||
when: item[0].version == gi_version
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
tags: transfert
|
||||
|
||||
- name: Linux 7 - application du pacth 19404309 pour installer 11.2 sur Linux 7
|
||||
# https://updates.oracle.com/Orion/Services/download?type=readme&aru=17984752
|
||||
# cela consiste à copier le fichier cvu_prereq.xml dans le répertoire stage
|
||||
copy: src=cvu_prereq.xml dest={{ oracle_stage }}/grid/stage/cvu owner={{ gi_user }} group={{ oracle_group }} mode=644
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
tags: patch_p19404309
|
||||
when: ansible_distribution_major_version == '7' and db_version == "11.2.0.4"
|
||||
|
||||
- name: Copie du fichier de réponse pour installation silencieuse
|
||||
template: src=gi_install_{{ gi_version }}.j2 dest={{ oracle_stage }}/{{ gi_response_file }}
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
tags: responsefile
|
||||
|
||||
- name: Création du script d installation silencieuse
|
||||
template: src=run_gi_install.sh.j2 dest={{ oracle_stage }}/run_gi_install.sh mode=755
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
tags: responsefile
|
||||
|
||||
- name: Installation des binaires Oracle
|
||||
shell: "{{ oracle_stage }}/run_gi_install.sh"
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
register: oradbinstall
|
||||
tags: orainstall
|
||||
|
||||
- debug: var=oradbinstall.stdout_lines
|
||||
tags: orainstall
|
||||
|
||||
- name: Vérification de l existance du fichier orainstRoot.sh
|
||||
stat: path="{{ oracle_inventory_loc }}/orainstRoot.sh"
|
||||
register: orainstRoot
|
||||
|
||||
- name: Exécution du script orainstRoot.sh
|
||||
shell: "{{ oracle_inventory_loc }}/orainstRoot.sh"
|
||||
sudo: yes
|
||||
sudo_user: root
|
||||
when: orainstRoot.stat.exists
|
||||
tags: runroot
|
||||
|
||||
- name: Exécution du script root.sh
|
||||
shell: "{{ gi_home }}/root.sh"
|
||||
sudo: yes
|
||||
sudo_user: root
|
||||
register: rootsh
|
||||
tags: runroot
|
||||
|
||||
- debug: var=rootsh.stdout_lines
|
||||
tags: runroot
|
||||
|
||||
- name: Résultat de l installation via OPatch
|
||||
shell: "{{ gi_home }}/OPatch/opatch lsinventory"
|
||||
sudo: yes
|
||||
sudo_user: "{{ gi_user }}"
|
||||
register: opatchls
|
||||
tags: opatchgi
|
||||
|
||||
- debug: var=opatchls.stdout_lines
|
||||
tags: opatchgi
|
||||
|
||||
- name: Configuration GI standalone
|
||||
shell: "{{ gi_home }}/perl/bin/perl {{ gi_home }}/crs/install/roothas.pl"
|
||||
sudo: yes
|
||||
sudo_user: root
|
||||
register: roothas
|
||||
tags: roothas
|
||||
|
||||
- debug: var=roothas.stdout_lines
|
||||
tags: roothas
|
||||
|
||||
- name: Ajout de export ORACLE_HOME dans le bash_profile de grid
|
||||
lineinfile: dest=/home/grid/.bash_profile line="export ORACLE_HOME={{ gi_home }}" state=present create=yes
|
||||
tags: gi_bash_profile
|
||||
|
||||
- name: Ajout de export ORACLE_SID dans le bash_profile de grid
|
||||
lineinfile: dest=/home/grid/.bash_profile line="export ORACLE_SID={{ gi_user }}" state=present create=yes
|
||||
tags: gi_bash_profile
|
||||
|
||||
- name: Ajout de export PATH dans le bash_profile de grid
|
||||
lineinfile: dest=/home/grid/.bash_profile line="export PATH=$ORACLE_HOME/bin:$PATH" state=present create=yes
|
||||
tags: gi_bash_profile
|
||||
|
||||
# suppression des binaires, du fichier de réponse et du script d'install
|
||||
- name: suppression du repertoire des fichiers decompressés
|
||||
file: path={{ oracle_stage }}/grid state=absent
|
||||
|
||||
- name: suppression du fichier de réponse
|
||||
file: path={{ oracle_stage }}/{{ gi_response_file }} state=absent
|
||||
|
||||
- name: suppression du script d'installation
|
||||
file: path={{ oracle_stage }}/run_gi_install.sh state=absent
|
||||
19
install-oracle-sw/tasks/main.yml
Normal file
19
install-oracle-sw/tasks/main.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
#
|
||||
# installation des binaires ORACLE : grid infra et/ou database
|
||||
#
|
||||
|
||||
# ---------------------------------------------------
|
||||
# configuration Linux : Utilisateurs et groupes
|
||||
# ---------------------------------------------------
|
||||
- include: users_configuration.yml
|
||||
when: install_grid_infra or install_database
|
||||
|
||||
- include: install_grid_infra.yml
|
||||
when: install_grid_infra
|
||||
|
||||
- include: install_database.yml
|
||||
when: install_database
|
||||
|
||||
- include: scripts_exploitation.yml
|
||||
|
||||
25
install-oracle-sw/tasks/scripts_exploitation.yml
Normal file
25
install-oracle-sw/tasks/scripts_exploitation.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
# ---------------------------------------------------
|
||||
# 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
|
||||
|
||||
# ---------------------------------------------------
|
||||
# copy du fichier oracledb dans /etc/init.d pour redémmarage auto
|
||||
# ---------------------------------------------------
|
||||
- name: Copie du script de démarrage auto des bases Oracle
|
||||
template: src=oracledb_initd.j2 dest=/etc/init.d/oracle_db owner=root mode=755
|
||||
|
||||
- debug: msg="Le script /etc/init.d/oracle_db est postionné pour démarrer et arrêter les bases au reboot"
|
||||
- debug: msg="Pensez à mettre Y au lieu de N dans /etc/oratab pour les bases à démarreage automatique"
|
||||
- debug: msg="Pensez aussi à activier le script par chkconfig ou systemd"
|
||||
|
||||
# ---------------------------------------------------
|
||||
# configuration Linux : config oracle pour logrotate
|
||||
# ---------------------------------------------------
|
||||
- name: Copie du fichier de configuration pour logrotate
|
||||
template: src=logrotate_oracle.j2 dest=/etc/logrotate.d/oracle mode=644 owner=root
|
||||
tags: logrotate
|
||||
|
||||
42
install-oracle-sw/tasks/users_configuration.yml
Normal file
42
install-oracle-sw/tasks/users_configuration.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
# ---------------------------------------------------
|
||||
# configuration Linux : Utilisateurs et groupes
|
||||
# ---------------------------------------------------
|
||||
|
||||
- name: Création des groupes
|
||||
group: name={{ item.group }} gid={{ item.gid }} state=present
|
||||
with_items: "{{ oracle_groups }}"
|
||||
tags: group
|
||||
|
||||
- name: Création du compte Oracle
|
||||
user:
|
||||
name={{ item.username }} group={{ item.primgroup }}
|
||||
groups={{ item.othergroups }} uid={{ item.uid }}
|
||||
generate_ssh_key=yes append=yes state=present password={{ item.passwd }}
|
||||
with_items: "{{ oracle_users }}"
|
||||
ignore_errors: true
|
||||
tags: user
|
||||
|
||||
- name: Création du compte grid
|
||||
user:
|
||||
name={{ item.username }} group={{ item.primgroup }}
|
||||
groups={{ item.othergroups }} uid={{ item.uid }}
|
||||
generate_ssh_key=yes append=yes state=present password={{ item.passwd }}
|
||||
with_items: "{{ grid_users }}"
|
||||
when: role_separation
|
||||
ignore_errors: true
|
||||
tags: user
|
||||
|
||||
# ---------------------------------------------------
|
||||
# configuration Linux : config oracle pour logrotate
|
||||
# ---------------------------------------------------
|
||||
- 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
|
||||
|
||||
# ---------------------------------------------------
|
||||
# copy du fichier oracledb dans /etc/init.d pour redémmarage auto
|
||||
# ---------------------------------------------------
|
||||
- name: Copy du fichier oracledb dans /etc/init.d pour redémmarage auto
|
||||
template: src=oracledb_initd.j2 dest=/etc/init.d/oracledb mode=755 owner=root group=root
|
||||
tags: init.d
|
||||
Reference in New Issue
Block a user