abessifi.sqlplus

Rôle Ansible OSB

Description

Ceci est un rôle Ansible pour installer l'outil SQL*PLUS afin de se connecter à un serveur de base de données Oracle.

Systèmes supportés

  • Debian 7/8
  • Ubuntu Precise/Trusty
  • EL 6/7

Dépendances du rôle

  • Aucune.

Exigences

Exigences logicielles

  • Ansible 1.9 ou supérieur (peut être facilement installé via pip. Par exemple : sudo pip install ansible==1.9.2)
  • Vagrant 1.7 ou supérieur
  • Le paquet sshpass qui est nécessaire pour Ansible si vous utilisez l'authentification SSH par mot de passe. Sur Ubuntu/Debian : $ sudo apt-get install sshpass
  • Virtualbox

Exigences système

  • Aucune.

Variables du rôle

  • sqlplus_basic_rpm_package - Paquet RPM incluant les fichiers de base nécessaires pour exécuter les applications OCI, OCCI et JDBC-OCI (par défaut : oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_bin_rpm_package - Paquet RPM incluant des bibliothèques supplémentaires et un exécutable pour exécuter SQL*Plus avec le client instantané (par défaut : oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_rpm_download_directory - Chemin absolu vers le répertoire où les fichiers RPM d'installation sont copiés (par défaut : /srv/files/)
  • sqlplus_home - Chemin absolu vers le répertoire d'installation de sqlplus (par défaut : /usr/lib/oracle/12.1/client64)
  • sqlplus_basic_rpm_package_url - URL pour télécharger le RPM (par défaut : indéfini)
  • sqlplus_bin_rpm_package_url - URL pour télécharger le RPM (par défaut : indéfini)
  • proxy_env - Variables d'environnement pour proxy / noproxy le téléchargement du RPM (par défaut : dummy_var: dummy_var)

Tags disponibles

  • Aucune.

Faits locaux

  • Aucuns.

Utilisation

Installation

Tout d'abord, assurez-vous d'avoir téléchargé les RPM nécessaires sur le site d'Oracle :

  • oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
  • oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

Maintenant, mettez les paquets téléchargés sur l'hôte distant afin qu'Ansible puisse les voir (via le paramètre de rôle sqlplus_rpm_download_directory). Par défaut, Ansible vérifie dans le répertoire /srv/files/.

Tester la connexion

Personnellement, pour des tests rapides, j'utilise l'image Docker sath89/oracle-12c qui met en place un serveur de base de données Oracle 12c. Tout ce que vous devez faire est de récupérer l'image, de créer un répertoire de données local et de lancer un conteneur oracle-db :

$ sudo docker pull sath89/oracle-12c:latest
$ sudo mkdir -p /var/lib/oracledb/data
$ sudo docker run --name oracle-db -d -p 8080:8080 -p 1521:1521 -v /var/lib/oracledb/data:/u01/app/oracle -e DBCA_TOTAL_MEMORY=1024 sath89/oracle-12c

Pour tester la connexion à la base de données :

$ export ORACLE_SID=xe.oracle.docker
$ sqlplus -L sys/oracle@<ADRESSE-IP-DU-SERVEUR-DB>/xe.oracle.docker as sysdba

Connecté à :
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64 bits Production

SQL>

Développement et tests

Tester avec Vagrant

Pour des tests rapides, vous pouvez lancer une machine virtuelle avec Vagrant. Vous devrez peut-être adapter le fichier Vagrantfile à votre environnement (système, adresses IP, etc.) :

  • Changez le nom du box Vagrant dans le Vagrantfile si nécessaire.

  • Créez la machine virtuelle :

(hôte)$ vagrant up --no-provision
  • Copiez les paquets RPM sur la VM.

  • Provisionnez la machine virtuelle :

(hôte)$ vagrant provision

Exécuter des tests d'acceptation

Les tests d'acceptation/intégration peuvent être exécutés contre le rôle à l'aide de l'outil magique test-kitchen. Tous les tests d'acceptation écrits se trouvent dans le répertoire ./test/integration/.

Le fichier .kitchen.yml décrit la configuration de test et la liste des suites de tests à exécuter. Par défaut, vos instances seront convergées avec Ansible et exécutées dans des machines virtuelles Vagrant.

Pour lister les instances :

$ kitchen list

Instance                    Driver   Provisioner      Verifier  Transport  Last Action
default-centos-7-x64        Vagrant  AnsiblePlaybook  Busser    Ssh        <Non créé>

Pour exécuter la suite de tests par défaut sur une plateforme CentOS 7, exécutez la commande suivante :

$ kitchen test

Auteur

Ce rôle a été créé par Ahmed Bessifi, un passionné de DevOps.

À propos du projet

Install and configure SQLPLUS tool

Installer
ansible-galaxy install abessifi.sqlplus
Licence
mit
Téléchargements
2.5k
Propriétaire
I’m a tech enthusiast who breathes code and loves creating beautiful software. I’m an active contributor to opensource projects and maintain a few of my own.