ansible 및 vagrant를 사용한 Oracle XE 설치 자동화 - Oracle 환경 변수가 올바르게 표시되지 않습니까?

ansible 및 vagrant를 사용한 Oracle XE 설치 자동화 - Oracle 환경 변수가 올바르게 표시되지 않습니까?

현재 ansible 플레이북을 사용하여 Oracle Database XE를 자동화하려고 합니다. Oracle 환경 변수가 설정되는 단계를 제외하고는 설치와 관련된 모든 것이 괜찮은 것 같습니다.

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

Ansible 플레이북의 코드는 다음과 같습니다.

- 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

그런 다음 Ansible 플레이북을 실행하면 프로세스 마지막에 다음과 같은 결과가 나타납니다.

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.

내가 도대체 ​​뭘 잘못하고있는 겁니까? 실행 source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh하고 재설정한 후 터미널이 sqlplusbash에 표시되지 않는 이유는 무엇입니까?

답변1

원격 쉘이 sqlplus 프로그램을 찾을 수 없습니다. 원격 시스템에서 프로그램 경로를 찾아 이를 ansible 쉘 명령의 첫 번째 부분으로 PATH 변수에 추가해 보십시오.

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

관련 정보