deploy/ansible/roles-db/4.1.2-ora-asm-db-install/tasks/main.yaml (391 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # /*---------------------------------------------------------------------------8 # | | # | Perform the Oracle Instance installation | # | SAP: Register BOM | # | create .params directory | # | Export environment variables for Oracle Installation | # | Run the Oracle universal installer in silent mode. | # | SAP Note : 2660017 Oracle Software Installation on Unix | # | | # +------------------------------------4--------------------------------------*/ --- - name: "Oracle ASM: - Validate ORACLE parameters" ansible.builtin.assert: that: - item_to_check.parameter is defined # Has the variable been defined - item_to_check.parameter | type_debug != 'NoneType' # and given a value - item_to_check.parameter | trim | length > 1 fail_msg: item_to_check.error loop: - { parameter: 'ora_release', error: 'Oracle deployments requires that ora_release is provided' } - { parameter: 'ora_version', error: 'Oracle deployments requires that ora_version is provided' } - { parameter: 'oracle_sbp_patch', error: 'Oracle deployments requires that oracle_sbp_patch is provided' } loop_control: loop_var: item_to_check - name: "Oracle ASM: Load the disk configuration settings" ansible.builtin.include_vars: disks_config_asm.yml - name: "Oracle ASM: Create sap_deployment_automation folder" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}" mode: '0755' state: directory owner: oracle group: oinstall - name: "Oracle ASM: check if permissions are set" ansible.builtin.stat: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracleowner.txt" register: oracle_permissions - name: "Make oracle:oinstall as owners" become: true become_user: root ansible.builtin.file: path: /oracle state: directory owner: oracle group: oinstall recurse: true when: not oracle_permissions.stat.exists - name: Create oracleowner.txt become: true become_user: root ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracleowner.txt" state: touch mode: '0755' owner: oracle group: oinstall - name: "Oracle ASM: check if installed" ansible.builtin.stat: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/grid_sbp_installed.txt" register: oracle_installed # /*---------------------------------------------------------------------------8 # | Start of Oracle software installation using SAP RUNINSTALLER wrapper. | # | Before running Installer set DB_SID and CV_ASSUME_DISTID according to | # | SAP Note 2660017 Oracle Software Installation on Unix | # | | # | Step 1 run the pre-installation check | # +------------------------------------4--------------------------------------*/ - name: "Oracle ASM: Installation" block: - name: "Oracle ASM: Execute RUNINSTALLER PreCheck" become: true become_user: "{{ oracle_user_name }}" ansible.builtin.shell: ./RUNINSTALLER -ohcheck -silent register: oraprecheck_results failed_when: oraprecheck_results.rc > 3 # changed_when: oraprecheck_results.rc < 3 environment: DB_SID: "{{ db_sid }}" CV_ASSUME_DISTID: OL7 args: chdir: "{{ target_media_location }}/oraserver/LINUX_X86_64/db_home/SAP" creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_pre_check_install.txt" executable: /bin/csh # Debug for testing - name: "Oracle ASM: Debug: installer pre checks output" ansible.builtin.debug: var: oraprecheck_results.stdout_lines verbosity: 2 - name: "Oracle ASM: Debug: installer prechecks output" ansible.builtin.copy: dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_pre_check_install.log" content: "{{ oraprecheck_results.stdout }}" mode: "0777" when: oraprecheck_results.stdout is defined - name: "Oracle ASM: Create oracle_pre_check_install.txt" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_pre_check_install.txt" state: touch mode: '0755' when: oraprecheck_results.rc < 3 # /*---------------------------------------------------------------------------8 # | Start of Oracle software installation using SAP RUNINSTALLER wrapper. | # | Before running Installer set DB_SID and CV_ASSUME_DISTID according to | # | SAP Note 2660017 Oracle Software Installation on Unix | # | | # | Step 2 run the installation check | # +------------------------------------4--------------------------------------*/ - name: "Oracle ASM: Execute RUNINSTALLER" become: true become_user: "{{ oracle_user_name }}" ansible.builtin.shell: ./RUNINSTALLER -silent register: orainstaller_results failed_when: orainstaller_results.rc >= 2 # installer returns rc=1 (exited with warning) by default when run is silent mode as the oratab file is created only after running the root.sh environment: DB_SID: "{{ db_sid }}" CV_ASSUME_DISTID: OL7 args: executable: /bin/csh chdir: "{{ target_media_location }}/oraserver/LINUX_X86_64/db_home/SAP" creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_installed.txt" - name: "Oracle ASM: Debug: installer output" ansible.builtin.debug: var: orainstaller_results.stdout_lines verbosity: 2 - name: "Oracle ASM: Debug installer output log" ansible.builtin.copy: dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_install.log" content: "{{ orainstaller_results.stdout }}" mode: '0777' when: orainstaller_results.stdout is defined - name: "Oracle ASM: Create oracle_installed.txt" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/oracle_installed.txt" state: touch mode: '0755' when: orainstaller_results.rc <= 2 # /*---------------------------------------------------------------------------8 # | Start of Oracle software installation using SAP RUNINSTALLER wrapper. | # | Before running Installer set DB_SID and CV_ASSUME_DISTID according to | # | SAP Note 2660017 Oracle Software Installation on Unix | # | | # | Step 3 Post processing | # +------------------------------------4--------------------------------------*/ - name: "Oracle ASM: Post Processing - Run orainstRoot.sh" become: true become_user: root ansible.builtin.shell: /oracle/oraInventory/orainstRoot.sh register: orainstRoot_results args: creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/orainstRoot_executed.txt" executable: /bin/csh - name: "Oracle ASM: Debug: orainstRoot output" ansible.builtin.debug: var: orainstRoot_results.stdout_lines verbosity: 2 - name: "Oracle ASM: Debug installer output log" ansible.builtin.copy: dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/orainstRoot.log" content: "{{ orainstRoot_results.stdout }}" mode: '0777' when: orainstRoot_results.stdout is defined - name: "Oracle ASM: Create orainstRoot_executed.txt" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/orainstRoot_executed.txt" state: touch mode: '0755' - name: "Oracle ASM: Post Processing - Run root.sh" become: true become_user: root ansible.builtin.shell: /oracle/{{ db_sid }}/{{ ora_version }}/root.sh register: rootscript_results args: creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/rootscripts_executed.txt" executable: /bin/csh - name: "Oracle ASM: Debug: rootscript output" ansible.builtin.debug: var: rootscript_results.stdout_lines verbosity: 2 - name: "Oracle ASM: Debug rootscript output log" ansible.builtin.copy: dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/rootscript.log" content: "{{ rootscript_results.stdout }}" mode: '0777' when: rootscript_results.stdout is defined - name: "Oracle ASM: Create rootscripts_executed.txt" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/rootscripts_executed.txt" state: touch mode: '0755' - name: "Oracle ASM: Permissions" ansible.builtin.file: path: /oracle/{{ db_sid | upper }}/{{ ora_version }}/bin/oracle state: file owner: oracle mode: '6751' # /*---------------------------------------------------------------------------8 # | | # | Step 4 SBP Patching for Oracle GRID | # | | # +------------------------------------4--------------------------------------*/ # Backup Oracle GRID Home prior to patching. - name: "Oracle ASM : BACKUP ORACLE GRID" become: true become_user: "root" ansible.builtin.copy: src: /oracle/GRID/{{ ora_version }} dest: /oracle/GRID/{{ ora_version }}.bck remote_src: true mode: preserve directory_mode: preserve register: gridbackup - name: "Oracle ASM: Create flag gridbackedup.txt " ansible.builtin.file: path: /etc/sap_deployment_automation/{{ sap_sid | upper }}/gridbackedup.txt state: touch mode: '0755' when: gridbackup.changed - name: "Oracle ASM: Check if 'OPatch.bck' exists" ansible.builtin.stat: path: /oracle/GRID/{{ ora_version }}/OPatch.bck register: opatchgrid_stat - name: "Oracle ASM: backup OPatch" ansible.builtin.copy: src: /oracle/GRID/{{ ora_version }}/OPatch dest: /oracle/GRID/{{ ora_version }}/OPatch.bck remote_src: true mode: "0755" when: - not opatchgrid_stat.stat.exists # Check if MOPatch exists, backup the old MOPatch and copy the new one. - name: "Oracle ASM: Check if 'MOPatch.bck' exists for GRID" ansible.builtin.stat: path: /oracle/GRID/{{ ora_version }}/MOPatch.bck register: mopatchgrid_stat - name: "Oracle ASM: backup MOPatch" ansible.builtin.copy: src: /oracle/GRID/{{ ora_version }}/MOPatch dest: /oracle/GRID/{{ ora_version }}/MOPatch.bck remote_src: true mode: '0755' owner: oracle group: oinstall when: - mopatchgrid_stat.stat.exists - name: "Oracle ASM: remove old MOPatch" ansible.builtin.file: path: /oracle/GRID/{{ ora_version }}/MOPatch state: absent when: - not mopatchgrid_stat.stat.exists # MOPATCH for GRID # - name: "Oracle ASM: Find MOPatch for GRID" # ansible.builtin.find: # paths: "{{ target_media_location }}/SBP/GSBP/SGR19P" # patterns: ["MOPatch"] # file_type: directory # recurse: true # register: mopatch_grid_directory # - name: "Oracle ASM: Find MOPatch for GRID" # ansible.builtin.fail: # msg: "Too many MOPatches found" # when: mopatch_grid_directory.matched != 1 # - name: "Oracle ASM: MOPatch path" # ansible.builtin.set_fact: # mopatch_grid_path: "{{ mopatch_grid_directory.files[0].path }}" # when: mopatch_grid_directory.matched == 1 # - name: "Oracle ASM: copy MOPatch for GRID" # # become: true # # become_user: "oracle" # ansible.builtin.copy: # src: "{{ mopatch_grid_path }}" # dest: /oracle/GRID/{{ ora_version }} # remote_src: true # mode: '0755' # owner: oracle # group: oinstall # # Backup the existing Opatch and then copy the new Opatch from the downloads folder # - name: "Oracle ASM: Check if 'OPatch.bck' exists for GRID" # ansible.builtin.stat: # path: /oracle/GRID/{{ ora_version }}/OPatch.bck # register: opatchgrid_stat # - name: "Oracle ASM: backup OPatch" # ansible.builtin.copy: # src: /oracle/GRID/{{ ora_version }}/OPatch # dest: /oracle/GRID/{{ ora_version }}/OPatch.bck # remote_src: true # mode: '0755' # owner: oracle # group: oinstall # when: # - not opatchgrid_stat.stat.exists # - name: "Oracle ASM: remove old OPatch" # ansible.builtin.file: # path: /oracle/GRID/{{ ora_version }}/OPatch # state: absent # when: # - not opatchgrid_stat.stat.exists # - name: "Oracle ASM: copy OPatch for GRID" # # become: true # # become_user: "oracle" # ansible.builtin.copy: # src: "{{ target_media_location }}/SBP/GSBP/OPATCH/OPatch" # dest: /oracle/GRID/{{ ora_version }} # remote_src: true # mode: '0755' # owner: oracle # group: oinstall # Commenting the SBP GRID Patching code till the issue is resolved. # - name: "Oracle ASM: Prepare for GRID SBP Patching" # become: true # become_user: "root" # ansible.builtin.shell: /oracle/GRID/{{ ora_version }}/crs/install/roothas.sh -prepatch |tee /etc/sap_deployment_automation/{{ sap_sid | upper }}/grid-pre-processing.log # register: gridpreinstall # args: # creates: /etc/sap_deployment_automation/{{ sap_sid | upper }}/gridpreinstall.txt # - name: "Wait to shutdown of Oracle processes for 15 sec" # ansible.builtin.wait_for: # timeout: 30 # # Debug for testing # - name: "Oracle ASM: Prepare for GRID SBP Patching print output" # ansible.builtin.debug: # var: gridpreinstall.stdout_lines # verbosity: 2 # - name: "Oracle ASM: Prepare for GRID SBP Patching" # ansible.builtin.copy: # dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/pre-patchcmd.log" # content: "{{ gridpreinstall.stdout }}" # mode: 0777 # when: gridpreinstall.stdout is defined # - name: "Oracle ASM: Create flag after a successful preparation" # ansible.builtin.file: # path: /etc/sap_deployment_automation/{{ sap_sid | upper }}/gridpreinstall.txt # state: touch # mode: '0755' # when: gridpreinstall.rc == 0 # # Adding Block for Preventing orachk problems as per SBP Guidelines for patching 2308. # - name: "Preventing orachk Issue" # become: true # become_user: "root" # ansible.builtin.shell: | # set -o errexit # set -o pipefail # chown -R oracle:oinstall $OHGRID/suptools/orachk # chmod -R u+w $OHGRID/suptools/orachk # rm -f $IHRDBMS/suptools/orachk/orachk # register: orachkdeletion # environment: # OHGRID: /oracle/GRID/{{ ora_version }} # ORACLE_HOME: /oracle/GRID/{{ ora_version }} # IHRDBMS: /oracle/{{ db_sid | upper}}/{{ ora_release }} # SBPFUSER: /usr/sbin/fuser # # ORACLE_SID: "{{ db_sid | upper}}" # args: # creates: /etc/sap_deployment_automation/{{ sap_sid | upper }}/orachkdeleted.txt # chdir: "/oracle/GRID/{{ ora_version }}" # executable: /bin/csh # - name: "Oracle ASM: Create flag after a successful orachk deletion" # ansible.builtin.file: # path: /etc/sap_deployment_automation/{{ sap_sid | upper }}/orachkdeleted.txt # state: touch # mode: '0755' # when: orachkdeletion.rc == 0 # # STEP 4.2.2 SBP Patching for Oracle GRID. # # Copy the GSBP patch to local folder to avoid failures. # # - name: "Copy the GRID SBP Patches to local folders" # # ansible.builtin.copy: # # src: "{{ target_media_location }}/GSBP" # # dest: /home/oracle/ # # remote_src: true # # owner: oracle # # group: oinstall # # mode: '0775' # - name: "Oracle ASM: Pre Processing set permissions GRID" # become: true # become_user: "root" # ansible.builtin.file: # path: "/oracle/GRID/{{ ora_version }}/bin/oradism" # state: file # owner: root # group: oinstall # mode: u+rw # - name: "debug 2311 Patching" # fail: # msg: "fail here for manual GRID SBP installation" # - name: "File update wait for 15 sec to avoid multiple locks" # ansible.builtin.wait_for: # timeout: 30 # - name: "Oracle GRID Patching Error Handling Block" # block: # - name: "Oracle ASM: Post Processing - GRID SBP Patching" # become: true # become_user: "{{ oracle_user_name }}" # ansible.builtin.shell: $OHGRID/MOPatch/mopatch.sh -v -s {{ oraclegrid_sbp_patch }} # environment: # OHGRID: /oracle/GRID/{{ ora_version }} # ORACLE_HOME: /oracle/GRID/{{ ora_version }} # # IHRDBMS: /oracle/{{ db_sid | upper}}/{{ ora_release }} # SBPFUSER: /usr/sbin/fuser # OPATCH_DEBUG: "TRUE" # register: gridsbpscript_results # failed_when: gridsbpscript_results.rc >= 1 # args: # creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/gridsbp_installed.txt" # chdir: "{{ target_media_location }}/SBP/GSBP" # executable: /bin/csh # rescue: # - name: "Remove the Pre-install.txt File for preparing Re-run" # become: true # become_user: "{{ oracle_user_name }}" # ansible.builtin.shell: rm -rf gridpreinstall.txt # args: # chdir: /etc/sap_deployment_automation/{{ db_sid | upper }} # executable: /bin/csh # - name: "Remove the Link Files created in the previous run" # become: true # become_user: "{{ oracle_user_name }}" # ansible.builtin.shell: rm -rf link* # register: removelinkfiles # failed_when: removelinkfiles.rc >= 2 # args: # chdir: "{{ target_media_location }}/SBP" # executable: /bin/csh # - name: "Oracle ASM: Prepare for GRID SBP Patching" # become: true # become_user: "root" # ansible.builtin.shell: /oracle/GRID/{{ ora_version }}/crs/install/roothas.sh -prepatch |tee /etc/sap_deployment_automation/{{ sap_sid | upper }}/grid-pre-processing.log # register: gridpreinstall # args: # creates: /etc/sap_deployment_automation/{{ sap_sid | upper }}/gridpreinstall.txt # # - name: "Wait to shutdown Oracle processes for 15 sec" # # ansible.builtin.wait_for: # # timeout: 30 # - name: "Oracle ASM: Post Processing - GRID SBP Patching" # become: true # become_user: "{{ oracle_user_name }}" # ansible.builtin.shell: $OHGRID/MOPatch/mopatch.sh -v -s {{ oraclegrid_sbp_patch }} # environment: # OHGRID: /oracle/GRID/{{ ora_version }} # ORACLE_HOME: /oracle/GRID/{{ ora_version }} # # IHRDBMS: /oracle/{{ db_sid | upper}}/{{ ora_release }} # SBPFUSER: /usr/sbin/fuser # OPATCH_DEBUG: "TRUE" # register: gridsbpscript_results # failed_when: gridsbpscript_results.rc >= 1 # args: # creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/gridsbp_installed.txt" # chdir: "{{ target_media_location }}/SBP/GSBP" # executable: /bin/csh # - name: "Oracle ASM: Pre Processing reset permissions GRID" # ansible.builtin.file: # path: "/oracle/GRID/{{ ora_version }}/bin/oradism" # state: file # mode: '4750' # owner: oracle # group: oinstall # - name: "Oracle ASM: Post processing installer output" # ansible.builtin.debug: # var: gridsbpscript_results.stdout_lines # verbosity: 2 # - name: "Oracle ASM: Post processing installer output" # ansible.builtin.copy: # dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/sbpgrid.log" # content: "{{ gridsbpscript_results.stdout }}" # mode: '0777' # when: gridsbpscript_results.stdout is defined # - name: "Oracle ASM: Create flag after a successful SBP GRID installation" # ansible.builtin.file: # path: /etc/sap_deployment_automation/{{ sap_sid | upper }}/gridsbp_installed.txt # state: touch # mode: '0755' # STEP 4.2.3 Post-Processing SBP Patching for Oracle GRID. # SAP Note 2893317 - ORA-12547: TNS:lost contact during SWPM system copy import -NetWeaver # Run the post install script for GRID SBP patching to start the Oracle Cluster service manager, ASMCA and relevant toolset. # - name: "Oracle ASM: Oracle Post Processing - GRID SBP GRID Patching Post-Processing" # become: true # become_user: root # ansible.builtin.shell: | # set -o errexit # set -o pipefail # /oracle/GRID/{{ ora_version }}/rdbms/install/rootadd_rdbms.sh # /oracle/GRID/{{ ora_version }}/crs/install/roothas.sh -postpatch |tee /etc/sap_deployment_automation/{{ sap_sid | upper }}/grid-post-processing.log # register: sbppostpro_results # args: # chdir: /oracle/GRID/{{ ora_version }} # creates: /etc/sap_deployment_automation/{{ sap_sid | upper }}/sbp-grid-postprocess.txt # when: # - gridsbpscript_results.rc >= 1 # - name: "Oracle ASM: Create flag after a successful change" # ansible.builtin.file: # path: /etc/sap_deployment_automation/{{ sap_sid | upper }}/sbp-grid-postprocess.txt # state: touch # mode: '0755' # # when: sbppostpro_results.rc >= 2 # - name: "Oracle ASM: Create sbp_installed.txt" # ansible.builtin.file: # path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/grid_sbp_installed.txt" # state: touch # mode: '0755' # when: sbpscript_results.rc < 2 # /*---------------------------------------------------------------------------8 # | | # | Step 5 SBP Patching for Oracle RDBMS | # | | # +------------------------------------4--------------------------------------*/ # MOPATCH for SBP - name: "Oracle ASM: Find MOPatch" ansible.builtin.find: paths: "{{ target_media_location }}/SBP/SAPSBP" patterns: ["MOPatch"] file_type: directory recurse: true register: mopatch_directory - name: "Oracle ASM: Find MOPatch" ansible.builtin.fail: msg: "Too many MOPatches found" when: mopatch_directory.matched != 1 - name: "Oracle ASM: MOPatch path" ansible.builtin.set_fact: mopatch_path: "{{ mopatch_directory.files[0].path }}" when: mopatch_directory.matched == 1 - name: "Oracle ASM: Check if 'OPatch.bck' exists" ansible.builtin.stat: path: /oracle/{{ db_sid | upper }}/{{ ora_version }}/OPatch.bck register: opatch_stat - name: "Oracle ASM: backup OPatch" ansible.builtin.copy: src: /oracle/{{ db_sid | upper }}/{{ ora_version }}/OPatch dest: /oracle/{{ db_sid | upper }}/{{ ora_version }}/OPatch.bck remote_src: true mode: '0755' when: - not opatch_stat.stat.exists - name: "Oracle ASM: remove old OPatch" ansible.builtin.file: path: /oracle/{{ db_sid | upper }}/{{ ora_version }}/OPatch state: absent when: - not opatch_stat.stat.exists - name: "Oracle ASM: copy OPatch" # become: true # become_user: "{{ oracle_user_name }}" ansible.builtin.copy: src: "{{ target_media_location }}/SBP/OPATCH/OPatch" dest: /oracle/{{ db_sid | upper }}/{{ ora_version }} remote_src: true mode: '0755' owner: oracle group: oinstall - name: "Oracle ASM: copy MOPatch" # become: true # become_user: "{{ oracle_user_name }}" ansible.builtin.copy: src: "{{ mopatch_path }}" dest: /oracle/{{ db_sid | upper }}/{{ ora_version }} remote_src: true mode: '0777' owner: oracle group: oinstall - name: "Oracle ASM: Pre Processing set permissions" ansible.builtin.file: path: "/oracle/{{ db_sid | upper }}/{{ ora_version }}/bin/oradism" state: file mode: '0750' owner: oracle group: oinstall - name: "ORACLE ASM: Post Processing - SBP Patching - progress" ansible.builtin.debug: msg: "Running SBP Patching, please wait" - name: "Oracle ASM: Post Processing - SBP Patching" become: true become_user: "{{ oracle_user_name }}" ansible.builtin.shell: $IHRDBMS/MOPatch/mopatch.sh -v -s {{ oracle_sbp_patch }} environment: DB_SID: "{{ db_sid }}" CV_ASSUME_DISTID: OL7 IHRDBMS: /oracle/{{ db_sid | upper }}/{{ ora_version }} ORACLE_HOME: /oracle/{{ db_sid | upper }}/{{ ora_version }} RDBMS: /oracle/{{ db_sid | upper }}/{{ ora_version }} register: sbpscript_results failed_when: sbpscript_results.rc >= 2 args: creates: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/sbpdb_installed.txt" chdir: "{{ target_media_location }}/SBP" executable: /bin/csh - name: "Oracle ASM: pre processing reset permissions" ansible.builtin.file: path: "/oracle/{{ db_sid | upper }}/{{ ora_version }}/bin/oradism" state: file mode: '4750' owner: root group: oinstall - name: "Oracle ASM: Post processing installer output" ansible.builtin.debug: var: sbpscript_results.stdout_lines verbosity: 2 - name: "Oracle ASM: Post processing installer output" ansible.builtin.copy: dest: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/sbp.log" content: "{{ sbpscript_results.stdout }}" mode: '0777' when: sbpscript_results.stdout is defined - name: "Oracle ASM: Create sbp_installed.txt" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sap_sid | upper }}/sbpdb_installed.txt" state: touch mode: '0755' owner: oracle group: oinstall - name: "Oracle ASM: Permissions" ansible.builtin.file: path: /oracle/{{ db_sid | upper }}/{{ ora_version }}/bin/oracle state: file owner: oracle group: oinstall mode: '6751' # - name: Remove SAPSBP # ansible.builtin.file: # path: "{{ mopatch_path }}" # state: absent - name: "Oracle ASM: environment variables to the Bash profile" become: true become_user: "{{ oracle_user_name }}" ansible.builtin.blockinfile: path: /home/oracle/.bashrc insertafter: 'fi ' block: | # User Specific environment export ORACLE_HOME=/oracle/{{ db_sid }}/{{ ora_release }} export ORACLE_SID={{ db_sid }} export ORACLE_BASE=/oracle/{{ db_sid }} export LD_LIBRARY_PATH=$ORACLE_HOME/lib export TNS_ADMIN=$ORACLE_HOME/network/admin export DB_SID={{ db_sid }} PATH="$PATH:$ORACLE_HOME/bin" export PATH - name: "Oracle ASM: create .cshrc" become: true become_user: "{{ oracle_user_name }}" ansible.builtin.blockinfile: create: true path: /home/oracle/.cshrc marker_begin: "-- BEGIN" marker_end: "-- END" block: | # User Specific environment setenv ORACLE_HOME /oracle/{{ db_sid }}/{{ ora_release }} setenv ORACLE_SID {{ db_sid }} setenv ORACLE_BASE /oracle/{{ db_sid }} setenv LD_LIBRARY_PATH $ORACLE_HOME/lib setenv TNS_ADMIN $ORACLE_HOME/network/admin setenv DB_SID {{ db_sid }} set path = ($path $ORACLE_HOME/bin) mode: '0755' - name: "Oracle ASM: check if ARM Deployment done" ansible.builtin.stat: path: "/etc/sap_deployment_automation/{{ db_sid | upper }}/sap_deployment_db_arm.txt" register: db_arm_deployment_done - name: "Oracle ASM: Successful installation" block: - name: "Oracle ASM: Retrieve Subscription ID and Resource Group Name" ansible.builtin.uri: url: http://169.254.169.254/metadata/instance?api-version=2021-02-01 use_proxy: false headers: Metadata: true register: azure_metadata - name: "Oracle ASM: Extract details" ansible.builtin.set_fact: subscription_id: "{{ azure_metadata.json.compute.subscriptionId }}" resource_group_name: "{{ azure_metadata.json.compute.resourceGroupName }}" - name: "Oracle ASM: Show the subscription and resource group" ansible.builtin.debug: msg: - "Subscription ID: {{ subscription_id }}" - "Resource Group Name: {{ resource_group_name }}" - name: "Include deploy/ansible/roles-misc/0.6-ARM-Deployment" ansible.builtin.include_role: name: roles-misc/0.6-ARM-Deployment vars: subscriptionId: "{{ subscription_id }}" resourceGroupName: "{{ resource_group_name }}" when: - not db_arm_deployment_done.stat.exists when: - not oracle_installed.stat.exists - name: "Oracle ASM: Install status" block: - name: "Oracle ASM: Install status" ansible.builtin.debug: msg: "Oracle ASM: is already installed" - name: "ORACLE ASM: - return value" ansible.builtin.set_fact: oracle_already_installed: true when: - oracle_installed.stat.exists ... # /*---------------------------------------------------------------------------8 # | END | # +------------------------------------4--------------------------------------*/