Tôi đã tạo một vai trò để cài đặt apex 5 (nơi lần đầu tiên tôi gỡ cài đặt apex 4). Tôi sử dụng các mô-đun như 'script' và 'shell'. Tôi không quá hài lòng về việc khởi tạo môi trường nhưng tôi vẫn đang học hỏi. Đối với bất kỳ tác vụ SQL / PLSQL nào, sqlplus là công cụ phù hợp. (có lẽ SQLcl có thể làm tốt hơn ..?)
- 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