Automatización de la instalación de Oracle XE con ansible y vagrant: ¿las variables de entorno de Oracle no se ven correctamente?

Automatización de la instalación de Oracle XE con ansible y vagrant: ¿las variables de entorno de Oracle no se ven correctamente?

Actualmente estoy intentando automatizar Oracle Database XE usando el manual de estrategias de Ansible. Todo con la instalación parece estar bien, excepto el paso en el que se configuran las variables de entorno para Oracle:

source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

El código en el libro de jugadas ansible se ve así:

- name: setup oracle environment
  shell: source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
  shell: reset
  shell: /bin/echo 'source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh' >> /home/vagrant/.bash_profile
- name: create users and schemas on the oracle database
  shell: sqlplus SYSTEM/root@XE @ create_schemas_users.sql

Luego, cuando ejecuto el libro de jugadas de Ansible, al final del proceso, obtengo algo como esto:

TASK [create users and schemas on the oracle database] *******************************************************************************************************************************************************************************

fatal: [wemdbc01]: FAILED! => {"changed": true, "cmd": "sqlplus SYSTEM/root@XE @ create_schemas_users.sql", "delta": "0:00:00.002841", "end": "2017-05-30 08:40:50.652786", "failed": true, "rc": 127, "start": "2017-05-30 08:40:50.649945", "stderr": "/bin/sh: sqlplus: command not found", "stderr_lines": ["/bin/sh: sqlplus: command not found"], "stdout": "", "stdout_lines": []}
        to retry, use: --limit @/var/wminst/ansible-config/playbooks/oracle-xe.retry

PLAY RECAP ***************************************************************************************************************************************************************************************************************************

wemdbc01                   : ok=6    changed=2    unreachable=0    failed=1

Connection to 127.0.0.1 closed.

¿Qué estoy haciendo mal? ¿Por qué después de ejecutar source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.shy restablecer el terminal sqlplusno es visible para bash?

Respuesta1

El shell remoto no puede encontrar el programa sqlplus. Encuentre la ruta del programa en el sistema remoto e intente agregarla a la variable PATH como la primera parte del comando de shell ansible;

shell: "export PATH=$PATH:/mypath/sqlplus; source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh"

información relacionada