klewan.ansible_role_oracle_manage_dbstate
Rôle Ansible : oracle-manage-dbstate
Gérer l'état de la base de données Oracle (démarrage/arrêt).
Systèmes d'exploitation supportés :
- RedHat
- CentOS
- OracleLinux
Exigences
Ce rôle utilise le rôle oracle
.
Il nécessite que les variables suivantes soient définies :
oracle_manage_dbstate_oracle_home
-> ORACLE_HOMEoracle_manage_dbstate_oracle_sid
-> ORACLE_SIDoracle_manage_dbstate_command
-> commande de démarrage/arrêt avec option
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
) :
# ORACLE_HOME
oracle_manage_dbstate_oracle_home:
# ORACLE_SID
oracle_manage_dbstate_oracle_sid:
# commande de démarrage/arrêt à exécuter
oracle_manage_dbstate_command: # voir 'oracle_manage_dbstate_commands'
# commandes acceptables pour démarrage/arrêt
oracle_manage_dbstate_commands:
- 'SHUTDOWN IMMEDIATE'
- 'STARTUP'
- 'STARTUP NOMOUNT'
- 'STARTUP MOUNT'
- 'STARTUP RESTRICT'
- 'STARTUP MOUNT RESTRICT'
- 'STARTUP UPGRADE'
# vérifier que la commande de démarrage/arrêt est valide
oracle_manage_dbstate_verify_command: true
# imprimer la sortie de la commande sqlplus
oracle_manage_dbstate_print_command_output: false
# gérer les erreurs sqlplus, c'est-à-dire exécuter 'whenever sqlerror exit 1'
oracle_manage_dbstate_handle_sqlplus_errors: true
# commande de gestion des erreurs sqlplus
oracle_manage_dbstate_sqlplus_sqlerror_command: "{% if oracle_manage_dbstate_handle_sqlplus_errors %}whenever sqlerror exit 1{% else %}{% endif %}"
Exemple de Playbook
- name: Gérer l'état de la base de données Oracle (monter les bases de données)
hosts: ora-servers
gather_facts: true
become: true
become_user: '{{ oracle_user }}'
tasks:
- import_role:
name: oracle-gatherinfo-gi
tags:
- oracle-gatherinfo-gi
- import_role:
name: oracle-gatherinfo-databases
tags:
- oracle-gatherinfo-databases
- include_role:
name: oracle-manage-dbstate
vars:
oracle_manage_dbstate_oracle_home: '{{ _oracle_homes_backup_outer_item.oracle_home }}'
oracle_manage_dbstate_oracle_sid: '{{ _oracle_homes_backup_outer_item.instance_name }}'
oracle_manage_dbstate_command: "STARTUP MOUNT"
oracle_manage_dbstate_handle_sqlplus_errors: true
with_items:
- "{{ oracle_databases }}"
loop_control:
label: "[ORACLE_HOME: {{ _oracle_homes_backup_outer_item.oracle_home }}]"
loop_var: _oracle_homes_backup_outer_item
when: _oracle_homes_backup_outer_item.instance_name == 'ORCL'
tags:
- oracle-manage-dbstate
À l'intérieur de vars/main.yml
ou group_vars/..
ou host_vars/..
:
#-------------------------------------------------
# remplace les variables du rôle 'oracle-manage-dbstate'
#-------------------------------------------------
# imprimer la sortie de la commande sqlplus
oracle_manage_dbstate_print_command_output: true
# gérer les erreurs sqlplus, c'est-à-dire exécuter 'whenever sqlerror exit 1'
oracle_manage_dbstate_handle_sqlplus_errors: false
Licence
GPLv3 - Licence Publique Générale GNU v3.0
Informations sur l'auteur
Ce rôle a été créé en 2018 par Krzysztof Lewandowski.
Installer
ansible-galaxy install klewan.ansible_role_oracle_manage_dbstate
Licence
gpl-3.0
Téléchargements
81
Propriétaire