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.
ansible-galaxy install abessifi.sqlplus