abessifi.sqlplus

Ansible OSB Rolle

Beschreibung

Dies ist eine Ansible-Rolle zur Installation des SQL*PLUS-Tools, um eine Verbindung zu einem Oracle-Datenbankserver herzustellen.

Unterstützte Systeme

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

Rollenabhängigkeiten

  • Keine.

Anforderungen

Software-Anforderungen

  • Ansible 1.9 oder höher (kann einfach über pip installiert werden. Z. B.: sudo pip install ansible==1.9.2)
  • Vagrant 1.7 oder höher
  • sshpass-Paket, das von Ansible benötigt wird, wenn Sie die SSH-Authentifizierung mit Passwort verwenden. Auf Ubuntu/Debian: $ sudo apt-get install sshpass
  • Virtualbox

Systemanforderungen

  • Keine.

Rollenvariablen

  • sqlplus_basic_rpm_package - RPM-Paket, das grundlegende Dateien zur Ausführung von OCI, OCCI und JDBC-OCI-Anwendungen enthält (Standard: oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_bin_rpm_package - RPM-Paket, das zusätzliche Bibliotheken und ausführbare Dateien zum Ausführen von SQL*Plus mit Instant Client enthält (Standard: oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_rpm_download_directory - Absoluter Pfad zu dem Verzeichnis, in das die Installations-RPM-Dateien kopiert werden (Standard: /srv/files/)
  • sqlplus_home - Absoluter Pfad zum Installationsverzeichnis von sqlplus (Standard: /usr/lib/oracle/12.1/client64)
  • sqlplus_basic_rpm_package_url - URL zum Herunterladen des RPM (Standard: undefined)
  • sqlplus_bin_rpm_package_url - URL zum Herunterladen des RPM (Standard: undefined)
  • proxy_env - Umgebungsvariablen für Proxy / noproxy beim Herunterladen von RPM (Standard: dummy_var: dummy_var)

Verfügbare Tags

  • Keine.

Lokale Fakten

  • Keine.

Verwendung

Installation

Stellen Sie zuerst sicher, dass Sie die erforderlichen RPMs von der Oracle-Website heruntergeladen haben:

  • 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

Legen Sie nun die heruntergeladenen Pakete auf dem Remote-Host ab, sodass Ansible sie sehen kann (über den Parameter sqlplus_rpm_download_directory). Standardmäßig überprüft Ansible die RPM-Datei im Verzeichnis /srv/files/.

Verbindung testen

Für persönliche und schnelle Tests verwenden ich das Docker-Image sath89/oracle-12c, das einen Oracle 12c-Datenbankserver bereitstellt. Sie müssen nur das Image herunterladen, ein lokales Datenverzeichnis erstellen und einen oracle-db-Container starten:

$ 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

Um die Datenbankverbindung zu testen:

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

Verbunden mit:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL>

Entwicklung und Tests

Test mit Vagrant

Für schnelle Tests können Sie eine VM mit Vagrant erstellen. Möglicherweise müssen Sie die Vagrantfile an Ihre Umgebung anpassen (System, IP-Adressen usw.):

  • Ändern Sie den Namen der Vagrant-Box in der Vagrantfile, falls nötig.

  • Erstellen Sie die virtuelle Maschine:

(host)$ vagrant up --no-provision
  • Kopieren Sie die RPM-Pakete in die VM.

  • Bereitstellen Sie die virtuelle Maschine:

(host)$ vagrant provision

Akzeptanztests durchführen

Akzeptanz-/Integrationstests können mit dem Tool test-kitchen gegen die Rolle ausgeführt werden. Alle geschriebenen Akzeptanztests befinden sich im Verzeichnis ./test/integration/.

Die Datei .kitchen.yml beschreibt die Testkonfiguration und die Liste der zu ausführenden Testsuiten. Standardmäßig werden Ihre Instanzen konvergiert mit Ansible und in Vagrant-VMs ausgeführt.

Um die Instanzen aufzulisten:

$ kitchen list

Instanz                       Treiber   Bereitsteller      Prüfer  Transport  Letzte Aktion
default-centos-7-x64         Vagrant   AnsiblePlaybook    Busser  Ssh        <Nicht erstellt>

Um die Standard-Test-Suite auf einer CentOS 7-Plattform auszuführen, führen Sie Folgendes aus:

$ kitchen test

Autor

Diese Rolle wurde von Ahmed Bessifi, einem DevOps-Enthusiasten, erstellt.

Über das Projekt

Install and configure SQLPLUS tool

Installieren
ansible-galaxy install abessifi.sqlplus
GitHub Repository
Lizenz
mit
Downloads
2.5k
Besitzer
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.