5

Ansibleドキュメントのコア データベース モジュールを見ても、Oracle 用のモジュールの兆候は見られません。Ansible for Oracle データベースを介して SQL/PLSQL デプロイメントを処理する最良の方法は何ですか?

これを処理するために、 Ansible Galaxyのロールを使用する必要がありますか? Galaxy for Oracle にリストされているロールをダウンロードした人はほとんどないようです。

4

2 に答える 2

1

apex 5 をインストールするロールを作成しました (ここで最初に apex 4 をアンインストールします)。「スクリプト」や「シェル」などのモジュールを使用します。環境の初期化についてはあまり満足していませんが、まだ学習中です。どの SQL/PLSQL タスクでも、sqlplus は適切なツールです。(おそらく SQLcl の方がうまくいくのでしょうか..?)

- name: Determine apex version
  become: yes
  become_user: oracle
  shell: source /etc/profile &&  sqlplus -S / as sysdba @"{{ temp_dir }}/apexver.sql"
  register: apexver
  args:
     executable: /bin/bash
  changed_when: "'APEX_040000' in apexver.stdout"

- name: oracle apex remove
  become: yes
  become_user: oracle
  script: apex_remove.sh {{ item }} 
  with_items: 
    - 'XE'
  ignore_errors: yes
  register: result
  when: "'APEX_040000' in apexver.stdout"

22:18 $ cat apex_remove.sh
#!/bin/sh

# set oracle environment
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
ORACLE_SID=$1

sqlplus -s /nolog <<EOF
connect / as sysdba
@?/apex/apxremov.sql
exit
EOF
于 2016-12-27T21:26:58.203 に答える