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_HOME
  • oracle_manage_dbstate_oracle_sid -> ORACLE_SID
  • oracle_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.

À propos du projet

Manage Oracle Database state (startup/shutdown)

Installer
ansible-galaxy install klewan.ansible_role_oracle_manage_dbstate
Licence
gpl-3.0
Téléchargements
81
Propriétaire