查看Ansible documentation中的核心数据库模块显示没有Oracle模块的迹象。通过Ansible for Oracle数据库处理SQL/PLSQL部署的最佳方式是什么?使用Ansible运行手册运行Oracle SQL脚本
我们是否期望使用Ansible Galaxy中的角色来处理这个问题?很少有人似乎已经下载了Galaxy for Oracle上列出的角色。
查看Ansible documentation中的核心数据库模块显示没有Oracle模块的迹象。通过Ansible for Oracle数据库处理SQL/PLSQL部署的最佳方式是什么?使用Ansible运行手册运行Oracle SQL脚本
我们是否期望使用Ansible Galaxy中的角色来处理这个问题?很少有人似乎已经下载了Galaxy for Oracle上列出的角色。
我已经创建了安装apex 5(我首先卸载apex 4)的角色。我使用'script'和'shell'等模块。我对环境初始化并不满意,但我仍然在学习。对于任何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
我想知道为什么Ansible不能为Oracle DB提供一个模块 –
“SQL脚本” 你的意思是大型SQL * Plus脚本,或者只是随机的SQL和PL/SQL命令?如果你正在寻找一种方法来自动化简单的SQL和PL/SQL命令,你可能想看看我的开源程序[Method5](https://method5.github.io/)。这是一个无代理的并行远程执行程序;有点像Ansible,但它是专门为Oracle数据库设计的。 –
谢谢乔恩。我特意在这里寻找Ansible。 –