abessifi.sqlplus

Ansible OSB ロール

説明

これは、Oracle データベースサーバーに接続するための SQL*PLUS ツールをインストールするための Ansible ロールです。

対応システム

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

ロールの依存関係

  • なし。

要件

ソフトウェア要件

  • Ansible 1.9 以上(pip で簡単にインストール可能。例: sudo pip install ansible==1.9.2
  • Vagrant 1.7 以上
  • SSH パスワード認証を使用する場合は、Ansible に必要な sshpass パッケージ。Ubuntu/Debian では: $ sudo apt-get install sshpass
  • Virtualbox

システム要件

  • なし。

ロール変数

  • sqlplus_basic_rpm_package - OCI、OCCI、JDBC-OCI アプリケーションを実行するために必要な基本ファイルを含む RPM パッケージ(デフォルト: oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
  • sqlplus_bin_rpm_package - インスタントクライアントで SQL*Plus を実行するための追加ライブラリと実行可能ファイルを含む RPM パッケージ(デフォルト: oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
  • sqlplus_rpm_download_directory - インストール用の RPM ファイルがコピーされるディレクトリの絶対パス(デフォルト: /srv/files/
  • sqlplus_home - sqlplus のインストールディレクトリの絶対パス(デフォルト: /usr/lib/oracle/12.1/client64
  • sqlplus_basic_rpm_package_url - RPM をダウンロードするための URL(デフォルト: 未定義
  • sqlplus_bin_rpm_package_url - RPM をダウンロードするための URL(デフォルト: 未定義
  • proxy_env - RPM ダウンロードのプロキシ/noproxy 用の環境変数(デフォルト: dummy_var: dummy_var

利用可能なタグ

  • なし。

ローカルファクト

  • なし。

使用法

インストール

まず、Oracle のウェブサイトから必要な RPM をダウンロードしたことを確認してください:

  • 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

ダウンロードしたパッケージをリモートホストに置いて、Ansible がそれを認識できるようにします(sqlplus_rpm_download_directory ロールパラメータを介して)。デフォルトでは、Ansible は /srv/files/ ディレクトリ内の rpm ファイルをチェックします。

接続テスト

個人的に、私は Oracle 12c データベースサーバーを起動する Docker イメージ sath89/oracle-12c を使用しています。必要なのは、イメージをプルして、ローカルデータディレクトリを作成し、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

データベース接続をテストするには:

$ export ORACLE_SID=xe.oracle.docker
$ sqlplus -L sys/oracle@<DB-SERVER-IP-ADDRESS>/xe.oracle.docker as sysdba
接続成功:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL>

開発とテスト

Vagrant でのテスト

クイックテストのために、Vagrant を使用して VM を立ち上げることができます。必要に応じて、Vagrantfile を環境(システム、IP アドレスなど)に合わせて調整する必要があります:

  • 必要に応じて、Vagrantfile 内の Vagrant ボックス名を変更します。

  • 仮想マシンを作成します:

(host)$ vagrant up --no-provision
  • RPM パッケージを VM にコピーします。

  • 仮想マシンをプロビジョニングします:

(host)$ vagrant provision

受け入れテストの実行

受け入れ/統合テストは、魔法の test-kitchen ツールを使用してロールに対して実行できます。書かれた受け入れテストは ./test/integration/ ディレクトリにあります。

.kitchen.yml ファイルは、テスト設定と実行するテストスイートのリストを説明しています。デフォルトでは、インスタンスは Ansible で 統合され、Vagrant 仮想マシンで実行されます。

インスタンスを一覧表示するには:

$ kitchen list
インスタンス                    ドライバー   プロビジョナー      検証者  トランスポート  最後のアクション
default-centos-7-x64        Vagrant  AnsiblePlaybook  Busser    Ssh        <未作成>

CentOS 7 プラットフォームでデフォルトのテストスイートを実行するには、次のコマンドを実行します:

$ kitchen test

著者

このロールは、DevOps 愛好者の Ahmed Bessifi によって作成されました。

プロジェクトについて

Install and configure SQLPLUS tool

インストール
ansible-galaxy install abessifi.sqlplus
ライセンス
mit
ダウンロード
2.5k
所有者
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.