abessifi.sqlplus

Rol de Ansible OSB

Descripción

Este es un rol de Ansible para instalar la herramienta SQL*PLUS para conectarse a un servidor de base de datos Oracle.

Sistemas soportados

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

Dependencias del rol

  • Ninguna.

Requisitos

Requisitos de software

  • Ansible 1.9 o superior (se puede instalar fácilmente a través de pip. Por ejemplo: sudo pip install ansible==1.9.2)
  • Vagrant 1.7 o superior
  • Paquete sshpass, que es necesario para que Ansible funcione si usas autenticación SSH por contraseña. En Ubuntu/Debian: $ sudo apt-get install sshpass
  • Virtualbox

Requisitos del sistema

  • Ninguno.

Variables del rol

  • sqlplus_basic_rpm_package - Paquete RPM que incluye archivos básicos requeridos para ejecutar aplicaciones OCI, OCCI y JDBC-OCI (por defecto: oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_bin_rpm_package - Paquete RPM que incluye bibliotecas adicionales y ejecutables para ejecutar SQL*Plus con cliente instantáneo (por defecto: oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_rpm_download_directory - Ruta absoluta al directorio donde se copian los archivos RPM de instalación (por defecto: /srv/files/)
  • sqlplus_home - Ruta absoluta al directorio de instalación de sqlplus (por defecto: /usr/lib/oracle/12.1/client64)
  • sqlplus_basic_rpm_package_url - URL para descargar el RPM (por defecto: no definido)
  • sqlplus_bin_rpm_package_url - URL para descargar el RPM (por defecto: no definido)
  • proxy_env - Variables de entorno para proxy / no proxy en la descarga del RPM (por defecto: dummy_var: dummy_var)

Etiquetas disponibles

  • Ninguna.

Hechos locales

  • Ninguno.

Uso

Instalación

Primero, asegúrate de haber descargado los RPM requeridos desde el sitio web de 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

Ahora coloca los paquetes descargados en el host remoto para que Ansible pueda verlos (a través del parámetro del rol sqlplus_rpm_download_directory). Por defecto, Ansible busca el archivo rpm dentro del directorio /srv/files/.

Probar conexión

Personalmente, y para pruebas rápidas, utilizo la imagen de Docker sath89/oracle-12c que levanta un servidor de base de datos Oracle 12c. Todo lo que necesitas hacer es bajar la imagen, crear un directorio de datos local y arrancar un contenedor 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

Para probar la conexión a la base de datos:

$ export ORACLE_SID=xe.oracle.docker
$ sqlplus -L sys/oracle@<DIRECCIÓN-IP-DEL-SERVIDOR-DB>/xe.oracle.docker as sysdba

Conectado a:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL>

Desarrollo y pruebas

Prueba con Vagrant

Para pruebas rápidas, puedes levantar una VM usando Vagrant. Puede que necesites adaptar el Vagrantfile para que se ajuste a tu entorno (sistema, direcciones IP, etc):

  • Cambia el nombre de la caja de Vagrant en el Vagrantfile si es necesario.

  • Crea la máquina virtual:

(host)$ vagrant up --no-provision
  • Copia los paquetes RPM a la VM.

  • Provisiona la máquina virtual:

(host)$ vagrant provision

Ejecutar pruebas de aceptación

Las pruebas de aceptación/ integración se pueden ejecutar contra el rol usando la herramienta mágica test-kitchen. Todas las pruebas de aceptación escritas están en el directorio ./test/integration/.

El archivo .kitchen.yml describe la configuración de prueba y la lista de suites de pruebas a ejecutar. Por defecto, tus instancias se convergen con Ansible y se ejecutan en máquinas virtuales de Vagrant.

Para listar las instancias:

$ kitchen list

Instance                    Driver   Provisioner      Verifier  Transport  Last Action
default-centos-7-x64        Vagrant  AnsiblePlaybook  Busser    Ssh        <No creado>

Para ejecutar la suite de pruebas predeterminada en una plataforma CentOS 7, ejecuta lo siguiente:

$ kitchen test

Autor

Este rol fue creado por Ahmed Bessifi, un entusiasta de DevOps.

Acerca del proyecto

Install and configure SQLPLUS tool

Instalar
ansible-galaxy install abessifi.sqlplus
Licencia
mit
Descargas
2.5k
Propietario
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.