Best Practices from Oracle Development's A‑Team

Applying P4FA using FASPOT on Fusion Release 12


Patches for Fusion Applications (P4FA) are collections of one-off fixes and tech stack updates (e.g. Fusion MiddleWare, Database, Weblogic Server, etc.) compiled and certified for Fusion Applications where an installation of them improves system stability and performance substantially. Every Fusion Application release has its own set of P4FA patches and it is mandatory to apply them. P4FA patches can be downloaded from the Oracle Support site “Patches & Updates” section.

More information about P4FA LifeCycle and how to search & download the P4FA Bundles for specific releases are available in the A-team Blog: http://www.ateam-oracle.com/introduction-to-fa-tech-stack-patching-with-faspot/

Note: Please refer to the README available with the P4FA bundle for the latest patch details and information at the time of publication.

After downloading the latest patch from My Oracle Support and unzipping it, the first component in the directory is the Patch Number, this changes with every new release of the patch. A new number gets assigned to the latest version of the P4FA Patch. It is recommended to stage the P4FA bundle on a shared location accessible from both FA & IDM Nodes.

P4FA Bundle Directory Structure after unzipping:

Figure 1: Directory Structure of P4FA Bundle.

Screen Shot 2018-03-28 at 1.03.33 PM


Applying P4FA using FASPOT:

 FASPOT is used to simplify the Fusion Applications tech stack patching process.  FASPOT orchestrates the installation of the P4FA using ant and provides several targets. FASPOT Utility applies FMW & IDM patches (obtained through PATCHES4FA) on Fusion Applications installed environment. Most of the pre and post install operations applicable for an On-Premise FA deployment configuration is taken care by FASPOT Utility unless otherwise specified. FASPOT Utility is developed using ANT scripts and currently is supported for linux(x86-64),Solaris(sparc/x86-64) OS based FA deployments.

This article talks about the FASPOT steps which need to be carried out to apply the P4FA bundle on the FusionApps Release 12 Environment.

MANDATORY: FASPOT must run once on every server that hosts a component of the Fusion Applications tech stack.

FASPOT applies the patches to the following categories:

  • Fusion Middleware Components (including atgpf, ODI, oracle_common, SOA, webtier, BI, ECM, SES, WebCenter, wls)
  • Identity and Access Management (including OID & OHS)

The installation of RDBMS patches are not within the scope of FASPOT and remains a manual task for DBAs. These are out of scope for FASPOT. Number of combinations and variants of existing DB topologies would make it too complex to be automated by scripts. Usually DBA’s use their own mechanisms and best practices to perform DB life cycle management.

Prepare to Apply a P4FA with FASPOT:

Pre Requisites: Before carrying out this step, ensure that patches available in the “RDBMS_database version” are applied to FA and IDM databases including the post installation steps. DBA need to follow the Oracle Database Patching best practices while applying the RDBMS patches which are shipped along with the P4FA Bundle. 

Every P4FA is shipped with FASPOT binaries which can be used to apply that specific version of P4FA to the Fusion Application. Navigate to the FASPOT directory inside the /patches4fa/dist and unzip the zip file available inside this location to extract the FASPOT binaries to a shared location which should be accessible from both FA and IDM hosts.

Once the zip file is extracted, the new FASPOT directory which is created will be referred as FASPOT_HOME_DIR.

Figure 2: Directory Structure for editing FASPOT

Screen Shot 2018-03-28 at 1.03.42 PM

  • config – contains product specific configurations files and templates generated during runtime.
  • env – contains property files that user needs to update before script execution.
    • faspot.properties.template – sample template file to fill the values as desired and generate faspot.properties
    • faspot.properties – Contains details about installed components and patch download location
    • jvm.properties- Contains the path for the JAVA_HOME to be used during the FASPOT
  • ExecEngine  Contains jar's and property files while used internally by the FASPOT
  • faspot.sh – script handling the ant calls for different targets – to be called to execute the ant targets
  • README.txt – documentation
  • setEnv.sh – script to set the environment for FASPOT Utility execution. Internally used in certain configurations.
  • tools – contains ANT Libraries which are used for setting ANT_HOME in setEnv.sh
  • zdt_scripts – Pod2ZdtConverter Binaries.
  • build.xml – script contains all the targets/actions to perform patching in FA environment.

Edit the faspot.properties & jvm.properties.


FASPOT uses the faspot.properties file to find the key information about the FA and IDM installations like host names, directory names, user names, passwords etc.  Editing this file is usually a one-time activity and the same properties file can be reused for the next P4FA apply on the same environment until the environment is upgraded to the next Release or any Topology level changes on the Environment. It is highly recommended to compare the faspot.properties.template shipped with newer P4FA Bundle with existing the faspot.properties to identify any changes/additions in the newer P4FA.Copy $FASPOT_HOME_DIR/env/faspot.properties.template to create a new file $FASPOT_HOME_DIR/env/faspot.properties and edit the faspot.properties.

Figure 3: FA Directory Structure for editing the faspot.properties

FA Directory Structure

Figure 4: List of FA Weblogic/JAVA/Middleware Homes referred in"Figure 3" Directory Structure

Screen Shot 2018-03-28 at 1.51.31 PM

Figure 5: IDM Directory Structure for editing the faspot.properties

IDM Directory Structure  

Sample faspot.properties is attached below for reference. This properties file is created for a 3 Node Basic Topology FA Environment.



Edit the $FASPOT_HOME_DIR/env/jvm.properties to point the JAVA_HOME to $FASPOT_HOME_DIR/tools/jdk_<version>

# Plese update jdk7 home applicable for current OS(platform)


P4FA Patching is primarily done from the following 5 hosts:

  • APPOHS Host - fmw-patch* targets are executed
  • Primordial(Admin) Host - fmw-patch* targets are executed
  • OID Host - idm-patch* targets are executed
  • OIM Host - idm-patch* targets are executed
  • AUTHOHS Host - idm-patch* targets are executed

Table 1: FASPOT Phases

FASPOT Phases  Targets Nodes Description

Preparation Phase

prepare-patch-stage FA Prepares the external staging environment containing patches

Prereq Validation Phase


fmw-prereq-check FA Validates the faspot.properties with the FA Environment
idm-prereq-check IDM Validates the faspot.properties with the IDM Environment

P4FA Predowntime Patch Apply

fmw-predowntime-actions FA Applies patches on FWM components as part of Phase1
idm-predowntime-actions IDM Applies patches on IDM components as part of Phase1
 P4FA Patch Apply   fmw-patch-apply FA Applies patches on FWM components as part of Phase2
 idm-patch-apply IDM Applies patches on IDM components as part of Phase2
 P4FA ATG DB Patch Apply   fmw-atgpf-patching FA Applies patches on FWM-ATG DB components
 P4FA Post Install   fmw-patch-postinstall FA Performs redeployment actions for FMW Components once servers are online
 idm-patch-postinstall IDM Performs postinstall actions for IDM Components once servers are online


Backup of FA & IDM Environment before FASPOT

Backup the entire FA environment including IDM components and Databases before applying the P4FA Patches. Coordinate with DBA team to ensure that Database backups are taken in sync with the Application level backups to provide a single restoration point of time for the environment .

FASPOT Utility does not take any backup of the environment/application/configuration/data prior to individual product-component patching. Ensure that the Backup and Restore procedures are tested and validated.

FASPOT Execution

 1) Preparation

     Pre-Requisites: FA & IDM environment need to be Up and Running
      To be done from Primordial[Admin] Host

On FA Node

sh faspot.sh prepare-patch-stage > prepare-patch-stage-stdout.log 2>&1 &

sh faspot.sh -Dlogfile=prepare-local-env prepare-local-env > prepare-local-env-stdout.log 2>&1 &


 2) Prereq Validation

        Pre-Requisites: FA & IDM environment need to be Up and Running
        To be done from patching hosts i.e Primordial[Admin], APPOHS, AUTHOHS, OIM & OID Hosts

on FA Node

sh faspot.sh fmw-prereq-check > fmw-prereq-check-stdout.log 2>&1 &

on IDM Node

sh faspot.sh idm-prereq-check > idm-prereq-check-stdout.log 2>&1 &

In case of any wrong values provided in faspot.properties, the kindly update them and execute "prepare-local-env" as explained in the above section.
Repeat the fmw-prereq-check & idm-prereq-check target execution until all the failures are resolved.

 3) P4FA Pre-downtime Patch Apply

Pre-Requisites: FA & IDM environment need to be Up and Running
To be done from Primordial[Admin], APPOHS, AUTHOHS, OIM & OID Hosts

 on FA Node

sh faspot.sh -Dlogfile=fmw-predowntime-actions fmw-predowntime-actions > fmw-predowntime-actions-stdout.log 2>&1 &

 on IDM Node

sh faspot.sh -Dlogfile=idm-predowntime-actions idm-predowntime-actions > idm-predowntime-actions-stdout.log 2>&1 &


 4) Stop FA & IDM Applications

        Shutdown the FA & IDM environments (excluding the databases) gracefully using the Stop scripts manually. Ensure that all the components are stopped before continuing with the next steps. 

 5) P4FA Patch Apply

       Pre-Requisites: FA & IDM environment need to be Down.
       To be done from Primordial[Admin], APPOHS, AUTHOHS, OIM & OID Hosts

 on FA Node

sh faspot.sh -Dlogfile=fmw-patch-apply fmw-patch-apply > fmw-patch-apply-stdout.log 2>&1 &

 on IDM Node

sh faspot.sh -Dlogfile=idm-patch-apply idm-patch-apply > idm-patch-apply-stdout.log 2>&1 &

 6) Start IDM Services

      Start the IDM services using the Start scripts available.

 7) P4FA ATG DB Patch Apply

       Pre-Requisites: IDM Environment should be Up and Running & FA environment need to be Down.
       To be done from Primordial[Admin] Hosts

 on FA Node

sh faspot.sh -Dlogfile=fmw-atgpf-patching fmw-atgpf-patching > fmw-atgpf-patching-stdout.log 2>&1 &

 8) Start FA FMW Services

      Start the FA services using the Start scripts available.

 9) P4FA Post Install

       Pre-Requisites: FA & IDM environment need to be Up and Running
       To be done from Primordial[Admin], APPOHS, AUTHOHS, OIM & OID Hosts

 on FA Node

sh faspot.sh -Dlogfile=fmw-patch-postinstall fmw-patch-postinstall > fmw-patch-postinstall-stdout.log 2>&1 &

 on IDM Node

sh faspot.sh -Dlogfile=idm-patch-postinstall idm-patch-postinstall > idm-patch-postinstall-stdout.log 2>&1 &

 10) Execute the FASPOT target to audit the patch apply and post patch config actions in FMW & IDM nodes

      Need to be executed on FA & IDM Nodes:

   on FA & IDM Nodes

 sh faspot.sh -Dlogfile=p4fauptake-report  p4fauptake-report > <HOSTNAME>_p4fauptake-report.log 2>&1 &


Once the P4FA is applied on the FA and IDM targets successfully, ensure that both technical & functional testing on the FA stack are executed and validated. Its highly recommended to apply the P4FA patches on a lower environment first, followed by technical & functional testing and then propagate the P4FA to higher environments like UAT, Production etc.

P4FA patches are cumulative and administrators must always apply the most recent patch after becoming available on Oracle Support.


Apply Technical Patch Bundles: P4FA


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha