abessifi.sqlplus

Rola Ansible OSB

Opis

To jest rola Ansible do instalacji narzędzia SQL*PLUS, które umożliwia połączenie z serwerem bazy danych Oracle.

Obsługiwane systemy

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

Zależności roli

  • Brak.

Wymagania

Wymagania sprzętowe

  • Ansible 1.9 lub wyższa (można łatwo zainstalować przez pip. Przykład: sudo pip install ansible==1.9.2)
  • Vagrant 1.7 lub wyższa
  • Pakiet sshpass, który jest potrzebny, jeśli używasz autoryzacji SSH za hasło. W Ubuntu/Debian: $ sudo apt-get install sshpass
  • Virtualbox

Wymagania systemowe

  • Brak.

Zmienne roli

  • sqlplus_basic_rpm_package - Pakiet RPM zawierający podstawowe pliki wymagane do uruchomienia aplikacji OCI, OCCI i JDBC-OCI (domyślnie: oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_bin_rpm_package - Pakiet RPM zawierający dodatkowe biblioteki i plik wykonywalny do uruchamiania SQL*Plus z klientem instant (domyślnie: oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm)
  • sqlplus_rpm_download_directory - Absolutna ścieżka do katalogu, w którym kopiowane są pliki RPM (domyślnie: /srv/files/)
  • sqlplus_home - Absolutna ścieżka do katalogu instalacyjnego SQL*Plus (domyślnie: /usr/lib/oracle/12.1/client64)
  • sqlplus_basic_rpm_package_url - URL do pobrania RPM (domyślnie: undefined)
  • sqlplus_bin_rpm_package_url - URL do pobrania RPM (domyślnie: undefined)
  • proxy_env - Zmienne środowiskowe do pobierania RPM przez proxy/noproxy (domyślnie: dummy_var: dummy_var)

Dostępne tagi

  • Brak.

Fakty lokalne

  • Brak.

Użycie

Instalacja

Najpierw upewnij się, że pobrałeś wymagane pakiety RPM z strony 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

Teraz umieść pobrane pakiety na zdalnym hoście, aby Ansible mógł je zobaczyć (przez parametr roli sqlplus_rpm_download_directory). Domyślnie Ansible sprawdza plik rpm w katalogu /srv/files/.

Testowanie połączenia

Osobiście, do szybkich testów, używam obrazu Dockera sath89/oracle-12c, który uruchamia serwer bazy danych Oracle 12c. Wystarczy ściągnąć obraz, stworzyć lokalny katalog danych i uruchomić kontener 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

Aby przetestować połączenie z bazą danych:

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

Połączono z:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL>

Rozwój i testowanie

Testowanie z Vagrant

Aby przeprowadzić szybkie testy, możesz uruchomić maszynę wirtualną za pomocą Vagrant. Możesz potrzebować dostosować plik Vagrantfile do swojego środowiska (systemu, adresów IP itd.):

  • Zmień nazwę boxa Vagrant w pliku Vagrantfile, jeśli to konieczne.

  • Utwórz maszynę wirtualną:

(host)$ vagrant up --no-provision
  • Skopiuj pakiety RPM do maszyny wirtualnej.

  • Przeprowadź provisioning maszyny wirtualnej:

(host)$ vagrant provision

Uruchom testy akceptacyjne

Testy akceptacyjne/integracyjne można przeprowadzić wykorzystując narzędzie test-kitchen. Wszystkie napisane testy akceptacyjne znajdują się w katalogu ./test/integration/.

Plik .kitchen.yml opisuje konfigurację testowania i listę testów do uruchomienia. Domyślnie Twoje instancje będą skonfigurowane za pomocą Ansible i uruchomione w maszynach wirtualnych Vagrant.

Aby wyświetlić listę instancji:

$ kitchen list

Instancja                    Sterownik   Provisjoner      Weryfikator  Transport  Ostatnia akcja
default-centos-7-x64        Vagrant  AnsiblePlaybook  Busser    Ssh        <Nie utworzone>

Aby uruchomić domyślną suite testową na platformie CentOS 7, uruchom poniższe polecenie:

$ kitchen test

Autor

Ta rola została stworzona przez Ahmed Bessifi, entuzjastę DevOps.

O projekcie

Install and configure SQLPLUS tool

Zainstaluj
ansible-galaxy install abessifi.sqlplus
Licencja
mit
Pobrania
2.5k
Właściciel
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.