2017-11-30 1 views
0

Kopierte das Skript zum Zielserver mit dem Kopiermodul. Das Skript wird jedoch nicht ausgeführt, während ansible verwendet wird und könnte manuell in Server-Endausführung ausgeführt werden.Sie müssen einige DB-Skripte mit ansible ausführen. Aber das db-Skript ruft während der Ausführung andere Skripte auf

die Skripte sind in /home/oracle/SCRIPTS in DB-Server in diesem Verzeichnis kopiert gibt es ein Skript mit dem Namen test.sql und ein Verzeichnis TEST benannt. Das test.sql Skript ist unten angegeben:

@TEST/TEST_USER.sql 

und unter TEST-Verzeichnis gibt es ein anderes Skript existiert (TEST_USER.sql) mit dem unten gezeigten Inhalt:

CREATE USER TEST 
    IDENTIFIED BY password1 
    DEFAULT TABLESPACE USERS 
    TEMPORARY TABLESPACE TEMP 
    PROFILE DEFAULT 
    ACCOUNT UNLOCK; 

und mein ansible Textbuch sieht aus wie :

- name: Connecting DB 
    shell: sqlplus username/password @/home/oracle/SCRIPTS/test.sql 
    environment: 
     ORACLE_HOME: /u01/app/oracle/product/12.1.0/dbhome_2 
     HOME: /home/oracle 
     PATH: /u01/app/oracle/product/12.1.0/dbhome_2/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin 
     ORACLE_SID: <SID NAME> 
    register: sqlout 

    - debug: 
    var: sqlout.stdout_lines 

Jede Hilfe würde geschätzt werden. Danke!

Antwort

Verwandte Themen