I am creating memory dumps via cmd or powreshell on a windows server using this export command and successfully creating the dumps.
expdp 'user_name@myhost as sysdba' directory=dump_directory schemas=tablespaces dumpfile=dump_file_%u.dmp logfile=dump_file.log parallel=4 flashback_time=systimestamp exclude=statistics
Before exporting I need to set up environment in cmd or powershell as follow:
set PATH=Z:\software\oracle\19.3.0\bin
set ORACLE_HOME=Z:\software\oracle\19.3.0\
set JAVA_HOME=Z:\software\sqlcl-22.3.0.270.1254\jdk\jre
set TNS_ADMIN=Z:\software\oracle\19.3.0\network\admin
When I would like to do export memory dumps via ansible playbook on a same remote windows host I am getting following error :
no closing quote for value 'dump_directory" s'
Here is my ansible playbook
---
- name: Create dump on windows host
hosts: all
pre_tasks:
- name: include variables
include_vars: "playbooks/foo_vars/foo_vaults/foo.yml"
tasks:
- name: Set up remote host
win_shell: |
set PATH=Z:\foo\oracle\19.3.0\bin
set ORACLE_HOME=Z:\foo\oracle\19.3.0\
set JAVA_HOME=Z:\foo\sqlcl-22.3.0.270.1254\jdk\jre
set TNS_ADMIN=Z:\foo\oracle\19.3.0\network\admin
expdp \"user_name/password@myhost AS 'SYSDBA'\" directory='\"dump_directory\"' schemas='\"tablespaces\"' dumpfile='\"dump_file_%u.dmp\"' logfile='\"dump_file.log\"'
Note: I am using awx-ee:24.6.1 and my remote host machine OS is windows server 2019.