--- # tasks file restconfig - name: Create directory for network files file: path: /opt/oracle/network state: directory owner: oracle group: dba mode: '0755' ############################ # copy Basis tnsnames.ora und sqlnet.ora ########################### - name: copy tnsnames.ora copy: src: roles/restconfig/templates/tnsnames.ora dest: "/opt/oracle/network" owner: oracle group: dba - name: copy sqlnet.ora copy: src: roles/restconfig/templates/sqlnet.ora dest: "/opt/oracle/network" owner: oracle group: dba ################################### # Vorhandene ORACLE_HOMEs einlesen ################################### - name: Find oracle_homes find: paths: /opt/oracle/db file_type: directory recurse: no register: files_matched ############################ # Verlinkung der tnsnnames etc. nach /opt/oracle/network ########################### - name: linking tnsnames.ora file: src: /opt/oracle/network/tnsnames.ora dest: "{{ item.path }}/network/admin/tnsnames.ora" force: yes owner: oracle group: dba follow: no state: link loop: "{{ files_matched.files|flatten(levels=1) }}" loop_control: label: "{{ item.path }}" - name: linking sqlnet.ora file: src: /opt/oracle/network/sqlnet.ora dest: "{{ item.path }}/network/admin/sqlnet.ora" force: yes owner: oracle group: dba follow: no state: link loop: "{{ files_matched.files|flatten(levels=1) }}" loop_control: label: "{{ item.path }}" - name: linking listener.ora file: src: /opt/oracle/network/listener.ora dest: "{{ item.path }}/network/admin/listener.ora" force: yes owner: oracle group: dba follow: no state: link loop: "{{ files_matched.files|flatten(levels=1) }}" loop_control: label: "{{ item.path }}" ############################ # softlinks für Networker anlegen ########################### - name: Softlink libobk.so im lib der ORACLE_HOMEs anlegen file: src: /usr/lib/libnsrora.so dest: "{{ item.path }}/lib/libobk.so" force: yes owner: oracle group: dba follow: no state: link loop: "{{ files_matched.files|flatten(levels=1) }}" loop_control: label: "{{ item.path }}" ############################## # linking emagent with latest oracle_home ############################## - name: Find out latest oracle_home find: paths: /opt/oracle/db file_type: directory recurse: no register: files # hoechste ORACLE_HOME Version - soweit dies ueber alphabetische Sortierung moeglich ist - debug: msg="{{ files.files | sort(attribute='path', reverse=True) | map(attribute='path') | list }}" register: sortiert # sortiert.msg[0] enthaelt die hoechste OH Version "/opt/oracle/db/19.13" - name: Check if directory exists stat: path: "{{ emagent_inst_dir }}" register: directory_data - name: Softlink emagent file: src: "{{ sortiert.msg[0] }}/perl" dest: "{{ emagent_inst_dir }}/perl" force: yes owner: oracle group: dba follow: no state: link when: directory_data.stat.exists - debug: msg="Verzeichnis {{ emagent_inst_dir }} auf Server nicht gefunden" when: not directory_data.stat.exists