Skip Headers
Oracle® Fusion Applications Patching Guide
11g Release 1 (11.1.2)

Part Number E16602-09
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

11 Monitoring and Troubleshooting Patches

This chapter describes how to monitor and troubleshoot Oracle Fusion Applications patching and AD Administration processing sessions.

This chapter contains the following topics:

11.1 Oracle Fusion Applications Patch Manager Logging

Oracle Fusion Applications Patch Manager creates log files for the actions it performs. These logging capabilities track the progress of actions and assist you in diagnosing issues. When you use Oracle Fusion Applications Patch Manager, you can specify the level of logging detail. The following log levels are available:

When you select a more detailed level of logging, the log files also include the lower level of details. For example, if you choose to see INFO messages in your log file, WARNING and SEVERE messages also appear in the log files. For more information, see "Standard Logging Levels" in the Oracle Fusion Applications Administrator's Guide.

11.1.1 Log Files for Patching Sessions

You can examine the activities performed during patching sessions by reviewing the associated log files. Oracle Fusion Applications Patch Manager consolidates log files for each patching session under the directory, FA_ORACLE_HOME/admin/FUSION/log. This directory contains the top-level log file, logsummary_fapmgr_command_timestamp.html, along with related log files for each task performed during a fapmgr session. During a session, you can view the Log Summary HTML file from a browser, which provides links to individual log files. You can periodically refresh the Log Summary HTML file to view the progress of the current patching session. If a task fails, you can access the links to the associated log files to assist in diagnosing the failure. For more information, see Section 11.2.1, "Log Summary".

When a new session starts, the log files from the previous session move to FA_ORACLE_HOME/admin/FUSION/logarchive/Patch Number/fapmgr_command/session ID/timestamp. The session ID is unique and the time stamp is the start time for the session. Note that whenever Oracle Fusion Applications Patch Manager runs a command where there is no patch number, such as bootstrap, abort, and report, the archive logs are named FA_ORACLE_HOME/admin/FUSION/logarchive/fapmgr_command/timestamp.

Log files for OPatch actions are initially written to the FA_ORACLE_HOME/cfgtools/opatch/patch number_timestamp directory.

Table 11-1 contains a list of log files created by Oracle Fusion Applications Patch Manager during patching activities.

Table 11-1 Log Files for Patching Activities

Log file name under FA_ORACLE_HOME/admin/FUSION/log Log file generated from...

FAPatchManager_apply_timestamp.log

Oracle Fusion Applications Patch Manager apply session

FAPatchManager_abort_timestamp.log

Oracle Fusion Applications Patch Manager abort session

FAPatchManager_bootstrap_timestamp.log

Oracle Fusion Applications Patch Manager bootstrap session

FAPatchManager_report_reportname_timestamp.log

Oracle Fusion Applications Patch Manager report session

FAPatchManager_validate_timestamp.log

Oracle Fusion Applications Patch Manager validate session

adpatch_apply_timestamp.log

Oracle Fusion Applications AutoPatch apply session

adpatch_abort_timestamp.log

Oracle Fusion Applications AutoPatch abort session

adpatch_apply_timestamp_workernumber.log

Oracle Fusion Applications AutoPatch worker log file

adpatch_validate_timestamp.log

Oracle Fusion Applications AutoPatch

adpatch_apply_timestamp_timingreport.lst

Oracle Fusion Applications AutoPatch timing report

logsummary_fapmgr_command_timestamp.html

For reports:

logsummary_report_reportname_timestamp.html

The consolidation of the log files generated by Oracle Fusion Applications Patch Manager in HTML format for viewing and accessing links to other log files from a browser

patch number_fapmgr_command_session id_timestamp.marker

Marker file used while moving log files to a backup directory

ConfigContext_timestamp.log

Oracle Fusion Applications Patch Manager in online mode

ExecutionContext_timestamp.log

Oracle Fusion Applications Patch Manager in online mode

FAPMgrDiagnosticsSummaryfapmgr_command_timestamp.html

The consolidation of the Oracle Fusion Applications Patch Manager session in HTML format, known as the Diagnostics report

FAPMgrDiagnosticsSummary.html

The Diagnostic report when it is run on demand using this command syntax: fapmgr.sh report -patchprogress. For more information, see Section 3.5.5.1, "Running the Diagnostics Report".


11.1.2 Timing Reports

For information about the duration of patching tasks, refer to the Diagnostics Report, in Section 11.2.2, "Diagnostics Report".

11.2 Monitoring Patching Sessions

Oracle Fusion Applications Patch Manager coordinates patching activities by assigning tasks based on information from the patch metadata file. OPatch runs the tasks for updating middleware artifacts and Oracle Fusion Applications AutoPatch runs the database tasks. Each of these tools generates one or more log files containing informational and error messages generated during patching. For more information, see Section 11.1.1, "Log Files for Patching Sessions". If a task fails, the exact failure information for a given task is included in the log file. You can view the progress of the patching session from a browser, including the details of a failed task, by reviewing the Log Summary.

11.2.1 Log Summary

The Log Summary is created automatically whenever you start an Oracle Fusion Applications Patch Manager session. The Log Summary is continuously updated as the session progresses. This report exists in the FA_ORACLE_HOME/admin/FUSION/log directory and is named logsummary_fapmgr_command_timestamp.html. It contains links to all of the log files generated during the session. To view the report, open the report from your browser and periodically refresh the page to see updated links to log files as they are created. You can open those links and monitor the progress of the session by refreshing the browser.

11.2.2 Diagnostics Report

After each patching sessions ends, the Diagnostics report is automatically generated so that you can view the results of the session from a browser. You can also use this report during a patching session that is currently running, by generating the report from the command line. The Diagnostics report is located in the FA_ORACLE_HOME/admin/FUSION/log directory and is named FAPMgrDiagnosticsSummaryfapmgr_command_timestamp.html. For more information, see Section 3.5.5, "Diagnostics Report".

11.3 General Troubleshooting for Oracle Fusion Applications Patching

This section contains the following general troubleshooting scenarios for patching:

For troubleshooting information that is specific to patching security artifacts such as the jazn-data.xml file, data security files, and data role templates, see Section 4.17, "Patching Security Artifacts". For troubleshooting information that is specific to patching SOA composites, see Section 11.4, "Troubleshooting Patching Sessions for SOA Composites". For troubleshooting information that is specific to patching database content, see Section 11.5, "Troubleshooting Patching Sessions for Database Content".

11.3.1 Starting a New Patching Session After the Previous Session Failed

The previous patching session failed, and when you attempt to start a new patching session, a message appears about a previous session having failed.

The previous patching session could be in various states after its failure. The following scenarios are possible:

11.3.2 Abandoning a Failed Patching Session

The previous patching session failed and you want to start a new patching session. Only one patching session can be running at a time.

Always make sure that processes associated with the previous patching session do not exist. You can abandon a previously failed session by running the fapmgr abort command so that you can start a new patching session. The abort command cleans up any intermediate states tracked by fapmgr and moves the log files for the abandoned session to an archive log directory. You cannot abandon a session that is actively running.

Use the following syntax for the fapmgr abort command:

(UNIX) ...lcm/ad/bin/fapmgr.sh abort [-logfile log file name] [-loglevel level]
(Windows) ...lcm\ad\bin\fapmgr.cmd abort [-logfile log file name] [-loglevel level]

Table 11-2 describes the options available for the abort command.

Table 11-2 abort Command Options

Option Description Mandatory

logfile

Name of the log file.

No, default value is FAPatchManager_abort_timestamp.log

loglevel

Reporting level for messages. See Section 11.1, "Oracle Fusion Applications Patch Manager Logging".

No, default value is INFO

help

Displays help.

No


If the fapmgr abort command errors with a message, such as, "Another APPLY session is already running", you may need to use the fapmgr forcefail command first. For more information, see Section 11.3.3, "Recovering from an Interrupted Patching Session". Also confirm that the table FND_INSTALL_PROCESSES does not exist.

11.3.3 Recovering from an Interrupted Patching Session

The patching session was interrupted by a system failure when Oracle Fusion Applications Patch Manager and Oracle Fusion Applications AutoPatch were running. The patching-related database tables still show the patching session as running, but no patching-related processes are actually running.

Use the fapmgr forcefail command to update the patching tables. Confirm that no patching processes are running before you use this command.

  1. Confirm that all processes related to this patching session are no longer active. From your operating system, check for processes that are running fapmgr, javaworker, adpatch, adadmin, and adworker. If any processes are running, you must stop them using the command appropriate for your operating system.

  2. Use the fapmgr forcefail command to update the patching tables.

    (UNIX) ...lcm/ad/bin/fapmgr.sh forcefail [-logfile log file name] [-loglevel level]
    
    (Windows) ...lcm\ad\bin\fapmgr.cmd forcefail [-logfile log file name] [-loglevel level]
    
  3. From this point you can either abandon or restart the failed session.

Note:

Oracle Fusion Applications Patch Manager, Functional Setup Manager, and Applications Core all use Oracle Fusion Applications AutoPatch for database patching. If a patching session is hung or incomplete, you may potentially need to consider the impact of an Applications Core or Functional Setup Manager patching session. Only one patching session can be active at a time.

11.3.4 Retrying Failed Post-Patching Tasks in a Previous Session

When you apply patches in online mode using the stoponerror option and post-patching tasks fail, you can use the fapmgr retry command. The retry mode of fapmgr lets you attempt all failed online post-patching operations for a specific patching session. These actions include not only the restart of Managed Servers, but also automated actions for other artifacts, such as deployment of SOA composites, Oracle BPM templates, and IPM artifacts. If you do not use the fapmgr retry command, you manually perform the post-patching operations that failed.

11.3.4.1 Requirements for retry mode

The following conditions must be met for retry mode to work:

  1. The session_id must exist in the database. To verify this, this SQL*Plus query should return one row:

    select count(*) from ad_patch_util_sessions where session_id=session_id;
    
  2. The failed session must have at least one failed life cycle operation.

  3. The patch top directory from the original session must exist.

  4. You must have followed these steps when you originally applied the patch:

    1. Run fapmgr validate -online.

    2. Fix the infrastructure failures reported by validation.

    3. Run fapmgr apply -online -stoponerror

    If you did not resolve the infrastructure failures reported by patch validation, the retry will most likely fail.

11.3.4.2 Running fapmgr in retry mode

When you run fapmgr in retry mode, the same command line options that were used in the original session are used. Use the following command syntax:

(Unix) ...lcm/ad/bin/fapmgr.sh retry -sessionid [-logfile log_file_name]
 -loglevel log_file_name] [-loglevel level]
(Windows) ...lcm\ad\bin\fapmgr.sh retry -sessionid [-logfile log_file_name]
 -loglevel log_file_name] [-loglevel level]

For the retry session, fapmgr uses the same session_id, but the timestamp is different. The log files for the apply session and the retry session are created in different directories, and the sessions create two separate Diagnostics reports.

11.3.5 Avoiding a Lost Connection During the Patching Session

If you initiate a patching session from a terminal server, such as a laptop, you may lose the connection during extended periods of time when no messages are sent to the terminal. The terminal server may interpret this as inactivity and then end the session. For example, no messages are sent to the client when Oracle Fusion Applications Patch Manager is stopping and starting servers, waiting for a failed task to be fixed, or is hung on a database task. To avoid this situation, ensure that the terminal server is configured appropriately to handle long durations of inactivity.

11.3.6 Resolving Components Locked by a Singleton Patch

If you recently applied a one-off patch to a middleware artifact, you may encounter the following error the next time you apply a standard patch:

The incoming patch(es) [patch_number] target components that are locked bysingleton patch(es) [patch_number].
OPatch cannot proceed. Please refer to log file for more details. 

A one-off middleware patch sets a lock on the component that the one-off patch updates. After you apply a one-off patch, you must subsequently apply the related standard patch that contains the same updates as the one-off to release the lock. The error message tells you which one-off patch is locking the component. For more information, see Section 2.2.1, "Impact of a One-off Patch".

Note:

OPatch uses the term singleton patch, which is equivalent to a one-off patch, as used by Oracle Fusion Applications Patch Manager.

11.3.7 Resolving a Webcat Patch File Creation Failure

If you apply a patch that contains BI Publisher artifacts, the BI Presentation servers should not be running. The following error occurs if the BI Presentation servers are running during the deployment of BI Publisher artifacts:

java.lang.RuntimeException: Webcat patch file creation failed! 

To resolve this issue, shut down the BI Presentation servers to release locks on the Oracle BI Presentation Catalog.

11.3.8 Resolving an EditTimedOutException Error

If you receive the following error during patch validation,

weblogic.management.mbeanservers.edit.EditTimedOutException  

you may have to manually release the edit session. This situation can occur when a domain is already in "edit" mode during patching, such as when the server crashes when Oracle Fusion Applications Patch Manager tries to stop and restart it.

Follow these steps to manually release the edit session:

  1. Log in to the admin console for the domain that is locked in edit mode.

  2. In the admin console, confirm that Release Configuration is enabled in the Change Center menu.

  3. Click Release Configuration to release the edit session.

11.3.9 Revert To a Previous Flexfield Definition After It Is Updated By a Patch

After you apply a patch that contains flexfield changes and you decide you are not ready to implement those flexfield changes, you have the option to revert to a previous version of that flexfield definition. The Flex Modeler creates an MDS label, FlexPatchingWatermarkdate+time, before it initiates the flexfield deployment, which establishes the watermark for what was in MDS before the patch was applied. For your reference, the name of the label is included along with the Flex Deployment report in the patching log file. To use a previous version of a flexfield definition, use the WLST command promoteMetadataLabel. For more information, see "promoteMetadataLabel" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.To delete all previous MDS labels for a flexfield, after you confirm that you can use the changes delivered by a patch, use the WLST command deleteFlexPatchingLabels. Note that keeping old MDS labels adversely impacts performance. For more information, see "How to Use the deleteFlexPatchingLabels Command" in the Oracle Fusion Applications Developer's Guide.

11.3.10 Finding Artifact Versions

The Opatch -lsinventory -detail command provides a report that lists all patches, artifacts and artifact versions that were modified within each patch applied to a given Oracle home. This report lists only artifacts that were modified. If an artifact does not appear on this report, then the artifact remains at its base version. Run this report when you are working with Oracle Support Services and you need to provide an artifact version.

Use this command syntax to generate the report:

OPatch/opatch lsinventory -detail -oh FA_ORACLE_HOME -invPtrLoc \
FA_ORACLE_HOME/oraInst.loc -jre JAVA_HOME

The following example depicts the section of the report that displays patches applied. To use the report, you must find the latest entry for the specific artifact and note the version reported.

Interim patches (11) :
 
Patch  11801        : applied on Wed Feb 02 17:57:53 PST 2011
   Created on 18 Jan 2011, 16:09:54 hrs PST8PDT
   Bugs fixed:
     11801
   Patch is translatable.
   Files Touched:
     AdfPjfIntMspUi.jar, version "23.0" --> ORACLE_HOME/prj/deploy/EARProjectsFinancials.ear/EARProjectsFinancials.war/WEB-INF/lib/AdfPjfIntMspUi.jar
   Patch Location in Inventory:
     /u01/FUSIONAPPS_APPLTOP/fusionapps/applications/inventory/oneoffs/11801
   Patch Location in Storage area:
     /u01/FUSIONAPPS_APPLTOP/fusionapps/applications/.patch_storage/11801_Jan_18_2011_16_09_54

Patch  12801        : applied on Tue Feb 01 21:30:17 PST 2011
   Created on 28 Jan 2011, 14:26:56 hrs PST8PDT
   Bugs fixed:
     12801
   Patch is translatable.
   Files Touched:
     EFFmetadata.mar, version "35.0" --> ORACLE_HOME/hcm/deploy/EarHcmCoreSetup.ear/EFFmetadata.mar
     system-jazn-data.xml, version "35.0" --> ORACLE_HOME/hcm/security/policies/system-jazn-data.xml
   Patch Location in Inventory:
     /u01/FUSIONAPPS_APPLTOP/fusionapps/applications/inventory/oneoffs/12801
   Patch Location in Storage area:
     /u01/FUSIONAPPS_APPLTOP/fusionapps/applications/.patch_storage/12801_Jan_28_2011_14_26_56

For more information about OPatch, see the Oracle Fusion Middleware Patching Guide.

11.3.11 Backing Out Patches After They Have Been Successfully Applied

You should always test the application of a patch and the functionality related to the patch on a test system. After the patch is successfully tested, apply the patch on the production system. There is no automated method of backing out patches. Oracle strongly recommends that you work with Oracle Support Services if you must back out a patch.

11.4 Troubleshooting Patching Sessions for SOA Composites

The information provided in this section describes the troubleshooting process for errors that can occur when patching Service-Oriented Architecture (SOA) composites. These processes assume that you validate the patch and then apply the patch in online mode. SOA patching errors can be divided into the following categories:

When SOA composite failures occur, review the error messages in the Diagnostics report and related log files and follow the applicable steps in one or more of the following categories:

11.4.1 Basic Troubleshooting for SOA Composite Failures

SOA composite validation and deployment can fail for multiple reasons. Review the following steps for basic troubleshooting:

  1. After you validate or apply a patch that contains SOA composites, review the Diagnostics report for errors.

    Oracle Fusion Applications Patch Manager generates the Diagnostics report after every validation and patching session. The report output is in HTML format for viewing from a browser and is located here: FA_ORACLE_HOME/admin/FUSION/log/FAPMgrDiagnosticsSummarydate:session.html.

    The Module Task Details section of report displays the following information to assist in your troubleshooting:

    • Mode: Middleware, in this case.

    • Phase: Validation or Patch Application, in this case.

    • Product Family: The short name of the product family.

    • Task: The following information displays for SOA composites:

      • Name of composite

      • Domain name

      • Path to composite JAR in FA_ORACLE_HOME

      • Revision of composite

    • Status: Possible values of Success, Failed, or Skipped.

    • Duration: Total time the task ran.

    • Start Time: Time and date the task started.

    • End Time: Time and date the task ended.

    • Warning/Error Message: The error message displays as a java.lang.RuntimeException. The message often includes a suggestion for resolving the failure.

    • Log file: The path and file name of the high level log file, FAPatchManager_fapmgr_command_timestamp.log, associated with the task. From the Module Execution Summary section of the Diagnostics report, you can review log files by accessing the link to the Log Summary. For more information, see Section 11.2.1, "Log Summary".

    • Line Numbers: The line numbers in the log file associated with the task.

  2. Restart the SOA servers and for each failure, follow Steps 3 through 8.

  3. Determine if there is a cause for the error that needs to be resolved, in addition to restarting the server, by referring to the Diagnostics report, Oracle Fusion Applications log files and SOA log files. Examples of other causes include database errors, coherence configuration errors, and out of memory issues. For more information, see "Troubleshooting Oracle SOA Suite" in the Oracle Fusion Applications Administrator's Guide.

  4. Determine if you need to manually restore the system back to its state before the application of the patch was attempted. The following scenarios do not require manual restoration of the system:

    • Errors occurred during the validation phase.

    • Errors occurred during the patch application phase but the recovery was successful, so the system was recovered to its original state. The Diagnostics report displays this condition in this message: OPatch has successfully recovered deployment error for artifact [artifact_name and path].

    If you need to restore the system, follow the steps in Step 5.

  5. If a failed deployment leaves a composite in an inconsistent state, you must restore the system to its original state. Follow these steps to use WLST commands to restore the system. If you prefer to use Oracle Fusion Applications Control to restore the system, see Step 6.

    1. Find out what the active revision of the composite was before the application of the patch from the Diagnostics report, as indicated by this message: The last active version of the composite before patch application began was [version].

      In the following examples, 1.0 is the previous revision and 2.0 is the patched revision.

    2. Disable Event Delivery Network (EDN).

      sca_disableEventsDelivery()
      
    3. Undeploy the patched revision of the composite if it exists in the system.

      sca_undeployComposite('http://server01:8001', 'POProcessing', '2.0') 
      
    4. Mark the previously active revision of the composite as active and as a default revision.

      To activate the old revision:

      sca_activateCompositeMb('POProcessing', '1.0')
      

      To assign the default composite:

      sca_assignDefaultCompositeMb('POProcessing', '1.0')
      
    5. Enable EDN.

      sca_enableEventsDelivery()
      
  6. Follow these steps to restore the system to its original state using Oracle Fusion Applications Control.

    1. Find the active revision of the composite before the application of the patch from the Diagnostics report, as indicated by this message: The last active version of the composite before patch application began was [version].

      In the following example, 1.0 is the previous revision and 2.0 is the patched revision.

    2. Disable EDN. For more information, see "Business Event Subscriptions Are Not Firing" in the Oracle Fusion Applications Administrator's Guide. Note that when Paused in set to true, it disables event delivery.

    3. Undeploy the patched revision of the composite if it exists in the system. For more information, see "Undeploying Applications" in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

    4. Mark the previously active revision of the composite as active and as a default revision. For more information, see "Managing the State of All Applications at the SOA Infrastructure Level" in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

    5. Enable EDN. For more information, see "Business Event Subscriptions Are Not Firing" in the Oracle Fusion Applications Administrator's Guide. Note that when Paused in set to false, it enables event delivery.

  7. Manually deploy the SOA composites included in the patch by following the steps in Section 4.18.2, "Manually Deploying SOA Composites".

  8. If you are unable to resolve the failure, file a service request with Oracle Support Services and provide the logs and information as described in "Table 22-2 SOA Log Information for Oracle Support Services" in the Oracle Fusion Applications Administrator's Guide.

11.4.2 Troubleshooting SOA Composite Validation Failures

This section describes common problems and solutions for SOA composite validation failures. Errors that occur during the validation phase must be resolved before applying the patch. If you encounter these errors during patch application, you must manually deploy the SOA composites after you resolve the validation errors. Oracle Fusion Applications Patch Manager captures the OPatch validation log files, which can be found by referencing the Diagnostics report or the Log Summary. The errors in the log files provide information about the cause of the failure and are often followed by recommended actions.

This section contains troubleshooting information about the following failures:

11.4.2.1 Oracle JDeveloper Customization Error

An error that is related to a JDeveloper customizations occurs when you customized a SOA composite and did not save the customizations. You must save these customizations before you apply a patch that includes the next revision of the composite. Follow the steps in Section 4.18.1, "Preserving SOA Composite JDeveloper Customizations Before Applying a Patch" to resolve this error.

11.4.2.2 SOA Server Not Available

If the SOA server is down or not available for patching, patch validation succeeds, but you receive a warning message stating that the deployment of the composite will not be performed because the SOA infrastructure is down.

Use Oracle Enterprise Manager Fusion Applications Control (Fusion Applications Control) to check the state of the SOA server. For example, if an "Initializing SOA" warning message displays on the home page, Oracle recommends that you wait until the SOA server is completely up and running, with all composites initialized.

For more information, see "SOA Server Does Not Start" in the Oracle Fusion Applications Administrator's Guide.

11.4.2.3 Administration Server Not Available

If the Administration Server is down or not available for patching, patch validation fails. Use Fusion Applications Control to check the state of the Administration Server.

11.4.2.4 SOA-Infra Server Is Ready

If the SOA-infra server is down or not available for patching, patch validation fails.

Use Fusion Applications Control to check the state of the SOA-infra server. Confirm that all dependent services are running and that all composites deployed into the SOA-infra server are present. It may take some time after SOA-infra is up for all services to initialize. If you are using a cluster, you must perform this check for all SOA-infra servers in the cluster.

11.4.2.5 Composite with Identical Revision Is Already Deployed

If you receive an error stating that a composite with a specific revision is already deployed, the SOA composite in the patch was previously deployed by a patch or manually by a user.

You can resolve this error either by not applying the current patch or by undeploying the composite before applying the patch. Note that if you undeploy the composite, you lose any customizations you may have made to that composite. Use the following command to undeploy a composite.

sca_undeployComposite('server_URL', 'composite_name', 'composite_revision')

11.4.3 Troubleshooting SOA Composite Deployment Failures

This section describes common problems and solutions for SOA composite deployment failures during patching. Errors that occur during the deployment phase must be resolved as soon as possible because the system has been modified. Do not try to roll back or reapply patches that have errors during deployment. After you resolve the cause of the error, you must deploy the composite manually.

This section contains the following topics:

11.4.3.1 Failed to Make New Composite Revision the Default

If you receive an error in making the new composite the default, you can manually assign the new composite as the default.

Use the following WLST command to assign the new composite as the default:

sca_assignDefaultComposite('host', 'soaport', 'user', 'password', 'composite_name', 'composite_revision')

If the WLST command is successful, check to see if the new composite is active. If it is not, you must then manually deploy the composite that failed, by following the steps in Section 4.18.2, "Manually Deploying SOA Composites".

For more information, see "sca_assignDefaultComposite" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.4.3.2 Failed to Retire Previous Composite Revision

If you receive an error in retiring the previous version of the composite, the old composite was not retired and both the new and old composites may be running. The old SOA composite was supposed to be retired so that only the new SOA composite would be active.

To resolve this error, use the following Oracle WebLogic Scripting Tool (WLST) command to retire the old composite:

sca_retireComposite('host', 'soaport', 'user', 'password', 'composite_name', 'composite_revision')

If the WLST command is successful, check to see if the new composite is active. If it is not, you must then manually deploy the composite that failed, by following the steps in Section 4.18.2, "Manually Deploying SOA Composites".

For more information, see "sca_retireComposite" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.4.3.3 Failed to Disable EDN Events

The attempt to disable EDN events fails, causing patch deployment to report an error.

Use the following WLST command to disable EDN events:

sca_disableEventsDelivery()

If the WLST command is successful, you must then manually deploy the composite that failed, by following the steps in Section 4.18.2, "Manually Deploying SOA Composites".

11.4.3.4 Failed to Enable EDN Events

The attempt to enable EDN events fails, causing patch deployment to report an error:

Use the following WLST command to enable EDN events:

sca_enableEventsDelivery()

If the WLST command fails, you must retry to enable it as soon as possible. Then, manually deploy the composite that failed, by following the steps in Section 4.18.2, "Manually Deploying SOA Composites".

11.4.3.5 Custom Metadata and Key Flexfield Changes Are Not Propagated Across Clusters

Custom metadata and key flexfield changes are not propagated across clusters after applying a patch.

Each SOA cluster maintains its own SOA MDS schema, which results in a duplicate set of metadata for each SOA cluster that must be synchronized. Oracle Fusion Applications Patch Manager manages this synchronization, but any custom metadata or flexfield metadata must be manually exported from a source system and then migrated to the other systems. To analyze, export, and import the metadata, follow the steps in "Task: Synchronizing Customized Flexfields in the SOA MDS Repository" in the Oracle Fusion Applications Extensibility Guide.

11.4.4 Troubleshooting Complex Failures during SOA Patching

The following failures may require contacting Oracle Support Services. If you are unable to resolve the failure after following the steps in Section 11.4.1, "Basic Troubleshooting for SOA Composite Failures", file a service request with Oracle Support Services and provide the logs and information as described in "Table 22-2 SOA Log Information for Oracle Support Services" in the Oracle Fusion Applications Administrator's Guide.

11.4.4.1 No Base Composite Has Been Deployed

An earlier revision of the SOA composite, which is being patched, is not currently deployed in the system. This could mean that the composite was not previously provisioned on the system. As a result, the patch validation reports the following error:

CHECK_SOA_BASE_COMPOSITE_CONFIGURED,
Message : "Check if Base composite is configured., Operation Status : "false"
Exception message is:"java.lang.RuntimeException: No Base composite is deployed 
for the composite "composite_name". 

11.4.4.2 Export Composite Failure

The SOA composite failed during export, causing patch validation to report the following error:

SOA_EXPORT_COMPOSITE, Message : "export composite", 
Operation Status : "false"
Exception message is:"java.lang.RuntimeException: failure in export composites", 
User error message is: "Error in export composite in SOA Deploy [composite_name]."

11.4.4.3 Extract Plan Failure

The SOA composite failed during extraction, causing patch validation to report the following error:

SOA_EXTRACT_PLAN, Message : "extract plan", 
Operation Status : "false" Exception message is:"java.lang.RuntimeException:
failure in Extract plan", User error message is: "Error in Extract plan."

11.4.4.4 Attach Plan Failure

The SOA composite failed during plan attachment, causing patch deployment to report the following error:

SOA_ATTACH_PLAN, Message : "attach plan", 
Operation Status : "false" Exception message is:"java.lang.RuntimeException:
failure in Attach plan", User error message is: "Error in Attach plan."

11.4.4.5 Export Updates Failure

The SOA composite failed during export, causing patch validation to report the following error:

SOA_EXPORT_UPDATES, Message : "export all updates". Operation Status:
"false", Exception message is: "java.lang.Exception: failure in export updates"'
User error message is "Error in executing export all Updates."

11.4.4.6 Import Updates Failure

The SOA composite failed during import updates, causing patch deployment to report the following import updates error:

SOA_IMPORT_UPDATES, Message: "Import Updates"'
Operation Status: "false", Exception message is: 'java.lang.Exception:
failure in import updates", User error message is: "Error in import updates to the SOA composite [composite_name]"

11.4.4.7 Merge Updates Failure

The SOA composite failed during merging updates, causing patch validation to report the following error:

SOA_MERGE_UPDATES, Message : "merge updates", 
Operation Status : "false" Exception message is:"java.lang.RuntimeException:
merge update failure", User error message is: "Error in merge updates."

11.4.4.8 Server Time Out

The SOA server timed out and the deployment may or may not have been successful, causing patching deployment to report the following error:

CHECK_SOA_SERVER_REQUEST_RESPONSE, Message: "Check for
timeout related issues in SOA deployment requests", Operation Status: "false",
Exception message is: "oracle.opatch.opatchfmw2.SOATimeoutException:
soatimeout exception"

11.4.4.9 Unknown Deployment Status

The deployment of the composite reported an unknown deployment status, as shown by the following example message:

SOA_DEPLOY_COMPOSITE, Message: "Deploy composite",
Operation Status: "false", Exception message is: 'java.lang.RuntimeException:
deployment failure", User error message is: "Error in deploying SOA composite
[composite_name]"

11.5 Troubleshooting Patching Sessions for Database Content

The AD Controller utility, adctrl, can monitor and control the progress of the workers called by Oracle Fusion Applications AutoPatch to update database content and by AD Administration. With AD Controller, you can determine the status of the workers and control their actions. For more information about workers, see Section 3.1.2.1, "Worker Processes".

The following sections contain steps for troubleshooting issues that may occur during patching sessions for database content:

11.5.1 Starting AD Controller

Follow these steps to start AD Controller:

  1. Start AD Controller with the adctrl command.

    (UNIX) ...lcm/ad/bin/adctrl.sh
    (Windows) ...lcm\ad\bin\adctrl.cmd
    

    It prompts you to:

    • Confirm the value of the Oracle Fusion Applications Oracle home

    • Specify an AD Controller log file. This log file is written to the current working directory. The default is adctrl.log.

  2. After the main menu displays, enter a number to select an option. You can press Enter at any time to return to the AD Controller main menu.

    AD Controller main menu

11.5.2 Reviewing Worker Status

When Oracle Fusion Applications AutoPatch or AD Administration runs tasks in parallel, it assigns tasks to workers for completion. There may be situations that cause a worker to stop processing. You can use AD Controller to determine the status of workers and manage worker actions. You can also find the status of workers by reviewing the Log Summary. For more information, see Section 11.2.1, "Log Summary".

Follow these steps to review the status of the workers from AD Controller:

  1. Start AD Controller. For more information, see Section 11.5.1, "Starting AD Controller".

  2. Review worker status.

    Select Show worker status from the AD Controller main menu. AD Controller displays a summary of current worker activity. The summary columns are:

    • Control Code: The last instruction from the manager to the worker

    • Worker: The worker number

    • Context: The general action the manager is executing

    • Filename: The file the worker is running, if any

    • Status: The status of the worker

      Table 11-3 describes the status that may be assigned to a worker.

      Table 11-3 Worker Status

      Status Meaning

      Assigned

      The manager assigned a task to the worker and the worker has not yet started.

      Completed

      The worker completed the task and the manager has not yet assigned it a new task.

      Failed

      The worker encountered a problem.

      Fixed, Restart

      You fixed the problem, and the worker will retry the task that failed.

      Restarted

      The worker is retrying a task or has successfully restarted a task. Note that the status does not change to Running.

      Running

      The worker is running a task.

      Wait

      The worker is idle.


If the worker shows a status of Failed, refer to Section 11.5.3, "Determining Why a Worker Failed" for assistance in fixing the problem so Oracle Fusion Applications Patch Manager can complete its processing.

11.5.3 Determining Why a Worker Failed

When a worker fails its task, you do not have to wait until the other workers and the manager stop. You can review the worker log files to determine what caused the failure. Workers do not proceed to run tasks in the subsequent phase until all tasks in the current phase complete successfully. You must take action to resolve the failure so the workers can continue to run tasks in the next phase. If the task was deferred after the worker failed, there may be no action required from you.

The first time a task fails, the manager defers the task and assigns the worker a new task. If the deferred task fails a second time, the manager defers it a second time only if the run time of the task is less than 10 minutes. If the deferred task failed a third time, or if its run time is greater than 10 minutes, the task stays at a failed status and the worker waits for manual intervention. Action by you is then required because the worker stops any further processing.

Follow these steps to find out why a worker failed:

  1. In the Log Summary, located in FA_ORACLE_HOME/admin/FUSION/log/logsummary_fapmgr_command_timestamp.html, review the AutoPatch Apply log file to find the worker that failed. For more information, see Section 11.2.1, "Log Summary".

  2. Open and review the log file for the failed worker to determine the cause of the worker failure.

    Each worker logs the status of tasks assigned to it in adpatch_apply_timestamp_workernumber.log. The worker log file contains information that describes exactly what task it was running and what error occurred that resulted in a failure. Review the worker log file for the failed worker to determine the source of the error. For more information, see Section 11.1.1, "Log Files for Patching Sessions".

  3. Determine how to fix the problem that caused the failure.

    Resolve the error using the information provided in the log files. If needed, search for the resolution at the My Oracle Support site or file a service request with Oracle Support Services if you do not understand how to resolve the issue.

  4. After you resolve the problem that caused the failure, restart the failed worker.

    Select Tell worker to restart a failed job from the AD Controller main menu. For more information, see Section 11.5.4, "Restarting a Failed Worker".

  5. Verify the worker status.

    Select Show worker status from the AD Controller main menu. The Status column for the worker that failed should now display Restarted or Fixed, Restart.

11.5.4 Restarting a Failed Worker

If a worker job failed or if you terminated a hanging worker process, you must manually restart the worker. Some worker processes spawn other processes called child processes. If you terminate a child process that is hung, the worker that spawned the process shows Failed as the status. After you fix the problem, you must restart the failed worker. After the worker restarts, the associated child processes start as well.

Follow these steps to restart a failed worker:

  1. Start AD Controller. For more information, see Section 11.5.1, "Starting AD Controller".

  2. Select Show worker status from the AD Controller main menu.

  3. Take the appropriate action for each worker status:

    • If the worker status is Failed and its job has failed, select Tell worker to restart a failed job. When prompted, enter the number of the worker that failed.

    • If the worker status is Running or Restarted, but the job is hung, follow the steps in Section 11.5.5, "Terminating a Hung Worker Process".

11.5.5 Terminating a Hung Worker Process

When running AD utilities, there may be situations when a worker process appears to hang, or stop processing. If this occurs, you may need to terminate the process manually. After you do that, you must also restart that process manually.

Caution:

A process that appears to be hung could be a long-running task. Be careful when terminating processes.

To terminate a process, you start AD Controller, obtain the worker's process ID from your operating system, and then stop any hanging processes. After you make the necessary changes, you can restart the worker.

Take the following steps to terminate a worker process that is hung.

  1. Start AD Controller. For more information, see Section 11.5.1, "Starting AD Controller".

  2. Select Show worker status from the AD Controller main menu.

  3. Open and review the log file for the failed worker to determine the cause of the worker failure.

    Each worker logs the status of tasks assigned to it in the adpatch_workernumber.log. The worker log file contains information that describes exactly what tasks it runs and what errors occurred that resulted in a failure. Review the worker log file for the failed worker to determine the file being processed and review the worker log file to see if it is progressing. You can also verify whether the process is consuming CPU resources from your operating system.

    For more information, see Section 11.1.1, "Log Files for Patching Sessions".

  4. Confirm that the operating system process associated with the worker is not running. If the task is identified as "hanging", determine the worker's process ID by looking for processes being run by the worker.

    (UNIX) ps -a| grep workernumber
    (Windows) Start the Task Manager (Ctrl-Alt-Delete) to view processes.
    
  5. Determine what processes the worker has started, if any. If there are child processes, get their process IDs.

  6. Stop the hung process, using the command that is appropriate for your operating system.

  7. If you terminate a SQL*Plus session spawned by a worker, you just need to kill the SQL*Plus session. The worker immediately detects the FAILED state. For other processes, follow Steps 7 through 11.

    In AD Controller, select Tell manager that a worker failed its job and enter the worker number of the hung workers. This should cause the worker to fail.

  8. Select Tell worker to quit. When prompted, enter the worker number of the hung worker.

  9. Select Tell manager that a worker acknowledges quit. When prompted, enter the number of the hung worker.

  10. Fix the issue that caused the worker to hang. Search the My Oracle Support site or file a service request with Oracle Support Services if you do not know how to fix the issue.

  11. Select Restart a worker on the current machine. When prompted, enter the number of the failed worker. The worker will restart its assigned tasks and spawn the associated child processes.

    Note:

    Do not select Restart a worker on the current machine if the worker process is running. Doing so creates duplicate worker processes with the same worker ID and will cause incorrect results.

11.5.6 Shutting Down the Manager

There may be situations when you must shut down an AD utility while it is running. For example, you may want to shut down the database while Oracle Fusion Applications is running Oracle Fusion Applications AutoPatch or during an AD Administration session. You should perform this shutdown in an orderly fashion so that it does not affect your data. The best way to do this is to shut down the workers manually.

  1. Start AD Controller.

  2. Select Tell worker to quit, and enter all for the worker number. The worker completes its current task and then quits.

  3. Verify that no worker processes are running, using a command that is appropriate for your operating system.

  4. When all the workers have shut down, the manager and the AD utility quits.

11.5.7 Reactivating the Manager

No workers are running tasks. They are either failed or waiting. A restarted worker resumes the failed task immediately if the worker process is running. Workers change to a Waiting status if they cannot run any tasks because of dependencies on a failed task, or because there are no tasks left in the phase. When no workers are able to run, the manager becomes idle.

Complete the following steps for each worker:

  1. Start AD Controller. For more information, see Section 11.5.1, "Starting AD Controller".

  2. Determine the cause of the error.

    Select Show worker status. Review the worker log file for the failed worker to determine the cause of the error.

  3. Resolve the error using the information provided in the log files.

    Search for the resolution in the My Oracle Support site or file a service request with Oracle Support Services if you do not understand how to resolve the issue.

  4. Restart the failed worker.

    Select Tell worker to restart a failed job on the AD Controller main menu. The worker process restarts, causing the AD utility and the manager to become active again.

11.5.8 Resolving the Error, "Unable to start universal connection pool"

This error occurs during patching, "Unable to start universal connection pool". Connections to the database cannot be established due to timeout limits.

Consider tuning the listener parameters INBOUND_CONNECT_TIMEOUT_listenername and SQLNET.INBOUND_CONNECT_TIMEOUT for the server. For more information, see Oracle Database Net Services Reference.

11.5.9 Resolving a Worker Blocked by a Session

When you patch database artifacts, your system should be in an idle state. If this is not the case, the patching session may hang due to locks. Examples of locks that can cause the patching session to hang are PL/SQL packages that are accessed by Oracle Enterprise Scheduler Service Server, a locked table, or a locked table row. After a specific wait time, such as 30 minutes, Oracle Fusion Applications Patch Manager performs a check to determine whether the patching session is blocked by another session. If a blocking session is found, a message describing the block is sent to the log file, as shown in the following example:

"[2011-03-14T02:12:18.112-07:00] [apps] [NOTIFICATION] [] [AutoPatch] Worker 4 is
blocked by session 3868 ... Please fix the session to avoid indefinite waiting

The worker that is blocked remains in a Running status. To resolve the issue and release the lock, stop the blocking session using the command that is appropriate for your operating system. After the blocking session is no longer running, the hung worker proceeds to complete its task. You can use the following SQL*Plus query to identify the sessions that are blocking patching sessions:

SELECT blocking_session,
       sid "Blocked Session",
       module "Blocked Module",
       seconds_in_wait
 FROM gv$session
 WHERE status = 'ACTIVE'
 AND module like 'PATCHING_SESSION:%'
 AND blocking_session_status = 'VALID'
  AND user = '<FUSION schema>';

Note:

To minimize blocked sessions, ensure that you follow the steps in Step 7, "Prepare the System" before you apply a patch.

11.5.10 Resolving an Error During Conflict Checking

If you recently applied a one-off patch to a database artifact, you may encounter the following error the next time you apply a standard patch:

Error occurred during patch conflicts checking.
This may be due to infrastructure failure OR patch conflicts
You may check FA_ORACLE_HOME/admin/FUSION/out/patch_number_conflict_report.xml file for any patch conflicts
You should check the file FA_ORACLE_HOME/admin/FUSION/log/adpatch.log for errors

A one-off database patch sets a lock on the artifact that the one-off patch updates. After you apply a one-off patch, you must subsequently apply the related standard patch that contains the same updates as the one-off to release the lock. To find out which one-off patch is locking the artifact, review the conflict_report.xml file. In the following example of this file, the one-off patch that created the lock was 909090.

<Patch_Conflict_Report>
  <instance>
    <appl_sys_name>FUSION</appl_sys_name>
    <appl_top>/server01/fusionapps</appl_top>
    <patch_number>909090</patch_number>
  </instance>
  <patch_type>one-off</patch_type>
  <conflict_details>
    <conflicts>
      <prod>HCM</prod>
      <subdir>hcm/components/hcmPayroll/legconfig/setup/dbSchema/database/fusionDB/FUSION</subdir>
      <filename>PAY_INSTALLED_LEGISLATIONS.table</filename>
      <bug>909090</bug>
    </conflicts>

To resolve this issue and remove the lock, obtain and apply the standard patch that delivers the same fix as the one-off patch.

11.5.11 Setting the Environment for Troubleshooting Database Issues

If you need to connect to the Oracle Fusion Applications database to troubleshoot database related issues, by running SQL*Plus, for example, you need to set up the appropriate environment variables. For setting any environment variable, run the adsetenv script to generate the APPSORA.env file, which when sourced, sets all environment variables.

(UNIX)
sh adsetenv.sh
source APPSORA.env
echo $TWO_TASK

(Windows, TWO_TASK is known as LOCAL)
adsetenv.cmd 
APPSORA.cmd
echo %LOCAL%