Oracle Fusion Applications Administrator's Troubleshooting Guide, 11g Release 1 (11.1.4)

11g Release 1 (11.1.4)

E25450-03

Contents

Title and Copyright Information

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

1 Introduction to Troubleshooting

- 1.1 Where to Find Detailed Troubleshooting Information

- 1.2 General Oracle Fusion Applications Issues

- 1.2.1 File Uploads Fail

- 1.2.2 Search Is Not Available for an Oracle Fusion Application

2 Troubleshooting Oracle BI Enterprise Edition and Oracle Business Intelligence Publisher

- 2.1 Introduction to Troubleshooting Oracle BI EE and Oracle BI Publisher

- 2.2 Getting Started with Troubleshooting

- 2.2.1 Oracle BI Technologies

- 2.2.2 Logging

- 2.2.3 Data Warehouse Enabled Profile Option

- 2.3 Problems and Solutions for Oracle BI EE

- 2.3.1 Oracle BI Presentation Services Fails to Start

- 2.3.2 The BI Server is Not Running

- 2.3.3 Cannot Log Into Oracle Business Intelligence as a User With the BISystem Role

- 2.3.4 The "My Account" Link Does Not Display in Presentation Services

- 2.4 Problems and Solutions for Oracle BI Publisher

- 2.4.1 Oracle BI Publisher Reports Are Missing from the Presentation Services Shared Folders

- 2.4.2 Oracle BI Publisher Reports Are Missing from the Oracle BI Publisher Server Shared Folders

- 2.4.3 Oracle Business Intelligence Requests Stop Responding

- 2.5 Problems and Solutions for Oracle Business Intelligence Applications

- 2.5.1 Revenue Amount Columns Show No Data or Show Data with Currency Symbol Missing in CRM Reports

3 Troubleshooting Oracle Enterprise Crawl and Search Framework

- 3.1 Problems and Solutions

- 3.1.1 Missing Parameters for Search Engine Instance

- 3.1.2 Cannot Create Search Engine Instance

- 3.1.3 Searchable Object Not Listed in Fusion Applications Control for ECSF

- 3.1.4 Searchable Object Deployment Fails

- 3.1.5 Searchable Object Undeployment Fails

- 3.1.6 Search Category Deployment Fails

- 3.1.7 Cannot Start, Undeploy, or Delete the Index Schedule

- 3.1.8 Crawl Fails

- 3.1.9 Invalid Channel Feed Type Error

- 3.1.10 ECSF Query Error

- 3.1.11 FND-6603 Error

- 3.2 Diagnosing Enterprise Crawl and Search Problems

- 3.2.1 Diagnosing ECSF Command Line Administration Utility Issues

- 3.2.2 Diagnosing Fusion Applications Control for ECSF Issues

- 3.2.3 Diagnosing Failures During Deploy/Undeploy Operations for Search Categories

4 Troubleshooting Oracle Enterprise Performance Management

- 4.1 Problems and Solutions for Foundation Services

- 4.1.1 Getting Started with Logging Basics for Foundation Services

- 4.1.2 Web Traffic Snooping

- 4.1.3 EPM Registry

- 4.1.3.1 EPM Registry Initialization Fails

- 4.1.3.2 Connection to Essbase Server Fails

- 4.1.3.3 Host and Ports Do Not Match

- 4.1.4 Hyperion Security Username/Password Authentication Fails during Enterprise Scheduler Services Essbase Cube Creation in the Domain

- 4.1.5 EPM Workspace

- 4.1.5.1 Debugging

- 4.1.5.2 Startup

- 4.1.5.3 Microsoft Internet Explorer Truncated Menus

- 4.1.6 Allocation Manager

- 4.1.6.1 Essbase Applications Are Not Listed Under the Essbase Node

- 4.1.6.2 Business Rules Cannot be Deployed to General Ledger

- 4.1.7 Smart View

- 4.1.7.1 Re-enabling Smart View in Microsoft Office Applications

- 4.1.7.2 Enabling Advanced Logging

- 4.1.7.3 Timeout Errors

- 4.1.7.4 Shared Connections Panel Does Not Display Server Names

- 4.2 Problems and Solutions for Financial Reporting

- 4.2.1 Setting Up Data Sources and Debugging Setup and Connectivity Issues

- 4.2.1.1 Unable to Connect to Essbase Cube

- 4.2.1.2 Error While Creating Database Connection

- 4.2.1.3 Cannot Set Up a Database Connection

- 4.2.2 Issues with Workspace (Access Privileges, Preferences, Change And Manage Database Connections)

- 4.2.2.1 Error When Running a Report

- 4.2.3 Common Administrative Tasks and How to Debug Issues

- 4.2.3.1 Log File Output Management and Diagnosis of Log Issues

- 4.2.3.2 Setting Up Financial Reporting TCP Ports for Firewall Environments and Debugging Issues Around It

- 4.2.3.3 Supporting PDF Print/Troubleshooting Financial Reporting Print Server Issues

- 4.2.3.4 Getting Error Application HReports is not Defined

- 4.2.3.5 Permission Errors

- 4.2.3.6 All the Jobs Fail

- 4.3 Problems and Solutions for Hyperion Provider Services

- 4.3.1 Provider Services Server Not Running

- 4.3.2 Provider Services Version Information

- 4.3.3 Maximum Numbers of Rows Exceeded in Smart View

- 4.3.4 Monitoring Provider Sessions

- 4.3.5 Monitoring Active-Active Essbase Clusters

- 4.3.6 Enabling and Disabling Active-Active Essbase Cluster Components

- 4.4 Problems and Solutions for Essbase

- 4.4.1 Getting Started with Logging Basics for Essbase

- 4.4.2 Essbase Agent Startup Fails with Error

- 4.4.3 Essbase Agent Startup Fails Due to serviceinstanceref ref="audit" Entry in jps-config-jse.xml

- 4.4.4 Essbase Agent Startup Fails with an Error While Loading Shared Libraries

- 4.4.5 opmnctl Commands Fail to Execute

- 4.4.6 An Application Stops Responding

- 4.4.7 An Essbase Application Will Not Start

- 4.4.8 ASO Database Corruption Error

- 4.4.9 Essbase Login Credentials Are Unknown When Essbase Is Included in the Oracle Business Intelligence Installation

- 4.4.10 Cannot Stop an Application Process

- 4.4.11 Changing the Essbase Ports (High-Availability Mode)

- 4.4.12 Changing the Essbase Ports (Non-High-Availability Mode)

- 4.4.13 Data Load Fails with the "Load Buffer Does Not Exist" Error

- 4.4.14 Data Load Fails with Resource Usage Error

- 4.4.15 Essbase Fails to Start in Cluster Mode

- 4.4.16 Essbase Login Failed Due to Invalid Credentials

- 4.4.17 Failed to Open a File on UNIX

- 4.4.18 GL Writeback Fails with "Accounting Date Conversion" Error

- 4.4.19 GL Writeback Fails with "Group ID Node" Error

- 4.4.20 GL Writeback Fails with "Not a Valid GL Application" Error

- 4.4.21 GL Writeback Fails with "SQL Database Connection" Error

- 4.4.22 Network Timeout

- 4.4.23 OPMN Fails to Start Essbase in High-Availability Mode

- 4.4.24 Restructure Failure

- 4.4.25 Security File Is Corrupt

- 4.4.26 Status of Essbase Agent Connection

- 4.4.27 Unable to Write File During Data Load or Building Aggregate Views

5 Troubleshooting Oracle Enterprise Scheduler

- 5.1 Introduction to Troubleshooting Oracle Enterprise Scheduler

- 5.2 Getting Started with Troubleshooting Oracle Enterprise Scheduler Jobs

- 5.3 Problems and Solutions

- 5.3.1 BI Publisher Job Remains In RUNNING State

- 5.3.2 BI Publisher Job States Mismatch with Oracle Enterprise Scheduler States

- 5.3.3 Job Never Executes and Goes into ERROR State Immediately

- 5.3.4 Job Completes, but Goes into a WARNING state

- 5.3.5 Metadata Access Denied Error When Accessing Job Metadata

- 5.3.6 Insufficient Privilege Error on Request Error

- 5.3.7 Empty Process List in Schedule New Process Dialog

- 5.3.8 Slow Display of Job Definition List of Values in Schedule New Process Dialog

6 Troubleshooting Oracle Fusion Transactional Business Intelligence

- 6.1 Diagnosing Oracle Fusion Transactional Business Intelligence Query Problems

- 6.1.1 Enabling the NQQuery.log File

- 6.1.2 Presentation Services Request Query

- 6.1.3 Query Trace

- 6.1.4 Physical Query

- 6.1.5 Using AdminServer-diagnostic.log File to Troubleshoot Oracle WebLogic Server

- 6.1.6 Using View Data to Check the Datasource Connectivity

7 Troubleshooting Oracle Identity Management

- 7.1 Introduction to Troubleshooting Oracle Identity Management

- 7.2 Getting Started with Troubleshooting Oracle Identity Management

- 7.2.1 Verifying Oracle Internet Directory Identity Stores Can Perform Look Ups

- 7.2.2 Verifying the Security Providers in the Oracle WebLogic Server Domain

- 7.2.3 Using Selective Tracing to Troubleshoot Inaccessible Functionality

- 7.3 Problems and Solutions

- 7.3.1 Problems and Solutions for Missing or Incorrect Data

- 7.3.1.1 LDAP Changes Not Reconciled in Oracle Identity Manager

- 7.3.1.2 Data is Missing After Migrating or Patching the Policy Store

- 7.3.1.3 Administrator Search for Database Resources Returns No Results

- 7.3.1.4 Data is Missing or Incorrect in a Portlet

- 7.3.2 Problems and Solutions for Accessing Functionality

- 7.3.2.1 Inappropriate User Access After Enterprise Role Membership Removal

- 7.3.2.2 Newly Created User Does Not Have Correct Access to Oracle Fusion Applications

- 7.3.2.3 After Logging Out, Access to a Secured Resource is Granted Without Logging in

- 7.3.2.4 Authenticated User Gets Unexpected Page when Accessing a Different Secured Resource

- 7.3.2.5 Support Representative Cannot Impersonate an Oracle Fusion Applications User

- 7.3.2.6 Unauthenticated User Gets Error Page when Accessing a Secured Resource

- 7.3.3 Problems and Solutions for Managing Users

- 7.3.3.1 Oracle Fusion Human Capital Management Requests to Assign Roles to Users Fail

- 7.3.3.2 SPML Calls Initiated from an Oracle Fusion Application are Not Processed

- 7.3.3.3 Troubleshooting Oracle Fusion Human Capital Management-Oracle Identity Manager SPML Requests

- 7.3.4 Problems and Solutions for Managing Roles

- 7.3.4.1 Cannot See the Function Security Policies for an External Role

- 7.3.4.2 Cannot See the Data Security Policies for a Data Role

- 7.3.4.3 Problems Mapping an Application Role to an External Role

- 7.3.4.4 Cannot See Application Role Hierarchies

- 7.3.4.5 Attempts to Add an Application Role to a Hierarchy Appear to Have No Effect

- 7.3.4.6 Cannot Create Valid Data Roles Using Data Role Template

- 7.3.5 Problems and Solutions for Managing Keystores and Certificates

- 7.3.5.1 Key or Credential Store Error After an Application Invokes Web Service

- 7.3.5.2 Trust Certificate Error After Application Invokes Web Service

- 7.3.6 Problems and Solutions for Identity Propagation Using SAML

- 7.3.7 Problems and Solutions for Logging in to Secured Resources

- 7.3.7.1 Incorrect Language Appears After Logging in to a Secured Resource

- 7.3.7.2 Login Page Unexpectedly Reappears (No Single Sign-On)

- 7.3.7.3 Cannot Access Forgotten Password Functionality from Login Page

- 7.4 Additional Information for Troubleshooting Oracle Identity Management

8 Troubleshooting Oracle Metadata Repository

- 8.1 Introduction to Troubleshooting MDS Repository

- 8.2 Getting Started with Troubleshooting and Logging Basics for Oracle Metadata Repository

- 8.2.1 WLST Commands

- 8.2.2 MBean Properties in Fusion Applications Control

- 8.2.3 Logging

- 8.3 Applications Performing Slowly Due to MDS Repository

- 8.4 Diagnosing Exceptions with Oracle Metadata Repository

9 Troubleshooting Oracle SOA Suite

- 9.1 Introduction to Troubleshooting Oracle SOA Suite

- 9.2 Getting Started with Troubleshooting and Logging Basics for Oracle SOA Suite

- 9.3 Runtime Diagnostics

- 9.3.1 Correlating Application Issues to the SOA Composite IDs

- 9.3.2 Business Event Subscriptions Are Not Firing

- 9.3.3 Long Delays After an Event is Published and Before a Subscriber is Triggered

- 9.3.4 Events Are Consumed by Multiple Revisions of the Same Composites

- 9.3.5 Rolled Back OAOO Event Delivery Messages are Displayed in the Log Files

- 9.3.6 Application Transaction Does Not Complete and the Underlying Composite Is Stuck in a Running State

- 9.3.7 BPEL Process Received No Response from an ADF Asynchronous Service

- 9.3.8 Business Event Is Picked Up Twice (Or More) By SOA Server

- 9.3.9 Long Running, Synchronous Calls To Remote Web Services Error Out or Asynchronous Transactions Return with an Error after a Long Time

- 9.3.10 Some Messages Are Lost Between EDN and Composites or Composites Across Clusters

- 9.3.11 Some Composites Are Being Retried Multiple Times on Failure

- 9.3.12 Some Fusion Applications Control Features are Missing the No Recover Button or Export Composite Capability

- 9.3.13 Automatic Recovery of BPEL Instances is Not Recovering A Specific Instance

- 9.3.14 SOA Runtime Fails with a "Cannot read WSDL" Error

- 9.3.15 Uploading a Composite for Oracle Support Services

- 9.3.16 Confirming SOA Component Configuration Properties for Oracle Support Services

- 9.4 Security and Oracle WSM Policy Manager Configuration

- 9.5 Human Workflow

- 9.5.1 Recovering Human Task Instances Stuck in the Alerted State

- 9.5.2 Task Detail Page is Not Available

- 9.5.3 Task Chooses an Incorrect User If a Number of Rules Are Defined or Errors with "Ruleset returned lists with different list builder"

- 9.5.4 Document Is Stuck in Pending Approval and Logs Show Error "Unable to walk hierarchy for user user_name"

- 9.5.5 Task History: Cannot Remove or Move a Participant After Yourself

- 9.5.6 Hierarchy List Builders Display an Error Due to Security Configuration Issues and Log Report Errors in Authentication or Authorization with HCM Services

- 9.5.7 HCM Services are Timing Out or Getting Stuck

- 9.5.8 Error/Warning Reported in Retrieving the Position for a User

- 9.5.9 Users See No Approvals in the Inbox when Using Position Hierarchy

- 9.5.10 Task Escalation Does Not Follow Job Level, Supervisory, or Position Hierarchies

- 9.5.11 User Is Not Allowed to Perform an Action on a Human Workflow Task

- 9.5.12 Email Notification Is Not Being Sent Out

- 9.5.13 Notifications Sent Are Not Actionable

- 9.5.14 Actionable Notifications Are Sent But No Action is Taken After Responding

- 9.5.15 After LDAP Configuration with Oracle WebLogic Server, Users Appear in the Console, But a "No Role found matching the criteria" Error Appears

- 9.5.16 Only a Subset of Users in LDAP Can Log In to Oracle BPM Worklist

- 9.5.17 "Unknown Macro" Exception Appears when Myrealm Is Passed as a Parameter to the Identity Context To Identity Service APIs

- 9.5.18 Add Participant Button in Oracle BPM Worklist Is Disabled

- 9.5.19 Task Modifications Made in a Runtime Tool Are Not Appearing for the Task

- 9.5.20 How Can I Set Commonly Used Human Workflow Configuration Parameters?

- 9.5.21 How Do I Set Human Workflow Configuration Parameters Not Available in the Fusion Applications Control Properties Pages?

- 9.5.22 System MBean Browser Does Not Reflect My Changes After Editing the Human Workflow Config MBeans

- 9.5.23 Human Workflow Services Are Not Locating Resource Bundles or Classes Located at the Workflow Customizations Class Path URL

- 9.5.24 How Do I Manually Set the URL for Displaying Task Details for a Particular Human Workflow Task Component?

- 9.5.25 How to Test the Health of the Installed Server

- 9.5.26 User Authentication Error (in this example, the user is FMW_USERID and identityContext is jazn.com)

- 9.5.27 Error During Import of Task Payload Mapped Attribute Mappings

- 9.5.28 Error During Rule Migration

- 9.5.29 When Defining a Rule Based on the Approval Group List Builder During Runtime, a Message Says the Group Does Not Exist

- 9.6 Patching and Deployment

- 9.7 Performance

- 9.7.1 SOA Transactions are Failing and Logs Indicate the SOA Database is Running Out of Space

- 9.7.2 Slow Application Performance Such as Longer Time to Serve Pages or Finish Transactions

- 9.7.3 Slow Fusion Applications Control Performance

- 9.8 Maintenance

- 9.8.1 JVM is Suspended If Any In-use Log Directories are Deleted

- 9.8.2 Server Start Script Does Not Work for Scale-Out (Postprovisioning) Servers

- 9.8.3 SOA Server Does Not Start

- 9.8.4 SOA Server Is Not Responding To Administrative Commands

- 9.8.5 Undeploying a Composite Left in an Inconsistent State Due to a Failed Patch

- 9.8.6 Increased Load Observed on RAC Instances when Using Multiple Oracle RAC Servers

- 9.8.7 List of SOA Composite State Values

- 9.8.8 Log Files Have Been Deleted or Are Missing

- 9.9 Custom Development (Extensibility)

- 9.9.1 Unable to Use Layered Customization on Specific Artifacts

- 9.9.2 New or Deleted Artifacts Do Not Appear as a Layered Customization

- 9.9.3 Warnings Regarding xml:id when Building or Deploying a Customized Composite

- 9.9.4 Distributed Queue Topic Messages Are Retrieved Multiple Times by Subscribers

- 9.9.5 Internal Key is Displayed Instead of a Translated String

- 9.9.6 BPEL Activity Errors and the Log Shows Error "com.oracle.bpel.entity.dataprovider.EntityVarMgrException:zero Item"

- 9.9.7 BPEL Activity Errors and Log Shows Error "XPath variable or expression <expression> is empty"

- 9.9.8 Unavailable Composite Errors Occurring Even Though the Target Service Is Up and Running

- 9.9.9 High-Volume Cross Reference (XREF_DATA) Table Impacts Performance and Maintenance

- 9.9.10 Access Denied Error While Invoking an Oracle ADF BC Service from BPEL

- 9.9.11 Clicking Manage Approvals Page Gives a "SOA server may be down" or "No data to display" Error

- 9.9.12 Synchronous Service Invocation Errors Due to WS-Addressing

- 9.9.13 Deploying Human Workflow Application Throws "Unable to resolve 'TaskQueryService'" Error

- 9.9.14 "Invalid Subject" Error Thrown with Human Workflow API or Notification

- 9.9.15 Task is Assigned to the Group/Role When It Is Expected to Go to Every User in the Group/Role Individually

- 9.9.16 Task Completes Without Any Assignment Occurring

- 9.9.17 Parallel Assignees Must Approve or Reject the Task Even Though the Parallel Completion Criteria is Met

- 9.9.18 All Added Adhoc Participants Disappear After a Page Refresh

- 9.9.19 Future Approvers Are Not Visible in the History Table

- 9.9.20 Message Appears in the History Table About a Correlation ID Not Being Passed or Any Exception Related to the Correlation ID

- 9.9.21 Edit Toolbar Is Disabled or Not Shown

- 9.9.22 oracle.jrf.UnknownPlatformException Error When Customizing an Oracle Mediator

- 9.9.23 java.lang.NullPointerException When Customizing an Oracle Mediator

- 9.9.24 JDeveloper Compilation Error in a SOA Project with SOA MDS Service Location

10 Troubleshooting Oracle WebCenter Content

- 10.1 Introduction to Troubleshooting Oracle WebCenter Content

- 10.2 Attachments

- 10.2.1 Attachment File Is Too Large

- 10.3 Integration

- 10.3.1 Content Server Web Service Is Unavailable

- 10.3.2 Content Server Connection Failure

- 10.3.3 Clicking Attachments Link Results in a 404 Error

- 10.3.4 Authorization Failure

- 10.3.4.1 Task 1: Check Oracle Fusion Applications Client

- 10.3.4.2 Task 2: Check Oracle Content Server Setup

- 10.3.5 Application Access Denied

- 10.3.6 CredentialAccessPermission Denied

11 Troubleshooting Oracle WebCenter Portal

- 11.1 Problems and Solutions for WebCenter Portal Portlets

- 11.1.1 Introduction to Troubleshooting WebCenter Portal Portlets

- 11.1.2 Portlet Displays a Portlet Consumer Error

- 11.1.3 Portlet Displays a Portlet Timeout

- 11.1.4 Portlet Displays a Remote Portlet Communication Error

- 11.1.5 Portlet Displays a Remote Portlet Error

- 11.1.6 Diagnosing WebCenter Portal Portlet Problems

- 11.1.6.1 Using Diagnostic Tools

- 11.1.6.2 Configuring the Portlet Logging File

- 11.2 Problems and Solutions for WebCenter Portal's Composer

- 11.2.1 Unable to Edit a Component in Composer's Edit Mode

- 11.2.2 Unable to Personalize Some Components

- 11.2.3 Able to Edit a Component in Composer's Edit Mode

- 11.2.4 Implicit Personalizations Do Not Stick

- 11.2.5 Cannot Rearrange Components on Child Components Pane

- 11.3 Problems and Solutions for Oracle WebCenter Portal: Spaces

- 11.3.1 Documents Service Is Not Available When Content Server Is Not Running

- 11.3.2 Workflows Do Not Work

- 11.3.3 List of Spaces Does Not Show Any Spaces

- 11.3.4 Creating a Space Throws an Error or Warning

- 11.4 Problems and Solutions for Activity Stream

- 11.4.1 Business Object Activities Do Not Appear for Some Users

- 11.4.2 Business Object Activities Cannot Be Published

- 11.4.3 New Activities Do Not Appear for Some Users

- 11.4.4 Rendering of the Activity Stream View Is Very Slow

- 11.4.5 Cannot See Activities from Some Spaces

- 11.5 Problems and Solutions for Search in WebCenter Portal

- 11.5.1 No Search Results Found

- 11.5.2 Search Results Do Not Include Secured Resources

- 11.5.3 Search Results Do Not Include Documents

- 11.5.4 Search Results Do Not Include Discussions and Announcements

- 11.5.5 Search Results Do Not Include Recently Added Resources

- 11.5.6 Search Results Do Not Reflect Authorization Changes

- 11.5.7 Search Results Do Not Include Resources Available to Wide Audience

- 11.6 Problems and Solutions for the Tags Service

- 11.6.1 Tag Center Results Do Not Appear When Tag Is Clicked

- 11.6.2 Tagging Button Does Not Display on Page

- 11.6.3 Clicking a Tagged Resource Does Not Go to the Correct Page

- 11.7 Problems and Solutions for the Instant Messaging and Presence Service

- 11.7.1 Presence Icon Not Seen In WebCenter Portal Applications

- 11.7.2 Presence Icon Always Shows User as Offline

- 11.7.3 Presence Icon in Framework Applications Always Shows User as Offline

- 11.7.4 Presence Updates Not Seen

- 11.7.5 Issues with Context Menu Options

- 11.7.6 Chat Toolbox Not Available

- 11.7.7 Online User Is Offline in Chat Toolbox

- 11.7.8 User Does Not See Connections In Chat Toolbox

- 11.7.9 User Is Shown as Offline In Other Users' Connections Lists

- 11.7.10 Chat Tab Does Not Clear Messages When Closed and Reopened

- 11.7.11 User Is Not Seen as Offline After Logging Out

- 11.7.12 Invitation Flag Does Not Reflect Correct Invitation Count

- 11.8 Problems and Solutions for the Discussions Service

- 11.8.1 User Is Not Authorized / Service Not Configured

- 11.8.2 User Is Not Authorized Message for Member of a Group that Has Access

- 11.8.3 Unable to Log In to the Discussions Administration Console

- 11.8.4 SOAP Fault Exceptions Seen in Announcements Region

- 11.8.5 Discussions Server Displays a Form-Based Login Instead of SSO Login Screen

- 11.8.6 Service Not Provisioned During Space Creation

- 11.9 Problems and Solutions for the Documents Service

- 11.9.1 Documents Service Unavailable

- 11.9.2 Granting Permissions Errors in Documents When Creating a Space

- 11.9.3 User Appears to Not Have the Correct Capabilities in the Documents Page for His Role

- 11.9.4 Documents Connection Not Working after Switching to Global Policy Attachment

12 Troubleshooting Moving Components for Oracle Fusion Applications Across Environments

- 12.1 Getting Started with Logging Basics

- 12.2 Avoiding Issues with Moving Components for Oracle Fusion Applications Across Environments

- 12.2.1 Oracle Inventory Verification

- 12.2.2 Java Issues

- 12.2.3 Running Commands from the Wrong Directory

- 12.2.4 Oracle Web Services Manager Policy Migration Failed During pasteconfig

- 12.2.5 Oracle Platform Security Services JPS Root fusionappspolicies Not Created In Oracle Identity Management Delta Movement

- 12.2.6 Move Plan Validation Error

- 12.2.7 pasteConfig for Oracle Internet Directory Is Failing

- 12.2.8 pasteBinary May Incorrectly Calculate Free Disk Space

- 12.2.9 Node Manager Movement Operations

- 12.3 Problems and Solutions

- 12.3.1 Running Fusion Applications Role Category Seeding Task Returns Exception

- 12.3.2 pasteBinary Returns Permission Errors

- 12.3.3 pasteBinary Returns Error for Middleware Home Directory

- 12.3.4 pasteBinary Fails With deriveNewWLSProperties Error

- 12.3.5 copyConfig Fails When Checking Oracle Homes

- 12.3.6 copyConfig Takes Too Long to Complete

- 12.3.7 copyConfig Fails With CLONE-20408 Error

- 12.3.8 copyConfig Fails with MaxMessageSizeExceededException

- 12.3.9 Cannot Run pasteConfig for Node Manager After Initial Failure

- 12.3.10 Copy or Paste Fails with a DiskQuotaExceeded Error

- 12.3.11 Exceptions Are Raised for Oracle SES During pasteConfig

- 12.3.12 SOA-infra Application Is in Failed State

- 12.3.13 No Oracle Fusion Applications Targets Display in Oracle Enterprise Manager

- 12.3.14 OutOfMemory (Heap Size) Error while Unpacking the Domain in pasteConfig

- 12.3.15 OutOfMemory Error with pasteConfig while Starting the Administration Server or Managed Server

- 12.3.16 wf_client_config.xml Refers to Files in the Source Environment

- 12.3.17 PolicyManagerValidator Fails to Preload

- 12.3.18 Issues While Running pasteConfig

- 12.3.19 Cluster Validation Fails

- 12.3.20 Cannot Enable the SSL Connection Type After Node Manager Movement

- 12.3.21 Cannot Retrieve Documents from Oracle WebCenter Content: Imaging Viewer

- 12.3.22 OHS Component Will Not Start After pasteConfig

- 12.3.23 Application Scope Data Sources Are Not Copied

- 12.3.24 Java Runtime Environment Was Not Found During Cloning Operations

- 12.4 Diagnosing Problems

- 12.4.1 Diagnosing Issues with Oracle Metadata Repository Export and Import

- 12.5 Recovering from pasteConfig Errors

13 Additional Troubleshooting Information

- 13.1 Using My Oracle Support for Additional Troubleshooting Information

Oracle® Fusion Applications

Administrator's Troubleshooting Guide

11g Release 1 (11.1.4)

E25450-03

May 2012

Provides administrative troubleshooting information.

Oracle Fusion Applications Administrator's Troubleshooting Guide, 11g Release 1 (11.1.4)

E25450-03

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Primary Author:  Deborah Steiner (lead), Don Biasotti, Shelly Butcher, Laura Ferris, Jeanine Gutauskas, Sue Highmoor, Mark Kennedy, Amy Lodato, David Lang, Shannon Murray, Stefanie Rhone, Karen Smith, Melissa Snow, Denise Storm, Leslie Studdard, Sally Wilkins

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Preface

This guide describes how to troubleshoot the Oracle Fusion Applications environment.

Audience

This document is intended for administrators of the Oracle Fusion Applications environment.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following documents in the Oracle Other Product One Release 7.0 documentation set or in the Oracle Other Product Two Release 6.1 documentation set:

- Oracle Other Product One Release Notes

- Oracle Other Product One Configuration Guide

- Oracle Other Product Two Getting Started Guide

- Oracle Other Product Two Reference Guide

- Oracle Other Product Two Tuning and Performance Guide

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Introduction to Troubleshooting

This chapter provides a summary of Oracle Fusion Applications information.

This chapter contains the following topics:

- Where to Find Detailed Troubleshooting Information

- General Oracle Fusion Applications Issues

1.1 Where to Find Detailed Troubleshooting Information

Table 1-1 provides information on where to find troubleshooting information for your Oracle Fusion Applications environment.

Table 1-1 Troubleshooting Documentation Resources

Troubleshooting Area

Documentation

Oracle Fusion applications

Section 1.2, "General Oracle Fusion Applications Issues"

Installation

The following sections in the Oracle Fusion Applications Installation Guide:

- "Troubleshooting Tips for Database Installations"

- "Troubleshooting the Provisioning Process"

Patching

The following section in the "Patch Monitoring and Troubleshooting" chapter in the Oracle Fusion Applications Patching Guide:

- "Monitoring and Troubleshooting Patches"

- "Troubleshooting RUP Installer Sessions"

- "Troubleshooting Language Pack Installer Sessions"

Performance, scalability, reliability

"Troubleshooting Performance, Scalability, Reliability" chapter in the Oracle Fusion Applications Performance and Tuning Guide

Component Areas

Oracle Business Intelligence

Oracle BI Enterprise Edition and Oracle Business Intelligence Publisher: Chapter 2, "Troubleshooting Oracle BI Enterprise Edition and Oracle Business Intelligence Publisher"

Oracle Enterprise Performance Management: Chapter 4, "Troubleshooting Oracle Enterprise Performance Management"

Oracle Transactional Business Intelligence: Chapter 6, "Troubleshooting Oracle Fusion Transactional Business Intelligence"

Oracle Business Intelligence Applications Data Warehouse Administration Console: "Troubleshooting DAC" in the Oracle Fusion Middleware User's Guide for Oracle Business Intelligence Data Warehouse Administration Console

Oracle Enterprise Crawl and Search Framework

Chapter 3, "Troubleshooting Oracle Enterprise Crawl and Search Framework"

Oracle Enterprise Scheduler

Chapter 5, "Troubleshooting Oracle Enterprise Scheduler"

Oracle Identity Management

Chapter 7, "Troubleshooting Oracle Identity Management"

Oracle Metadata Repository

Chapter 8, "Troubleshooting Oracle Metadata Repository"

Oracle SOA Suite

Chapter 9, "Troubleshooting Oracle SOA Suite"

Oracle WebCenter Content

Chapter 10, "Troubleshooting Oracle WebCenter Content"

Oracle WebCenter Portal

Chapter 11, "Troubleshooting Oracle WebCenter Portal"

1.2 General Oracle Fusion Applications Issues

The following resources provide common Oracle Fusion applications issues users may encounter:

- "Troubleshooting Customizations" section in the Oracle Fusion Applications Extensibility Guide

- "Troubleshooting UI Shell Issues" section in the Oracle Fusion Applications Developer's Guide

This section describes additional application-specific errors you can resolve for end users:

- File Uploads Fail

- Search Is Not Available for an Oracle Fusion Application

1.2.1 File Uploads Fail

Problem

When the end user attempts to upload a file that is too large, the application displays the following message:

Warning: The file upload failed.
The file could not be uploaded because it is too large.

Solution

Replace the entire org.apache.myfaces.trinidad.webapp.UploadedFileProcessor class with the <uploaded-file-processor> element in the trinidad-config.xml configuration files. see the "What You May Need to Know About Temporary File Storage" section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework (Oracle Fusion Applications Edition).

1.2.2 Search Is Not Available for an Oracle Fusion Application

Problem

The Search area in the global area of an Oracle Fusion application does not display

Description of the illustration appsearch.gif

Solution

To resolve this problem, perform the procedure in the "Enable the Oracle Fusion Applications Search UI" section of the Oracle Fusion Applications Administrator's Guide.

2 Troubleshooting Oracle BI Enterprise Edition and Oracle Business Intelligence Publisher

This chapter describes common problems that you might encounter when using Oracle BI Enterprise Edition and Oracle Business Intelligence Publisher and explains how to solve them.

This chapter includes the following topics:

- Introduction to Troubleshooting Oracle BI EE and Oracle BI Publisher

- Problems and Solutions for Oracle BI EE

- Problems and Solutions for Oracle BI Publisher

- Problems and Solutions for Oracle Business Intelligence Applications

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

In addition to this chapter, review the Oracle Fusion Middleware Error Messages Reference for information about the error messages you may encounter.

2.1 Introduction to Troubleshooting Oracle BI EE and Oracle BI Publisher

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

This chapter addresses troubleshooting issues found in Oracle BI EE and Oracle BI Publisher. For information about troubleshooting issues in other areas of Oracle Business Intelligence, see the following chapters:

- Chapter 4, "Troubleshooting Oracle Enterprise Performance Management."

- Chapter 6, "Troubleshooting Oracle Fusion Transactional Business Intelligence."

Guidelines

When using the information in this chapter, Oracle recommends:

- If the troubleshooting procedure requires you to modify a file (for example, instanceconfig.xml), then be sure to back up the file before you modify it.

- After performing any of the solution procedures in this chapter, immediately retry the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you encounter, and data you collect while troubleshooting. Examples of information that you should collect include:

- Screenshots of the error or behavior.

- The user ID that you used when the error or issue occurred.

- The steps that you used to perform the task.

- From where you accessed an Oracle BI object or functionality. For example, embedded analytics, the reporting pane, reports and analytics work area, integrated search, BI Composer, or Oracle BI Presentation Services.

If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 2-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 2-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

1

Section 2.3

Section 2.4

Section 2.5

Perform problem-specific troubleshooting procedures for Oracle BI EE, Oracle BI Publisher, and Oracle Business Intelligence Applications. These sections describe:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

2

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications, Oracle BI EE, or Oracle BI Publisher. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

3

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

2.2 Getting Started with Troubleshooting

Use the following information to determine where to begin troubleshooting your Oracle BI EE or Oracle BI Publisher issue.

- Oracle BI Technologies

- Logging

- Data Warehouse Enabled Profile Option

2.2.1 Oracle BI Technologies

To properly troubleshoot an Oracle BI issue, you must identify in the Oracle Fusion application user interface which underlying Oracle BI technologies are being used. When identifying these technologies, consider the following:

- Oracle Transactional Business Intelligence is also an Oracle Business Intelligence technology and can be referred to as real-time, current-state, or transactional business intelligence. Oracle Transactional Business Intelligence objects analyze very recent data such as today's data or this week's data. This chapter does not address Oracle Fusion Online Transactional Business Intelligence troubleshooting issues. For information about troubleshooting these issues, see Chapter 6.

- Oracle Fusion Financials also uses Financial Reporting technology.

- Some analyses use Essbase, Real Time Decisions, or Oracle BI Publisher reports.

2.2.2 Logging

The Oracle BI Log files provide information to help you diagnose and fix issues. For example, the Oracle BI query log nqquery.log helps you identify problems with the datasource and connectivity set-up such as, transactional database, warehouse database, Financial Reporting datasource, or Essbase datasource, and the datasource objects such as table names and column names.

To view the log files, go to Fusion Applications Control, expand the Business Intelligence domain, and click coreapplication. The Oracle BI log information displays in the Diagnostics tab. For more information about using the log files to troubleshoot Oracle BI issues, see the Fusion Applications Control online help or "Managing Log Files and Diagnostic Data" chapter in the Oracle Fusion Middleware Administrator's Guide.

2.2.3 Data Warehouse Enabled Profile Option

Note:

The Data Warehouse Enabled Profile option only applies to users who have implemented Oracle Fusion Customer Relationship Management.

When troubleshooting, you should note whether the Data Warehouse Enabled profile was set to Yes, No, or NA. For information about how to check this profile's value, see the Oracle Fusion Applications documentation.

The Data Warehouse Enabled Profile option indicates whether the Oracle Fusion Customer Relationship Management implementation uses a Data Warehouse (Yes) or employs a 'No Warehouse' solution (No) and therefore tries to retrieve data from the transactional (OTBI) database. For more information, see Table 2-2.

Table 2-2 Warehouse Enablement Settings

Setting

Means that...

Yes

Real-Time Subject Area is serviced by OTBI source.

Common Subject Area is serviced by data warehouse source.

No

Real-Time Subject Area is serviced by OTBI source.

Common Subject Area is serviced by OTBI source.

Some measures are not available.

Some measures return zero.

NA

NA

2.3 Problems and Solutions for Oracle BI EE

This section describes common problems and solutions. It contains the following topics:

- Oracle BI Presentation Services Fails to Start

- The BI Server is Not Running

- Cannot Log Into Oracle Business Intelligence as a User With the BISystem Role

- The "My Account" Link Does Not Display in Presentation Services

2.3.1 Oracle BI Presentation Services Fails to Start

In most cases, Presentation Services fails because the BI Server is not running. Note that if you are using a script to start services and the services fail to start, you should manually stop and then restart all services, making sure that one service has completed before you start the next service.

Problem

The BI Server may not be running.

Solution

To determine if the BI Server is running:

1. Log into Fusion Applications Control.

2. Open the Business Intelligence node and select coreapplication.

3. Click the Capacity Management page, and then click the Availability tab.

4. Under BI Server, locate coreapplication_obis1 and check its status.

5. If you discover that the BI Server is not running, use the Oracle BI log files to determine the cause of this issue. For more information about checking the Oracle BI log files, see Section 2.3.2.

2.3.2 The BI Server is Not Running

For additional information about this issue, see the "Managing Oracle Business Intelligence" and "Diagnosing and Resolving Issues in Oracle Business Intelligence" chapters in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

Problem

The Cluster Controller might not be communicating with the BI Server and the BI Server log might contain information describing why it cannot communicate.

Solution

To check the Cluster Controller log files in Fusion Applications Control:

1. Log into Fusion Applications Control.

2. Open the Business Intelligence node and select coreapplication.

3. Click the Diagnostics tab, and then click the Log Messages subtab.

4. Go to the View/Search Log Files section and click Cluster Controller Log. The Log Messages page displays.

5. Search for an entry similar to the following entry:

[2011-02-28T12:54:51.000+00:00] [OracleBIServerComponent] [NOTIFICATION:1] [] []
[ecid: 004bLSdkE549Xb9LJe_Aif0000Zg000000] [tid: b7f686c0] nqsserver:
Clustered Oracle BI Server started.  Version: 11.1.1.4.0.110109.0239.000.
[2011-02-28T12:54:52.000+00:00] [OracleBIServerComponent] [NOTIFICATION:1]
[] [] [ecid: 004bLSdkE549Xb9LJe_Aif0000Zg000000] [tid: 66f6ba0]  [43071]
A connection with Cluster Controller somemachine.company.com:7001 was
established.

Note that if this entry does not exist, then the Cluster Controller is not communicating correctly with the BI Server. If the Cluster Controller is not communicating with the BI Server, then go to the following "To check the BI Server log file in Fusion Applications Control" procedure.

To check the BI Server log file in Fusion Applications Control:

1. Log into Fusion Applications Control.

2. Open the Business Intelligence node and select coreapplication.

3. Click the Diagnostics tab, and then click the Log Messages subtab.

4. Go to the View/Search Log Files section and click BI Server Log. The Log Messages page displays.

5. Search for an entry similar to the following entry:

[2011-01-31T20:47:38.000-08:00] [OBIPS] [ERROR:10] []
[saw.security.odbcuserpopulationimpl.initialize] [ecid: ] [tid: ]
Odbc driver returned an error (SQLDriverConnectW).State: HY000.  Code: 10058.
[NQODBC] [SQL_STATE: HY000] [nQSError: 10058]
A general error has occurred.
[nQSError: 73006] Cannot obtain Oracle BI Servers from either
the primary Cluster Controller (somemachine.company.com)
or the secondary Cluster Controller () specified for the
clustered DSN. (HY000)[[File:odbcuserpoploaderimpl.cpp Line:282
[2011-01-31T20:47:38.000-08:00] [OBIPS] [ERROR:16] []
[saw.security.odbcuserpopulationimpl.initialize] [ecid: ]
[tid: ] Unable to create a system user connection to BI Server during start up. Trying again.
[[File:odbcuserpoploaderimpl.cpp
Line:283

2.3.3 Cannot Log Into Oracle Business Intelligence as a User With the BISystem Role

When logging into Oracle Business Intelligence as a user with the BISystem role, a message displays stating that you have entered an invalid user name or password.

Problem 1

A user ID with the BISystem role may be locked. The system can lock this user ID if an administrator makes multiple attempts to log in with the incorrect password.

Solution 1

Ask the Oracle Internet Directory administrator to go to the Oracle Internet Directory and check the user ID. If this user ID is locked, the administrator must unlock it.

Problem 2

The password of the user ID with the BISystem role may not be synchronized with the credential store.

Solution 2

To confirm that the password is correct:

1. Log into Oracle WebLogic Server Administration Console.

2. Go to Domain Structure and click Security Realms, and select myrealm. The Settings for myrealm page displays.

3. Click the Users and Groups tab, and then the Users subtab.

4. In the Users table, locate and select the user that has the BISystem role assigned to it. The settings page displays.

5. Click the Passwords tab and reset the user password. Click Save.

6. Log into Fusion Applications Control.

7. Open the WebLogic Domain node and right-click BIDomain.

8. Select Security, and then select Credentials.

9. Select oracle.bi.system and the select system.user.

10. Edit the password to match the user password that you set in Oracle WebLogic Server.

11. Restart the Oracle BI Administration Server, Oracle Managed Server, and Oracle Process Manager and Notification Server. For detailed instructions on how to restart these servers, see the "Starting and Stopping Business Intelligence" chapter in the Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

Problem 3

The problem may be that the Oracle Internet Directory password is incorrect.

Solution 3

To check and correct the Oracle Internet Directory password:

1. Log into Fusion Applications Control.

2. Open the Business Intelligence node and select coreapplication.

3. Click the Diagnostics tab, and then click the Log Messages subtab.

4. Go to the View/Search Log Files section and click Log Viewer to search all log files. The Log Messages page displays.

5. Go to the Search section and expand the Selected Targets section.

6. In the Selected Targets table, locate AdminServer and click the corresponding View list of target files button.

7. Search for Oracle Internet Directory errors. If the error is due to the wrong password, you will find an error such as the following error:

<Feb 15, 2011 12:31:10 PM PST> <Error>  <Console> <BEA-240003> <Console
encountered the following error weblogic.security.providers.authentication.
LDAPAtnDelegateException: [Security:090294]could not get connection

atweblogic.security.providers.authentication.
LDAPAtnDelegate.getConnection(LDAPAtnDelegate.java:3483)

at weblogic.security.providers.authentication.LDAPAtnDelegate.
getConnection(LDAPAtnDelegate.java:3470)

at weblogic.security.providers.authentication.LDAPAtnDelegate.
listUsers(LDAPAtnDelegate.java:2258)

at weblogic.security.providers.authentication.LDAPAuthenticatorImpl.
listUsers(LDAPAuthenticatorImpl.java:178)

at weblogic.security.providers.authentication.
OracleInternetDirectoryAuthenticatorMBeanImpl.listUsers

... 110 more

Caused by: netscape.ldap.LDAPException: error result (49); Invalid
credentials

8. To correct this issue, log into Oracle WebLogic Server Administration Console.

9. Go to Domain Structure, click Security Realms, and select myrealm.

10. Select the Users and Groups tab, and then select the Users subtab.

11. Select the user ID. The settings for the user ID display.

12. Click the Passwords subtab and reset the user's password to the correct password. If you are not sure of the password, see the Oracle Internet Directory administrator.

2.3.4 The "My Account" Link Does Not Display in Presentation Services

In the Global Header of Presentation Services, the My Account option is missing. Normally the user can select the Signed In As list and the My Account option displays.

Problem

The problem may be a global user ID (GUID) refresh issue that requires you to recover the catalog.

Note:

For more information, see "Refreshing User GUIDs" in Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

Solution

To recover the catalog:

1. Start a command prompt.

2. Enter the following commands:

cd<Oracle_BI_Instance>/config/OracleBIPresentationServicesComponent/
coreapplication_obips1/

3. Open the instanceconfig.xml file.

Note:

Before you modify instanceconfig.xml, make a copy of the file for back up purposes. Before you modify the instanceconfig.xml, it is critical that you understand how to properly modify this file. For more information, see the "Configuring the Oracle Business Intelligence System" chapter in the Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

4. Locate the <catalog> element and add the following:

<UpdateAccountGUIDS>Recover</UpdateAccountGUIDs>

5. Save instanceconfig.xml.

6. Stop and restart Presentation Services.

7. Log into Fusion Applications Control.

8. Open the Business Intelligence node and select coreapplication.

9. Select the Capacity Management tab, and then select the Availability subtab.

10. Under BI Presentation Services, select coreapplication_obips1.

11. Click the Stop Selected button and confirm that coreapplicataion_obips1 stopped.

12. Re-select coreapplication_obips1.

13. Click the Start Selected button and confirm that coreapplication_obips1 started.

14. Open instanceconfig.xml.

15. Remove the following:

<UpdateAccountGUIDS>Recover</UpdateAccountGUIDs>

Note:

You must perform this step to ensure that your system is secure.

16. Save instanceconfig.xml.

17. Stop and restart the BI Server.

2.4 Problems and Solutions for Oracle BI Publisher

This section describes common problems and solutions. It contains the following topics:

- Oracle BI Publisher Reports Are Missing from the Presentation Services Shared Folders

- Oracle BI Publisher Reports Are Missing from the Oracle BI Publisher Server Shared Folders

- Oracle Business Intelligence Requests Stop Responding

2.4.1 Oracle BI Publisher Reports Are Missing from the Presentation Services Shared Folders

When users log into Presentation Services and access the Oracle BI Presentation Catalog to browse the shared folders for their reports, the shared folders do not contain any reports.

Problem

The reports might not exist on the file system.

Solution

To confirm that the items exist on the file system:

1. Log into Fusion Applications Control.

2. Open the Business Intelligence node and select coreapplication.

3. Click the Deployment tab, and then click the Repository subtab.

4. Go to the BI Presentation Catalog section of the page and note the catalog path.

5. Use OS commands or a file explorer to navigate to the catalog path.

6. Browse the catalog for reports. Depending upon the outcome of this step, you may do one of the following:

- If the reports do not exist in the catalog, it is probably because of a GUID refresh issue. See the following "To refresh the GUIDs:" procedure.

- If the reports are not in the catalog, then it may be that you recently completed an unsuccessful catalog merge. Note that even if the last statement of the merge indicated success, the merge still might not have completed successfully. If you suspect that your catalog merge was not successful, then repeat the catalog merge. For more information about merging catalogs, see "Replicating Oracle BI Presentation Catalogs" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

To refresh the GUIDs:

Note:

For more information, see "Refreshing User GUIDs" in Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

1. Start a command prompt.

2. Enter the following command:

cd <Oracle_bi_Instance>/config/OracleBIServerComponent/coreapplication_obis1/

3. Open NQSconfig.ini and set the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS parameter to YES, as follows:

FMW_UPDATE_ROLE_AND_USER_REF_GUIDS=YES

Note:

Before you modify NQSconfig.ini, make a copy of the file for back up purposes.

4. Save and close NQSconfig.ini.

5. Repeat the previous two steps and set the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS parameter in NQSConfig.ini back to NO.

Note:

You must perform this step to ensure that your system is secure.

6. Restart the BI Server. For detailed instructions on how to perform this task, see the "Starting and Stopping Business Intelligence" chapter in the Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

2.4.2 Oracle BI Publisher Reports Are Missing from the Oracle BI Publisher Server Shared Folders

When users log into Oracle BI Publisher and access the shared folders containing their reports, they see no reports. This problem can occur even though users can locate their reports in the Presentation Services Catalog's shared folders.

Problem 1

The user may not have the proper privileges to view the report.

Solution 1

To access Presentation Services and check the privileges required to access reports:

1. Log into Presentation Services as a user with administrator privileges.

2. Go to the Global Header and click the Signed In As list.

3. Click My Account. The My Account page displays.

4. Click the Roles and Catalog Groups tab and note the roles and groups in this page. Click OK to exit this page.

5. Go to the Global Header and click Sign Out to log out of Presentation Services.

6. Log back into BI Presentation Services using the log in credentials of the user who cannot view the reports in the Oracle BI Publisher Server shared folders.

7. Access the user's privileges using the previous steps.

8. If the user does not have the proper privileges, log into Presentation Services as a user with administrator privileges and navigate to the Manage Privileges page to assign the proper privileges to the user.
For more information, see the "Setting Presentation Services Privileges for Application Roles" section in Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

Problem 2

An error may have occurred when Oracle BI Publisher connected to Presentation Services.

Solution 2

To override the BISystemUser account:

By default Oracle BI Publisher connects to Presentation Services using the BISystemUser account that is stored in the credential store. However, it is possible for users to override this.

1. Open the xmlp-server-config.xml file in the following directory:

BI_DOMAIN_HOME/config/bipublisher/repository/Admin/Configuration

2. Confirm that the SAW_USERNAME and SAW_PASSWORD properties are not set. Note that if these properties have been set, it will cause an error. Before you change these properties, ask your administrator why they have been set.

3. To un-set these properties, set their values to "".

Note:

Before you modify xmlp-server-config.xml, make a copy of the file for back up purposes.

4. Restart the WebLogic domain. For more information, see "Starting and Stopping a Product Family Oracle WebLogic Server Domain" in the Oracle Fusion Applications Administrator's Guide.

Problem 3

The catalog may be corrupted.

Solution 3

To check if the catalog is corrupted:

1. Log into Presentation Services as a user with administrator privileges.

2. Go to the Global Header and click Catalog. The Catalog page displays.

3. In the Search pane, enter the following search criteria:

- In the Name field, type *.

- In the Location field, click the list and choose All.

- In the Type field, click the list and choose Data Model.

4. Click Search. If the search results include the Shared Folder, then the catalog is corrupt. Note that if the Shared Folder is included in your search results, Oracle BI Enterprise Edition has classified it as a data model rather than a folder. Perform the following "To fix the corrupted catalog" procedure to fix the catalog.

To fix the corrupted catalog:

1. Open Catalog Manager and open the catalog in offline mode.

2. Navigate to Shared Folders.

3. Right-click the object in the Name column and select Properties.

4. Set the following properties to null:

- bip:DisplayName

- Caption

- compositeSignature

- DESCRIPTION

- objectName

5. Save your changes.

2.4.3 Oracle Business Intelligence Requests Stop Responding

Problem

Oracle Fusion Applications pages that integrate Oracle Business Intelligence charts, reports, and dashboards need to be authenticated by Oracle Business Intelligence Presentation Services. If the authentication takes time, these Oracle Fusion Applications pages may stop responding. The SyncLogonTimeoutSecs timeout parameter helps in timing out the Oracle Business Intelligence request so that the Oracle Fusion Applications page can return quickly.

Solution

To locate the Oracle Business Intelligence Presentation Services server properties to modify in Fusion Applications Control:

1. From the navigation pane, expand the BIDomain farm > WebLogic Domain.

2. Click BIDomain to display the WebLogic Domain page.

3. From the WebLogic Domain menu, choose System MBean Browser.

4. In the System MBean Browser page, expand Application Defined MBeans.

5. Expand Application Defined MBeans, oracle.biee.admin, Domain: BIDomain, BIDomain.BIInstance.PresentationServerConfiguration.

6. Click BIDomain.BIInstance.PresentationServerConfiguration.
Description of the illustration bipresentsysm.gif

7. In the Application Defined MBeans: BIDomain.....PresentationServerConfiguration page , click the SyncLogonTimeoutSecs attribute.

8. Change the value from 900 to 60 in the Value field and click Apply.

2.5 Problems and Solutions for Oracle Business Intelligence Applications

This section describes common problems and solutions for Oracle Business Intelligence Applications. It contains the following topic:

- Revenue Amount Columns Show No Data or Show Data with Currency Symbol Missing in CRM Reports

2.5.1 Revenue Amount Columns Show No Data or Show Data with Currency Symbol Missing in CRM Reports

Problem

While creating or displaying Oracle Fusion Customer Relationship Management (CRM) reports involving a currency amount column, the report results either display the entire column as blank or display the amount with the currency symbol missing.

Solution

While creating and displaying CRM reports involving a currency amount column, the report results either display the entire column as blank or display the amount with the currency symbol missing.

1. Log in to the application as an end user.

2. Check for account preferences:

1. In the Answers section, go to My Account link under the logged in user's name.

2. In the Preferences tab, from the Currency drop-down menu, select CRM Currency.

3. Click OK.

3. If Steps 1 and 2 do not resolve the problem, check that the Amount column's data format is set to Custom format with the following as its format

[$:currencyTagColumn="Use the BI Currency column in the subject area"]

For example, to set this in an analysis created from the Sales - CRM Pipeline subject area, it would be,

[$:currencyTagColumn="Sales - CRM Pipeline"."Currency"."Common Currency Code"]

The data format of the Amount column is set by going to the Criteria tab and clicking on the amount column's 'Column Properties'.

4. As an optional verification step, look for the logical SQL of the report by clicking on the Advanced tab. The logical SQL should begin with:

set VARIABLE PREFERRED_CURRENCY='Global Currency 4';

3 Troubleshooting Oracle Enterprise Crawl and Search Framework

This chapter describes common problems that you might encounter when using Oracle Enterprise Crawl and Search Framework (ECSF) and explains how to solve them.

This chapter includes the following topics:

- Problems and Solutions

- Diagnosing Enterprise Crawl and Search Problems

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

In addition to this chapter, review the Oracle Fusion Middleware Error Messages Reference for information about the error messages you may encounter.

3.1 Problems and Solutions

This section describes common problems and solutions. It contains the following topics:

- Missing Parameters for Search Engine Instance

- Cannot Create Search Engine Instance

- Searchable Object Not Listed in Fusion Applications Control for ECSF

- Searchable Object Deployment Fails

- Searchable Object Undeployment Fails

- Search Category Deployment Fails

- Cannot Start, Undeploy, or Delete the Index Schedule

- Crawl Fails

- Invalid Channel Feed Type Error

- ECSF Query Error

- FND-6603 Error

3.1.1 Missing Parameters for Search Engine Instance

You do not see any parameters for the search engine instance you created.

Problem

Seed data is not set up on your Oracle Fusion Applications database.

Solution

Execute the ECSF_SEED_DATA.sql script against your Oracle Fusion Applications database.

3.1.2 Cannot Create Search Engine Instance

You are unable to create a search engine instance record.

Problem

An existing search engine instance record is present.

Solution

1. Execute the following SQL statement:
select * from ECSF_ENGINE_INSTANCE

2. Delete the row that contains null values for all fields except the ID and Name fields, and commit the deletion.

3. Recreate the search engine instance. See the "Creating Search Engine Instances" section in the Oracle Fusion Applications Administrator's Guide.

3.1.3 Searchable Object Not Listed in Fusion Applications Control for ECSF

Your searchable object is not listed in the table of the Add a Searchable Object to Selected Engine Instance dialog.

Following are two possible causes and solutions for this issue:

Problem

The searchable object is not in the Oracle Fusion Applications database. You can check by executing the following SQL statement against your Oracle Fusion Applications database:

select * from ECSF_SEARCH_INDEX_OBJECT

Solution

Register the searchable object in the Oracle Fusion Applications database. For information, see "Task 2, Register the Searchable Objects" in the Oracle Fusion Applications Administrator's Guide.

Problem

The searchable object has already been associated with an engine instance. This is evident when a value exists in the SEI_ID column.

Solution

Disassociate the searchable object from the current engine instance. For information, see "Task 3, Disassociate the Searchable Objects from Search Engine Instances" in the Oracle Fusion Applications Administrator's Guide.

You can identify the engine instance with which the searchable object is associated by executing the following SQL statement:

select * from ECSF_ENGINE_INSTANCE where ID = sei_id_value_of_your_searchable_object_record

Alternatively, you can browse through the engine instances in Fusion Applications Control for ECSF.

3.1.4 Searchable Object Deployment Fails

Your attempt to deploy a searchable object using Fusion Applications Control for ECSF fails.

Following are two possible causes and solutions for this issue:

Problem

The ECSF application, which is deployed to Oracle WebLogic Server, does not contain the search metadata file.

Solution

Make sure the ECSF application contains the search metadata file, and redeploy it to Oracle WebLogic Server. For information, see the "Deploying and Crawling Searchable Objects" chapter in Oracle Fusion Applications Developer's Guide.

Problem

The ECSF_RUNTIME_URL search engine instance parameter is not set, or is set incorrectly.

Solution

To resolve this issue, ensure the ECSF_RUNTIME_URL parameter is set correctly by checking the following:

- SES_ADMIN_SERVICE URL:

http://search_engine_instance:7777/search/api/admin/AdminService

- SES_QUERY_SERVICE URL:

http://search_engine_instance:7777/search/query/OracleSearch

- ECSF_DATA_SERVICE URL:

http://abc.us.oracle.com:7101/approot/searchfeedservlet/

- ECSF_SECURITY_SERVICE URL:

http://search_engine_instance:7101/approot/searchfeedservlet/

- ECSF_REDIRECT_SERVICE URL:

http://search_engine_instance:7101/approot/searchfeedservlet/

3.1.5 Searchable Object Undeployment Fails

Your attempt to undeploy a searchable object from an engine instance fails.

Problem

The searchable object you are trying to undeploy does not exist in the Oracle SES data sources.

Solution

Make sure the searchable object you are trying to undeploy is deployed to an engine instance, as indicated when the DEPLOYED flag is set to TRUE, or the Deployed column is checked in Fusion Applications Control for ECSF.

3.1.6 Search Category Deployment Fails

Your attempt to deploy the search category to the engine instance fails.

Problem

There are no deployed searchable objects associated with the search category.

Solution

Make sure you associate searchable objects with the search category before you attempt to deploy the search category. For information, see "Task 3 Associate Searchable Objects with the Search Categories" in the Oracle Fusion Applications Administrator's Guide.

3.1.7 Cannot Start, Undeploy, or Delete the Index Schedule

You cannot start, undeploy, or delete the index schedule.

Problem

The index schedule is in ERROR_MANUAL_RECOVERY state, which results from restarting the database.

Solution

You must recover the stuck ESS request. For information, see the "Stuck Scheduling Requests" section in Oracle Secure Enterprise Search Administrator's Guide.

3.1.8 Crawl Fails

You can view the data in feeds, but you receive an error when you attempt to crawl the data into the search engine.

Problem

You did not specify a search plug-in for your searchable object, so the default security plug-in is being used. The default security plug-in requires you to select a secure attribute.

Solution

Select a secure attribute when you define searchable attributes. For information, see the "Creating Searchable Objects" chapter in Oracle Fusion Applications Developer's Guide.

3.1.9 Invalid Channel Feed Type Error

You receive the following error during a scheduled crawl:

Error: Invalid Channel Feed type "error".

Problem

When the crawl was scheduled to start, the crawl state of the searchable object was CRAWLING. ECSF allows a searchable object to be crawled by only one process at a time. If you are certain that the searchable object is not being crawled, then the last crawl was abnormally terminated, and the ECSF metadata was not properly updated to indicate that the crawl had concluded.

Solution

Manually start the crawl to reset the state of the crawl and enable the searchable object to be crawled. For information, see "Task 5, Start the Index Schedules" in the Oracle Fusion Applications Administrator's Guide.

3.1.10 ECSF Query Error

You receive the following error when you click on a facet value:

unexpected ECSF Query Error: oracle.ecsf.SearchException: Field
'facet_attribute' cannot be used for this query because it has not been
indexed in on the search engine

Problem

You deployed the searchable object to the Oracle SES instance, so it became available for search and the facet tree was rendered with its facet values. However, the crawl had either failed or no documents were indexed, so Oracle SES does not contain the searchable attribute.

Solution

Determine why the crawl failed, undeploy the searchable object, and then redeploy it to the Oracle SES instance to generate a new index.

A crawl can fail for many reasons, such as running out of Oracle Database space, Oracle SES issues, Oracle Enterprise Scheduler issues, and so on.

3.1.11 FND-6603 Error

You receive the FND-6603 error that halts search functionality.

Problem

The search categories could not be fetched, or results could not be obtained from all the selected search categories. There may be other causes for the error.

Solution

You can change the server startup parameters to increase the web service timeout value to 5 minutes (500,000 milliseconds). For information, see the "How to Set the System Parameter for Web Service" section in Oracle Fusion Applications Developer's Guide.

You can also undeploy the categories that are failing to load. For information, see "Task 1 Undeploy the Search Categories" in the Oracle Fusion Applications Administrator's Guide.

3.2 Diagnosing Enterprise Crawl and Search Problems

This section describes general approaches for diagnosing ECSF problems. It contains the following topics:

- Diagnosing ECSF Command Line Administration Utility Issues

- Diagnosing Fusion Applications Control for ECSF Issues

- Diagnosing Failures During Deploy/Undeploy Operations for Search Categories

3.2.1 Diagnosing ECSF Command Line Administration Utility Issues

To diagnose issues related to ECSF Command Line Administration Utility, you can check the log file (ecsfCmdLineAdminLog.txt) located in the log subdirectory where runCmdLineAdmin.sh or runCmdLineAdmin.bat file is executed.

3.2.2 Diagnosing Fusion Applications Control for ECSF Issues

To diagnose issues related to Fusion Applications Control for ECSF, you can also check for error messages in the log files located in DOMAIN_HOME/sysman/log.

If the parameters for the selected search engine instance are not configured correctly, a window with error messages appears. The error message contains three entries: a summary of the error, the specific error message from the runtime server, and the detailed stack trace information. The messages in the first and the second entries are internationalized (that is, they are translated to the language of the selected locale).

3.2.3 Diagnosing Failures During Deploy/Undeploy Operations for Search Categories

If you experience failures while deploying or undeploying search categories, check for the following:

- The database connection is successful.

- The searchable object is available in the Oracle Enterprise Manager repository.

- The associated searchable objects are deployed.

- The deployed object is available in Oracle SES.

4 Troubleshooting Oracle Enterprise Performance Management

This chapter describes common problems that you might encounter when using Oracle Enterprise Performance Management and explains how to solve them.

This chapter includes the following topics:

- Problems and Solutions for Foundation Services

- Problems and Solutions for Financial Reporting

- Problems and Solutions for Hyperion Provider Services

- Problems and Solutions for Essbase

4.1 Problems and Solutions for Foundation Services

This section describes some common problems and solutions for Foundation Services. It contains the following topics:

- Getting Started with Logging Basics for Foundation Services

- Web Traffic Snooping

- EPM Registry

- Hyperion Security Username/Password Authentication Fails during Enterprise Scheduler Services Essbase Cube Creation in the Domain

- EPM Workspace

- Allocation Manager

- Smart View

4.1.1 Getting Started with Logging Basics for Foundation Services

Log files are the best tools for analyzing what might be wrong with the system configuration. The logging configuration file, the defaults it ships with, and instructions for changing change those defaults will help with the analysis.

- Configuration: The logging.xml file in the following directories contains the loggers and their default levels:

(UNIX) DOMAIN_HOME/servers/server_name/logs
(Windows) DOMAIN_HOME\servers\server_name\logs

The DOMAIN_HOME is named BIDomain.

- Output: The default locations of the loggers are rooted in the following directories:

(UNIX) DOMAIN_HOME/servers/server_name/logs
(Windows) DOMAIN_HOME\servers\server_name\logs

These files include:

- /registry/registry.log

- /css/css.log

- /workspace/Framework.log

- /workspace/workspace.log

- /financialreporting/fr.log

- CalcManager.log

- Loggers: Increase or decrease the levels of these loggers:

- oracle.EPMCSS

- oracle.bi.bifndnepm.epmreg

- oracle.bi.bifndnepm.bpmui

- oracle.bi.bifndnepm.workspace

- oracle.EPMFR

- oracle.EPMAnnotations

- oracle.EPMJCR

- oracle.EPMADM

- oracle.bi.bifndnepm.calcmgr

To change logger levels, perform the following steps:

1. Go to Fusion Applications Control.

2. From the navigation pane, expand the farm and then WebLogic Domain.

3. Right-click a Managed Server from within the domain (each server's log levels can be independently set).

4. Choose Logs > Log Configuration.

5. In the Logger Name column, expand the oracle runtime loggers to display loggers.

6. Change the logging level as appropriate.

4.1.2 Web Traffic Snooping

Problem

Some components are not operating correctly, or appear to have some minor issues. This is a broad category, but snooping the web traffic can help development resolve some issues by looking for irregular status, content, and redirection, and just providing the flow of calls up to the problem area.

Solution

1. Connect to http://www.fiddler2.com/fiddler2 and install version 2. Launch Fiddler through one of these methods:

- Start Menu: Programs > Fiddler2

- Microsoft Internet Explorer: Tools > Fiddler2

- Mozilla Firefox: Tools > Monitor With Fiddler > Launch Fiddler Now
Ensure Do not use Fiddler is not selected.

2. Connect to the starting URL and continue normally until the problem occurs.

3. When the problem occurs, in Fiddler, choose File > Save > All Sessions.

4. Enter a name for the session archive (.saz) file.

Note:

Be aware that the file may contain sensitive information, such as user ID and password information. Therefore, manage the file carefully.

4.1.3 EPM Registry

This section describes common problems and solutions for EPM Registry. It contains the following topics:

- EPM Registry Initialization Fails

- Connection to Essbase Server Fails

- Host and Ports Do Not Match

4.1.3.1 EPM Registry Initialization Fails

Problem

The EPM Registry initialization fails in the BIDomain domain. Oracle Fusion General Ledger and Oracle Fusion Customer Relationship Management (CRM) code running within the FinancialsDomain and CRMDomain domains, respectively, has direct integration with the EPM Registry API and consumes EPM Security Component, which also tightly integrates with the EPM Registry API. When EPM Registry initialization fails, it greatly impacts communication with downstream EPM products in the BI domain.

Solution

To resolve this problem:

1. Login to Oracle WebLogic Server Console as the Oracle WebLogic Server administrative user.

2. From Domain Structure portlet, navigate to Services > Data Sources and select EPMSystemRegistry Datasource from the available list of datasources.

3. Click on the Connection Pool tab and confirm that the correct information is available for URL property.

4. Click on the Targets tab and confirm that the data source is targeted to all of the required Oracle WebLogic Servers and clusters running in the Financials domain.

5. Click on the Monitoring tab and confirm that the data source for all of the targeted Oracle WebLogic Servers and clusters is in Running state. Optionally, try clicking Test Data Source button to test the data source for a given server.

6. If, in Step 5, the data source was not in the Running state, click the Control tab and attempt to start the data source using the Start button.

7. If any errors were encountered during Step 5 or 6, consider restarting the Oracle WebLogic Server domain.

4.1.3.2 Connection to Essbase Server Fails

Problem

An error is returned when connecting to Essbase Server from the Fusion Applications domain, using the Essbase Cluster lookup URL that is built using the host and port information retrieved for Essbase_FA_Cluster, from EPM Registry using the Registry API.

Solution

To resolve this issue, perform the following validations with appropriate actions:

1. Verify that the host and port values for the LOGICAL_WEB_APP component in EPM System Registry, where webAppType is PROVIDER_SERVICES_WEB_APP, exactly matches the host and port that the APS Web application is running on in the BI domain. Follow these steps:

1. Run the EPM Registry Editor utility using the following command:

(UNIX)  APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2.0/epmsys_registry.sh view LOGICAL_WEB_APP | tee -a logical_webapp_report.txt
(Windows)  APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2.0\epmsys_registry.bat view LOGICAL_WEB_APP > logical_webapp_report.txt

2. In the logical_webapp_report.txt file that is generated as a result of Step 1, search for the following string:

*"webAppType = PROVIDER_SERVICES_WEB_APP"

3. For the COMPONENT containing the matching string, verify that HOST/port/SSL_PORT exactly match what the APS Web application is actually running on in the BI domain. If any of these values are different in the Essbase cluster lookup URL, they should be appropriately updated in EPM Registry for the given Logical Webapp Component. This solution is discussed in Section 4.1.3.3.

4. Confirm that the APS Web application is in an Active state in the BI domain, by logging into the BI Administration Server console and reviewing the deployment profile of APS.

2. If verification of Step 1 successfully passes, verify the Oracle Access Manager protection policies and confirm that the Essbase cluster lookup URL is excluded from those policies

4.1.3.3 Host and Ports Do Not Match

Problem

If the host or port for Logical Web App components in the EPM Registry do not exactly match the actual host and port that EPM Web applications are running on in the BIDomain domain, there may be connection or launch issues for EPM Web applications from within the Fusion user interface. In this case, you must update the host and port for Logical Web App components in EPM Registry.

Solution

To resolve the issue:

1. Execute the following command so that respective component IDs are available in the file for later use.

(UNIX)  APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2.0/epmsys_registry.sh view LOGICAL_WEB_APP | tee -a logical_webapp_report.txt
(Windows)  APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2.0\epmsys_registry.bat view LOGICAL_WEB_APP > logical_webapp_report.txt

The EPM Registry Dump (.html report) that is created by running epmsys_registry.sh and epmsys_registry.bat does not include the component IDs that are required to update the host and port properties for individual components.

After successfully executing this command, the logical_webapp_report.txt file now contains exported data for five Logical Web App components - something similar to:

COMPONENT - 1
NAME -  Default
ID -  a01b453873d1e7b5S7b70c01f12e34faed1bS7fdc
TYPE -  LOGICAL_WEB_APP
HOST -  hostname
HYPERION HOME -  /scratch/aime1/work/mw8747/Oracle_BI1
PROPERTIES -
webAppType = CALC_WEBAPP
context = calcmgr

The ID highlighted above in bold will be available for COMPONENT - [1-5]; this is what you will be required to use in subsequent steps.

2. For the individual ID of COMPONENT - [1-5], execute the following EPM Registry update command:

(UNIX)  APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2.0/epmsys_registry.sh updateproperty \#ID/@port port
(Windows)  APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2.0\epmsys_registry.bat updateproperty #ID/@port port

For example:

./epmsys_registry.sh updateproperty \#a01b453873d1e7b5S7b70c01f12e34faed1bS7fdc/@port 16050

3. Validate that you have successfully updated the host and port for Logical Web App components:

(UNIX)  APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2.0/epmsys_registry.sh view LOGICAL_WEB_APP | tee -a logical_webapp_update_report.txt
(Windows)  APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2.0\epmsys_registry.bat view LOGICAL_WEB_APP > logical_webapp_report.tx

4. After these updates, restart the BIDomain, CRMDomain and FinancialsDomain domains, so that new changes take effect. See "Starting and Stopping a Product Family Oracle WebLogic Server Domain" in the Oracle Fusion Applications Administrator's Guide.

4.1.4 Hyperion Security Username/Password Authentication Fails during Enterprise Scheduler Services Essbase Cube Creation in the Domain

Problem

The following error about Oracle Enterprise Scheduler Essbase Cube creation in the BIDomain domain is returned because of a Hyperion security username and password authentication failure:

EPMCSS-00301: Failed to authenticate user. Invalid credentials. Enter valid credentials.

Solution

To resolve this issue, verify that the password stored in credential store for Application Identity (App ID) used by the Oracle Enterprise Scheduler job to connect to Essbase exactly matches the password for the given Application Identity in the underlying LDAP Identity Store:

1. Identify which App ID is used by the Oracle Enterprise Scheduler job in the given domain, to connect to an Essbase single cluster.
The following application identities are used for the respective domains:

- Oracle Fusion Customer Relationship Management: FUSION_APPS_CRM_ADF_APPID

- Oracle Fusion Projects: FUSION_APPS_PRJ_ESS_APPID

- Oracle Fusion General Ledger: FUSION_APPS_GL_ESSBASE_APPID

2. Run the WLST listCred script with the appropriate map and key. See the section "listCred" in the Oracle Fusion Middleware Application Security Guide.

3. The password obtained in Step 2 can then be used to compare the existing password for the given App ID in the underlying LDAP ID Store, using the following command line ldapcompare:

ldapcompare -h hostname -p port -D "bind_user_dn" -w bind_user_password -a userpassword -v appid_password_from_credstore -b "appid_dn"

If Step 3 does not run with positive results, it implies that the credential store password and the LDAP store password failed the comparison test. In this case, passwords in credential store and LDAP ID Store should be synchronized.

4.1.5 EPM Workspace

This section describes common problems and solutions for EPM Workspace. It contains the following topics:

- Debugging

- Startup

- Microsoft Internet Explorer Truncated Menus

4.1.5.1 Debugging

Problem

Errors occur with certain functionality.

Solution

1. Check the status of Workspace by entering this URL:

http://server_name:19000/workspace/status

This URL displays a summary of any fatal errors that prevent Workspace from running, and a list of integrated products.

2. Enable the client debugging feature by selecting Navigate > Administer > Workspace Server Settings and selecting Client Debug Enabled.
All users who log on after selecting this option will be affected. The URLs that can be accessed include the following:

http://server_name:19000/workspace/debug/configInfo.jsp
http://server_name:19000/workspace/debug/userInfo.jsp

The first URL shows information about the system including metadata from integrated products (for example, menus, preferences panels, and so on); the second URL shows information about the current user, including groups, effective roles, and Workspace menu items as interpreted and filtered for the current user.

4.1.5.2 Startup

Problem

The http://server_name:19000/workspace/ URL fails to respond or an error occurs.

Solution

Workspace initialization happens at the first request, not at server startup. If initialization fails, it is reattempted at every subsequent request. Any error during initialization is logged in the workspace.log file. The error message displays a page that replaces the normal Workspace Log on screen. Finally, the error is reported in the status report servlet, /workspace/status. Only the log files include Exception stack traces. The following tasks must successfully complete in order before Workspace allows log ons, and can be matched up in the workspace.log file:

1. Parse and validate the file /conf/WSProducts.xml in the Workspace Web application.

2. Initialize the Shared Services Registry:

1. Connect to the Shared Services Registry.

2. Find the unique WORKSPACE component in the Shared Services Registry.

3. Find the unique Workspace LOGICAL_WEB_APP component in the Shared Services Registry.

4. View the Workspace configuration properties from LOGICAL_WEB_APP.

5. Find at least one WEB_SERVER component that is a child of WORKSPACE.

3. Update LOGICAL_WEB_APP with host and port information from the Oracle WebLogic Server MBean.

4. Update LOGICAL_WEB_APP with any missing configuration properties.

5. Initialize Shared Services.

6. Scan the Shared Services Registry for integrated products, and match every discovered product with a configuration file from the following resources:

- /conf/WSProducts.xml (Workspace)

- WorkspaceConfig file attribute of LOGICAL_WEB_APP (all other products)

4.1.5.3 Microsoft Internet Explorer Truncated Menus

Problem

Menu lists appear truncated in either height or width.

Solution

To resolve this issue:

1. From Microsoft Internet Explorer, choose Tools > Internet Options > Security > CustomLevel > Miscellaneous.

2. For Allow script-initiated windows without size or position constraints, select Enable.

4.1.6 Allocation Manager

This section describes common problems and solutions for Allocation Manager. It contains the following topics:

- Essbase Applications Are Not Listed Under the Essbase Node

- Business Rules Cannot be Deployed to General Ledger

4.1.6.1 Essbase Applications Are Not Listed Under the Essbase Node

Problem

No Essbase applications are listed under the Essbase node.

Solution

This could be due to any of the following:

- You are not provisioned to work with Allocation Manager. You must have at least one of the following access privileges to work with Allocation Manager:

- Create General Ledger Allocation Rules

- Administer Allocation Rules

- Generate General Ledger Allocation Rules.

- The Essbase cluster name is not Essbase_FA_Cluster. If the Essbase server is not under this cluster, it is ignored by Allocation Manager.

- The stripe ID for General Ledger is different than the stripe ID for Workspace, so different security may be applied when Allocation Manager communicates with Essbase. Check the Allocation Manager log file to ensure that the stripe ID (or the application ID) for Allocation Manager is the same as the stripe ID for General Ledger.

- The Essbase application contains an empty Comment field. Each Essbase application must contain at least one character in the Comment field, or it is ignored by Allocation Manager.

- The application is not an Essbase aggregate storage application; only Essbase aggregate storage applications may be used with General Ledger.

4.1.6.2 Business Rules Cannot be Deployed to General Ledger

Problem

Business rules cannot be deployed from Allocation Manager to General Ledger. You receive the error message:

no WSDLLOCATION set

Solution

In the EPM registry, ensure that the WSDLLOCATION property is defined for Allocation Manager. The WSDLLOCATION property contains the General Ledger web services URL.

4.1.7 Smart View

This section describes common problems and solutions for Smart View. It contains the following topics:

- Re-enabling Smart View in Microsoft Office Applications

- Enabling Advanced Logging

- Timeout Errors

- Shared Connections Panel Does Not Display Server Names

4.1.7.1 Re-enabling Smart View in Microsoft Office Applications

Problem

Smart View may become disabled in Microsoft Office applications.

Solution

Smart View is a COM add-in, which Microsoft Office applications can disable. To re-enable Smart View, follow instructions in Excel Help for re-enabling COM add-ins.

4.1.7.2 Enabling Advanced Logging

Problem

Smart View collects and records events, errors, and other information in a log file, typically SmartViewLogs.log. When you experience performance or other issues, you can enable the logging in this file of additional information about profiling and requests and responses between Smart View and the server. This additional information can help Oracle Support to troubleshoot your issues.

Solution

To enable additional troubleshooting information:

1. Close all Microsoft Office applications.

2. Select Start, and then Run.

3. Enter regedit and click OK to open the registry.

4. Navigate to HKEY_CURRENT_USER\Software\Hyperion Solutions\HyperionSmartView\Options.

5. Right click Options, select New, and then String Value.

6. Name the new string value Profile.

7. Double-click Profile to open Edit String.

8. From Edit String, under Value Data, enter one of the following values:

- 0: Logging is not enabled. Initialized value bEnableProfiling is set to false.

- 1: Profile entries are logged when an event completes. This setting provides little information about abrupt terminations, but performance is better than with 2.

- 2: Profile entries are logged immediately. Use this setting to determine the function in which a termination occurred. This setting provides the most detailed information but has the greatest negative impact on performance.

9. Close the registry.

10. Restart Excel.

11. From the Smart View ribbon, select Options.

12. Go to the Advanced page and ensure that Route Messages to File is selected. The log file, typically SmartViewLogs.log, will now begin recording profiling and request/response information between Smart View and the server in addition to the other information it records.

Note:

To improve performance, when you no longer need to log profiling and request/response information, delete the Profile entry that you created in the registry.

4.1.7.3 Timeout Errors

Problem

If the server takes longer to process a Smart View operation than the timeout value set on the client computer, users may receive a connection timeout error, or zero values may be displayed for Smart View functions.

Solution

Increase the timeout limit for Smart View client computers. Smart View uses Win-Inet APIs to communicate with the provider. These are the same modules that Internet Explorer uses. To increase the timeout value for a Windows client computer:

1. In the Windows registry of the client computer, navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings.

2. Set the following values:

"ReceiveTimeout"=dword:00dbba00
"KeepAliveTimeout"=dword:0002BF20
"ServerInfoTimeout"=dword:0002BF20

4.1.7.4 Shared Connections Panel Does Not Display Server Names

Problem

The Shared Connections panel of the Smart View Panel displays no server names. This typically happens when your applications are not properly registered during installation and configuration.

Solution

Review the information in the Oracle Hyperion Enterprise Performance Management System Installation and Configuration Guide to ensure that applications and servers are properly configured.

4.2 Problems and Solutions for Financial Reporting

This section describes common problems and solutions for Financial Reporting. It contains the following topics:

- Setting Up Data Sources and Debugging Setup and Connectivity Issues

- Issues with Workspace (Access Privileges, Preferences, Change And Manage Database Connections)

- Common Administrative Tasks and How to Debug Issues

4.2.1 Setting Up Data Sources and Debugging Setup and Connectivity Issues

This section describes common problems and solutions for setting up data sources and debugging setup and connectivity issues:

- Unable to Connect to Essbase Cube

- Error While Creating Database Connection

- Cannot Set Up a Database Connection

4.2.1.1 Unable to Connect to Essbase Cube

Problem

You are unable to connect to an Essbase cube.

Solution

Verify that the Essbase Server name and port are correct. Verify the user credentials used to make the connection are correct and the User has at least read rights to the cube.

4.2.1.2 Error While Creating Database Connection

Problem

An error occurred while creating a database connection.

Solution

Check the Financial Reporting log file. If the log file has the following error, a Catalog GUID refresh is required.

"Caused by: javax.jcr.LoginException: access denied for user to path /users/userid"

For more information, see "Regenerating User GUIDs" in Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

4.2.1.3 Cannot Set Up a Database Connection

Problem

You are unable to set up a database connection.

Solution

When you create a database connection, it is appended to the list in the Database Manager dialog box.

To add a database connection:

1. In Workspace, select Tools, then Database Connection Manager.

2. Click New.

3. In Database Connection Name, enter a name for the database connection.

4. Select a data source type of Essbase.

5. In Server, add the Essbase Server Name and Port Number.

6. Re-enter the User ID and Password.

7. To add application and database names, click the magnifying glass, and make your selections.

Note:

The Application Lookup button displays a tree view of the applications and corresponding databases; the applications are listed as parents and the databases are listed as children. You can search on an application or database. For data sources that are not associated with a database, only applications are listed.

8. Click OK.
The database connection profile is appended to the list in Database Connection Manager dialog box.

4.2.2 Issues with Workspace (Access Privileges, Preferences, Change And Manage Database Connections)

This section describes common problems and solutions for setting up data sources and debugging setup and connectivity issues:

- Error When Running a Report

- Log File Output Management and Diagnosis of Log Issues

- Setting Up Financial Reporting TCP Ports for Firewall Environments and Debugging Issues Around It

4.2.2.1 Error When Running a Report

Problem

When running a report, following error is displayed:

Error 1012:Report contains an invalid grid. The following dimensions could not be found: <i>xxx</i>

Solution

This error may occur if the database was recently changed on the report. To resolve the issue, open and save the report that has mismatched dimensions. This causes the dimensions that existed in the old database connection but not in the new database connection to be removed. The dimension and its members that existed in the rows and columns are removed from the grid. If, as a result of the removal, no dimension exists in the row or column, you need to add a valid dimension to the cleared row or column in order for the report to run. Dimensions that exist in the new database connection but not in the old one, are added to the POV.

4.2.3 Common Administrative Tasks and How to Debug Issues

This section describes common problems and solutions for setting up data sources and debugging setup and connectivity issues:

- Log File Output Management and Diagnosis of Log Issues

- Setting Up Financial Reporting TCP Ports for Firewall Environments and Debugging Issues Around It

- Supporting PDF Print/Troubleshooting Financial Reporting Print Server Issues

- Getting Error Application HReports is not Defined

- Permission Errors

- All the Jobs Fail

4.2.3.1 Log File Output Management and Diagnosis of Log Issues

Problem

Financial Reporting cannot be accessed from Workspace.

Solution

1. Check if the Financial Reporting web application is running. In Internet browser, enter protocol://server:port/hr/status.jsp. If the web application is running, the following message is displayed:

The Oracle© Hyperion Financial Reporting, Fusion Edition Web application is available.

2. View the Financial Reporting log file fr.log from the following directories to see if there are any com.sun.xml.ws.wsdl.parser related errors:

(UNIX) DOMAIN_HOME/servers/server_name/logs/financialreporting
(Windows) DOMAIN_HOME\servers\server_name\logs\finsncialreporting

In this case, it is possible that analytics web application is not running. If fr.log contains multiple instances of Caused by: javax.jcr.LoginException: access denied for user to path /users/userid, then a Catalog GUID refresh is required.

For more information, see "Regenerating User GUIDs" in Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

4.2.3.2 Setting Up Financial Reporting TCP Ports for Firewall Environments and Debugging Issues Around It

Problem

Unable to connect to Financial Reporting through a firewall from the Financial Reporting Studio.

Solution

By default, Financial Reporting components communicate with each other through Remote Method Invocation (RMI) on dynamically assigned Transmission Control Protocol (TCP) ports. To communicate through a firewall, you must specify the port for each Financial Reporting component separated by the firewall in the JConsole.exe file, and then open the necessary ports in your firewall. In addition, you may need to open ports for the Reports Server RDBMs, for data sources that you report against, and for LDAP/NTMLM for external authentication. The Print Server defaults to 8297. This can be changed by modifying the PrintServers property in FR Mbeans and restarting. Once connected, all RMI Services can use anonymous ports by default for communication. Alternatively a range of ports can be configured for communication by setting RMIPortRangeLower and RMIPortRangeUpper within the Financial Reporting configuration. You can change the port assignments to use in a firewall environment for servers in the Financial Reporting Mbeans called RMIPortRangeUpper and RMIPortRangeLower.

To locate the Financial Reporting MBeans properties to modify in Fusion Applications Control:

1. From the navigation pane, expand the BIDomain farm, Application Deployments, and then Internal Applications.

2. Expand FinancialReporting(11.1.1)(bi_cluster_name).

3. Right-click FinancialReporting(11.1.1)(bi_server_name) and choose System MBean Browser.

4. In the System MBean Browser page, expand Application Defined MBeans.

5. Expand Application Defined MBeans, com.hyperion, Server:bi_server_name.
Description of the illustration bimbean.gif

6. Expand Financial Reporting.

7. Click Financial Reporting.

8. In the Application Defined MBeans: Financial Reporting page, scroll down to PrintServers, RMIPortRangeUpper, and RMIPortRangeLower.

9. Click on each attribute and add a value in the Value field and click Apply.

4.2.3.3 Supporting PDF Print/Troubleshooting Financial Reporting Print Server Issues

Problem

Financial Reporting Print server is not working.

Solution

To resolve this issue:

1. Ensure that the Financial Reporting Print Server service has been created and started.

2. Verify 32-bit Ghostscript is installed by running. From the Start menu, choose All Programs > Ghostscript.

3. Examine the FRPrintLogging.log file in the install_directory\Oracle\FinancialReportingStudio\diagnostics\logs\FinancialReporting directory.

4. Verify that the PrintServers property in Financial Reporting MBeans now shows the Financial Reporting Print Server computer and port number. The default port is 8297. This may show multiple financial Reporting Print Servers if more than one have been configured.
To locate the PrintServers property to modify in Fusion Applications Control:

1. From the navigation pane, expand the BIDomain farm, Application Deployments, and then Internal Applications.

2. Expand FinancialReporting(11.1.1)(bi_cluster_name).

3. Right-click FinancialReporting(11.1.1)(bi_server_name) and choose System MBean Browser.

4. In the System MBean Browser page, expand Application Defined MBeans.

5. Expand Application Defined MBeans, com.hyperion, Server:bi_server_name.
Description of the illustration bimbean.gif

6. Expand Financial Reporting.

7. Click Financial Reporting.

8. In the Application Defined MBeans: Financial Reporting page, scroll down to PrintServers.

9. Click on the attribute and check the value in the Value field.

10. If necessary, adjust the value and click Apply.

5. Verify that the Financial Reporting Print Server server name and port can be reached from the Financial Reporting web application server machines. Use telnet to connect to the Financial Reporting Print Server.

4.2.3.4 Getting Error Application HReports is not Defined

Problem

When the Batch Scheduler is opened, the following error displays:

application HReports is not defined

This may happen if the fressclient.ear application is not started in the General Ledger's Oracle Enterprise Scheduler domain.

Solution

From the Oracle WebLogic Server Console for the Oracle Enterprise Scheduler domain, perform the following to steps:

1. Navigate to Deployments and select fressclient.

2. Select Start, then Servicing all Requests.

4.2.3.5 Permission Errors

Problem

When the Batch Scheduler is opened, or at the time of job submission, permission errors are shown. This may happen if the user is not granted the oracle.as.scheduler.security.MetadataPermission permission.

Solution

Check if the user has oracle.as.scheduler.security.MetadataPermission permission in the fscm stripe using Fusion Applications Control.

4.2.3.6 All the Jobs Fail

Problem

All the jobs fail.

Solution

This may happen if the Essbase server is not running.

To check if the Essbase server is running and restart (if needed):

1. Determine the current status:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl status
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin/opmnctl status

OPMN generates a list of the running components and processes. The following message indicates that the Essbase Server (essbaseserver1) is already running:

Processes in Instance: BIInstance
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
essbaseserver1                   | Essbase            |   27879 | Alive
coreapplication_obiccs1          | OracleBIClusterCo~ |   10828 | Alive
coreapplication_obisch1          | OracleBIScheduler~ |   18308 | Alive
coreapplication_obijh1           | OracleBIJavaHostC~ |   18337 | Alive
coreapplication_obips1           | OracleBIPresentat~ |   26455 | Alive
coreapplication_obis1            | OracleBIServerCom~ |   21716 | Alive

2. Restart the Essbase server:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=component_name
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin\opmnctl restartproc ias-component=component_name

For example

APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=essbaseserver1

4.3 Problems and Solutions for Hyperion Provider Services

This section describes common problems and solutions for Oracle Hyperion Provider Services. It contains the following topics:

- Provider Services Server Not Running

- Provider Services Version Information

- Maximum Numbers of Rows Exceeded in Smart View

- Monitoring Provider Sessions

- Monitoring Active-Active Essbase Clusters

- Enabling and Disabling Active-Active Essbase Cluster Components

4.3.1 Provider Services Server Not Running

Problem

Provider Services appears not to be functional. You may need to determine whether Provider Services is running.

Solution

To determine whether Provider Services is running:

1. Launch a web browser.

2. Enter the connection URL for the corresponding products:

- Smart View Provider: https://Provider_Services_server:Provider_Services_port/aps/SmartView

- Java API: https://Provider_Services_server:Provider_Services_port/aps/JAPI

If an HTTP error is returned, the Provider Services server is not running.

3. You may need to find out if you are connecting to the right port.
If you are running Provider Services with Oracle Access Manager, then the default Provider Services port number is 9704. If you are not running Provider Services with Oracle Access Manager, then the default Provider Services port number is 4443.

4. To start the Provider Services server, use the following script from the fusionapps Middleware directory:

(UNIX) FA_MW_HOME/user_projects/domains/bi_foundation_domain_name/bin/startWebLogic.sh
(Windows) FA_MW_HOME\user_projects\domains\bi_foundation_dmain_name\bin\startWebLogic.cmd

4.3.2 Provider Services Version Information

Problem

Provider Services version information is not provided in a user interface.

Solution

You can find the Provider Services version information in the following locations:

- Operating system console window that is displayed when the Provider Services server is running

- Provider Services log files

4.3.3 Maximum Numbers of Rows Exceeded in Smart View

Problem

In Excel, a Maximum numbers of rows [5000] Exceeded error is returned if there are more than 5,000 rows on the Smart View grid. By default, the maximum number of rows is set to 5000 and the maximum number of columns to 256. In Excel 2003, you cannot exceed these limits. However, in Excel 2007 and 2010, there are no limits on the number of rows or columns, and you can change the default settings.

Solution

To change maximum row and column settings in Excel 2007 or 2010:

1. Launch Excel.

2. From the Smart View ribbon, select Open, and then Smart View Panel.

3. In the Smart View Panel, click Edit Provider Services to open the Provider Services server preferences dialog box.

4. Change the settings for Number of Rows and Number of Columns as needed. Enter 0 to remove any limits to the number of rows or columns.

4.3.4 Monitoring Provider Sessions

Problem

You may need to monitor the number of sessions on a Provider Services server.

Solution

To monitor Provider Services server sessions, from Administration Services Console:

1. From Enterprise View or a custom view, under the Provider Services node, select a provider.

2. Under the provider node, select Action, and then Sessions.

4.3.5 Monitoring Active-Active Essbase Clusters

Problem

You may need to monitor active-active Essbase clusters.

Solution

To monitor Provider Services server sessions, from Administration Services Console:

1. From Enterprise View or a custom view, under the Provider Services node, select a provider.

2. Under the provider node, expand Essbase Clusters and select the active-active Essbase cluster node you want to monitor.

3. Choose Action, and then edit the active-active Essbase cluster.

4.3.6 Enabling and Disabling Active-Active Essbase Cluster Components

Problem

You may need to enable or disable individual active-active Essbase cluster components.

Solution

To enable or disable an active-active Essbase cluster component, follow the steps in the Oracle Hyperion Enterprise Performance Management System High Availability and Disaster Recovery Guide.

4.4 Problems and Solutions for Essbase

This section describes common problems and solutions. It contains the following topics:

- Getting Started with Logging Basics for Essbase

- Essbase Agent Startup Fails with Error

- Essbase Agent Startup Fails Due to serviceinstanceref ref="audit" Entry in jps-config-jse.xml

- Essbase Agent Startup Fails with an Error While Loading Shared Libraries

- opmnctl Commands Fail to Execute

- An Application Stops Responding

- An Essbase Application Will Not Start

- ASO Database Corruption Error

- Essbase Login Credentials Are Unknown When Essbase Is Included in the Oracle Business Intelligence Installation

- Cannot Stop an Application Process

- Changing the Essbase Ports (High-Availability Mode)

- Changing the Essbase Ports (Non-High-Availability Mode)

- Data Load Fails with the "Load Buffer Does Not Exist" Error

- Data Load Fails with Resource Usage Error

- Essbase Fails to Start in Cluster Mode

- Essbase Login Failed Due to Invalid Credentials

- Failed to Open a File on UNIX

- GL Writeback Fails with "Accounting Date Conversion" Error

- GL Writeback Fails with "Group ID Node" Error

- GL Writeback Fails with "Not a Valid GL Application" Error

- GL Writeback Fails with "SQL Database Connection" Error

- Network Timeout

- OPMN Fails to Start Essbase in High-Availability Mode

- Restructure Failure

- Security File Is Corrupt

- Status of Essbase Agent Connection

- Unable to Write File During Data Load or Building Aggregate Views

4.4.1 Getting Started with Logging Basics for Essbase

Log files are the best tools for analyzing what might be wrong with the system configuration. The logging configuration file, the defaults it ships with, and instructions for changing change those defaults will help with the analysis.

- Essbase log files

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/Essbase.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\Essbase.log

- Oracle Diagnostic Logging (ODL) logs

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/ESSBASE_ODL.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\ESSBASE_ODL.log

- Lease Manager logs

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/leasemanager_essbase_machine_name.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\leasemanager_essbase_machine_name.log

- Shared Services logs

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/SharedServices_Security_Client.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\SharedServices_Security_Client.log

- OPMN Logs

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/OPMN/opmn/opmn.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\OPMN\opmn\opmn.log

- Esssbase ping log

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/OPMN/opmn/EssbasePing.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\OPMN\opmn\EssbasePing.log

- OPMN debug log

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/OPMN/opmn/debug.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\OPMN\opmn\debug.log

Note:

The system will generate the OPMN debug log only if DEBUG mode is turned on in opmn.xml.

- OPMN console log

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/OPMN/opmn/console*.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\OPMN\opmn\console*.log

Note:

The system will generate the OPMN console log only if DEBUG mode is turned on in opmn.xml.

4.4.2 Essbase Agent Startup Fails with Error

Problem

The Essbase Agent startup fails with the following error:

Fatal Error: FUSIONAPPID not specified in the cfg file

Solution

To modify essbase.cfg and restart the Essbase server:

1. Locate the essbase.cfg file in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

2. Make sure that the following entry is present in essbase.cfg:

3. FUSIONAPPID appidname

4. Restart the Essbase server.
To restart the Essbase server using opmnctl:

1. Determine the current status:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl status
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin/opmnctl status

OPMN generates a list of the running components and processes. The following message indicates that the Essbase Server (essbaseserver1) is already running:

Processes in Instance: BIInstance
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
essbaseserver1                   | Essbase            |   27879 | Alive
coreapplication_obiccs1          | OracleBIClusterCo~ |   10828 | Alive
coreapplication_obisch1          | OracleBIScheduler~ |   18308 | Alive
coreapplication_obijh1           | OracleBIJavaHostC~ |   18337 | Alive
coreapplication_obips1           | OracleBIPresentat~ |   26455 | Alive
coreapplication_obis1            | OracleBIServerCom~ |   21716 | Alive

2. Restart the Essbase server:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=component_name
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin\opmnctl restartproc ias-component=component_name

For example

APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=essbaseserver1

To start Essbase server using Fusion Applications Control:

1. From the navigation pane, expand the farm and then WebLogic Domain for the BIDomain domain.

2. Expand Essbase Servers, and then select the Essbase server.

3. From the Essbase Server menu, choose Administration, then Ports Configuration.

4. Select the Listen port, and then click Edit.

5. Change the port number, and then click OK.

6. From the Essbase Server menu, choose Control, then Restart.

4.4.3 Essbase Agent Startup Fails Due to serviceinstanceref ref="audit" Entry in jps-config-jse.xml

Problem

The Essbase Agent startup fails with the following error:

1051223 - Single Sign On function call [css_init] failed with error [CSS Error: CSS method invocation error: getInstance: Failed to get CSSSystem instance,
please check SharedServices_Security_Client.log for more information

Solution

To modify essbase.cfg and restart the Essbase server:

1. Locate the essbase.cfg file in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

2. Make sure that the following entry is commented out using XML style comments in the essbase.cfg file. For example, <!-- -->:
serviceinstanceref ref="audit"

3. Restart the Essbase server.
To restart the Essbase server using opmnctl:

1. Determine the current status:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl status
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin/opmnctl status

OPMN generates a list of the running components and processes. The following message indicates that the Essbase Server (essbaseserver1) is already running:

Processes in Instance: BIInstance
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
essbaseserver1                   | Essbase            |   27879 | Alive
coreapplication_obiccs1          | OracleBIClusterCo~ |   10828 | Alive
coreapplication_obisch1          | OracleBIScheduler~ |   18308 | Alive
coreapplication_obijh1           | OracleBIJavaHostC~ |   18337 | Alive
coreapplication_obips1           | OracleBIPresentat~ |   26455 | Alive
coreapplication_obis1            | OracleBIServerCom~ |   21716 | Alive

2. Restart the Essbase server:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=component_name
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin\opmnctl restartproc ias-component=component_name

For example

APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=essbaseserver1

To start the Essbase server using Fusion Applications Control:

1. From the navigation pane, expand the farm and then WebLogic Domain for the BIDomain domain.

2. Expand Essbase Servers, and then select the Essbase server.

3. From the Essbase Server menu, choose Administration, then Ports Configuration.

4. Select the Listen port, and then click Edit.

5. Change the port number, and then click OK.

6. From the Essbase Server menu, choose Control, then Restart.

4.4.4 Essbase Agent Startup Fails with an Error While Loading Shared Libraries

Problem

The Essbase Agent startup fails with the following error:

Error while loading shared libraries: libARicu24.so: cannot open shared object file: No such file or directory

Solution

To modify opmn.xml file and restart the Essbase server:

1. Locate the opmn.xml file in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/config/OPMN/opmn
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\config\OPMN\opmn

2. Update the following ODBC-related entries in opmn.xml:

<variable append="true" id="LD_LIBRARY_PATH" value="$ORACLE_HOME/common/ODBC/Merant/6.0/lib$:$ORACLE_HOME/jdk/jre/lib/i386/server$:$ESSBASEPATH/bin"/>

<variable id="ODBCINI" value="$ORACLE_HOME/common/ODBC/Merant/6.0/odbc.ini"/>

<variable id="ODBCINST" value="$ORACLE_HOME/common/ODBC/Merant/6.0/odbcinst.ini"/>

3. Restart the Essbase server:

1. Determine the current status:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl status
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin/opmnctl status

OPMN generates a list of the running components and processes. The following message indicates that the Essbase Server (essbaseserver1) is currently running:

Processes in Instance: BIInstance
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
essbaseserver1                   | Essbase            |   27879 | Alive
coreapplication_obiccs1          | OracleBIClusterCo~ |   10828 | Alive
coreapplication_obisch1          | OracleBIScheduler~ |   18308 | Alive
coreapplication_obijh1           | OracleBIJavaHostC~ |   18337 | Alive
coreapplication_obips1           | OracleBIPresentat~ |   26455 | Alive
coreapplication_obis1            | OracleBIServerCom~ |   21716 | Alive

2. Restart the Essbase server:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=component_name
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin\opmnctl restartproc ias-component=component_name

For example

APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl restartproc ias-component=essbaseserver1

4.4.5 opmnctl Commands Fail to Execute

Problem

A communication error occurs when attempting to issue commands using the opmnctl command line for OPMN.

For example:

qtfhp3:/vol1/nnguyen/rc11/Oracle/Middleware/user_projects/epmsystem1/bin]$ opmnctl status RCV: No such file or directory Communication error with the OPMN server local port. Check the OPMN log files opmnctl status: opmn is not running.

Solution

To modify opmn.xml:

1. Edit opmn.xml to assign a different local and a remote port to OPMN, or just a remote port to OPMN. The currently assigned ports may already be used by another process. See the following example:
<notification-server interface="any"> <ipaddr remote="<hostname>"/> <port local="6711" remote="6712"/>

2. Restart OPMN and try the opmnctl command again.

4.4.6 An Application Stops Responding

Problem

An Essbase application stops responding or shuts down abnormally.

Solution

To determine why the application is not responding:

1. Check the Essbase.log file for the following error message:
1002089 RECEIVED ABNORMAL SHUTDOWN COMMAND - APPLICATION TERMINATING

2. Check the Essbase.log file for the following message:
Exception error log [log00001.xcp] is being created...

3. If either of the above messages are found, contact Technical Support.
Note that if you find the log00001.xcp file, save it. Oracle Support will need this file to troubleshoot the issue.

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/app/appname/log000001.xcp
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\app\appname\log000001.xcp

4.4.7 An Essbase Application Will Not Start

Problem

An application does not respond after being started, or an error message like the following is displayed in the Essbase log file:

Network Error 10048 : Unable to Bind Host Server Socket On Port 4213

Solution

A port conflict may be occurring. Correct the port-related entries in opmn.xml.

Update the Essbase port range in opmn.xml to match the port specified in the configuration file:

<port id="essbase-port-range" range="32768-33768"/>

4.4.8 ASO Database Corruption Error

Problem

During an operation on an Essbase aggregate storage database, the following error is displayed:

Persistent data does not match the outline. There is no member in dimension [Abc] for member number [12345]. Data is corrupted.

Solution

To clear the database and reload it from the original sources or from a saved exported backup:

1. Save the list of current aggregate views.

2. Clear all data in the database.

3. Reload the data from original sources or from a backup.

4. Rebuild the aggregate views using the list specified.

4.4.9 Essbase Login Credentials Are Unknown When Essbase Is Included in the Oracle Business Intelligence Installation

Problem

You do not know the Essbase login credentials when Essbase is included in the Oracle Business Intelligence installation.

Solution

Use the Weblogic default user name and password to log in to Essbase. The default user name and password are weblogic and welcome1.

4.4.10 Cannot Stop an Application Process

Problem

An Essbase application process cannot be shut down.

Solution

To check the application log for active processing:

1. Access the application log. Note the following locations:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/app/appname/appname.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\app\appname\appname.log

2. Check the application log and look for the following message:
RECEIVED SHUTDOWN COMMAND - SERVER TERMINATING.

3. If you see the proceeding message, wait a few minutes to allow the application to self-terminate. The application may be doing cleanup tasks associated with the shutdown process.

4. If you see the following message, the application is still processing user requests. Wait for user requests or any other operation that is still in progress to terminate, and then try shutting down the application.

Cannot unload database dbname while user username is performing database operation. Wait for the user to complete the operation, or ask the user to abort it. Log out all users and then unload the database. Cannot unload database dbname when it is still in use

5. If you need to terminate the application, perform the following steps:

1. If you need to terminate the application even when there are user requests in progress on the database, you can run the following sequence MaxL statements to forcefully terminate user requests:

#Display active sessions to see current requests display session on application appname
#Disallow new connections to the application alter application appname disable connects;
#Force logout of all, and terminate requests alter system logout session on database appname.dbname force;

2. After forcefully logging out all users, wait for a few minutes, and then use the following MaxL statement to check if any user requests are still running:

#Display active sessions display session on application <appname>;

3. If there are no requests running, attempt to stop the application process.

4.4.11 Changing the Essbase Ports (High-Availability Mode)

Problem

The Essbase port numbers need to be changed when Essbase is installed in high-availability mode.

Solution

To run the Essbase failover automation script to change the Essbase port:

1. Go to the following location:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/essbase_ha
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin\essbase_ha

2. Look for the %SHARED_FOLDER% location specified in the file essfoenv.properties.

3. Edit the %SHARED_FOLDER%\EssFoConfig.properties file or %SHARED_FOLDER%/EssFoConfig.properties file.

4. Look for SYSTEM_AGENT_PORTNUMBER(1|2), and change the port number. There are two Essbase instances, so make sure to change the one that you need.

5. Execute essfoconfig.sh (UNIX) or essfoconfig.bat (Windows) without any parameter. The Help prints so you can see a list of options for parameters.

6. Execute the following command:

essfoconfig.sh update prpName

where prpName is the port number property in Step 4.

For example, the following command updates the agent port of the first Essbase instance:

essfoconfig.sh update SYSTEM_AGENT_PORTNUMBER1

4.4.12 Changing the Essbase Ports (Non-High-Availability Mode)

Problem

The Essbase port numbers need to be changed when Essbase is installed in non-high-availability mode.

Solution

Go to Fusion Applications Control and change the Essbase port.

1. From the navigation pane, expand the farm and then WebLogic Domain for the BIDomain domain.

2. Expand Essbase Servers, and then select the Essbase server.

3. From the Essbase Server menu, choose Administration, then Ports Configuration.

4. Select the Listen port, and then click Edit.

5. Change the port number, and then click OK.

6. Restart Essbase server. From the Essbase Server menu, choose Control, then Restart.

4.4.13 Data Load Fails with the "Load Buffer Does Not Exist" Error

Problem

Following a data load failure to a specified load buffer, the following error displays for subsequent loads to the same load buffer:

Data load buffer [123] does not exist.

Solution

This error may occur when data loads initialize a load buffer and load multiple data files to it before committing it to the cube. If an error occurs that causes one of the steps to fail, then the load buffer is automatically destroyed, causing all subsequent steps to fail with the previous error.

Use one of the following methods to correct this error:

- Determine the cause of the original data load error and try to resolve it.

- Set the Essbase data load options to indicate that the data load should not be aborted on error; instead, have data load errors written or appended to the log file

4.4.14 Data Load Fails with Resource Usage Error

Problem

Upon attempting to load data into an Essbase aggregate storage database, the following error displays:

Specified load buffer resource usage [100] is above currently available value [0].

Solution

Other ongoing data load operations have reserved part of the cache for their load buffers. Use one of the following methods to correct this error:

- Reduce the resource usage for this data load, and try again. If you are using MaxL, you must explicitly create the load buffer, using the optional resource_usage argument. For example:
alter database AsoSamp.Sample initialize load_buffer with buffer_id 1 resource_usage .5;

- Wait for other operations to finish.

- To see what reservations have been made to the cache resources, run the following MaxL statement:
query database "app"."db" list load_buffers;

For more information about the query database, alter database, and other MaxL statements, see the Oracle Essbase Technical Reference.

4.4.15 Essbase Fails to Start in Cluster Mode

Problem

Essbase does not start when it is in cluster mode and Oracle Business Intelligence domain is installed with a non-domain-qualified host name.

Solution

The error occurs when the Essbase host specified in the cluster configuration properties file, EssFOConfig.properties, is domain-qualified, but is not in the EPM Registry, leading to a mismatch.

For more information about viewing the EPM Registry, see the "Viewing the Components in the Shared Services Registry," section in the Oracle Hyperion Enterprise Performance Management System Installation and Configuration Guide.

To check if there is an Essbase host name qualification mismatch:

1. Use the following command to return all the Essbase clusters that were configured in the registry:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2/epmsys_registry.sh view CLUSTER
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2\epmsys_registry.bat view CLUSTER

2. Drill into the specific Essbase Server instance underneath this cluster, and view that node to see the host name:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/config/foundation/11.1.2/epmsys_registry.sh view #Essbase_Server_GUID
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\config\foundation\11.1.2\epmsys_registry.bat view #Essbase_Server_GUID

Note that GUID is the global unique ID of an Essbase Server instance as returned from the full viewing of the EPM Registry.

3. Access the EPM registry and confirm that the host in the cluster configuration properties file displays exactly how Essbase is configured in the EPM Registry.

4. Restart Essbase.

4.4.16 Essbase Login Failed Due to Invalid Credentials

Problem

When the user attempts to log in to Essbase, the login attempt fails. The problem may be an authentication failure. When the Essbase login fails due to an authentication problem, it reports the following errors:

ERROR - 103 - Unexpected Essbase error 1051440.
ERROR - 1051440 - Essbase user [bi-001] Authentication Fails against the Shared Services Server with Error [EPMCSS-1009004: Failed to read data from the policy store.].

Solution

To determine login failure problems by gathering detailed error messages:

1. Locate the essbase.cfg file in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

2. Using a text editor, add the following text on its own line:
LOGINFAILUREMESSAGEDETAILED

For more information about this and other essbase.cfg configuration settings, see the Oracle Essbase Technical Reference.

3. Stop and restart the Essbase server. For detailed procedures, see "Starting and Stopping Essbase Server" in the Oracle Essbase Database Administrator's Guide.

4. Use the following paths to access the Essbase.log file, which contains any error messages:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/Essbase.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\Eessbase.log

5. In the same path where Essbase.log is found, see the SharedServices_Security_Client.log to locate security-related error messages.

To gather debug-level error messages:

Note:

Keep the debug statistics available for diagnostic purposes, in case you need to contact Technical Support.

1. Locate the essbase.cfg file in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

2. Using a text editor, add the following text on its own line:
AGENTLOGMESSAGELEVEL DEBUG

For more information about this and other essbase.cfg configuration settings, see Oracle Essbase Technical Reference.

3. Stop and restart the Essbase server. For detailed procedures, see the "Starting and Stopping Essbase Server" section in Oracle Essbase Database Administrator's Guide.

4. Use the following paths to access the Essbase.log file, which contains any error messages:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/Essbase.log
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\Eessbase.log

To check for and correct BI domain login errors:

See Table 4-1 to identify if you have a debug login failure problem. Go to each file listed in the table and search for the corresponding error message. If one or both of your files contain errors, use the following procedure to correct them.

Table 4-1 File Names and Error Messages

File Name

Error Message

AdminServer.out

<oracle.epm.oem.essbase.mbeans.EssbaseServerRegistrationMBeanImpl>

<BEA-000000> <Child MBean registration failed due to some reason Not able to get Credential Store Factory from EM java.lang.Exception: Not able to get Credential Store Factory from EM

BIDomain.log

Exception while retrieving data from Essbase Cannot connect to olap service.

Cannot connect to Essbase Server. Error:EssbaseError(1051293): Login fails due to invalid login credentials com.essbase.api.base.EssException: Cannot connect to olap service.

Cannot connect to Essbase Server. Error:Essbase

To add a valid Essbase user name to the credential store from Fusion Applications Control, perform the following:

1. From the navigation pane, expand the farm and then WebLogic Domain for the BIDomain domain.

2. Right-click BIDomain and click Security.

3. Click Credentials. The Credentials page displays.

4. In the Credential table, expand essbaseserver.

5. Select the Essbase server and click the Edit the selected credential key button. The Edit Key page displays.

6. Verify that the user name and password are correct.

4.4.17 Failed to Open a File on UNIX

Problem

The following error occurs on a UNIX platform:

Failed to open file [filename]: a system file error occurred. Please see application log for details.

Solution

To open a file on UNIX:

1. Confirm that the specified file exists.

2. If the file exists, increase the maximum number of open file descriptors. To do this, consult the UNIX operating system's documentation for the ulimit command.

4.4.18 GL Writeback Fails with "Accounting Date Conversion" Error

Problem

GL writeback fails with the following error:

The accounting date conversion failed for %s to %s in the ACCOUNTING_DATE column. Unable to proceed with GL export.

Problem

This error may occur when GL writeback cannot format the date string in the way that GL tables expect.

To fix this issue, make sure that the <DATE_FORMAT> tag in the cubeMap.xml file has date format represented in one of the following acceptable formats, and that it matches with the date value stored in the accounting date alias table of the outline. The following are the acceptable date formats:

mon dd yyyy
Month dd yyyy
mm/dd/yy
mm/dd/yyyy
yy.mm.dd
dd/mm/yy
dd.mm.yy
dd-mm-yy
dd Month yy
dd mon yy
Month dd, yy
mon dd, yy
mm-dd-yy
yy/mm/dd
yymmdd
dd Month yyyy
dd mon yyyy
dd/mon/yy
yyyy-mm-dd
yyyy/mm/dd
Day, Month dd, yyyy

4.4.19 GL Writeback Fails with "Group ID Node" Error

Problem

GL writeback fails with the following error:

The group id node has active GL operations in state [<state_name>]. Use the appropriate API call in sequence. Unable to proceed with [api name] call.

Solution

This error may occur if more than one user tries to use the GL writeback-related API calls with the same group ID. To fix this issue, ensure that all users using GL writeback operations are using different group IDs.

4.4.20 GL Writeback Fails with "Not a Valid GL Application" Error

Problem

GL writeback fails with the following error:

This application is not a valid GL application for Essbase.

Solution

The error may occur if the cubeMap.xml file is either not present in the app/ db directory, or is not parsed properly. For the GL writeback to work properly, the cubeMap.xml file must be present and contain the required information to be parsed successfully.

To confirm that cubeMap.xml was parsed correctly:

1. Ensure that cubeMap.xml file exists in the app/ db directory and contains the correct information.

2. To ensure that cubeMap.xml was found and parsed successfully, check the Essbase application log for the following entry:
Parsing of cubeMap.xml file succeeded

If the parsing of cubeMap.xml fails, verify that the file exists in the app/ db directory and that it contains the appropriate information.

4.4.21 GL Writeback Fails with "SQL Database Connection" Error

Problem

GL writeback fails with the following error:

Failed to Establish Connection With SQL Database Server. See log for more information.

Solution

The error may occur if the SQL drivers are not set up correctly.

To confirm that the SQL drivers are set up correctly:

1. Ensure that the ODBC Merant drivers path in odbcinst.ini is correct.

2. Ensure that the ODBCINST variable in opmn.xml is pointing to the correct odbcinst.ini file.

3. Ensure that an Oracle GL target database is running. For the GL writeback to work, a GL system is required, with cubeMap.xml correctly set up with the GL system information as follows:

<HOST>somemachine.company.com</HOST> <PORT>port</PORT> <SID>SID</SID>

4. Ensure that Essbase.cfg contains driver descriptors information in the following format, so that Essbase can connect to drivers in the odbcinst.ini:
BPM_Oracle_DriverDescriptor "DataDirect 6.0 Oracle Wire Protocol"

4.4.22 Network Timeout

Problem

When performing an operation against an Essbase cube, one of the following errors occurs:

- Network error [12345]: Cannot Send Data

- Network error [12345]: Cannot Receive Data

Solution

- The error may indicate that Essbase has terminated abnormally. If an xcp file is found in the following location, save it and contact Oracle Support:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/diagnostics/logs/Essbase/essbaseserver_name/essbase/app/appname/log000001.xcp
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\diagnostics\logs\Essbase\essbaseserver_name\essbase\app\appname\log000001.xcp

- In essbase.cfg, increase the network timeout parameters using the settings NETDELAY and NETRETRYCOUNT. For more information, see "Essbase.cfg Configuration Settings" in Oracle Essbase Technical Reference.

4.4.23 OPMN Fails to Start Essbase in High-Availability Mode

Problem

OPMN fails to start Essbase in high-availability mode.

Solution

For Essbase clustering to work, all Essbase failover cluster data must be on shared storage with the ARBORPATH variables set correctly.

To confirm that Essbase can start in high-availability mode:

1. Ensure that OPMN is started by a network or domain user.

2. Ensure that ARBORPATHs are specified as mapped drives, and not as UNC paths.

4.4.24 Restructure Failure

Problem 1

During a dimension build or outline restructure, error code 1130203 occurs.

Solution 1

The error indicates that not enough memory was available to perform the operation. Use one of the following methods to correct this error:

- Increase the amount of virtual memory available to the operating system.

- If Essbase is running on a 32-bit platform, keep in mind that the maximum memory available to Essbase is between 2 GB and 4 GB, regardless of how much RAM is installed on the machine. Because Essbase loads both the old and new outlines in memory during the restructure, there is a restriction on the largest outline that can be modified on such a machine. For example, if the platform only allows 2 GB of memory to be used by a process, and an Essbase application process is already using 200 MB memory, then the maximum-size outline that can be modified is 900 MB. Switching to a 64-bit installation of Essbase will lift this limitation.

Problem 2

During dimension build or outline restructure, outline validation fails with one of the following errors:

- There were errors validating the outline. Please check the error file.

- Outline has errors

Solution 2

Review the application log or the error file (if available) to see what specific errors are causing the validation error.

Problem 3

During dimension build or outline restructure, one of the following errors occurs:

- Cannot write the new outline file during the restructuring of [%s]

- Error writing outline change log file for database [%s]

Solution 3

Check the application log for other errors. If none are found, check to see if the file system is full. Remember that making a change to an Essbase outline requires at least as much free space as the existing outline.

4.4.25 Security File Is Corrupt

Problem

The Console.log displays the following error:

Fatal Error: Invalid item index in security file

Solution

The Essbase security file, essbase.sec, is invalid. Use one of the following methods to correct this error:

- Restart Essbase using the latest backup security file by copying essbase_timestamp.bak to essbase.sec. Both files are located in the following directories

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

For more information, see "Managing the Essbase Security File" in Oracle Essbase Database Administrator's Guide.

- Open the essbase.cfg file and set the ENABLESWITCHTOBACKUPFILE setting to TRUE. This setting allows Essbase to automatically use a backup security file. The essbase.cfg file is located in the following directories:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/Essbase/essbaseserver_name/bin
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\Essbase\essbaseserver_name\bin

If you edit Essbase.cfg, restart Essbase to enable the change.

For more information, see "Essbase.cfg Configuration Settings" in Oracle Essbase Technical Reference.

4.4.26 Status of Essbase Agent Connection

Problem

The Administrator does not know if Essbase is running.

Solution

Use the following OPMN command to determine if the Essbase agent is running:

(UNIX) APPLICATIONS_CONFIG_HOME/BIInstance/bin/opmnctl status
(Windows) APPLICATIONS_CONFIG_HOME\BIInstance\bin/opmnctl status

To start Essbase server using Fusion Applications Control:

1. From the navigation pane, expand the farm and then WebLogic Domain for the BIDomain domain.

2. Expand Essbase Servers, and then select the Essbase server to see if it is running.

3. If it is not running, From the Essbase Server menu, choose Control, then Restart.

4.4.27 Unable to Write File During Data Load or Building Aggregate Views

Problem

When attempting to load data into an Essbase aggregate storage database or while building aggregate views, the following error is displayed:

Failed to extend file [<path>/ess0001.dat]: a system file error occurred. Please see application log for details.

Solution

This error indicates that the file system is out of space. Essbase can require significant temporary disk storage while performing a data load or aggregate view build. The "default" tablespace is the location where cube data is stored. The "temp" tablespace is where Essbase writes temporary data while building the cube. By default, both tablespaces are on the disk drive where Essbase is installed.

During the operation, the space required by the temp tablespace is at least as big as the resulting change in the database size, so the total free space required is at least twice as big as the resulting change to the database size. For example, loading a database that is 1GB will require at least 2GB of free space. Building 10GB worth of aggregate views will require at least 20GB of free space. Note that after the operation is complete, the files created in the temp tablespace are deleted.

Use one of the following methods to correct this error:

- To correct this error, use MaxL statements to view or change the tablespace settings.

- If the tablespace locations do not have enough free space, consider moving one or both tablespaces to different disk drives, or limit the size of the existing file locations and add new locations on other disk drives. Note that you cannot remove a tablespace location that already contains data.

5 Troubleshooting Oracle Enterprise Scheduler

This chapter describes common problems that you might encounter when using Oracle Enterprise Scheduler and explains how to solve them.

This chapter contains the following topics:

- Introduction to Troubleshooting Oracle Enterprise Scheduler

- Getting Started with Troubleshooting Oracle Enterprise Scheduler Jobs

- Problems and Solutions

To gain insight into the log details generated by Oracle Fusion applications, see the "Troubleshooting Oracle Fusion Applications Using Incidents, Logs, QuickTrace, and Diagnostic Tests" chapter in the Oracle Fusion Applications Administrator's Guide. Also, review the Oracle Fusion Middleware Error Messages Reference for information about the error messages you may encounter.

5.1 Introduction to Troubleshooting Oracle Enterprise Scheduler

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

Guidelines

When using the information in this chapter, Oracle recommends:

- After performing any of the solution procedures in this chapter, immediately retrying the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you see, and data you collect while troubleshooting. If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 5-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 5-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

1

Section 5.2

Get started troubleshooting Oracle Enterprise Scheduler jobs.

2

Section 5.3

Perform problem-specific troubleshooting procedures. This section describes:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

3

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or Oracle Enterprise Scheduler. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

4

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

5.2 Getting Started with Troubleshooting Oracle Enterprise Scheduler Jobs

You may want to troubleshoot the following typical issues that can arise when running Oracle Enterprise Scheduler jobs.

- Asynchronous jobs remain in running state indefinitely.

- An asynchronous job hangs or crashes.

- Oracle Enterprise Scheduler is down when the remote scheduled job completes or there are network problems such that Oracle Enterprise Scheduler does not receive the completion status from the remote job.

- A scheduled job is ready to execute, but does not execute.

- A scheduled job is placed in manual error recovery state where troubleshooting is needed.

- Oracle Enterprise Scheduler is throwing errors.

- A scheduled job ends in error.

For troubleshooting Oracle Enterprise Scheduler, use the standard Oracle WebLogic Server system log. For information about viewing job request logs, see "Managing Logging for Oracle Enterprise Scheduler" in the Oracle Fusion Applications Administrator's Guide. For more information about troubleshooting Oracle Enterprise Scheduler, see the "Troubleshooting Oracle Enterprise Scheduler" chapter in the Oracle Fusion Middleware Administrator's Guide for Oracle Enterprise Scheduler.

Troubleshooting Asynchronous Oracle Business Intelligence Publisher Jobs

When viewed in Fusion Applications Control, a given Oracle Business Intelligence Publisher job includes a direct URL pointing to the Oracle Business Intelligence Publisher server on the Job Details page. Once the Oracle Business Intelligence Publisher job starts running on the Oracle Business Intelligence Publisher server, the scheduled job request attains the property value bip.status_url. This property value holds the URL of the Oracle Business Intelligence Publisher server which is used to diagnose Oracle Business Intelligence Publisher report execution. For more information about viewing job request details, see "Viewing Job Request Details" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Enterprise Scheduler.

Oracle Business Intelligence Publisher jobs are supported only in Oracle Fusion Applications.

5.3 Problems and Solutions

This section describes common problems and solutions for Oracle Enterprise Scheduler. It contains the following topics:

- BI Publisher Job Remains In RUNNING State

- BI Publisher Job States Mismatch with Oracle Enterprise Scheduler States

- Job Never Executes and Goes into ERROR State Immediately

- Job Completes, but Goes into a WARNING state

- Metadata Access Denied Error When Accessing Job Metadata

- Insufficient Privilege Error on Request Error

- Empty Process List in Schedule New Process Dialog

- Slow Display of Job Definition List of Values in Schedule New Process Dialog

In addition to the recommended solutions, consider reviewing the section "Tuning Oracle Enterprise Scheduling Service System Performance" in Oracle Fusion Middleware Administrator's Guide for Oracle Enterprise Scheduler for tuning tips.

5.3.1 BI Publisher Job Remains In RUNNING State

Problem

Oracle Business Intelligence Publisher jobs run on separate computers. In these cases, Oracle Enterprise Scheduler depends on the remote job sending a completion status at end of processing that defines the job outcome. However this message may never get generated due to various reasons. It is required to troubleshoot the native job implementation to resolve.

Solution

To resolve this issue, you must troubleshoot the native job. See Section 5.3.2 for more information.

5.3.2 BI Publisher Job States Mismatch with Oracle Enterprise Scheduler States

Problem

Under normal circumstances, the BI Publisher server state should match the Oracle Enterprise Scheduler job state. However, in case of any BI Publisher job errors, server issues or other network issues, the BI Publisher server state may not match the Oracle Enterprise Scheduler job state.

Solution

It is important to understand that the Oracle Enterprise Scheduler runtime invokes the Oracle BI Publisher web service asynchronously and then needs to wait for it to successfully complete to update the Oracle Enterprise Scheduler job status. Therefore, between the initial web service invocation, there could be various things that could go wrong. The table below lists the typical job life cycle, the potential failure points, and the Oracle Enterprise Scheduler and BI Publisher state values seen at each of those states. Use the table below to debug any state mismatch between the Oracle Enterprise Scheduler job and the BI Publisher server:

Processing Step/Error

Server

Expected ESS Request State

Expected BI Publisher State

Description

1. Oracle Enterprise Scheduler request is in the RUNNING state, calls BI Publisher job

Oracle Enterprise Scheduler

RUNNING

None

2. BI Publisher Oracle Enterprise Scheduler job begins to execute.

Oracle Enterprise Scheduler

RUNNING

None

3. BI Publisher Oracle Enterprise Scheduler job invokes BI Publisher web service.

RUNNING

None

3a. Error calling the web service, for example, the BI Publisherserver is down or crashes while processing the web service.

Oracle Enterprise Scheduler

ERROR_MANUAL_RECOVERY

Could be None or RUNNING, depending on where the crash occurs

An error message is seen in the Oracle Enterprise Scheduler server log and with Oracle Enterprise Scheduler request in Fusion Applications Control. BI Publisher job state depends on why the web service failed. This requires manual recovery.

4. BI Publisher web service creates "BIP Job ID" with RUNNING status, enqueues to JMS, and commits.

BI Publisher

RUNNING

RUNNING

5. BI Publisher Oracle Enterprise Scheduler job finishes after web service processing.

Oracle Enterprise Scheduler

RUNNING

RUNNING

5a. Error in the BI Publisher Oracle Enterprise Scheduler job before returning.

ERROR_MANUAL_RECOVERY

RUNNING

Error message seen in the Oracle Enterprise Scheduler server log and with Oracle Enterprise Scheduler request in Fusion Applications Control. BI Publisher job is running, but Oracle Enterprise Scheduler job that invoked it has failed. This needs manual recovery because the Oracle Enterprise Scheduler job cannot be in a terminal SUCCESS or ERROR state while the BI Publisher job is RUNNING.

5b. Oracle Enterprise Scheduler server crash anywhere during BI Publisher Oracle Enterprise Scheduler job execution (crash during BI Publisher Oracle Enterprise Scheduler job executable call between Steps 2-5).

ERROR_MANUAL_RECOVERY

Could be None or RUNNING, depending on where the crash occurs

Error message seen in the Oracle Enterprise Scheduler server log and with Oracle Enterprise Scheduler request in Fusion Applications Control. It is not known if the web service has been invoked or not, so manual intervention is required.

6. BI Publisher server begins processing the BI Publisher job

BI Publisher

RUNNING

RUNNING

6a. BI Publisher server crashes during processing and restarts

RUNNING to ERROR (See steps 11 through 13)

RUNNING (before restart) to ERROR (after restart)

6b. Job is taking a long time to run

RUNNING

RUNNING

BI Publisher "request job history" UI should show which stage of processing the job is in. When BI Publisher server restarts, it will mark the BI Publisher state as ERROR and then notify Oracle Enterprise Scheduler that the job had an error.

BI Publisher report is successful

7. BI Publisher job completes successfully, BI Publisher sets the BI Publisher job to SUCCESS and commits

BI Publisher

RUNNING

SUCCESS

8. BI Publisher invokes Oracle Enterprise Scheduler web service to notify Oracle Enterprise Schedulerof job completion.

BI Publisher

RUNNING

SUCCESS

8a. Oracle Enterprise Scheduler server is down while BI Publisher makes web service call to notify Oracle Enterprise Scheduler of job completion, other Oracle Enterprise Scheduler servers in the cluster are running.

BI Publisher

See Steps 9 through 10.

SUCCESS

Fusion Applications Control should show that the Oracle Enterprise Scheduler server is down. Service invocation should be routed successfully to another Oracle Enterprise Scheduler server in the cluster.

8b. All Oracle Enterprise Scheduler servers are down while BI Publisher makes web service call to notify Oracle Enterprise Scheduler of job completion.

BI Publisher

RUNNING

SUCCESS

Can detect this case after the Oracle Enterprise Scheduler servers are restarted and the BI Publisher request is SUCCESS while the Oracle Enterprise Scheduler request is RUNNING (or timed out). Job will remain RUNNING and administrator has to cancel and recover request in Fusion Applications Control.

9. Oracle Enterprise Scheduler calls job post-processor.

Oracle Enterprise Scheduler

COMPLETED

SUCCESS

9a. Oracle Enterprise Scheduler job post-processor has an error.

Oracle Enterprise Scheduler

WARNING

SUCCESS

Error message seen in the Oracle Enterprise Scheduler server log and with ESS request in Fusion Applications Control.

10. Oracle Enterprise Scheduler completes the request after post-processing finishes successfully

Oracle Enterprise Scheduler

SUCCESS

SUCCESS

BI Publisher report has error.

Error message seen in the Oracle Enterprise Scheduler server log and with Oracle Enterprise Scheduler request in Fusion Applications Control as well as in BI Publisher console for the job.

11. BI Publisher job completes with error, BI Publisher sets the BI Publisher job to ERROR and commits

BI Publisher

RUNNING

ERROR

12. BI Publisher invokes Oracle Enterprise Scheduler web service to notify Oracle Enterprise Scheduler of job completion

BI Publisher

RUNNING

ERROR

12a. Oracle Enterprise Scheduler server is down while BI Publisher makes web service call to notify Oracle Enterprise Scheduler of job completion, other Oracle Enterprise Scheduler servers in the cluster are running.

BI Publisher

RUNNING

ERROR

See Steps 8a and 8b. BI Publisher retries delivery of the status update in all cases if Oracle Enterprise Scheduler web service invocation fails

13. Oracle Enterprise Scheduler updates request status in the Oracle Database to ERROR

Oracle Enterprise Scheduler

ERROR

ERROR

Request is cancelled.

Note: The timing refers to when the AsyncCancellable method is invoked, not when cancel is initiated. The states in this section assume that if the BI Publisher runs, it runs successfully unless canceled. For more details on Oracle Enterprise Scheduler cancellation, see the "Cancelling Oracle Enterprise Scheduler Job Requests" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Enterprise Scheduler.

14. Request in RUNNING state canceled prior to BI Publisher Oracle Enterprise Scheduler job execution.

CANCELLING to CANCELLED

None

Process phase prior to ExecuteInitiate. Should automatically transition from CANCELLING to CANCELLED.

15. Request canceled during BI Publisher Oracle Enterprise Scheduler job execution before BI Publisher job begins.

CANCELLING to CANCELLED

None

BI Publisher Oracle Enterprise Scheduler job should prevent BI Publisher job from being initiated by having checkpoints in the execute method. On return, request should transition to CANCELLED.

16. Request canceled during BI Publisher Oracle Enterprise Scheduler job execution after BI Publisher job initiated.

CANCELLING to CANCELLED

RUNNING to CANCELLED

BI Publisher Oracle Enterprise Scheduler job execute method can ignore cancel. Cancel() method should attempt to cancel BI Publisher job. BI Publisher job returns status (CANCELLED or other). Request ends up in CANCELLED state.

17. Request canceled while BI Publisher job is running.

CANCELLING to CANCELLED

RUNNING to CANCELLED

Cancel() method should attempt to cancel BI Publisher job. BI Publisher job returns status (CANCELLED or other). Request ends up in CANCELLED state.

18. Request canceled after BI Publisher job, before callback received (when is BI Publisher state set to SUCCESS.)

CANCELLING to CANCELLED

SUCCESS

Cancel() method should attempt to cancel BI Publisher job. BI Publisher job returns status (CANCELLED or other). Request ends up in CANCELLED state.

19. Request canceled after callback received, before post-processor

CANCELLING to CANCELLED

SUCCESS

20. Request canceled while post-processor is running

SUCCESS

SUCCESS

Once post-processing is begun, the cancel operation has no effect.

21. Request canceled after post-processing

SUCCESS

SUCCESS

5.3.3 Job Never Executes and Goes into ERROR State Immediately

Problem

When the user submits a spawn job, it goes into ERROR state immediately.

Solution

To resolve this problem, verify that the RequestFileDirectory directory is created and set up on the server. This directory can be located anywhere. The Oracle WebLogic Server writes and reads from it, so the Oracle Fusion Middleware administration account server can access this directory. If this directory does not exist, all jobs will move to ERROR state. The directory is a shared file system shared across the Oracle Enterprise Scheduler cluster.

To find the RequestFileDirectory value in the Fusion Applications Control:

1. Search the logs to diagnose any specific issues found. See the section "Viewing and Searching Log Files" in the Oracle Fusion Middleware Administrator's Guide.

2. Verify that RequestFileDirectory directory is created:

1. From the navigation pane, expand the farm, WebLogic Domain, and select the Oracle Enterprise Scheduler server.

2. From the WebLogic Server menu, choose System MBean Browser.

3. In the System MBean Browser page, expand Application Defined MBeans.

4. Expand oracle.adf.share.connections, Server: ess_server_name, Application: ESSAPP, ADFConnections, ADFConnections, EssConnection.
Description of the illustration essmbean.gif

5. Click EssConnection1.

6. In the Application Defined MBeans: EssConnection:EssConnection1 page, view the attribute value for RequestFileDirectory.

5.3.4 Job Completes, but Goes into a WARNING state

Problem

Oracle Enterprise Scheduler tries to upload log/output files to Oracle WebCenter Content. If upload fails, the request will be marked to WARNING state.

Solution

To resolve this problem, use Fusion Applications Control:

1. Check that the Oracle WebCenter Content Content Server is up and running.
Oracle WebCenter Content is located in the CommonDomain domain in the Oracle Fusion Setup product family.

1. From the navigation pane, expand the farm, Content Management, and then Content Server.

2. Select the Oracle Universal Content Management - Content Server application for the appropriate Managed Server.

3. In the UCM home page, in the Scheduler Components section, ensure the Request Processor has a status of Started.
If it is not running, start it. See "Starting and Stopping a Request Processor or Dispatcher" in the Oracle Fusion Middleware Administrator's Guide for Oracle Enterprise Scheduler.

4. In the Scheduling Service home page, in the General section, ensure the Content Server has a state of Active.

5. If the state is not Active, from the UCM menu, choose Control > Start.

2. Search and view log records for issues related to Oracle WebCenter Content or attachments. See the "Viewing and Searching Log Files" section in the Oracle Fusion Middleware Administrator's Guide.

3. Check the attachments configuration for the job hosting application is correct:

1. From the navigation pane, expand the farm, Application Deployments.

2. Expand domain_nameEssApp, and then select domain_nameEssApp.
The Application Deployment page displays.

3. From the Application Deployment menu, choose WebCenter > Service Configuration.
The WebCenter Service Configuration page displays.

4. Click Content Repository.

5. In the Manage Content Repository Connection sections, click Edit to view and modify the entry for the FusionAppsContentRepository connection.

5.3.5 Metadata Access Denied Error When Accessing Job Metadata

Problem

When accessing job metadata, users receive a metadata access denied error in the Standard Report Submission, when there is an attempt to submit a job.

Solution

To resolve this problem,

1. Determine the application role that is supposed to have metadata permissions for the job. See the "Mapping External Roles to an Application Role" section in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

2. From Fusion Applications Control, perform the following steps to verify the permissions:

1. In the navigation pane, expand the farm and then WebLogic Server Domain.

2. Select the domain.

3. From the WebLogic Domain menu, choose Security > Application Policies.
The Application Policies page displays.

4. In the Search section, choose the application or application stripe to search, enter the data to match (a principal name or a permission name or both), and click the blue Search application security grants icon. In the results table at the bottom of the page, search the grants for the application role and see if the permissions are granted. If

5. Add the permissions, as described in the "Managing Application Policies" section of the Oracle Fusion Middleware Application Security Guide.

6. Determine the enterprise role that is supposed to map to the application role. See the "Mapping External Roles to an Application Role" section in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

3. From the Oracle WebLogic Server Administration Console, perform the following to steps to determine the enterprise role of the user.

1. From the left pane, from Domain Structure, select Security Realms.

2. On the Summary of Security Realms page select the name of the realm.

3. On the Settings for Real Name page, click the Users and Groups tab to check the user's group.
If you do not find the user, add the user to the group, as described in Step 4.

4. Add the user to the group:

1. In the Users table, select the user you want to add to a group.

2. On the Settings for User Name page select Groups.

3. Select a group or groups from the Available list box:
- To locate a group in a large list, type the first few characters of the name.

- To select multiple groups, Ctrl-click each group.

- To add a user to a group, click the right arrow to move the selection to the Chosen list box.

- To remove a user from a group, select the group in the Chosen list box and click the left arrow.

4. Click Save.

5.3.6 Insufficient Privilege Error on Request Error

Problem

The following error is reported:

User name does not have sufficient privilege to do name operation on request number

Solution

To resolve this problem,

1. Check who submitted the request. A user should be able to operate on the requests submitted. If the login user is not the request submitter, go to Step 2.

2. Use Oracle Authorization Policy Manager to check if the submitter is assigned privileges on the request. See the "Locating Policies Associated with a Database Resource" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition). When using Oracle Authorization Policy Manager, in the Search area of the Manage Database Resources and Policies tab, search for the ESS_REQUEST_HISTORY database resource.

3. Search the policies for the application role that is expected to receive the grants. See "Searching Database Resources" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

4. If the policy or condition is missing, use Oracle Authorization Policy Manager to add them. See the "Managing Database Resource Conditions" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

5. Use Oracle Authorization Policy Manager to check if the submitter is assigned privileges on the request. See the "Searching Database Resources" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

5.3.7 Empty Process List in Schedule New Process Dialog

Problem

When an application user logs into an Oracle Fusion application to schedule a new Oracle Enterprise Scheduler job by using the following procedure and finding no value for the process:

1. Click the Navigator link.

2. Choose Tools > Scheduled Processes.

3. In the Scheduled Processes page, in the Search Results section, click Schedule New Process.

4. In the Schedule New Process dialog, click the arrow button next to the Process Name list and find no values.

This issue is usually the result of a permissions problem.

Solution

To resolve this problem,

1. Check who submitted the request. A user should be able to operate on the requests submitted. If the login user is not the request submitter, go to Step 2.

2. Use Oracle Authorization Policy Manager to check if the submitter is assigned privileges on the request. See the "Locating Policies Associated with a Database Resource" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition). When using Oracle Authorization Policy Manager, in the Search area of the Manage Database Resources and Policies tab, search for the ESS_REQUEST_HISTORY database resource.

3. Search the policies for the application role that is expected to receive the grants. See the "Searching Database Resources" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

4. If the policy or condition is missing, use Oracle Authorization Policy Manager to add them. See the "Managing Database Resource Conditions" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

5. Use Oracle Authorization Policy Manager to check if the submitter is assigned privileges on the request. See "Searching Database Resources" chapter in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

5.3.8 Slow Display of Job Definition List of Values in Schedule New Process Dialog

Problem

When an application user logs into an Oracle Fusion application to schedule a new Oracle Enterprise Scheduler job by using the following procedure and finding slow performance in the list of values.

1. Click the Navigator link.

2. Choose Tools > Scheduled Processes.

3. In the Scheduled Processes page, in the Search Results section, click Schedule New Process.

4. In the Schedule New Process dialog, click the arrow button next to the Process Name list and discover the performance is unacceptably slow.

Solution

To resolve this issue, update the MDS table statistics for the query optimizer to use optimal query plans:

1. Generate Oracle Enterprise Scheduler MDS schema statistics:

BEGIN
dbms_stats.gather_schema_stats(
ownname =>'FUSION_MDS',
METHOD_OPT =>'FOR ALL COLUMNS SIZE AUTO',
CASCADE =>TRUE,
ESTIMATE_PERCENT =>NULL);
END;

2. Flush the shared pool:

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

6 Troubleshooting Oracle Fusion Transactional Business Intelligence

This chapter describes common problems that you might encounter when using Oracle Transactional Business Intelligence and explains how to solve them.

This chapter includes the following topic:

- Diagnosing Oracle Fusion Transactional Business Intelligence Query Problems

6.1 Diagnosing Oracle Fusion Transactional Business Intelligence Query Problems

This section describes how you to use the NQQuery.log file and the AdminServer-diagnostic.log file to diagnose Oracle Transactional Business Intelligence query issues such as ODBC errors, ORA-errors, other database errors, and query performance issues.

The NQQuery.log file is useful for any analysis that uses the BI Server to query the datasource. The NQQuery.log records the logical SQL sent by the Oracle BI Presentation layer to the BI Server layer and the physical or ANSI SQL sent by the BI Server to the datasource.

This section contains the following topics:

- Enabling the NQQuery.log File

- Presentation Services Request Query

- Query Trace

- Physical Query

- Using AdminServer-diagnostic.log File to Troubleshoot Oracle WebLogic Server

- Using View Data to Check the Datasource Connectivity

6.1.1 Enabling the NQQuery.log File

You can enable the NQQuery.log file to diagnose issues that you encounter in Oracle Transactional Business Intelligence queries. Use one of the following methods to enable the NQQuery.log file.

- You can enable query logging from the Oracle BI Administration Tool. For information and procedures about enabling the query log file, see "Managing the Query Log" in the Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

- You can enable the LogLevel system session variable for the repository by accessing the repository and setting the LogLevel system variable to 7. For information and procedures about setting this variable, see "About System Session Variables" section in the Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition (Oracle Fusion Applications Edition).

- If you have administrator permissions, you can log into Presentation Services, access the analysis that you want to troubleshoot, and temporarily change its logging level to 2. This will turn on logging for the analysis even when logging is turned off for all analyses. For more information, see "Setting the Query Logging Level" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.
If you use this method to enable the NQQuery.log file, look for the following:

- An error like "no log found." An error like this indicates that there is a known error. Look in the NQQuery.log file, which contains additional logging.

- The timestamp to help you locate the log entry.

- The logical SQL as shown in the error message. This is the SQL sent by Presentation Services to the BI Server layer.

- The physical SQL related to the above mentioned logical SQL. Search for "physical". The physical SQL is the SQL sent by BI Server through ODBC to the database.

- For any more detailed errors.

Note that the NQQuery.log file is visible (but not searchable) in the Fusion Applications Control Log Viewer.

After enabling query logging, if the BI Server caching is enabled, you must clear the cache before re-executing the analysis so that the NQQuery.log file will contain the correct information. Use the following procedure to perform this task.

To clear the BI Server cache:

1. Log into Presentation Services as an administrator.

2. In the Global Header, click Administration. The Administration page displays.

3. Click Manage Sessions. The Manage Sessions page displays.

4. Scroll to the Cursor Cache section of the page and click the Close All Cursors button.

6.1.2 Presentation Services Request Query

The request query executed from Presentation Services will be shown in the NQQuery.log file as follows:

RqList     0 as c1 GB,    Dim - Procurement Item.Category Name as c2 GB,    Dim
- Procurement Item.Item Description as c3 GB,    # of PO Lines:[DAggr(Fact -
Purchasing - Order.# of PO Lines by [ Dim - Procurement Item.Category Name, Dim
- Procurement Item.Item Description] )] as c4 GBOrderBy: c1 asc, c2 asc, c3 asc

This query trace explains how a measure is calculated. It also shows the logical table source used to render the data. The query should use the logical table sources having priority 5 for the requests executed from the Oracle Transactional Business Intelligence Real Time Subject Areas.

6.1.3 Query Trace

The query trace shows the view object, its view criteria, and its view links that are used to execute the request. See the following:

<ADFQuery mode="SQLBypass" queryid="14604-3902" locale="en"><Parameters></Parameters>
<Projection>
<Attribute><Name><![CDATA[CategoryName]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.
PurchasingItemP]]></ViewObject>
</Attribute>
<Attribute><Name><![CDATA[ItemDescription]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.
PurchasingItemP]]></ViewObject>
</Attribute>
<Attribute><Name><![CDATA[PurchasingDocumentHeaderTypeLookupCode]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.StandardLinePVO]]>
</ViewObject>
</Attribute>
<Attribute><Name><![CDATA[PoLineId]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.StandardLinePVO]>]
</ViewObject>
</Attribute>
<Attribute><Name><![CDATA[ItemNumber]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.PurchasingItemP]]>
</ViewObject>
</Attribute>
</Projection>
JoinSpec>
<ViewObject>
<Name><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.PurchasingItemP]]></Name>
<ViewLink><Name><![CDATA[oracle.apps.prc.po.publicView.analytics.link.
PurchasingDocumentLinePVOToPurchasingItemPVO]]></Name></ViewLink>
</ViewObject>
<ViewObject>
<Name><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.StandardLinePVO]]></Name>
<ViewLink><Name><![CDATA[oracle.apps.prc.po.publicView.analytics.link.
PurchasingDocumentLinePVOToPurchasingItemPVO]]></Name></ViewLink>
</ViewObject>
</JoinSpec>
<DetailFilter>
<ViewCriteria>
<ViewCriteriaRow conjunction="VC_CONJ_AND">
<Attribute><Name><![CDATA[PurchasingDocumentVersionCoSequence]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.StandardLinePVO]]>
</ViewObject>
</Attribute>
<Value><![CDATA[0]]></Value>
<Predicate operator="OPER_EQ"/>
</ViewCriteriaRow>
<ViewCriteriaRow conjunction="VC_CONJ_AND" negated="true">
<Attribute><Name><![CDATA[PurchasingDocumentVersionCoCanceledFlag]]></Name>
<ViewObject><![CDATA[FscmTopModelAM.PrcPoPublicViewAM.StandardLinePVO]]>
</ViewObject>
</Attribute>
<Value><![CDATA[Y]]></Value>
<Predicate operator="OPER_EQ"/>
</ViewCriteriaRow>
</ViewCriteria>
</DetailFilter>
</ADFQuery>

You or the administrator can review the query trace to check that the desired View Objects (VOs) and View Links are executed. The execution of the view objects and view must be based on the Logical model code to render the measure or attributes executed in the request.

6.1.4 Physical Query

The SQL Bypass database should be set up in the repository to send the physical query to the database directly, rather than through the Application Development Framework (ADF) Server. The NQQuery.log file shows the physical query sent to the database if the SQL Bypass database is enabled. See the following excerpt from the log file:

WITH
SAWITH0 AS (select T744257.C501728333 as c1,
T744257.C281594243 as c2,
T744257.C469784899 as c3,
T744257.C168071223 as c4
from
(SELECT V110617254.CATEGORY_NAME AS C501728333,         V110617254.
ITEM_DESCRIPTION
AS C281594243,         V278099157.TYPE_LOOKUP_CODE263 AS C469784899,
V278099157.PO_LINE_ID AS C168071223,         V110617254.ITEM_NUMBER AS
C348883104,         V278099157.CO_SEQUENCE AS C78750419,         V278099157.CO_
CANCELED_FLAG AS C443371219,         V278099157.PO_HEADER_ID1 AS PKA_
PurchasingDocumentHeaderP0,         V278099157.VERSION_ID AS PKA_
PurchasingDocumentVersion0 FROM (SELECT PurchasingDocumentLine.PO_LINE_ID,
PurchasingDocumentHeader.PO_HEADER_ID AS PO_HEADER_ID1,
PurchasingDocumentHeader.TYPE_LOOKUP_CODE AS TYPE_LOOKUP_CODE263,
PurchasingDocumentVersion.CO_CANCELED_FLAG,
PurchasingDocumentVersion.CO_SEQUENCE,
PurchasingDocumentVersion.VERSION_ID,
(DECODE(PurchasingDocumentLine.ITEM_ID, NULL,
DECODE(PurchasingDocumentLine.VENDOR_PRODUCT_NUM, NULL,
(PurchasingDocumentLine.ITEM_DESCRIPTION || '[' || CategoryTranslation.
CATEGORY_NAME || ']'),(PurchasingDocumentLine.VENDOR_PRODUCT_NUM || '[' ||
PurchasingDocumentHeader.VENDOR_ID || ']')),TO_CHAR(PurchasingDocumentLine.
ITEM_ID))) AS ITEM_NAME FROM PO_LINES_ALL PurchasingDocumentLine,
PO_HEADERS_ALL PurchasingDocumentHeader, PO_VERSIONS PurchasingDocumentVersion
WHERE (PurchasingDocumentLine.PO_HEADER_ID = PurchasingDocumentHeader.
PO_HEADER_ID AND PurchasingDocumentHeader.PO_HEADER_ID =
PurchasingDocumentVersion.PO_HEADER_ID) AND ( (
(UPPER(PurchasingDocumentHeader.TYPE_LOOKUP_CODE) = UPPER('STANDARD') ) ) ))
V278099157, (SELECT DISTINCT ( DECODE(PL.ITEM_ID,NULL,DECODE(PL.
VENDOR_PRODUCT_NUM, NULL,(PL.ITEM_DESCRIPTION || '[' || TL1.CATEGORY
_NAME||']'),(PL.VENDOR_PRODUCT_NUM || '[' || PH.VENDOR_ID ||']')), TO
_CHAR(I.ITEM_NUMBER))) AS ITEM_NUMBER,  PL.ITEM_DESCRIPTION,
PL.CATEGORY_ID,TL1.CATEGORY_NAME, DECODE(PL.ITEM_ID, NULL,DECODE
(PL.VENDOR_PRODUCT_NUM, NULL, 'DESCRIPTION BASED ITEMS','SUPPLIER
ITEMS'),'INVENTORY_ITEMS') AS ITEMTYPE  FROM PO_LINES_ALL PL,
EGP_CATEGORIES_TL TL1, PO_HEADERS_ALL PH, PO_SYSTEM_PARAMETERS_ALL SP,
EGP_SYSTEM_ITEMS_B I WHERE PL.CATEGORY_ID=TL1.CATEGORY_ID AND PL.CATEGORY_ID IS
NOT NULL AND PL.PO_HEADER_ID=PH.PO_HEADER_ID AND PL.PRC_BU_ID=SP.PRC_BU_ID AND
I.INVENTORY_ITEM_ID=PL.ITEM_ID) V110617254 WHERE V278099157.ITEM_NAME =
V110617254.ITEM_NUMBER( + ) AND ( ( (V278099157.CO_SEQUENCE = 0 ) )  AND
( NOT ( (V278099157.CO_CANCELED_FLAG = 'Y' ) ) ) )) T744257),
SAWITH1 AS (select D1.c1 as c2,     D1.c2 as c3,
case when D1.c3 = 'STANDARD' then D1.c4 end  as c4
from
SAWITH0 D1), SAWITH2 AS (select D1.c2 as c2,     D1.c3 as c3,
D1.c4 as c4,
ROW_NUMBER() OVER (PARTITION BY D1.c2, D1.c3, D1.c4 ORDER BY D1.c2 DESC,
D1.c3 DESC, D1.c4 DESC) as c5from      SAWITH1 D1),SAWITH3 AS (select
count(distinct case D1.c5 when 1 then D1.c4 else NULL end )
as c1,     D1.c2 as c2,     D1.c3 as c3from SAWITH2 D1
group by D1.c2, D1.c3)
select distinct 0 as c1,     D1.c2 as c2,     D1.c3 as c3,     D1.c1 as c4 from
SAWITH3 D1
order by c2, c3

Use this physical SQL to diagnose which tables, columns joins, and filters are being used by the BI Server to gather data. Table names are aliased (for example, T744257). Search for the table alias in the RPD to find the actual table name. Run the SQL to check whether it works in SQL*Plus.

For performance issues, look for filter columns that are not indexed, and known database performance causes such as NOT IN clauses. Also use Oracle Database Control for performance advice.

The NQQuery.log file also indicates the user who executed the analysis, the timestamp, and the OBI Connection Object used for the analysis. From the Connection Object name, you can refer back to the Oracle BI repository to find the set up properties of the connection, such as whether it uses a native connection or ODBC.

The Oracle BI NQQuery.log file contains detailed BI Server errors, so it is recommended to check this log file. You can access this log file with the Fusion Application Control. The NQQuery.log file shows queries executed at the time of starting the BI Server service. Be sure to check this log for any query failures.

6.1.5 Using AdminServer-diagnostic.log File to Troubleshoot Oracle WebLogic Server

Oracle BI EE gets the view object physical query from the Oracle ADF Server. This query involves the view object query and the security predicate associated to it. You or the administrator need to research the WebLogic Server log file if you suspect an issue in the view object query. You will find this information in the AdminServer-diagnostic.log file. This file is located in the WebLogic Server domain associated to Oracle JDeveloper 11g.

The AdminServer-diagnostic.log file shows the user name, view object, attributes, the view link source and destination entities, and the view criteria for view objects (including security view criteria). In this file you will find the roles associated to the user and the security predicate associated to the roles and users in the roles. This file also shows the composite view object API called for the view object, along with view links and view criteria.

6.1.6 Using View Data to Check the Datasource Connectivity

The BI Server uses the properties in the connection pool object, which is located in the Oracle BI repository. Use the following procedure to confirm that your connectivity is set up correctly.

To confirm that your connectivity is set up correctly:

Note:

This procedure uses the ADF BC Datasource as an example.

1. In the Physical layer of the Administration Tool, expand the database object for the ADF Business Component data source.

2. Right-click a physical table and click View Data.

3. Check that the appropriate data displays. Note that if you have just imported, you may need to check in the new objects before you perform this test.

7 Troubleshooting Oracle Identity Management

Use this chapter to troubleshoot runtime Oracle Fusion Applications problems that may have originated in the Oracle Identity Management and security integration layer. That is: Your Oracle Fusion Applications deployment was operating properly, but stopped doing so, and the cause appears to be related to identity or security integration.

This chapter contains the following topics:

- Introduction to Troubleshooting Oracle Identity Management

- Getting Started with Troubleshooting Oracle Identity Management

- Problems and Solutions

- Additional Information for Troubleshooting Oracle Identity Management

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

In addition to this chapter, review the Oracle Fusion Middleware Error Messages Reference for information about the error messages you may encounter.

7.1 Introduction to Troubleshooting Oracle Identity Management

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

Guidelines

When using the information in this chapter, Oracle recommends:

- Reviewing the various terms and implementations of roles within Oracle Fusion Applications and Oracle Identity Management. For example, a duty role in the context of Oracle Fusion Applications equates to an application role in the context of Oracle Identity Management. See the "Configuring Roles" and "Equivalent Terminology" sections in the Oracle Fusion Applications Administrator's Guide.

- After performing any of the solution procedures in this chapter, immediately retrying the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you see, and data you collect while troubleshooting. If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 7-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 7-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

1

Section 7.2

Get started troubleshooting Oracle Identity Management. The procedures in this section quickly address a wide variety of problems.

2

Section 7.3

Perform problem-specific troubleshooting procedures. This section describes:

- Symptoms of specific Oracle Fusion Applications runtime problems that may have originated in the Oracle Identity Management and security integration layer

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

3

Section 7.4

Get Oracle Identity Management component-specific troubleshooting information. Use this section if you have isolated your problem to a specific Oracle Identity Management component or want to learn more about a component.

4

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or Oracle Identity Management. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

5

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

7.2 Getting Started with Troubleshooting Oracle Identity Management

Start troubleshooting by performing the procedures in this section, as they quickly address a wide variety of problems. If the procedures in this section do not resolve your problem, proceed to Section 7.3.

This section contains the following topics:

- Verifying Oracle Internet Directory Identity Stores Can Perform Look Ups

- Verifying the Security Providers in the Oracle WebLogic Server Domain

- Using Selective Tracing to Troubleshoot Inaccessible Functionality

7.2.1 Verifying Oracle Internet Directory Identity Stores Can Perform Look Ups

When using Oracle Internet Directory as the identity store, it must be configured to index the displayName attribute. If Oracle Internet Directory is not configured to index the displayName attribute, operations that require looking up users and roles in the identity store will fail.

To verify an Oracle Internet Directory identity store is configured to index the displayName attribute:

1. Invoke Oracle Directory Services Manager and connect to the Oracle Internet Directory identity store instance. Refer to the "Invoking Oracle Directory Services Manager" and "Connecting to the Server from Oracle Directory Services Manager" sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory for more information.

2. Click Schema on the Oracle Directory Services Manager task selection bar.

3. Expand the Attributes area of the navigation panel, enter displayName in the search field, and click the Go (>) button to search for the displayName attribute.

4. Click the displayName attribute in the search results. The configuration details for the displayName attribute appear in the main screen.

5. Verify the Indexed option is selected (checked) in the configuration details.
If the Indexed option is not selected, click the attribute will be cataloged/decataloged button below the search field in the navigation tree.

Refer to the "Adding an Index to an Existing Attribute by Using Oracle Directory Services Manager" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory for more information.

7.2.2 Verifying the Security Providers in the Oracle WebLogic Server Domain

Small configuration errors in the security providers for the Oracle WebLogic Server domain, such as in the Identity Asserters and Authenticators, frequently are the cause of runtime problems. Use the information in this section to quickly verify a few key security provider settings, including:

- The order of providers, which determines the authentication sequence.

- JAAS Control Flags, which determine how the authentication sequence uses the providers.

- Connection, cache, and user and group lookup settings for the identity store's LDAP Authenticator.

To verify configuration settings for the security providers in the Oracle WebLogic Server domain:

1. Log in to the Oracle WebLogic Server Administration Console by referring to the "Starting the Administration Console" section in the Oracle Fusion Middleware Introduction to Oracle WebLogic Server document.

2. Click Security Realms in the Domain Structure area on the left side of the Administration Console Home Page. The Summary of Security Realms screen appears.

3. Click the name of the appropriate security realm in the Realms table. The Settings for REALM_NAME screen appears.

4. Click the Providers > Authentication tabs. The configured providers appear in the Authentication Providers table.

Verifying the Order of Providers

The security providers must be configured in the following order, where number 1 in the following list is at the top of the Authentication Providers table:

1. Oracle Access Manager Identity Asserter

2. LDAP Authenticator for the identity store: Either the Oracle Internet Directory Authenticator or Oracle Virtual Directory Authenticator, depending on the LDAP server used as the identity store.

If needed, you can reorder the security providers by performing the following steps from the Settings for REALM_NAME screen:

1. Click Reorder.

2. Select a provider and use the arrow buttons to move it up or down in the order.

3. Click OK.

Verifying JAAS Control Flags

The JAAS Control Flags for the security providers must be set as shown in Table 7-2. Perform the following steps to view, and if needed, edit the JAAS Control Flags.

From the Settings for REALM_NAME screen:

1. Click the provider name in the Authentication Providers table.

2. Click the Configuration > Common tabs.

3. Examine the Control Flag setting and adjust it as needed.

4. Click Save.

Table 7-2 Required JAAS Control Flags for Security Providers

Security Provider

Required JAAS Control Flag

Oracle Access Manager Identity Asserter

Required

LDAP Authenticator for the identity store:

- Oracle Internet Directory Authenticator
or

- Oracle Virtual Directory Authenticator

Sufficient

Verifying Settings for the Identity Store's LDAP Authenticator

Table 7-3 lists settings for the identity store's LDAP Authenticator that you should verify. Perform the following steps on either the Oracle Internet Directory Authenticator or the Oracle Virtual Directory Authenticator, depending on the LDAP server you are using for the identity store.

From the Settings for REALM_NAME screen:

1. Click the appropriate authenticator in the Authentication Providers table.

2. Click the Configuration > Provider Specific tabs.

3. Examine the settings and adjust as needed.

4. Click Save.

Note:

You can get more information about each of the settings listed in Table 7-3 by clicking More Info... next to each setting in the Oracle WebLogic Server Administration Console.

Table 7-3 Settings to Verify in the Identity Store's LDAP Authenticator

Setting

Verification to Perform

Connection settings

Double-check all to ensure accuracy. Pay particular attention to the Host value, which can contain misspelled strings.

User Name Attribute

Regardless of which attribute is set, the same attribute must be used to specify the user name in the All Users Filter and User From Name Filter settings.

All Users Filter and User From Name Filter

The user name attribute used in both of these settings must be the attribute configured for the User Name Attribute setting.

Use Retrieved User Name as Principal

Must be enabled (checked).

Static Group Name Attribute

Regardless of which attribute is set, the same attribute must be used to specify the group name in the All Groups Filter and Group From Name Filter settings.

All Groups Filter and Group From Name Filter

The attribute used to specify the group name in these two settings must be the same attribute configured for the Static Group Name Attribute setting.

Cache Enabled

If enabled, examine the value of the Cache TTL setting.

Cache TTL

Examine to ensure an appropriate value is set. If you perform an operation that fails, wait for the amount of time specified by the Cache TTL to elapse and then retry the failed operation. This will ensure the authenticator's cache has been refreshed and any recent configuration changes have been activated.

7.2.3 Using Selective Tracing to Troubleshoot Inaccessible Functionality

When Oracle Fusion Applications users cannot access a particular functionality, for example, they attempt to log in to an application and are denied access or see an unexpected view of the application, often it is because they are not authorized to access that functionality. In these situations, you can use the Selective Tracing feature in Fusion Applications Control to collect data specific to the user and request, then collaborate with the security administrator to compare it against the configured authorizations.

To use Selective Tracing to troubleshoot inaccessible functionality:

1. Update the domain's environment setup script by performing one of the following steps that is appropriate to your environment:
On Linux/UNIX systems, add the text shown in Example 7-1 to the bottom of the DOMAIN_HOME/bin/setDomainEnv.sh file:

Example 7-1 Updating the Domain's Environment Setup Script on Linux/UNIX Systems

JAVA_OPTIONS="-Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager ${JAVA_OPTIONS}"
export JAVA_OPTIONS
FMWCONFIG_CLASSPATH=${FMWCONFIG_CLASSPATH}${CLASSPATHSEP}${ORACLE_COMMON_HOME}/modules/oracle.odl_11.1.1/ojdl.jar
export FMWCONFIG_CLASSPATH

On Windows systems, add the text shown in Example 7-2 to the bottom of the DOMAIN_HOME\bin\setDomainEnv.cmd file:

Example 7-2 Updating the Domain's Environment Setup Script on Windows Systems

set JAVA_OPTIONS=-Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager %JAVA_OPTIONS%
set FMWCONFIG_CLASSPATH=%FMWCONFIG_CLASSPATH%;%ORACLE_COMMON_HOME%\modules\oracle.odl_11.1.1\ojdl.jar

2. Log in to Fusion Applications Control by referring to the "Starting Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

3. Navigate to the appropriate domain, then select Logs > Selective Tracing from the domain menu. The Selective Tracing page appears.

4. Click the Tracing Options tab, configure the following settings, and click Start Tracing to generate the selective trace:

- Option Name: Select User Name from the list and enter the name of the user that cannot access functionality.

Note:

While this procedure describes troubleshooting inaccessible functionality by selective tracing on a user name, you can also use the other options in the Option Names list for troubleshooting purposes.

- Level: Select TRACE:32 (FINEST).

- Description: Enter a description that will help you identify the trace results, such as: USER_NAME cannot access functionality.

- Duration: Enter the number of minutes the selective trace will run.

- Trace ID: Select Generate a New Unique Trace ID. Optionally, you can select Use a Custom Trace ID and enter an ID, but note that Fusion Middleware Control does not verify the uniqueness of Custom Trace ID strings.

- Loggers: Oracle recommends enabling the following loggers for troubleshooting inaccessible functionality:

Note:

To quickly locate a specific logger, enter the logger name or a string in the logger name in the field above the list of loggers and press return.

- oracle.jps.authorization

- oracle.jps.common

- oracle.security.jps.az.internal.runtime.policy.AbstractPolicyImpl

- oracle.security.jps.internal.policystore.JavaPolicyProvider

- oracle.security.jps.internal.policystore.ldap.BulkAuthorizer

- oracle.security.jps.trace.logger

- oracle.security.jps.util.JpsAuth

Note:

Refer to the "Debugging the Authorization Process" section in the Oracle Fusion Middleware Application Security Guide for information about system properties you can enable for extremely fine grained authorization debugging.

5. Instruct the user that cannot access functionality to try and access it again. Now that you have enabled Selective Tracing for that user, you will collect data specific to that user and the request.

6. Access the results from the selective trace by clicking the Active Traces And Tracing History tab and selecting the trace from either the Active Traces or Tracing History table. If the number of minutes that you specified in the Duration option has elapsed, the trace will be in the Tracing History table. If you provided a description for the selective trace, look for it in the Description column.

7. Provide the trace results to the Security Administrator.

Note:

Typically, the Security Administrator performs the remaining steps in this procedure.

8. Locate the Failed ProtectionDomain string and its corresponding resourceName=, resourceType=, and Principal= strings in the trace results. These strings will provide information about the user and the inaccessible resource. As shown in Example 7-3, the user named user1 was denied access to the resource named ResourceNameX:

Example 7-3 Failed ProtectionDomain String in Sample Selective Tracing Results

PolicyContext: [JeeScenarioApp]
Resource/Target: [resourceType=TaskFlowResourceType,resourceName=ResourceNameX]
Action:[read]
Permission Class: [oracle.security.jps.ResourcePermission]
Result:            [FAILED]
Evaluator:         [ACC]
FailedProtectionDomain:ClassLoader=weblogic.utils.classloaders.ChangeAwareClassLoader
@c7cee9finder:weblogic.utils.classloaders.CodeGenClassFinder@a05da2 annotation: JeeScenarioApp@jeescenario
CodeSource=file:/somepath/wls-jrfServer/servers/jrfServer_admin/tmp/
_WL_user/JeeScenarioApp/gw8m4w/war/WEB-INF/lib/_wl_cls_gen.jar
Principals=total 5 of principals(
1. weblogic.security.principal.WLSUserImpl "user1"
2. JpsPrincipal:
oracle.security.jps.internal.core.principals.JpsAuthenticatedRoleImpl "authenticated-role"
GUID=null DN=null
3. JpsPrincipal:
oracle.security.jps.service.policystore.ApplicationRole "basic_role1"
GUID=734342D04A2811E0AF671B4A95E1598C DN=cn=basic_role1,cn=Roles,cn=JeeScenarioApp,cn=testfarm_
wilu_mlr6,cn=JPSContext,cn=jpsroot
4. JpsPrincipal:
oracle.security.jps.service.policystore.ApplicationRole "myrole2"
GUID=738C80D04A2811E0AF671B4A95E1598C DN=cn=myrole2,cn=Roles,cn=JeeScenarioApp,cn=testfarm_wilu_
mlr6,cn=JPSContext,cn=jpsroot
5. JpsPrincipal:
oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl "anonymous-role" GUID=null
DN=null)
Permissions=(
(oracle.security.jps.service.credstore.CredentialAccessPermission
context=SYSTEM,mapName=default,keyName=* read,write)
(oracle.security.jps.service.policystore.PolicyStoreAccessPermission
Context:SYSTEM Context Name:null Actions:getConfiguredApplications)
(oracle.security.jps.service.policystore.PolicyStoreAccessPermission
Context:APPLICATION Context Name:* Actions:getApplicationPolicy)
(oracle.security.jps.service.policystore.PolicyStoreAccessPermission
Context:SYSTEM Context Name:null Actions:*)
(oracle.security.jps.service.policystore.PolicyStoreAccessPermission
Context:APPLICATION Context Name:* Actions:*)
(java.io.FilePermission file2.txt read)
(java.io.FilePermission file2.txt write)
(java.io.FilePermission file1.txt read)
(java.util.PropertyPermission line.separator read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission java.vendor read)

9. Use Oracle Authorization Policy Manager to search for configured security policies that contain the resource and resource type listed in the trace results (look for resourceName= and resourceType=). In Example 7-3, you would search for configured security polices that contain the resource named ResourceNameX that is of the type TaskFlowResourceType.

Refer to "Searching for Security Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information on how to use Oracle Authorization Policy Manager to search for policies based on resources.

Note:

After identifying the relevant security policies using the "Finding Application Policies that Match Entitlements or Resources" procedure, you will be able to identify the principals and actions granted in each of those configured security policies.

10. Compare the security policies identified by the search in Step 9 against the relevant Failed ProtectionDomain strings in the trace results. Specifically, for each of the security policies, compare the granted actions and principals as follows:

1. Ensure the action granted in the security policies is the same action listed for the Failed ProtectionDomain string in the trace results. In Example 7-3, you would ensure the security policy is granting the read action (identified by Action:[read] in the trace).
If the action for the Failed ProtectionDomain string is granted in the configured security policy, proceed to Step b.

If the action for the Failed ProtectionDomain string is not granted in the security policy, compare the action against all security policies identified by the search in Step 9.

2. Ensure the principals granted in the security policies are the same principals listed for the Failed ProtectionDomain string (identified by Principals=).

If the principals configured in the security policy are application roles or external roles and they are not listed in the Failed ProtectionDomain string, use Oracle Authorization Policy Manager to determine if the roles are mapped to the relevant user.

Note:

Be sure to consult your organization's security policies and the Oracle Fusion Applications security reference manuals before altering any aspect of the configured security policies, as it is possible the user is intentionally unauthorized to access the particular functionality.

You can access the Oracle Fusion Applications security reference manuals in the Oracle Fusion Applications Technology Documentation Library.

If both the actions and principals granted in the security polices are consistent with the authorization request (as identified in the trace), examine Oracle Platform Security Services' cache refresh setting by referring to the problem and solution described in Section 7.3.2.1 of this chapter.

7.3 Problems and Solutions

Use the information in this section if the solution procedures in Section 7.2 did not resolve your problem. This section describes symptoms of specific Oracle Fusion Applications runtime problems that may have originated in the Oracle Identity Management and security integration layer, possible causes of the problems, and solution procedures corresponding to each of the possible causes.

For problems that contain multiple possible causes, the most probable cause and its corresponding solution are listed first. If multiple possible causes are listed, perform the first solution procedure and then retry the failed task. If the problem persists after retrying the failed task, perform the second solution procedure in the topic and then try the failed task again. Repeat this process while proceeding down the list of solution procedures until the problem is resolved.

This section contains the following topics:

- Problems and Solutions for Missing or Incorrect Data

- Problems and Solutions for Accessing Functionality

- Problems and Solutions for Managing Users

- Problems and Solutions for Managing Roles

- Problems and Solutions for Managing Keystores and Certificates

- Problems and Solutions for Identity Propagation Using SAML

- Problems and Solutions for Logging in to Secured Resources

Notes:

When looking in this section for the problem you encountered, be sure to examine all topics, as many problems fit into multiple topics. For example, while the problem of not being able to see application role hierarchies resides in the topic about managing roles, it could also reside in the topic about missing or incorrect data.

7.3.1 Problems and Solutions for Missing or Incorrect Data

This section describes problems and solutions related to missing or incorrect data. This section contains the following topics:

- LDAP Changes Not Reconciled in Oracle Identity Manager

- Data is Missing After Migrating or Patching the Policy Store

- Administrator Search for Database Resources Returns No Results

- Data is Missing or Incorrect in a Portlet

7.3.1.1 LDAP Changes Not Reconciled in Oracle Identity Manager

LDAP changes to an Oracle Internet Directory identity store are not getting reconciled into Oracle Identity Manager.

Problem

The problem may be the Oracle Internet Directory identity store is not configured to generate change logs.

Solution

To verify change log generation is enabled for an Oracle Internet Directory identity store:

Note:

If you have multiple Oracle Internet Directory identity store instances, perform this procedure on all of them.

1. Log in to Fusion Applications Control by referring to the "Starting Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

2. Navigate to the appropriate Oracle Internet Directory instance. In the Target Navigation Pane, expand the Domain > Identity and Access entries. Alternatively, from the domain home page, expand the Fusion Middleware > Identity and Access entries. Oracle Internet Directory instances are listed in both locations. To view the full name of a instance, move the mouse over the instance name.

3. Verify change log generation is enabled. If change log generation is disabled, you must enable it. Refer to the "Enabling or Disabling Change Log Generation by Using Fusion Middleware Control" section of the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory.

7.3.1.2 Data is Missing After Migrating or Patching the Policy Store

After migrating or patching the Oracle Platform Security Services policy store, data that was once available is now missing. This issue may be encountered after the policy store is:

- Migrated from the baseline ("out-of-the-box") jazn-data.xml file policy store to an Oracle Internet Directory instance.

- Migrated from one environment to another, such as moving from a test environment to a production environment.

- Patched using Oracle Authorization Policy Manager.

Problem

The problem may be the application role GUIDs in the Oracle Fusion Data Security repository are not identical to their corresponding application role GUIDs in the Oracle Platform Security Services policy store.

Solution

Run the oracle.apps.fnd.applcore.dataSecurity.util.DSDataMigrator java program to reconcile the application role GUIDs from the Oracle Platform Security Services policy store (which is the "source of truth" repository) to the Oracle Fusion Data Security repository.

Backing Up the fnd_grants Table in the Oracle Fusion Data Security Repository

The DSDataMigrator program modifies only the fnd_grants table, which is Virtual Private Database (VPD) enabled. Before running the program, as sys user, back up the existing fnd_grants table in the Oracle Fusion Data Security repository. For example:

$sqlplus sys as sysdba
create table FUSION.FND_GRANTS_OLD as select * from FUSION.FND_GRANTS;

Running the DSDataMigrator Program

To run the oracle.apps.fnd.applcore.dataSecurity.util.DSDataMigrator java program, the following JAR files must be added to the classpath:

MW_HOME/ATGPF_HOME/atgpf/modules/oracle.applcore.model_11.1.1/Common-Model.jar
MW_HOME/ATGPF_HOME/atgpf/modules/oracle.applcore.model_11.1.1/DataSecurity-Model.jar
MW_HOME/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar
MW_HOME/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar
MW_HOME/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar
MW_HOME/oracle_common/modules/oracle.adf.share_11.1.1/jsp-el-api.jar
MW_HOME/oracle_common/modules/oracle.adf.businesseditor_11.1.1/adf-businesseditor.jar
MW_HOME/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar
MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-manifest.jar
MW_HOME/modules/javax.jsp_1.2.0.0_2-1.jar
MW_HOME/oracle_common/modules/oracle.mds_11.1.1/mdsrt.jar
MW_HOME/oracle_common/modules/oracle.javatools_11.1.1/resourcebundle.jar
MW_HOME/oracle_common/modules/oracle.javatools_11.1.1/javatools-nodeps.jar
MW_HOME/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc5.jar

Note:

If the classpath is set in the shell, you can run the program from the command line using only the necessary arguments.

The syntax to run the DSDataMigrator java program is:

java -classpath $CLASSPATH \
-Doracle.security.jps.config=Path_to_jps-config-jse.xml_file \
oracle.apps.fnd.applcore.dataSecurity.util.DSDataMigrator \
-dsdburl URL_to_Oracle_Fusion_Data_Security_repository \
-dsdbuser user_name_for_Oracle_Fusion_Data_Security_repository \
-silentMode [true | false] -forceProcessAllRows [true | false] \
-policyStripe [crm | fscm | hcm]

Note:

To see usage instructions, execute the following command:

java oracle.apps.fnd.applcore.dataSecurity.util.DSDataMigrator

Parameters

The DSDataMigrator program supports the following parameters:

- oracle.security.jps.config: Identifies the path to the jps-config-jse.xml file that the DSDataMigrator program will use. For example:
COMMON_DOMAIN/config/fmwconfig/jps-config-jse.xml

Note:

The jps-config-jse.xml file must have credentials for both the identity store and policy store—not just the policy store.

- FND_DS_GUID_RECON_LOG_DIR: Identifies the output directory for the program's log. For example: -DFND_DS_GUID_RECON_LOG_DIR=/tmp

Arguments

The DSDataMigrator program supports the following arguments:

- silentMode: Set to true if you do not want exceptions to be raised when an entry is not found in the Oracle Platform Security Services policy store.

- forceProcessAllRows: Set to true if you want to process all the rows in the policies table. By default, only rows where compile_flag=Y are processed.

- policyStripe: Identifies the policy stripe to process. Valid values are: crm, fscm, and hcm. If the policyStripe argument is not specified, all policy stripes and identity store data security role policies are processed.

- idStoreOnly: Set to true if you want to process only data security policies made to enterprise roles. If idStoreOnly is set to true, the policyStripe argument is ignored.

7.3.1.3 Administrator Search for Database Resources Returns No Results

A user with administrator privileges uses Oracle Authorization Policy Manager to search for database resources, but the search does not find any.

Problem

The problem may be data security policies that govern data security administration do not exist in the Oracle Fusion Data Security repository.

Solution

To troubleshoot this issue:

1. Use Oracle Authorization Policy Manager to verify the following application roles are mapped to the external roles of the user performing the search. Refer to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information.

- APM_CRM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_HCM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_FSCM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_FND_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

Note:

- If the application roles are mapped to the external roles of the user performing the search, go to Step 2.

- If the application roles are not mapped to the external roles of the user performing the search, use Oracle Authorization Policy Manager to map them to the user's external roles and then go to Step 2.

2. Determine whether data security policies that govern data security administration exist in the Oracle Fusion Data Security repository. Log in to Oracle Authorization Policy Manager as a user with the Application Developer external role and search for the following roles. Ensure that data security policies for the roles exist on the FND_OBJECTS object and that the policies have not expired.

- APM_CRM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_HCM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_FSCM_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

- APM_FND_APPLICATION_OBJECTS_DATA_ADMINISTRATION_DUTY

If the policies do not exist in the Oracle Fusion Data Security repository, use Oracle Fusion Functional Setup Manager to upload the Applications Core data security seed data to the Oracle Fusion Data Security repository. See the "Using Oracle Fusion Functional Setup Manager" section in the Oracle Fusion Applications Administrator's Guide for more information about using Oracle Fusion Functional Setup Manager.

7.3.1.4 Data is Missing or Incorrect in a Portlet

After logging in to an Oracle Fusion Applications portlet, the data the user expects to see is missing or incorrect.

Problem

The problem may be:

- The application user session was not propagated to the portlet.

- The application user session was not created using the portlet's application stripe and Applications Core did not compute the application roles for the portlet's application stripe.

Solution

To troubleshoot this situation:

1. Log out of the portlet, and then log in again.

2. Execute the following diagnostic tests. See the "Searching for Diagnostic Tests by Name or by Categorization Tag" section in the Oracle Fusion Applications Administrator's Guide for more information about running diagnostic tests.

- Data Security Configuration

- Data Security Configuration with Application User Session Prerequisite

- Data Security Run Time

- Data Security Run Time with Application User Session Prerequisite

7.3.2 Problems and Solutions for Accessing Functionality

This section describes problems and solutions related to accessing functionality. This section contains the following topics:

- Inappropriate User Access After Enterprise Role Membership Removal

- Newly Created User Does Not Have Correct Access to Oracle Fusion Applications

- After Logging Out, Access to a Secured Resource is Granted Without Logging in

- Authenticated User Gets Unexpected Page when Accessing a Different Secured Resource

- Support Representative Cannot Impersonate an Oracle Fusion Applications User

- Unauthenticated User Gets Error Page when Accessing a Secured Resource

7.3.2.1 Inappropriate User Access After Enterprise Role Membership Removal

After removing an enterprise role's membership to an application role using Oracle Authorization Policy Manager, access to the application is still being granted.

Problem

Oracle Platform Security Services optimizes the authorization process by caching security artifacts. When an application policy (or some other security artifact) is modified, the change becomes effective depending on where the application and the tool used to modified the artifact (Oracle Authorization Policy Manager in this case) are running.

If the application and the tool (Oracle Authorization Policy Manager) are running on different hosts or in different domains, the change becomes effective after the policy store cache is refreshed. The frequency of the cache refresh is determined by the value of the Refresh Polling Time (secs) parameter in Fusion Middleware Control.

Depending on the configuration, access to the application may have been granted (despite the removal of the enterprise role membership to the application role) because the Oracle Platform Security Services cache was not refreshed before the application was accessed.

Refer to the "Caching and Refreshing the Cache" and "An Example" sections in the Oracle Fusion Middleware Application Security Guide for more information about authorization behavior relating to the Oracle Platform Security Services cache.

Solution

To examine the refresh interval for Oracle Platform Security Services' cache:

1. Log in to Fusion Applications Control by referring to the "Starting Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

2. Click the name of the appropriate domain in the target navigation pane on the left side of the screen.

3. Select Security > Security Provider Configuration from the domain menu at the top of the screen. The Security Provider Configuration screen appears.

4. Select the Policy Store Credential Store Keystore entry in the Security Stores table and click Edit. The Edit Security Provider Configuration screen appears.

5. Examine the value set for the Refresh Polling Time (secs) parameter.

6. Wait for the amount of time specified by the Refresh Polling Time (secs) parameter to elapse, then retry the use case. This will ensure that the policy store cache has been refreshed and any recent changes to policies are effective.

7.3.2.2 Newly Created User Does Not Have Correct Access to Oracle Fusion Applications

After creating a new user and external role using Oracle Fusion Human Capital Management, then granting duty roles to that user using Oracle Authorization Policy Manager, the user cannot log in and perform its granted duties.

Problem

The problem may be:

- The user does not exist in the identity store.

- The user to external role membership does not exist in the identity store.

- The Oracle Internet Directory Authenticator's cache or Oracle Platform Security Services' cache has not yet been refreshed.

- Oracle Identity Manager and Oracle Authorization Policy Manager are not configured to use the same identity store or their connection settings to identity store are incorrect.

Solution 1

To verify the user exists in the identity store, use Oracle Directory Services Manager to examine the container in the identity store where users are stored, such as cn=users,dc=us,dc=oracle,dc=com.

Refer to the following for more information about examining identity store containers.

If Oracle Internet Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Displaying Entries by Using Oracle Directory Services Manager"

If Oracle Virtual Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

Solution 2

To verify the user to external role membership exists in the identity store:

1. Verify the user exists in the identity store. Use Oracle Directory Services Manager to examine the container in the identity store where users are stored, such as cn=users,dc=us,dc=oracle,dc=com.

2. Verify the external role exists in the identity store. Use Oracle Directory Services Manager to examine the container where enterprise roles are stored, such as cn=groups.

3. Verify the user is a member of the external role. Use Oracle Directory Services Manager to confirm uniqueMember is an attribute of the external role.

4. Use Oracle Authorization Policy Manager to verify the external role is mapped to the appropriate application role. Perform a simple search on the application role, open it, and click the External Role Mapping tab. Refer to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information.

Solution 3

To troubleshoot the Oracle Internet Directory Authenticator's cache and Oracle Platform Security Services' cache:

1. Examine the Oracle Internet Directory Authenticator's cache settings by referring to Section 7.2.2.

2. Examine Oracle Platform Security Services' cache refresh setting by referring to the problem and solution described in Section 7.3.2.1 of this chapter.

Note:

Wait for the caches to be refreshed before retrying any failed task or operation.

Solution 4

To verify Oracle Identity Manager and Oracle Authorization Policy Manager are configured to use the same identity store and their connection settings to identity store are correct:

1. Identify the identity store that Oracle Identity Manager is using by performing the following steps:

1. Log in to the Advanced view of the Oracle Identity Manager Administrative and User Console. You can access the Advanced view by entering a URL similar to the following into a web browser:

http://HOST:PORT/oim/admin/

2. Click Manage IT Resource. The Manage IT Resource screen appears.

3. Enter Directory Server in the IT Resource Name field or select Directory Server from the IT Resource Type list and click Search. The search results appear at the bottom of the screen.

4. Click the Directory Server link in the search results. The configuration details for the identity store appear. Examine and make a note of the connection settings to the identity store.

2. Identify the identity store that Oracle Authorization Policy Manager is using by examining the connection settings configured for the LDAP Authenticators in the Oracle WebLogic Server domain. To examine the LDAP Authenticators' configuration, refer to Section 7.2.2.

7.3.2.3 After Logging Out, Access to a Secured Resource is Granted Without Logging in

After logging out of a resource secured by Oracle Access Manager and then attempting to access a different secured resource, access is granted without a login page appearing.

Note:

Oracle Platform Security Services manages logouts for Oracle Fusion Applications by providing the configured logout URL (typically the Oracle Access Manager logout URL) to Oracle Application Development Framework for redirection. Oracle Access Manager then sets the session status to logged out.

Problem

The problem may be:

- Oracle Access Manager's user session was not removed during logout.

- Oracle Platform Security Services is not configured with the correct Oracle Access Manager logout URL.

Solution 1

Perform either of the following steps to determine whether Oracle Access Manager's user session was removed during logout:

- Examine the cookies in the user's browser. Oracle Access Manager's OAM_ID session cookie should not be present, as it gets deleted from the browser upon logout.

- Use the Oracle Access Manager Administration Console's Session Management functionality to examine the active sessions. Search on the user to see if any of its sessions are active.
Refer to the "Logging In to the Oracle Access Manager 11g Administration Console" and "Managing Active User Sessions" sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

Solution 2

To verify Oracle Platform Security Services is configured with the correct Oracle Access Manager logout URL:

1. Log in to Fusion Applications Control by referring to the "Starting Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

2. Select the appropriate domain from the target navigation pane or the content pane.

3. Select Security > Security Provider Configuration from the domain menu. The Security Provider Configuration page appears.

4. Expand the Single Sign-On Provider area if it is not already expanded and click the Configure button. The Single Sign-On Provider page appears.

5. Select the Configure Single Sign-on option. All settings on the Single Sign-On Provider page are invisible until you select the Configure Single Sign-on option.

6. Examine the value set in the Logout URL field.

7.3.2.4 Authenticated User Gets Unexpected Page when Accessing a Different Secured Resource

After successfully logging in to and working on a resource secured by Oracle Access Manager and then attempting to access a different secured resource, an unexpected page, such as Not Authorized, blank (empty), corrupted, or 500 error, appears.

Problem

The problem may be Oracle Access Manager's ObSSOCookie and OAM_ID cookies are not in the user's browser. The ObSSOCookie and OAM_ID cookies are encrypted, single sign-on, session-based cookies generated by the Oracle Access Manager Access Server when a user authenticates successfully.

Solution

To verify Oracle Access Manager's ObSSOCookie and OAM_ID cookies are in the user's browser:

1. Display the cookies in the user's browser.

2. Locate Oracle Access Manager's ObSSOCookie and OAM_ID session cookies.

If the ObSSOCookie and OAM_ID cookies are not in the user's browser:

- Examine the browser's security settings, as they may be too high and preventing cookies from being accepted

- Add the Oracle Fusion application's domain to the browser's exception list

7.3.2.5 Support Representative Cannot Impersonate an Oracle Fusion Applications User

A Support (Help Desk) representative attempts to log in to a resource secured by Oracle Access Manager and impersonate an Oracle Fusion Applications user, but cannot do so.

Problem

The problem may be the user that the Support representative is attempting to impersonate has not granted the privilege to be impersonated or the privilege has expired.

Solution

To verify that the user has granted the privilege to be impersonated and that the privilege is active:

1. Use Oracle Directory Services Manager to locate the account of the user to be impersonated in the identity store. Look in the container where users are stored, such as cn=users,dc=us,dc=oracle,dc=com.
Refer to the following for more information about examining identity store containers.

If Oracle Internet Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Displaying Entries by Using Oracle Directory Services Manager"

If Oracle Virtual Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

2. Verify the user has granted the privilege to be impersonated by examining the user's account for the orclImpersonationGrantee attribute.

- If the user's account does not have the orclImpersonationGrantee attribute, the user has not granted the privilege to be impersonated.

- If the user's account has the orclImpersonationGrantee attribute, ensure the privilege has not expired. The orclImpersonationGrantee attribute will be in a format such as:

EEA958988E344BF49740CF00DF9B0421|20110124170000Z|20110124180000Z

- EEA958988E344BF49740CF00DF9B0421 is the GUID of the impersonator.

- 20110124170000Z is the date on which impersonation can begin

- 20110124180000Z is the expiration date for the impersonation privilege

Note:

The date strings in the orclImpersonationGrantee attribute use the Coordinated Universal Time (UTC) standard and are of the form: yyyyMMddHHmmss'Z'

7.3.2.6 Unauthenticated User Gets Error Page when Accessing a Secured Resource

While attempting to access a resource secured by Oracle Access Manager, an unauthenticated user gets an error page instead of the login page.

Problem

The problem may be:

- The Oracle HTTP Server Web servers front-ending the Oracle Fusion application are not running.

- The Managed Servers where Oracle Access Manager is deployed or the requisite Oracle Access Manager services are not running.

Solution 1

To verify the Oracle HTTP Server Web servers front-ending the Oracle Fusion application are running:

1. Connect to a page provided by Oracle Identity Manager. If Oracle Identity Manager is front-ended by Oracle HTTP Server or a load balancer, use the following URL:

http(s)://FRONTEND_HOST:FRONTEND_PORT/admin/faces/pages/accountlocked.jspx

If Oracle Identity Manager is not front-ended by Oracle HTTP Server or a load balancer, use the following URL:

http(s)://OIM_MANAGED_SERVER_HOST:PORT/admin/faces/pages/accountlocked.jspx

2. Connect to any public page provided by an Oracle Fusion application through Oracle HTTP Server. For example:

http(s)://ORACLE_HTTP_SERVER_FRONTEND_HOST:PORT/fa/app/index.jsp

If you cannot access a page in an Oracle HTTP Server front-ending configuration, use Fusion Applications Control to examine the WebLogic Host and WebLogic Port settings for the Oracle HTTP Server's mod_wl_ohs module. Refer to the "Configuring the mod_wl_ohs Module" section in the Oracle Fusion Middleware Administrator's Guide for Oracle HTTP Server for more information.

Solution 2

To verify the Managed Servers where Oracle Access Manager is deployed and the requisite Oracle Access Manager services are running:

1. Verify the Managed Servers where Oracle Access Manager is deployed are running by performing the following steps:

1. Log in to the Oracle WebLogic Server Administration Console by referring to the "Starting the Administration Console" section in the Oracle Fusion Middleware Introduction to Oracle WebLogic Server document.

2. Click Servers in the Environment section on the Home page. The Summary of Servers page appears.

3. Click the Configuration tab. A table containing a summary of each server in the domain appears.

4. Examine the State and Health columns for the Managed Servers where Oracle Access Manager is deployed.

2. Verify the HTTP port is open by attempting to connect to it. If Oracle Access Manager is front-ended by Oracle HTTP Server or a load balancer, enter the following URL into a web browser:

http://ORACLE_HTTP_SERVER-or-LOAD_BALANCER_HOST:PORT/oam/pages/logout.jsp

If Oracle Access Manager is not front-ended, enter the following URL into a web browser:

http://MANAGED_SERVER_HOST:PORT/oam/pages/logout.jsp

3. Verify Oracle Access Manager authentication is functioning properly by accessing any resource secured by Oracle Access Manager. For example, log in to the Oracle Access Manager Administration Console by referring to the "Logging In to the Oracle Access Manager 11g Administration Console" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

7.3.3 Problems and Solutions for Managing Users

This section describes problems and solutions related to managing users. This section contains the following topics:

- Oracle Fusion Human Capital Management Requests to Assign Roles to Users Fail

- SPML Calls Initiated from an Oracle Fusion Application are Not Processed

- Troubleshooting Oracle Fusion Human Capital Management-Oracle Identity Manager SPML Requests

7.3.3.1 Oracle Fusion Human Capital Management Requests to Assign Roles to Users Fail

Oracle Fusion Human Capital Management makes a request to assign a role to a user, but the role assignment fails.

Problem

The problem may be the user exists in Oracle Identity Manager, but does not exist in the Oracle Internet Directory identity store.

Solution

To troubleshoot this situation:

1. Verify the user does not exist in Oracle Internet Directory by using Oracle Directory Services Manager to examine the container where users are stored, such as cn=users,dc=us,dc=oracle,dc=com.
Refer to the "Displaying Entries by Using Oracle Directory Services Manager" or "Searching for Entries by Using Oracle Directory Services Manager" sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory for more information.

Note:

- If the user does not exist in Oracle Internet Directory, continue this procedure.

- If the user exists in Oracle Internet Directory, perform the steps in Section 7.3.3.3 to get information about why the role assignment failed.

2. Execute the LDAP User Create and Update Reconciliation scheduled job in Oracle Identity Manager. After the job executes, the user account will be removed from Oracle Identity Manager and requests from Oracle HCM for the user will not be created.
Refer to the "Managing Scheduled Tasks" chapter in the Oracle Fusion Middleware Administrator's Guide for Oracle Identity Manager for information about the LDAP User Create and Update Reconciliation scheduled job and how to execute it.

7.3.3.2 SPML Calls Initiated from an Oracle Fusion Application are Not Processed

An Oracle Fusion application invokes an event that initiates an SPML call, for example, Oracle Fusion Human Capital Management sends an SPML request to add a user, but the call fails.

Problem

The problem may be the Oracle Fusion application's composite that invokes the SPML service is using incompatible Oracle Web Services Manager (Oracle WSM) client and server security policies. The client and server security policies must be compatible for calls to succeed.

Solution

To verify Oracle Identity Manager is using the correct Oracle WSM server and client security policies:

1. Verify Oracle Identity Manager is using the correct Oracle WSM server security policy by performing the following steps:

1. Log in to Fusion Applications Control on the Oracle WebLogic Server where Oracle Identity Manager is installed. Refer to the "Starting Fusion Applications Control" section in the Oracle Fusion Middleware Administrator's Guide for more information.

2. Expand the Application Deployments entry in the navigation tree and click spml-xsd. The spml-xsd details page appears.

3. Select Web Services from the Application Deployment list. The Web Services tab appears.

4. Click SPMLServiceProviderSoap. The details for the web service appear.

5. Click the OWSM Policies tab.

6. Verify the following policy is listed as a Directly Attached Policy:
oracle/wss_saml_or_username_token_service_policy

2. Verify the Oracle Fusion application is using the correct Oracle WSM client security policy by performing the following steps:

1. Log in to Fusion Applications Control on the Oracle WebLogic Server where the Oracle Fusion application is running.

2. Expand the SOA entry in the navigation tree and all of its child entries until the list of configured composites appear and then click the name of the appropriate composite. The details of the composite appear.

3. Click the Policies tab.

4. Verify the following policy is attached to the composite's end points:
oracle/wss_username_token_client_policy

7.3.3.3 Troubleshooting Oracle Fusion Human Capital Management-Oracle Identity Manager SPML Requests

To collect information about SPML requests between Oracle Fusion Human Capital Management and Oracle Identity Manager:

1. Identify the ID number of the request you want to investigate. After an Oracle Fusion Human Capital Management application performs an operation that sends an SPML request to Oracle Identity Manager, Oracle Identity Manager creates a unique ID for that specific request and returns it to the application. From the application, identify the request ID.

2. Use the Advanced view of the Oracle Identity Manager Administrative and User Console to see general information about the request, such as its status.

1. Log in to the Advanced view of the Oracle Identity Manager Administrative and User Console by entering a URL similar to the following into a web browser:

http://HOST:PORT/oim/admin/

2. Click the Administration tab, then click Requests.

3. Search for the request by entering the request ID in the search field and clicking Search.

4. Click the request ID in the search results. Information about the request appears.

5. Examine the status of the request. If the status is Request Failed, a hyperlink to additional information about the failed request is provided. Click the Request Failed link to see more information.
Refer to the "Searching and Tracking Requests" section in the Oracle Fusion Middleware User's Guide for Oracle Identity Manager for more information.

Note:

To see more detailed information about the request, proceed to the next step in this procedure.

3. Use the Oracle Identity Manager Diagnostic Dashboard's Orchestration Status test to see information such as which Oracle Identity Manager event handlers handled the request and its status at each event handler.

1. Log in to the Oracle Identity Manager Diagnostic Dashboard.
Refer to the "Working with the Diagnostic Dashboard" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Identity Manager for more information.

2. Run the Request Diagnostic Information test on the request ID. The test will return and Orchestration ID.

3. Run the Orchestration Status test on the Orchestration ID. Detailed information about the request appears.

Note:

To see the most information available about the request, proceed to the next step in this procedure.

4. Use Fusion Middleware Control to view the Oracle Identity Manager diagnostic logs. Examine the log files to see the most detailed information about the SPML request. Refer to the "Managing Log Files and Diagnostic Data" chapter in the Oracle Fusion Middleware Administrator's Guide for more information.

7.3.4 Problems and Solutions for Managing Roles

This section describes problems and solutions related to managing roles. This section contains the following topics:

- Cannot See the Function Security Policies for an External Role

- Cannot See the Data Security Policies for a Data Role

- Problems Mapping an Application Role to an External Role

- Cannot See Application Role Hierarchies

- Attempts to Add an Application Role to a Hierarchy Appear to Have No Effect

- Cannot Create Valid Data Roles Using Data Role Template

7.3.4.1 Cannot See the Function Security Policies for an External Role

The function security polices for a particular external role cannot be seen using Oracle Authorization Policy Manager.

Problem

The problem may be:

- If Oracle Internet Directory is being used as the identity store, it is not configured to index the displayName attribute. If Oracle Internet Directory is not indexing the displayName attribute, Oracle Authorization Policy Manager cannot retrieve the role during a search.

- The Oracle Internet Directory Authenticator in the Oracle WebLogic Server domain is not configured with the correct connection settings to the Oracle Internet Directory instance.

- The external role has not been provisioned into the identity store.

- If the administrator attempting to identify the function security polices is configured as a Delegated Administrator, the Delegated Administrator role does not have access to the appropriate application stripe.

- The policy store does not have the correct application stripes.

- The external role is not mapped to the correct application roles.

- The external role is mapped to an application role that does not have policy attached to it.

Solution 1

To verify an Oracle Internet Directory identity store is configured to index the displayName attribute, refer to Section 7.2.1.

Solution 2

To verify the Oracle Internet Directory Authenticator in the Oracle WebLogic Server domain is configured with the correct connection settings to the Oracle Internet Directory instance, refer to Section 7.2.2.

Solution 3

To verify the external role was provisioned into the identity store, use Oracle Directory Services Manager to examine the container in the identity store where external roles are stored, such as: cn=groups,dc=mycompany,dc=com.

Note:

- If the external role does not exist in the identity store, use Oracle Fusion Human Capital Management to add it to the identity store.

- If the external role exists in the identity store, verify the security providers in the Oracle WebLogic Server domain are configured in the correct order and with the correct JAAS Control Flags by referring to Section 7.2.2.

Refer to the following for more information about examining identity store containers.

If Oracle Internet Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Displaying Entries by Using Oracle Directory Services Manager"

If Oracle Virtual Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

Solution 4

If the administrator attempting to identify the function security polices is configured as a Delegated Administrator, verify the Delegated Administrator role has access to the appropriate application stripe by referring to "Delegating With Administrator Roles" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

Solution 5

To verify the policy store has the correct application stripes:

1. Identify the application stripes that were loaded into the policy store after the Oracle Fusion Applications environment was provisioned by referring to the Oracle Fusion Applications security reference manuals. You can access the Oracle Fusion Applications security reference manuals in the Oracle Fusion Applications Technology Documentation Library.

2. Verify the application stripes identified in Step 1 exist in the policy store by performing the following steps:

1. Log in to Oracle Authorization Policy Manager as a security administrator with the APMAdmin application role, which will allow you to see all application stripes in the policy store.

2. Examine the Browse tab of the Navigation Panel, which lists all policy stripes in the policy store (because you are logged in as a security administrator with the APMAdmin application role).
Refer to "Using the Navigation Panel" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information about viewing application stripes in the policy store using the Navigation Panel.

Solution 6

To verify the external role is mapped to the correct application roles:

1. Verify the application stripe that the application role is expected to be in exists in the policy store by performing the following steps:

1. Determine which application stripe the application role is expected to be in by referring to the Oracle Fusion Applications security reference manuals. You can access the Oracle Fusion Applications security reference manuals in the Oracle Fusion Applications Technology Documentation Library.

2. Log in to Oracle Authorization Policy Manager as a security administrator with the APMAdmin application role, which will allow you to see all application stripes in the policy store.

3. Examine the Browse tab of the Navigation Panel, which lists all policy stripes in the policy store (because you are logged in as a security administrator with the APMAdmin application role). Verify the application stripe identified in Step a exists in the policy store.
Refer to "Using the Navigation Panel" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information about viewing application stripes in the policy store using the Navigation Panel.

2. Use Oracle Authorization Policy Manager to identify the application roles currently mapped to the external role.

Refer to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information.

3. Compare the application roles identified in Step 2 to the application roles listed for the external role in the Oracle Fusion Applications security reference manuals.
If any application roles listed in the Oracle Fusion Applications security reference manuals are not mapped to the external role, use Oracle Authorization Policy Manager to see if they exist in the policy store. Refer to "Searching for Security Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information.

If the application roles exist in the policy store, use Oracle Authorization Policy Manager to map them to the external role by referring to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

If the application roles do not exist in the policy store, use Oracle Authorization Policy Manager to create them by referring to "Creating an Application Role" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition). After creating the application roles, map them to the external role.

Solution 7

To verify the external role is mapped to an application role that has policy attached to it, refer to "Searching for Security Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

7.3.4.2 Cannot See the Data Security Policies for a Data Role

Data security polices for a particular data role cannot be seen in Oracle Authorization Policy Manager.

Problem

The problem may be:

- The Oracle Internet Directory Authenticator in the Oracle WebLogic Server domain is not configured with the correct connection settings to the Oracle Internet Directory instance.

- If Oracle Internet Directory is being used as the identity store, it is not configured to index the displayName attribute. If Oracle Internet Directory is not indexing the displayName attribute, Oracle Authorization Policy Manager cannot retrieve the role during a search.

- The user searching for the data security policies does not have the privileges to do so.

- The data role does not exist in the identity store.

- Data role templates did not create data security policies for the data role.

- The data security role GUIDs in the Oracle Fusion Data Security repository and the Oracle Platform Security Services policy store are not synchronized.

Solution 1

To verify the Oracle Internet Directory Authenticator in the Oracle WebLogic Server domain is configured with the correct connection settings to the Oracle Internet Directory instance, refer to Section 7.2.2.

Solution 2

To verify an Oracle Internet Directory identity store is configured to index the displayName attribute, refer to Section 7.2.1.

Solution 3

To verify the user searching for the data security policies has the privileges to do so, perform the solution described in Section 7.3.1.3.

Solution 4

To verify the data role exists in the identity store, use Oracle Directory Services Manager to examine the container in the identity store where data roles are stored, such as cn=groups,dc=mycompany,dc=com. If the role does not exist in the identity store, an administrator should add it.

Refer to the following for more information about examining identity store containers.

If Oracle Internet Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Displaying Entries by Using Oracle Directory Services Manager"

If Oracle Virtual Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

Solution 5

To verify data role templates created data security policies for the data role:

1. Use Oracle Authorization Policy Manager to perform a simple search for the data role using External Role as the object type. Refer to the "Finding Artifacts with a Simple Search" section in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for more information.

2. Select the data role in the search results and click the View button. Details about the data role appear.

3. Click the Find Global Policies button. The Data Security Policies table appears and lists the data security policies attached to the data role. Examine the entries in the table to ensure the data role template created the appropriate data security policies.

Solution 6

To reconcile the data security role GUIDs in the Oracle Fusion Data Security repository and the Oracle Platform Security Services policy store, run the oracle.apps.fnd.applcore.dataSecurity.util.DSDataMigrator java program to reconcile the GUIDs. Refer to the solution in Section 7.3.1.2 for information about using this program.

7.3.4.3 Problems Mapping an Application Role to an External Role

While attempting to map an application role to an external role using Oracle Authorization Policy Manager, issues such as the following are encountered:

- Either the external role or application role cannot be seen in Oracle Authorization Policy Manager.

- The mapping succeeds in Oracle Authorization Policy Manager, but is activated after a delay.

Problem

The problem may be:

- If Oracle Internet Directory is being used as the identity store, it is not configured to index the displayName attribute. If Oracle Internet Directory is not indexing the displayName attribute, Oracle Authorization Policy Manager cannot retrieve the roles during a search.

- The security providers for the Oracle WebLogic Server domain are configured incorrectly. Specifically, the order of providers, JAAS Control Flags, or connection settings to the Oracle Internet Directory instance may be incorrect.

- If the mapping succeeds in Oracle Authorization Policy Manager, but is activated after a delay, the cache refresh settings for the Oracle Internet Directory Authenticator or for Oracle Platform Security Services may need to be adjusted.

Solution 1

To verify an Oracle Internet Directory identity store is configured to index the displayName attribute, refer to Section 7.2.1.

Solution 2

To troubleshoot the configuration of the security providers for the Oracle WebLogic Server domain, perform the steps in Section 7.2.2 and examine the:

- Order of providers

- JAAS Control Flags

- Connection settings to the Oracle Internet Directory instance

Solution 3

If the mapping is activated after a delay, to troubleshoot the cache refresh settings for the Oracle Internet Directory Authenticator and for Oracle Platform Security Services:

1. Examine the Oracle Internet Directory Authenticator's cache settings by referring to Section 7.2.2.

2. Examine Oracle Platform Security Services' cache refresh setting by referring to the problem and solution described in Section 7.3.2.1 of this chapter.

Note:

Wait for the caches to be refreshed before reattempting a failed task or operation.

7.3.4.4 Cannot See Application Role Hierarchies

Attempts to view application role hierarchies using Oracle Authorization Policy Manager fail.

Problem

The problem may be:

- The identity store's LDAP Authenticator in the Oracle WebLogic Server domain is configured to use the wrong identity store.

- The administrator is attempting to view the application role hierarchy from the incorrect application role in the Oracle Authorization Policy Manager interface.

- Role hierarchies are not defined.

Solution 1

To verify the identity store's LDAP Authenticator in the Oracle WebLogic Server domain is configured to use the correct identity store, refer to Section 7.2.2 and examine the connection settings configured for the identity store's LDAP Authenticator.

Solution 2

To verify the correct application role is being used to display the application role hierarchy, in the Oracle Authorization Policy Manager interface, ensure attempts to display the role hierarchy are based on the correct application role. Application roles frequently have similar names, such as roles that are qualified by region. Double-check that the intended application role is being used to display the role hierarchy.

Solution 3

To verify role hierarchies are defined, refer to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition).

7.3.4.5 Attempts to Add an Application Role to a Hierarchy Appear to Have No Effect

After using Oracle Authorization Policy Manager to add an application role to a hierarchy, no changes can be seen in the hierarchy.

Problem

The problem may be:

- The application role already exists as a member of the hierarchy.

- The incorrect application role was added to the hierarchy, or the correct application role was added to the incorrect hierarchy.

Solution

To verify the application role hierarchy:

1. Display the application role hierarchy the role was intended for. Refer to "Managing Policies and Policy Objects" in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition) for information about viewing the application role hierarchy.

2. Ensure that the application role does not already exist in the hierarchy.

3. Ensure that when the application role was added to the hierarchy, the intended application role and the intended hierarchy were used. It is possible the intended application role was added to the incorrect hierarchy, or the incorrect application role was added to the intended hierarchy.

Refer to the "Permission Inheritance and the Role Hierarchy" section in the Oracle Fusion Middleware Application Security Guide for information about rules for application role hierarchies.

7.3.4.6 Cannot Create Valid Data Roles Using Data Role Template

While attempting to create a data role using a data role template in Oracle Authorization Policy Manager, issues such as the following are encountered:

- The data role is not created

- The data role is created with a null displayName and description

Problem

The problem may be:

- The SQL query used in the Dimension tab of the template is invalid or returns no records.

- The Oracle Authorization Policy Manager application ID used by the data role template does not have sufficient privileges to create the data role in the intended identity store container.

- A general issue in the identity store, such as the instance is not running.

Solution 1

To troubleshoot the SQL query used in the Dimension tab of the template:

1. Review the SQL query and ensure the intended string was entered correctly.

2. Review the SQL query and ensure it does not contain special characters such as "," (comma) that are unsupported by the identity store. Role names must be comprised of only alphanumeric characters.

3. Verify the database table referenced in the SQL query contains data (is not empty).

Solution 2

To troubleshoot the privileges of the Oracle Authorization Policy Manager application ID used by the data role template, perform the following steps on the identity store:

1. Verify the cn=fusion_apps_apm_rgx_appid user exists in the cn=appidusers container.
Refer to the following for more information about examining identity store containers.

If Oracle Internet Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Displaying Entries by Using Oracle Directory Services Manager"

If Oracle Virtual Directory is the identity store, refer to the following sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory using this sequence:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

2. Verify the cn=fusion_apps_apm_rgx_appid group exists in the cn=appidgroups container.

3. Identify all groups that the fusion_apps_apm_rgx_appid group is a member of, and then verify those groups have write permission to the container where enterprise roles are stored, such as cn=groups.

Note:

If using Oracle Virtual Directory as the identity store, you must verify the groups' permissions in both Oracle Virtual Directory and the back-end (source) repositories.

4. If using Oracle Virtual Directory as the identity store, verify that the ACLs for Oracle Virtual Directory and its back-end (source) data repositories are configured correctly.
To focus the ACL verification, perform the following steps:

1. Temporarily disable access control checking in Oracle Virtual Directory using Fusion Middleware Control. To disable access control checking, deselect (disable) the Enable Access Control Check option on Oracle Virtual Directory's Server Properties page.
Refer to the "Configuring Oracle Virtual Directory Server Properties Using Fusion Middleware Control" section in Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory for more information.

2. Perform the steps to create the data role using a data role template.

- If you can create the data role when Oracle Virtual Directory access control checking is disabled, the Oracle Virtual Directory ACLs are configured incorrectly.
To isolate the error in the Oracle Virtual Directory ACLs, re-enable access control checking in Oracle Virtual Directory, set its logging to TRACE message type at level 32, try creating the data role using a data role template, and then examine Oracle Virtual Directory's log, which will now contain the result of each ACL test.

Refer to the "Setting the Level of Information Written to Log Files" section and the "Managing Log Files and Diagnostic Data" chapter in the Oracle Fusion Middleware Administrator's Guide for more information about Oracle Virtual Directory logging.

- If you cannot create the data role when Oracle Virtual Directory access control checking is disabled, the error is not in the Oracle Virtual Directory ACLs and you should examine the ACLs in the back-end (source) data repositories by referring to their documentation.

Solution 3

To troubleshoot the identity store:

- If using Oracle Internet Directory as the identity store:

1. Verify Oracle Internet Directory is running.
You can view the status of Oracle Internet Directory using Fusion Applications Control. After logging in to Fusion Applications Control, navigate to the Farm home page and examine the Identity and Access components within the Fusion Middleware section of the content pane.

Refer to the "Navigating within Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

2. Verify Oracle Internet Directory is configured to index the displayName attribute by referring to Section 7.2.1.

- If using Oracle Virtual Directory as the identity store:

1. Verify Oracle Virtual Directory is running.
You can view the status of Oracle Virtual Directory using Fusion Applications Control. After logging in to Fusion Applications Control, navigate to the Farm home page and view the Identity and Access components within the Fusion Middleware section of the content pane.

Refer to the "Navigating within Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide for more information.

2. Verify the connectivity between Oracle Virtual Directory and its back-end (source) data repositories. Use Oracle Directory Services Manager's Client View Data Browser to view the directory tree. If Oracle Virtual Directory is not connected to a back-end repository, a message will appear when the Data Browser attempts to connect it.
Refer to the following sections (in the listed sequence) in the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory for more information about using Oracle Directory Services Manager's Client View Data Browser:

1. "Invoking Oracle Directory Services Manager"

2. "Connecting to the Server from Oracle Directory Services Manager"

3. "Viewing Oracle Virtual Directory Entries"

7.3.5 Problems and Solutions for Managing Keystores and Certificates

This section describes problems and solutions for managing keystores and certificates. This section contains the following topics:

- Key or Credential Store Error After an Application Invokes Web Service

- Trust Certificate Error After Application Invokes Web Service

7.3.5.1 Key or Credential Store Error After an Application Invokes Web Service

After an Oracle Fusion application invokes a web service, a key store or credential store error such as the following appears:

- WSM-00056: The key orakey is not retrieved

- WSM-00256: The property "Keystore Sign Alias" is not set

Problem

The problem may be:

- The alias for the signature key or encryption key in the Oracle WSM keystore configuration does not exist in the Oracle WSM keystore file.

- The signature key, encryption key, or Oracle WSM keystore file password is not synchronized in the keystore file and the keystore configuration for Oracle WSM. That is, at least one of the passwords does not have identical values in both locations.

Solution 1

To verify the alias for the signature key and encryption key in the Oracle WSM keystore configuration exist in the Oracle WSM keystore file:

1. Use Fusion Middleware Control to identify the alias for the signature key and encryption key in the Oracle WSM keystore configuration. Perform the procedure in the "Configuring Keystores for Message Protection" section in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

2. Verify the aliases identified in Step 1 exist in the Oracle WSM keystore file. Use the keytool -list command on the Oracle WSM keystore file to view its aliases. Refer to the keytool - Key and Certificate Management Tool document on the Java SE Technical Documentation Web site for more information about using keytool. You can access this document by searching for it on the Search Java SE Technical Documentation Web page at:
http://download.oracle.com/javase/search.html

- Ensure each alias is synchronized in both locations. If they are not, you can edit the alias in the Oracle WSM keystore configuration by performing the procedure in the "Configuring Keystores for Message Protection" section in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services. You can edit the alias in the Oracle WSM keystore file using the keytool -changealias command.

Note:

Before you edit an alias, be sure that doing so will not affect any other web service.

- If the alias for the signature key or encryption key does not exist in the Oracle WSM keystore file, add it by referring to the "Generating Private Keys and Creating the Java Keystore" section in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

Solution 2

To ensure that the signature key, encryption key, and Oracle WSM keystore file passwords are each synchronized in the keystore file and the keystore configuration for Oracle WSM:

1. Use keytool to reset the passwords in the Oracle WSM keystore file. Because the passwords are not visible, resetting them is the only method to ensure that they have identical respective values in both locations.

- Use the keytool -storepasswd command to reset the Oracle WSM keystore file password.

- Use the keytool -keypasswd command to reset the signature key password and encryption key password.

2. Use Fusion Middleware Control to reset the passwords in the Oracle WSM keystore configuration to the same respective values you set in Step 1. Refer to the "Configuring Keystores for Message Protection" section in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services for more information.

7.3.5.2 Trust Certificate Error After Application Invokes Web Service

After an Oracle Fusion application invokes a web service, a trust certificate error such as the following appears:

WSM-00138: The path to the certificate is invalid due to exception

Problem

The problem may be, if the web service is advertising its certificate in the Web Services Description Language (WSDL), the client is not configured correctly to trust that certificate or its issuer.

Solution

To verify the client is configured to trust the web service's certificate advertised in the WSDL or its issuer:

1. Verify the client keystore has either the public certificate of the web service or the public certificate of its issuer. Use the keytool –list command to identify the certificates in the client keystore. If either of the public certificates are missing from the client keystore, use the keytool –importcert command to add them.
Refer to the keytool - Key and Certificate Management Tool document on the Java SE Technical Documentation Web site for more information about using keytool. You can access this document by searching for it on the Search Java SE Technical Documentation Web page at:

http://download.oracle.com/javase/search.html

2. Verify the value for the keystore.recipient.alias override property of the client Oracle WSM policy is identical to the alias of the trusted public certificate in the Oracle WSM keystore file. Refer to the "Attaching Web Service Policies Permitting Overrides" section of the Oracle Fusion Middleware Security and Administrator's Guide for Web Services for more information.

7.3.6 Problems and Solutions for Identity Propagation Using SAML

After an Oracle Fusion application attempts to propagate a user's identity by calling a different Oracle Fusion application using Oracle SOA, InvalidSecurityToken-, FailedAuthentication-, or SAML assertion issuer-related errors appear.

Problem

The problem may be:

- The SAML issuer name for the SAML token is not configured or is configured incorrectly.

- The subject.precendence configuration override is set incorrectly.

Solution 1

To troubleshoot the SAML issuer name configuration, verify the SAML Issuer Name the client is using is among the issuers configured on the Oracle WebLogic Server domain by performing the steps in the "Adding an Additional SAML Assertion Issuer Name" section of the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

If the SAML Issuer Name that the client is using is not configured as an issuer in the Oracle WebLogic Server domain, Oracle recommends changing the issuer name on the client by updating its saml.issuer.name override to one of the issuers configured on the Oracle WebLogic Server domain.

If you cannot change the issuer name on the client, you can add its issuer name to the Oracle WebLogic Server domain by performing the steps in the "Adding an Additional SAML Assertion Issuer Name" section of the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

Solution 2

To troubleshoot the subject.precendence configuration override:

1. Set the subject.precedence override value in your current client policy to false to change the identity to a different user. By default, the subject.precendence override is set to true.

2. Set the appropriate Credential Store Framework key override on the client policy that contains the user name and password of the user you want to send to the service. If an entry for this user does not exist in the Credential Store Framework, you must add it. Refer to the "Adding Keys and User Credentials to the Credential Store" section in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services for more information.

3. Ensure the appropriate Web Services Identity Permission is set for the client application by performing the steps in the "Configuring SAML Web Service Clients for Identity Switching" section of the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

7.3.7 Problems and Solutions for Logging in to Secured Resources

This section describes problems and solutions for logging in to secured resources. This section contains the following topics:

- Incorrect Language Appears After Logging in to a Secured Resource

- Login Page Unexpectedly Reappears (No Single Sign-On)

- Cannot Access Forgotten Password Functionality from Login Page

7.3.7.1 Incorrect Language Appears After Logging in to a Secured Resource

While attempting to access a resource secured by Oracle Access Manager, a user changes the language preference on the login page. After logging in successfully, the secured resource appears in a language different from what the user selected on the login page.

Problem

The problem may be Oracle Access Manager's ORA_FUSION_PREFS cookie is not in the user's browser. The ORA_FUSION_PREFS cookie determines which language the secured resource appears in. After the user chooses a language preference on the login page and gets authenticated, Oracle Access Manager sends the ORA_FUSION_PREFS cookie to the user's browser.

Solution

Examine the cookies in the user's browser and try to locate the ORA_FUSION_PREFS cookie. If the ORA_FUSION_PREFS cookie is not in the user's browser:

- Examine the browser's security settings, as they may be too high and preventing cookies from being accepted.

- Add the Oracle Fusion application's domain to the browser's exception list.

7.3.7.2 Login Page Unexpectedly Reappears (No Single Sign-On)

After successfully logging in to a resource secured by Oracle Access Manager, a login page unexpectedly reappears. Regardless if the reappearing login page is for Oracle Access Manager or Oracle Fusion Applications, a user may not expect to see it in a single sign-on environment.

Problem

The problem may be:

- If the login page reappeared after attempting to access a different secured resource, the authentication level of the authentication scheme securing the subsequently accessed resource is greater (higher) than the authentication level of the authentication scheme securing the resource that was accessed first. In this situation, the reappearing login page is expected behavior.

- The Oracle Access Manager server's Idle Timeout or Session Lifetime configuration parameters are set to a value that is too small. The Idle Timeout parameter specifies the amount of time, in minutes, that a user's authentication session remains valid without accessing a resource secured by Oracle Access Manager. The Session Lifetime parameter specifies the amount of time, in minutes, that a user's authentication session remains valid. For both parameters, the smaller the value, the more frequently users must re-authenticate.

- Oracle Access Manager's ObSSOCookie and OAM_ID cookies are not in the user's browser. The ObSSOCookie and OAM_ID cookies are encrypted, single sign-on, session-based cookies generated by the Oracle Access Manager Access Server when a user authenticates successfully.

Solution 1

To examine the authentication levels of the authentication schemes securing the resources:

1. Log in to the Oracle Access Manager Administration Console by referring to the "Logging In to the Oracle Access Manager 11g Administration Console" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

2. Identify the authentication policies securing the resources and the authentication schemes configured for those policies. You can reduce the number of policies to examine by first looking at the policies for the Host Identifier that the Webgate is using.
Refer to the "Searching for an Authentication Policy" and "Viewing or Editing an Authentication Policy" sections in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service for more information.

3. Identify the authentication levels for each authentication scheme. Refer to the "Viewing or Editing a Authentication Scheme" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

Note:

If the authentication level for the subsequently accessed resource is greater than that of the first accessed resource, the reappearing login page is the expected behavior.

Solution 2

To verify the settings for the Idle Timeout and Session Lifetime configuration parameters:

1. Log in to the Oracle Access Manager Administration Console by referring to the "Logging In to the Oracle Access Manager 11g Administration Console" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

2. Verify the values configured for the Idle Timeout and Session Lifetime configuration parameters by referring to the "Configuring User Session Lifecycle Settings" section in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

Solution 3

To verify Oracle Access Manager's ObSSOCookie and OAM_ID cookies are in the user's browser:

1. Display the cookies in the user's browser.

2. Locate Oracle Access Manager's ObSSOCookie and OAM_ID session cookies.

If the ObSSOCookie and OAM_ID cookies are not in the user's browser:

- Examine the browser's security settings, as they may be too high and preventing cookies from being accepted.

- Add the Oracle Fusion application's domain to the browser's exception list.

7.3.7.3 Cannot Access Forgotten Password Functionality from Login Page

While attempting to access a resource secured by Oracle Access Manager, the Forgotten Password feature is inaccessible from the login page.

Problem

The problem may be:

- Network issues are preventing a connection to Oracle Identity Manager.

- Oracle Access Manager's configuration to Oracle Identity Manager's lost password functionality is incorrect.

Solution 1

To test connectivity to Oracle Identity Manager, from the system hosting the Administration Server where Oracle Access Manager is deployed, ping the system hosting the Managed Server where Oracle Identity Manager is deployed.

Solution 2

To verify Oracle Access Manager's configuration to Oracle Identity Manager's lost password functionality:

1. Use a text editor to open the following file on the Administration Server for the domain where Oracle Access Manager is deployed:

DOMAIN_HOME/config/fmwconfig/oam-config.xml

2. Locate the <Setting Name="IdentityManagement" Type="htf:map"> entry.

3. Examine the ServerConfiguration settings similar to those shown in Example 7-4 and verify the following values:

Example 7-4 ServerConfiguration Settings Within IdentityManagement Entry

<Setting Name="ServerConfiguration" Type="htf:map">
<Setting Name="OIM-SERVER-1" Type="htf:map">
<Setting Name="Host" Type="xsd:string">OIM_HOST</Setting>
<Setting Name="Port" Type="xsd:integer">OIM_PORT</Setting>
<Setting Name="SecureMode" Type="xsd:boolean">true|false</Setting>
</Setting>
</Setting>

- OIM-SERVER-1: Must be identical value of the same setting in the IdentityServiceProviderConfiguration entry described in Step 4.

- If Oracle Identity Manager is front-ended by Oracle HTTP Server or a load balancer:

- OIM_HOST: Fully-qualified host name of Oracle HTTP Server or load balancer.

- OIM_PORT: The port for the Oracle HTTP Server or load balancer.

- SecureMode: Set to true for connecting to Oracle Identity Manager over HTTPS, set to false for connecting over HTTP.

- If Oracle Identity Manager is not front-ended:

- OIM_HOST: Fully-qualified host name of the Managed Server where Oracle Identity Manager is deployed.

- OIM_PORT: The port for the Managed Server where Oracle Identity Manager is deployed.

- SecureMode: Set to true for connecting to Oracle Identity Manager over HTTPS, set to false for connecting over HTTP.

4. Examine the IdentityServiceProviderConfiguration settings similar to those shown in Example 7-5 and verify the following values:

Example 7-5 IdentityServiceProviderConfiguration Settings Within IdentityManagement Entry

<Setting Name="IdentityServiceProviderConfiguration" Type="htf:map">
<Setting Name="IdentityManagementServer" Type="xsd:string">OIM-SERVER-1</Setting>
<Setting Name="DateFormatPattern" Type="xsd:string">yyyy-MM-dd'T'HH:mm:ss'Z'</Setting>
<Setting Name="PasswordExpiredURL" Type="xsd:string">/admin/faces/pages/pwdmgmt.jspx</Setting>
<Setting Name="ChallengeSetupNotDoneURL" Type="xsd:string">/admin/faces/pages/pwdmgmt.jspx</Setting>
<Setting Name="ForcedPasswordChangeURL" Type="xsd:string">/admin/faces/pages/pwdmgmt.jspx</Setting>
<Setting Name="AccountLockedURL" Type="xsd:string">/admin/faces/pages/accountlocked.jspx</Setting>
</Setting>

- OIM-SERVER-1: Must be identical value of the same setting in the ServerConfiguration entry described in Step 3.

- Confirm the following URL Settings are configured with the values shown in Example 7-5:

- PasswordExpiredURL

- ChallengeSetupNotDoneURL

- ForcedPasswordChangeURL

- AccountLockedURL

7.4 Additional Information for Troubleshooting Oracle Identity Management

The following is a list of Oracle Identity Management documents that provide additional information and will help you troubleshoot. Use these documents if you have isolated your problem to a specific Oracle Identity Management component or to learn more about a specific component.

Note:

A few of the documents in the following list do not contain explicit troubleshooting information, but are a source of information that will help you during troubleshooting.

- "Troubleshooting Oracle Fusion Middleware" appendix of the Oracle Fusion Middleware Administrator's Guide

- "Troubleshooting Security in Oracle Fusion Middleware" appendix in the Oracle Fusion Middleware Application Security Guide

- Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management (Oracle Fusion Applications Edition)

- "Troubleshooting Oracle Internet Directory" appendix of the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory

- "Troubleshooting Oracle Virtual Directory" appendix of the Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory

- "Troubleshooting Oracle Authorization Policy Manager" appendix in the Oracle Fusion Middleware Oracle Authorization Policy Manager Administrator's Guide (Oracle Fusion Applications Edition)

- "Troubleshooting" appendix in the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service

- Oracle Fusion Middleware Administrator's Guide for Oracle Identity Manager

- Oracle Fusion Middleware Security and Administrator's Guide for Web Services

8 Troubleshooting Oracle Metadata Repository

This chapter describes common problems that you might encounter when using Oracle Metadata Repository (MDS Repository) and explains how to solve them. This chapter contains the following topics:

- Introduction to Troubleshooting MDS Repository

- Getting Started with Troubleshooting and Logging Basics for Oracle Metadata Repository

- Applications Performing Slowly Due to MDS Repository

- Diagnosing Exceptions with Oracle Metadata Repository

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

8.1 Introduction to Troubleshooting MDS Repository

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

Guidelines

When using the information in this chapter, Oracle recommends:

- After performing any of the solution procedures in this chapter, immediately retrying the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you see, and data you collect while troubleshooting. If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 8-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 8-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

1

Section 8.2

Get started troubleshooting the MDS Repository. The procedure in this section quickly addresses a wide variety of problems.

2

Section 8.3 through Section 8.4

Perform problem-specific troubleshooting procedures. These sections describe:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

3

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or Oracle SOA Suite. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

4

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

8.2 Getting Started with Troubleshooting and Logging Basics for Oracle Metadata Repository

For general instructions on managing the metadata for Oracle Fusion Middleware components in the Oracle Metadata Repository, see the "Managing the Metadata Repository" chapter in the Oracle Fusion Middleware Administrator's Guide.

Use the following tools to troubleshoot Oracle Metadata Repository issues:

- WLST Commands

- MBean Properties in Fusion Applications Control

- Logging

8.2.1 WLST Commands

Use the MDS Repository commands described in the "Metadata Services (MDS) Custom WLST Commands" section of the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

Use the following script from the Oracle WebLogic Server domain home directory, which is based on WLST commands:

1. From the fusionapps Middleware subdirectory, start the WLST:

(UNIX) FA_MW_HOME/oracle_common/common/bin/wlst.sh
(Windows) FA_MW_HOME\oracle_common\common/bin\wlst.cmd

where DOMAIN_HOME is located in the following locations:

(UNIX) APPLICATIONS_CONFIG/instance/domains/host/domain_name
(Windows) APPLICATIONS_CONFIG\instance\domains\host\domain_name

2. Connect to Oracle WebLogic Server.

3. Use WLST commands for the MDS Repository. For example:

- deleteMetadata, exportMetdata, importMetadata, and purgeMetadata to manage application metadata

- registerMetadataDBRepository to register a database-based MDS repository.

- importMAR to import an application MAR
Use the force=true argument to force the import of all document. If you do not use the with force argument, only documents that have changed will be imported.

- createMetadataLabel, deleteMetadataLabel, listMetadataLabels, promoteMetadataLabel, and purgeMetadataLabels to manage labels

8.2.2 MBean Properties in Fusion Applications Control

Modify configuration and runtime MBean properties:

- Modify the AutoPurgeTimeToLive and MaximumCacheSize configuration MBean property in Fusion Applications Control. See the "Changing MDS Configuration Attributes for Deployed Applications" section in the Oracle Fusion Middleware Administrator's Guide.

- Modify the clearCache runtime MBean property in Fusion Applications Control:

1. From the navigation pane, expand the farm and then Application Deployments.

2. Click the application that uses MDS Repository.

3. In the Java EE Application home page, from the Application Deployment menu, choose MDS Configuration.
The MDS Configuration page displays the page.

4. In the Advanced Configuration section, click Runtime MBean Browser.

5. In the System MBean Browser page, expand Application Defined MBeans.
The System MBean Browser displays Application Defined MBeans > oracle.mds.lcm > Server: Managed Server > Application: Application Name > MDSAppRuntime > MDSAppRuntime and displays the Application Defined MBeans: MDSAppRuntime:MDSAppRuntime page.

6. Click the Operations tab.
Description of the illustration mdsmbean.gif

7. Click the clearCache.

8. Click Invoke.

8.2.3 Logging

View the logs. Right-click the domain under WebLogic Domain and choose View Log Messages. For more information, see the "Viewing Log Files and Their Messages Using Fusion Middleware Control" chapter in the Oracle Fusion Middleware Administrator's Guide.

1. From the navigation pane, expand the farm > WebLogic Domain > Managed_Server.

2. Choose Logs > View Log Messages.

If the problem still cannot be solved, increase the log level of the system to debug the transactions. To simplify troubleshooting, it is recommended that you enable the following parent loggers at the TRACE32 (FINEST) level.

To change logger levels, perform the following steps:

1. From the navigation pane, expand the farm > WebLogic Domain > Managed_Server.

2. Choose Logs > Log Configuration.

3. In the Logger Name column, expand the oracle and then oracle.mds to display the loggers.

4. In the Oracle Diagnostic Logging Level (Java Level) column, change the logging level to TRACE:32.
- oracle.mds.query for detailed diagnostics for SQL statements, bind variables, and timing information about MDS database queries

- oracle.mds.custmerge for detailed diagnostics for SQL statements, bind variables, and timing information about MDS database queries

- oracle.mds.jsp for trace JSP integration with MDS

- oracle.mds.dbstore for detailed logging about all operations done at the persistence level for the database-based MDS repository

- oracle.mds.sandbox for debug level information for all the sandbox operations.Use this logger when troubleshooting creation of a sandbox, managing the sandbox metadata, applying a sandbox or any other sandbox lifecycle-related operations. Use this logger in conjunction with the oracle.mds.dbstore tracer logger.

- oracle.mds.coretxn for detailed logging for MDSTransaction methods. MDSTransaction is an internal class which is associated with an MDSSession that is being used to make changes to metadata. Enabling this tracer includes diagnostics to help verification that the same MDSSession is not being used by multiple threads which while not illegal is unusual and can cause problems if done incorrectly.

- oracle.mds.pdcache for trace-document cache access and invalidation. Shows labels being used for lookups and versions being returned from the cache.

- oracle.mds.remotechange for detailed tracing for remote notifications, polling thread and synchronous polling on flushChanges(). This logger can be useful to check that remote notifications, for example, configuration is correct and changes are being distributed.

- oracle.mds.corecache to trace core cache access and invalidation.

- oracle.mds.jsf for MDSFaceletsHelper diagnostics for Facelets integration with MDS.

- oracle.mds.rename for detailed diagnostics for listing dependency references during rename operation.

- oracle.mds.custupdate for detailed diagnostics for change events handling and optimization, and creation of MDS customization instructions during update of MDS customizations.

- oracle.mds.custmerge for detailed diagnostics when applying MDS customization instructions

- oracle.mds.mnfe for tracing of MetadataNotFoundException and isStale() evaluation.

The change should take effect within a few minutes. Note that in a production system, setting the trace at a fine-grained level can result in a large amount of output that must be diagnosed. You can alternately use selective tracing that provides a way to get a detailed, on-disk trace selectively (for example, by user name, thereby eliminating trace output for other users).

5. To activate selective tracing, right-click the domain under WebLogic Domain and choose Logs > Selective Tracing.
Note that Selecting Tracing does not display as an option when you right-click an Administration Server or Managed Server and choose Logs.

6. From the Option Name list, choose the type of selective trace (for example, based on user name), and start the trace.

7. When the problem has been reproduced, disable the trace and view the output to narrow down the issue.
For more information on selective tracing, see the "Configuring and Using Selective Tracing" section of Oracle Fusion Middleware Administrator's Guide.

8. Review the error logs (from Fusion Applications Control) for more information on the error.
Cross layer, server, and family functionality can be correlated through the execution context ID (ECID) (for example, you can look up the composite instance for a given expense report by correlating all the log entries with the ECID associated with that expense report transaction). For more information, see the "Correlating Messages Across Log Files and Components" section of Oracle Fusion Middleware Administrator's Guide.

8.3 Applications Performing Slowly Due to MDS Repository

Problem

If the application is performing slowly, there could be an issue with the MDS Repository.

Solution 1

To check the MDS Repository performance and adjust the cache size:

1. Check performance metrics for cache performance.

1. Navigate to the application's home page by expanding the farm, then Application Deployments. Then, select an application.
The application's home page is displayed.

2. From the Application Deployment menu, choose Performance Summary.
The Performance Summary page displays.

3. Click Show Metric Palette.

4. Expand MDS Metrics and select IOs Per Metadata Object Get and IOs Per MO Content Get.

5. Monitor the performance of these metrics. Typically, values close to 1 indicate poor cache performance.

2. Modify the MaximumCacheSize configuration MBean property to -1. See the "Changing MDS Configuration Attributes for Deployed Applications" section in the Oracle Fusion Middleware Administrator's Guide.

Solution 2

To resolve this problem from the MDS Repository database:

1. Capture an Automatic Workload Repository (AWR) report. See the "Gathering Database Statistics Using the Automatic Workload Repository" section in the Oracle Database 2 Day + Performance Tuning Guide.

2. Check if any specific MDS SQL is taking too long. Analyze log (if needed with oracle.mds logger set to FINER) an or DMS data from DMSSpy.

3. Regather the Oracle Database statistics by executing the GATHER_SCHEMA_STATS procedure in the DBMS_STATS PL/SQL package from SQL as follows:

EXEC DBMS_STATS.GATHER_SCHEMA_STATS(
ownname => schema_owner,
estimate_ percent => dbms_stats.auto_sample_size,
method_opt => 'for all columns size auto',
cascade => true);

EXEC DBMS_STATS.GATHER_TABLE_STATS(
ownname =>'schema_Owner',
tabname =>'MDS_PATHS',
method_opt =>'FOR COLUMNS SIZE 1 PATH_FULLNAME');

where schema_owner is the name of the schema, typically, FUSION_MDS.

For information about the GATHER_SCHEMA_STATS procedure, see "GATHER_SCHEMA_STATS Procedures" in the Oracle Database PL/SQL Packages and Types Reference.

4. If performance does not improve after collecting statistics, then flush the shared pool to clear the execution plan for the database and generate a new query plan with the following SQL command:

ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;

5. If you notice continuous growth in metadata in Oracle Database tables, it could be the purge not executed or labels are preventing metadata from being purged.

1. Use these queries to identify which of the above is the cause.
To determine how many versions can be purged in soa-infra:

SELECT count( * ) FROM mds_paths path, mds_txn_locks, mds_partitions WHERE path_low_cn <= lock_txn_cn AND path_low_cn > 0
AND NOT EXISTS (SELECT label_cn from mds_labels
WHERE path.path_low_cn <= label_cn
AND (path.path_high_cn > label_cn OR path.path_high_cn IS NULL)
AND label_partition_id = path.path_partition_id)
AND path_high_cn IS NOT NULL
AND path_partition_id = lock_partition_id
and path_partition_id = partition_id
AND partition_name = 'soa-infra'

To determine how many versions are held by labels:

select label_name, label_cn, (SELECT count( * )
FROM mds_paths path, mds_partitions
WHERE path_high_cn IS NOT NULL
and path_low_cn <= label_cn
AND path_low_cn > 0
and path_high_cn > label_cn
AND path_partition_id = partition_id
and partition_name=:B1) versHeld, txn_time from mds_labels, mds_transactions, mds_partitions
where label_partition_id=txn_partition_id
and
label_cn=txn_cn
and label_partition_id=partition_id
and partition_name=:B1 order by versHeld desc

To determine partition-wise statistics of tip and non-tip, purgeable versions:

select docs.*, labels.count_labels, can_be_purged,
round(100*(can_be_purged/docs.total)) pct_can_be_purged from
(select partition_name, count(*) total, sum(decode(PATH_HIGH_CN, null, 1, 0)) tip,
sum(decode(PATH_HIGH_CN, null, 0, 1)) non_tip,
round(100*(sum(decode(PATH_HIGH_CN, null, 0, 1))/count(*))) percent_non_tip
from MDS_PATHS x, MDS_PARTITIONS y
where x.PATH_PARTITION_ID = y.PARTITION_ID
and path_type = 'DOCUMENT'
group by partition_name)
docs,
(select PARTITION_name, count(label_name) count_labels
from MDS_LABELS l, MDS_PARTITIONS p
where p.partition_id = l.label_partition_id(+)
group by PARTITION_name, partition_id)
labels,
(SELECT partition_name, count (*) can_be_purged
FROM MDS_PATHS path, MDS_TXN_LOCKS, MDS_PARTITIONS p
WHERE partition_id = path_partition_id
and path_low_cn <= lock_txn_cn AND path_low_cn > 0
AND NOT EXISTS (SELECT label_cn from MDS_LABELS
WHERE path.path_low_cn <= label_cn
AND (path.path_high_cn > label_cn OR path.path_high_cn IS NULL)
AND label_partition_id = path.path_partition_id)
AND path_high_cn IS NOT NULL
AND path_partition_id = lock_partition_id
and path_type = 'DOCUMENT'
GROUP BY partition_name )
can_purge
WHERE docs.partition_name = labels.partition_name
AND   docs.partition_name = can_purge.partition_name(+)
order by total

2. Execute purgeMetadata  to cleanup the content. You may need to reclaim the space manually in some cases. See the "Tuning Database Repository" section of the Oracle Fusion Middleware Performance and Tuning Guide.

3. If large portion of non-tip versions are held by labels, consider removing those (older) labels using purgeMetadataLabels and re-run purgeMetadata.

8.4 Diagnosing Exceptions with Oracle Metadata Repository

Problem 1

The following error code is seen in the diagnostic.log file:

MDS-01273: The operation on the resource {0} failed because source metadata store mapped to the namespace {1} is read only.

For example:

ReadOnlyStoreException: MDS-01273:
@ The operation on the resource /oracle/apps/cdm/foundation/parties/flex/orgContactNew/test.xsd failed because source
@ metadata store mapped to the namespace / BASE DEFAULT is read only
Ensure that adf-config.xml contains a mapping that covers the resource and is mapped to DBMEtadataStore

The diagnostic.log file is stored in the following directories:

(UNIX) DOMAIN_HOME/servers/server_name/logs/server-name-diagnostic.log
(Windows) DOMAIN_HOME\servers\server_name\logs\server-name-diagnostic.log

This error occurs because the resource is not mapped in adf-config.xml. When it is not mapped, it defaults to ClasspathStore, which is read-only.

Solution 1

To resolve this problem:

1. Check persistence configuration in adf-config.xml. Specifically, check the repository pointing to the namespace should have its metadata-store-class set to oracle.mds.persistence.stores.db.DBMetadataStore. For example:

<mdsC:adf-mds-config>
<mds-config>
...
<persistence-config>
<metadata-namespaces>
<namespace path="/oracle/apps/cdm/foundation/parties/flex/orgContact" metadata-store-usage="globalStore-by-adfconfigfilter"/>
</metadata-namespaces>
<metadata-store-usages>
<metadata-store-usage id="globalStore-by-adfconfigfilter" default-cust-store="true" deploy-target="true">
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="repository-name" value="mds-ApplicationMDSDB"/>
<property name="partition-name" value="FAGlobal"/>
<property name="jndi-datasource" value="jdbc/mds/mds-ApplicationMDSDBDS"/>
</metadata-store>
</metadata-store-usage>
....
</persistence-config>
</mds-config>
</mdsC:adf-mds-config>

2. In the adf-config.xml or the customization document, ensure the read-only-mode element is set to true.

Problem 2

The following error code is seen in the diagnostic.log file:

MDS-00013: no metadata found for metadata object "{0}"

For example:

file:oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found formetadata object "</a/b/document.xml>

The diagnostic.log file is stored in the following directories:

(UNIX) DOMAIN_HOME/servers/server_name/logs/server-name-diagnostic.log
(Windows) DOMAIN_HOME\servers\server_name\logs\server-name-diagnostic.log

Solution 2

To resolve this problem:

1. Check if the namespace to store mappings in adf-config.xml mapping this MO to an Oracle Database store. For example:

<mdsC:adf-mds-config>
<mds-config>
...
<persistence-config>
<metadata-namespaces>
<namespace path="/oracle/apps/cdm/foundation/parties/flex/orgContact" metadata-store-usage="globalStore-by-adfconfigfilter"/>
</metadata-namespaces>
<metadata-store-usages>
<metadata-store-usage id="globalStore-by-adfconfigfilter" default-cust-store="true" deploy-target="true">
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="repository-name" value="mds-ApplicationMDSDB"/>
<property name="partition-name" value="FAGlobal"/>
<property name="jndi-datasource" value="jdbc/mds/mds-ApplicationMDSDBDS"/>
</metadata-store>
</metadata-store-usage>
....
</persistence-config>
</mds-config>
</mdsC:adf-mds-config>

2. Based on the mapping, perform the appropriate action

- If it is mapped to a database store, use the exportMetadata command to check if the metadata document is present in the MDS Repository partition. For more information about this command, see the "exportMetadata" section of the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

- If it is not mapped, then the document must be in classpath. You may need to bounce the server.

3. Set TRACE log level for logger oracle.mds.mnfe. See Section 8.2.3.

Problem 3

The following error code is seen in the diagnostic.log file:

MDS-01330: unable to load MDS configuration document

Typically, there will be nested exceptions that describe the actual reason for failure. For example:

MDSConfigurationException : parseADFConfigurationMDS-0133

This error occurs because the application configuration has an Oracle Metadata Repository repository stub, but Oracle Metadata Repository repository is not specified at deployment time.

This error can also occur when the repository is configured incorrectly or if the Oracle Database is down. For example:

MDSConfigurationException encountered in parseADFConfigurationMDS-01330: unable to
load MDS configuration document
MDS-01329: unable to load element "persistence-config"
MDS-01370: MetadataStore configuration for metadata-store-usage "OWSM_TargetRepos" is invalid.
MDS-01377: Unable to get database connection from data source configured with JNDI name "jdbc/mds/owsm".
weblogic.common.resourcepool.ResourceDeadException:
0:weblogic.common.ResourceException: Could not create pool connection

The diagnostic.log file is stored in the following directories:

(UNIX) DOMAIN_HOME/servers/server_name/logs/server-name-diagnostic.log
(Windows) DOMAIN_HOME\servers\server_name\logs\server-name-diagnostic.log

Solution 3

To resolve this problem, from Fusion Applications Control:

1. Check the MDS Configuration page for the application.

2. Fix configuration and re-deploy the application.

See the "Changing MDS Configuration Attributes for Deployed Applications" section in the Oracle Fusion Middleware Administrator's Guide.

Problem 4

During runtime, an exception stack displays with a concurrent modification exception:

java.util.ConcurrentModificationException

This error occurs during runtime, when working with objects using JEDI or customizing using Page Composer. Essentially, the same document at the same layer is being customized by multiple users.

Solution 4

Resolve the concurrency.

9 Troubleshooting Oracle SOA Suite

This chapter describes common problems that you might encounter when using Oracle SOA Suite and explains how to solve them.

This chapter contains the following topics:

- Introduction to Troubleshooting Oracle SOA Suite

- Getting Started with Troubleshooting and Logging Basics for Oracle SOA Suite

- Runtime Diagnostics

- Security and Oracle WSM Policy Manager Configuration

- Human Workflow

- Patching and Deployment

- Performance

- Maintenance

- Custom Development (Extensibility)

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

To gain insight into the log details generated by Oracle Fusion applications, see the "Troubleshooting Oracle Fusion Applications Using Incidents, Logs, QuickTrace, and Diagnostic Tests" chapter in the Oracle Fusion Applications Administrator's Guide. Also, review the Oracle Fusion Middleware Error Messages Reference for information about the error messages you may encounter.

Note:

Some sections of this chapter describe how to set properties in the System MBean Browser of Fusion Applications Control. Some MBean properties are applicable to Oracle WebLogic Server and others are applicable to the SOA Infrastructure. Oracle WebLogic Server Mbeans are properties that impact the Java Virtual Machine (JVM) server level process that runs on the operating system. Example properties include the port on which the server is listening, and so on. These properties are agnostic to the type of application running on that server. SOA Infrastructure level Mbeans are properties that impact the SOA Infrastructure application running on the same Oracle WebLogic Server. Example properties include audit levels, transaction retries, and so on.

9.1 Introduction to Troubleshooting Oracle SOA Suite

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

Guidelines

When using the information in this chapter, Oracle recommends:

- After performing any of the solution procedures in this chapter, immediately retrying the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you see, and data you collect while troubleshooting. If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 9-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 9-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

1

Section 9.2

Get started troubleshooting Oracle SOA Suite. The procedure in this section quickly addresses a wide variety of problems.

2

Section 9.3 through Section 9.9

Perform problem-specific troubleshooting procedures. These sections describe:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

3

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or Oracle SOA Suite. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

4

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

9.2 Getting Started with Troubleshooting and Logging Basics for Oracle SOA Suite

SOA troubleshooting must be performed in the following scenarios:

1. The Oracle Fusion application transaction flow has an error and it has been identified as an error in SOA (or you want to check if it is a SOA-related error).

2. The Oracle Fusion application transaction flow has not completed and is taking longer than it should and it has been identified as stuck in SOA (or you want to check if it is stuck in SOA).

3. The Oracle Fusion application transaction flow is not working as expected, and the wrong data is passed.

The recommended approach to troubleshooting SOA issues is as follows:

1. Check the server and composite status log in Oracle WebLogic Server Administration Console and check if the SOA server is up and running successfully (that is, not in a failed state).

1. Log in to Oracle WebLogic Server Administration Console.

2. In the Domain Structure, click Deployments.

3. In the Name column of the Deployments section, find soa-infra.

4. Check that the State column is set to Active and the Health column is set to OK.

5. Click soa-infra > Monitoring tab.

6. Expand to ensure that all components have Health set to OK.

7. Note the server name on which SOA is deployed.

8. Go to the Domain Structure and click Environment > Servers to verify that the State column is set to RUNNING and the Health column is set to OK.

9. Note the Listen Port column value, as this is the SOA runtime port.

2. Check if any Oracle Fusion application incident was created for the problem encountered.
For information about Oracle Fusion application incident processing, see the "Process for Investigating, Reporting, and Solving a Problem" section in the Oracle Fusion Applications Administrator's Guide.

3. Check whether the event was delivered to the SOA cluster by checking the log messages in Fusion Applications Control.
This requires the oracle.integration.platform.blocks.event logger to be set to TRACE:32 (FINEST). There are potentially many types of exceptions that can appear in the log messages on the client side that raised the event. For example:

- If a Java class is not in the class path, then a ClassNotFoundException may appear.

- If the Java Naming and Directory Interface (JNDI) for the context or connection factory is not configured properly, then a NamingException or FabricException may appear.

- If the event payload XML that you create is invalid or contains invalid characters, you may receive a FabricException indicating that enqueueing of the event fails at the PL/SQL API with invalid characters, and so on.

For information about enabling this log and troubleshooting business events, see Section 9.3.2.

4. Check the composite instance flow. If the event was fired, then find your composite instance based on the application data.
See Section 9.3.1 for primary key mapping to the composite instance ID.

5. Review the composite instance flow and fault details. If the instance is in error and it is recoverable, attempt recovery using the Recovery tab of the BPEL process service engine in Fusion Applications Control.

6. View the logs.
If the problem still cannot be solved, increase the log level of the system to debug the transactions. See the list of loggers and log levels in the "Troubleshooting Oracle SOA Suite and Oracle BPM Suite" appendix of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite. To simplify troubleshooting, it is recommended that you enable the following parent loggers at the TRACE32 (FINEST) level in Fusion Applications Control:

- oracle.soa

- oracle.fabric

- oracle.integration

The oracle.wsm logger can remain set to the ERROR level where it logs the required error messages. The oracle.apps logger should be set to ALL. To change logger levels, perform the following steps:

1. Go to Fusion Applications Control.

2. In the navigation pane, select WebLogic Domain.

3. Right-click a Managed Server from within the domain (each server's log levels can be independently set).

4. Choose Logs > Log Configuration.

5. In the Logger Name column, expand the oracle runtime loggers to display loggers such as oracle.soa.

6. Change the logging level to TRACE:32. The change should take effect within a few minutes.
Description of the illustration loglevel.gif

Note that in a production system, setting the trace at a fine-grained level can result in a large amount of output that must be diagnosed. You can alternately use selective tracing that provides a way to get a detailed, on-disk trace selectively (for example, by user name, thereby eliminating trace output for other users).

7. To activate selective tracing, right-click the domain under WebLogic Domain and choose Logs > Selective Tracing.
Note that Selecting Tracing does not display as an option when you right-click an Administration Server or Managed Server and choose Logs.

8. From the Option Name list, choose the type of selective trace (for example, based on user name), and start the trace.

9. When the problem has been reproduced, disable the trace and view the output to narrow down the issue.
For more information on selective tracing, see the "Configuring and Using Selective Tracing" section of Oracle Fusion Middleware Administrator's Guide.

10. Review the error logs (from Fusion Applications Control) for more information on the error.
Cross layer, server, and family functionality can be correlated through the execution context ID (ECID) (for example, you can look up the composite instance for a given expense report by correlating all the log entries with the ECID associated with that expense report transaction). For more information, see the "Correlating Messages Across Log Files and Components" section of Oracle Fusion Middleware Administrator's Guide.

7. Check for incorrect configurations and any networking issues, especially around potentially incorrect settings of the following:

- External load balancers

- Oracle HTTP Server

- Virtual host/IP address

- Oracle WebLogic Server front-end URL

- SSL host name verification settings

For more details, see the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite.

8. Verify that custom applications have been deployed on the correct servers using the correct configuration plan during deployment.
For more details, see the "Customizing SOA Composite Applications for the Target Environment" section of Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

9. Contact Oracle Support Services.
If the error still cannot be resolved, file a ticket with Oracle Support Services and provide the logs and information shown in Table 9-2.

Table 9-2 SOA Log Information for Oracle Support Services

Log

Description

Application diagnostic log

View the following log:

$DOMAIN_HOME/servers/domain_name/logs/apps/server_name-diagnostic.log

Server diagnostic log

View the following log:

$DOMAIN_HOME/servers/server_name/logs/server_name-diagnostic.log

For example, soa_server1-diagnostic.log, if server_name is soa_server1.

This is where the log output is available. By default, only the last 100 MB of the diagnostic logs are retained.

Server log

View the following log:

server_name.log

For example, soa_server1.log, if server_name is soa_server1.

Server console output

<stdout> is also helpful, especially for deployment or patching issues.

Server thread dump

Enter the following at the operating system command prompt:

kill -3 managed_server_process_ID

You can also use Oracle WebLogic Server Administration Console.

1. In the navigation tree of Oracle WebLogic Server Administration Console, select Environment > Servers.

2. In the table, select the server.

3. Select the Monitoring tab.

4. Select the Threads tab.

5. Click Dump Thread Stacks.

The output is in the console logs.

OPatch thread dump

kill -3 opatch_client_process_ID

OWSM message log

The following log captures all SOAP messages on the wire.

$DOMAIN_HOME/servers/server_name/logs/owsm/msglogging/diagnostic.log

This log is not enabled by default. To enable this log:

1. Go to Fusion Applications Control > Weblogic Domain > Web Services > Policies.

2. Choose the security level for which to enable logging.

3. Edit the policy to enable the log assertion.

For more information about setting logging levels for SOA components, see the "Setting Logging Levels for Troubleshooting" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

10. Send Oracle Support Services information about the error packaged with Automatic Diagnostic Repository-based incident processing.
For information about how to investigate, report, and, in some cases, resolve a problem, see the "Investigating, Reporting, and Solving a Problem" section of Oracle Fusion Middleware Administrator's Guide.

9.3 Runtime Diagnostics

This section contains the following topics that describe common problems and solutions for Oracle SOA Suite runtime:

- Correlating Application Issues to the SOA Composite IDs

- Business Event Subscriptions Are Not Firing

- Long Delays After an Event is Published and Before a Subscriber is Triggered

- Events Are Consumed by Multiple Revisions of the Same Composites

- Rolled Back OAOO Event Delivery Messages are Displayed in the Log Files

- Application Transaction Does Not Complete and the Underlying Composite Is Stuck in a Running State

- BPEL Process Received No Response from an ADF Asynchronous Service

- Business Event Is Picked Up Twice (Or More) By SOA Server

- Long Running, Synchronous Calls To Remote Web Services Error Out or Asynchronous Transactions Return with an Error after a Long Time

- Some Messages Are Lost Between EDN and Composites or Composites Across Clusters

- Some Composites Are Being Retried Multiple Times on Failure

- Some Fusion Applications Control Features are Missing the No Recover Button or Export Composite Capability

- Automatic Recovery of BPEL Instances is Not Recovering A Specific Instance

- SOA Runtime Fails with a "Cannot read WSDL" Error

- Uploading a Composite for Oracle Support Services

- Confirming SOA Component Configuration Properties for Oracle Support Services

9.3.1 Correlating Application Issues to the SOA Composite IDs

Problem

How does an administrator translate an issue faced in the application to a composite instance in Fusion Applications Control for debugging purposes? For example, a purchase order transaction is stuck in processing for days and the administrator wants to see what the composite instance is doing. How does the administrator map the purchase order ID to the composite instance ID?

Solution

Oracle Fusion Applications modules write context-specific and business user-identifiable keys to the log files. This includes primary keys for any of the logical entities processed by the composite. After the primary key and other context information is included in the log messages, the administrator can search for that context (for example, purchase order ID) in the log file and derive the composite instance ID and ECID. From there, they can diagnose the issue in Fusion Applications Control. Usually, the primary key information is written to the logs in case of any error/incident/message level.

Cross layer, server, and family functionality are all designed to be correlated through the ECID. For example, you can look up the composite instance for a given expense report by correlating all the log entries with the ECID associated with that expense report transaction.

During a specific time interval, you may create several hundred instances., This is a fairly common use case. If there is no error, or if the application has not implemented a BPEL process with sensor logging (should not be common), then instead of searching for the primary key, perform one of the following tasks:

- Try using the approximate timestamp of the transaction.

- Inspect the input payload of the audit trail flow (until you find the right one) to identify the right composite.

Any extensions/customizations are also expected to log the same context-specific keys. You can set AF_LOG and AF_LOG_MODULE properly (such as setting log channel levels) to specify finer-grained logging from a particular family/logical business area (LBA)/composite.

9.3.2 Business Event Subscriptions Are Not Firing

Problem

When a business event is published, the business event subscription defined in the composite does not fire and a composite instance is not created.

This can occur, for example, with an ADF application invoking a SOA composite.

Solution

To resolve this problem.

1. Enable EDN logging in Fusion Applications Control. The following server loggers specific to EDN are available for selection:

- oracle.integration.platform.blocks.event

- oracle.integration.platform.blocks.event.saq

- oracle.integration.platform.blocks.event.jms

Note that oracle.integration.platform.blocks.event.jms only appears if EDN is running in EDN-JMS mode instead of the default EDN-DB mode.

You can set the server loggers to one of the following levels:

- TRACE:1 (FINE)

- TRACE:16 (FINER)

- TRACE:32 (FINEST)

You can alternately use selective tracing to get detailed, on-disk trace selectively (for example, by user name, thereby eliminating trace output for other users). See Section 9.2 for details.

Detailed logging goes into SOA server's diagnostic.log file configured in Fusion Applications Control. To set the log level for the loggers:

1. Go to the navigation pane.

2. Right-click soa-infra.

3. Choose Logs > Log Configuration.

4. Expand oracle.integration > oracle.integration.platform > oracle.integration.platform.blocks > oracle.integration.platform.blocks.event.

5. Set the loggers described in step 1 to an appropriate logging level.

The following sample shows a portion of a server log file:

[2011-03-22T11:52:37.038-07:00] [soa_server1] [TRACE] [SOA-31010]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@96bab0] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000140]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [composite_name: MediatorPubSub] [component_name:
PublishEvent] [component_instance_id: 8E0411C054B511E0AF455DABE1395E7B] [SRC_
METHOD: fineDequeuedEvent] [composite_instance_id: 90087] Dequeued event,
Subject: null [source type "J"]:[[
<business-event
xmlns:ns="http://schemas.oracle.com/events/edl/MyEventDefn"
xmlns="http://oracle.com/fabric/businessEvent">
<name>ns:MyEvent</name>
<id>a7ae9d28-9530-4049-8385-e0ebfb0eea50</id>

<source>default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/PublishEvent</source>
<tracking>
<ecid>5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83</ecid>
<compositeInstanceId>90087</compositeInstanceId>
<parentComponentInstanceId>mediator:8E0411C054B511E0AF455DABE1395E7B</parentCom
ponentInstanceId>
</tracking>
<content>
<inp1:singleString
xmlns:inp1="http://xmlns.oracle.com/singleString">PO123</inp1:singleString>
</content>
</business-event>

]]
[2011-03-22T11:52:37.042-07:00] [soa_server1] [TRACE] [SOA-31011]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@96bab0] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000140]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [composite_name: MediatorPubSub] [component_name:
PublishEvent] [component_instance_id: 8E0411C054B511E0AF455DABE1395E7B] [SRC_
METHOD: fineFilterResults] [composite_instance_id: 90087] Filter [XPath Filter:
/be:business-event/be:content/ns1:singleString = 'PO123'] for subscriber
"default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/SubsEvent" returned true
. . .
. . .

For more information about setting logging levels for Oracle SOA Suite, see the "Setting Logging Levels for Troubleshooting" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

2. Check whether the event publication is being delivered to the SOA cluster.
One way to do this is to use the log messages in Fusion Applications Control. The log messages include information about the incoming events and the event subject and payload. Before you can view the event information in the log messages, you must first set the oracle.integration.platform.blocks.event logger to TRACE:32 (FINEST), as described in step 1, and then raise the event again. To search for the event-related messages:

1. Right-click soa-infra, and choose Logs > View Log Messages.

2. Specify the date range.

3. In the Message Types section, select the Notification and Trace checkboxes.

4. To search for all events delivered to the SOA cluster, specify Message contains Dequeued event as the search criteria, and click Search.
The subject associated with the event is displayed in the Message field and the business event namespace and local name, payload, ECID, and message details are displayed in the Supplemental Detail field.

5. To search for a particular event by event name, click Add Fields.

6. Select Supplemental Detail, and click Add.

7. Specify that Supplemental Detail contains either the event namespace or event local name as the search criteria.

8. Click Search.

9. Use additional information such as the time interval or data in the payload to identify the specific event message of interest.
The log message is generally a good way to identify whether the issue is with the publisher or subscriber. For example, if the subject is missing or the fmw-context is missing, it typically means there is an issue with the publisher. If the information reported in the log message is correct, then it typically means there is a problem with the subscriber.

If you see the Dequeued event log message for your business event, then go to step 9.

If you do not see the Dequeued event log message, there may be issues with the following:

For This Issue...

See...

EDN is in paused mode and temporarily stopped delivering events to its subscribers.

Step 3

Events are stuck in the advanced queue.

Step 4

More than one SOA cluster is pointing to the same advanced queue.

Step 5

There are internal SOA issues in the database layer.

Step 6

The data source is configured to point to the wrong SOAINFRA schema.

Step 7

There are issues with the Java, SOA, or PL/SQL code raising the event.

Step 8

3. When patches are applied to the SOA cluster, EDN is automatically placed in paused mode to prevent delivery of events during patching. After patching is complete, EDN exits paused mode and resumes event processing. When a patch fails, EDN may remain in paused mode to prevent event subscriptions from firing after the failure. Follow these steps to identify if EDN is in paused mode, and restart it:

1. From the navigation pane, expand SOA and right-click soa-infra.

2. Choose Administration > System MBean Browser.

3. Go to Application Defined MBeans > oracle.as.soainfra.config > Server: SOA_cluster_name > EDNConfig > edn.

4. In the Attributes column, locate the Paused property.

5. If Paused is set to true, the listener threads are decreased to zero, which temporarily stops event delivery.

6. To restart event delivery, select false.

7. Click Apply.

4. At times, the message may be stuck in the advanced queue in different stages of delivery. Check the count of (potentially stuck) events currently in the following queue tables:

- EDN_EVENT_QUEUE_TABLE: Every event published is temporarily enqueued into this table (for edn_event_queue).

- EDN_OAOO_DELIVERY_TABLE: Only events with a one-and-only-one (OAOO) delivery target(s) are temporarily enqueued into this table (for edn_oaoo_queue).

You can also check the count in the edn-db-log. The total number of messages in the EDN_EVENT_QUEUE_TABLE and EDN_OAOO_DELIVERY_TABLE are displayed at the top of the page.

1. Navigate to the following URL to see the total number of messages at the top of the page:

http://host_name:port/soa-infra/events/edn-db-log

You do not need to enable the edn-db-log to view these messages.

5. There may be more than one SOA cluster pointing to the same SOAINFRA schema. This is highly unlikely in a provisioned environment, but for environments that are created by developers, it may be an issue. In this case, the expected SOA runtime environment may not be receiving the events properly. It is expected that only one SOA runtime environment listens for business events on a SOAINFRA schema. Use the following query to identify the list of SOA runtime environments subscribing to business events from a SOAINFRA schema. Have only the required SOA runtime environment up, which points to the SOAINFRA schema, and shut down the others.

1. Navigate to the edn-db-log to see log messages that display each SOA cluster that is connecting to the EDN advanced queue:

http://host_name:port/soa-infra/events/edn-db-log

You do not need to enable the edn-db-log to view these messages. The messages continue to be displayed in the edn-db-log until the next time you click the Clear link. Here is a sample message that you see in the edn-db-log:

Starting EDN bus. Timestamp=Wed Feb 23 10:11:26 PST 2011.
Parameters: platform="weblogic", cluster="", server="soa_server1",
domain="fusion_domain", admin server="AdminServer", host="adc2180440".

2. Alternatively, you can run the following select statement against the SOAINFRA schema. For example, use FIN_FUSION_SOAINFRA for the SOA cluster in the Financials domain.

select * from V$SESSION where username like 'family_FUSION_SOAINFRA';

6. Verify that the event is properly being enqueued and dequeued by the underlying EDN PL/SQL procedures. You can do this using the edn-db-log that displays all events, including their namespace, names, payload, and subject, which are enqueued and dequeued by the PL/SQL EDN procedures.

1. Navigate to the following URL:

http://host_name:port/soa-infra/events/edn-db-log

2. Click the Enable link.

3. Raise the business event again.

4. Click the Refresh link.

Note:

- You must have the administrator privilege to enable/disable the edn-db-log.

- You must always disable the edn-db-log after debugging to disable logging. This prevents excessive database growth in the EDN database log table. If the edn-db-log remains enabled, then debugging messages related to events that are published/enqueued into the database and subscribed to/dequeued from the database continue to be persisted into certain EDN database log tables. This causes the table to grow indefinitely.

7. The EDNSource and EDNLocalTxSource data sources may be pointing to a different database than the EDNDataSource and EDNLocalTxDataSource data source connections of the SOA server. Ensure that these four data source connections on ADF and the SOA server are pointing to the same database schema.

Check or set the data sources in the Oracle WebLogic Server Administration Console:

1. In the Domain Structure, select Services > Data Sources.

2. In the Name column of the table, select data_source_name.
The connection pool and driver name are only available for generic data sources, and not for multidata sources.

3. Select the Connection Pool tab.

4. In the Driver Class Name field, set the data source.

For more information, see the "Configuring the SOA Infrastructure" chapter in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

8. Check the log files in Fusion Applications Control for the code that raises the event to see if there were failures in raising the event or failures in the code that prevented the event from being raised.

For ADF, check the log files. Look for the ECID corresponding to the business key (for example, purchase order).

To enable event-related log messages in the server running the ADF application that raises the event, set the log level for the oracle.integration.platform.blocks.event logger to TRACE (32) on that server.

9. By the time you reach this step, you have confirmed that the business event is properly delivered to the SOA cluster. To identify whether any composite instances were created, perform the following steps:

1. Because the ECID is different for a subscription with a guaranteed consistency level and a subscription with an OAOO level defined for the same event, you must first identify the consistency level for the event subscription. To do this, right click soa-infra, choose Business Events, and click the Subscriptions tab. Find the composite that subscribes to the business event in the Components Subscriptions table and get the value from the Consistency Level column.

2. If the value is set to Guaranteed, then get the ECID from the Dequeued event log message.

3. If the value is set to One And Only One, then search for the log message with Message contains Dequeued OAOO event as criteria and use the ECID from that message.

4. Locate the composite instance by right-clicking soa-infra, selecting the Instances tab, entering the ECID in the search criteria, and clicking Search.

If you see composite instances, then continue to step 12.

If you do not see any composite instances, this may be due to the following issues:

- There are issues with the subscription logic in the composite, possibly a mismatch in the event namespace or event name or error in the filter logic. See step 10.

- There may be a SOA issue. See step 11.

10. If a filter is being used, there may be an issue with the filter logic. Use Fusion Applications Control to review the event subscriptions and filters defined for the composite and the payload content.

1. Log in to Fusion Applications Control in the domain where the composite with the subscription is deployed.

2. Navigate to domain_name > SOA.

3. Right-click soa-infra (SOA_cluster_name), and choose Business Events.

4. Click the Subscriptions tab.

5. Review the information in the Event Name, Namespace, and XPath Filter columns of the Component Subscriptions table.

Alternatively, you can also check the SOA server diagnostic.log file for filter-related logging. You must set the log level to at least TRACE:1 (FINE) for the oracle.integration.platform.blocks.event.saq logger. The following is an example log message that has the following statement pattern: Filter [XPath Filter: ….] for subscriber "…" returned true/false.

[2011-03-22T11:52:36.976-07:00] [soa_server1] [TRACE] [SOA-31011]
[oracle.integration.platform.blocks.event.saq] [tid:
[ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: <anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1] [SRC_
CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[WEBSERVICE_PORT.name: execute_pt] [APP: soa-infra] [composite_name:
MediatorPubSub] [component_name: PublishEvent] [component_instance_id:
8E0411C054B511E0AF455DABE1395E7B] [J2EE_MODULE.name: fabric] [SRC_METHOD:
fineFilterResults] [WEBSERVICE.name: PublishEvent_ep] [J2EE_APP.name:
soa-infra] [composite_instance_id: 90087] Filter [XPath Filter:
/be:business-event/be:content/ns1:singleString = 'PO123'] for subscriber
"default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/SubsEvent" returned true

11. Check the SOA diagnostic log for stack traces related to the issue. For example, the SOA instance may have been rolled back due to an error.

12. By the time you reach this step, you have confirmed that the business event has been delivered to the SOA cluster and a composite instance has been created. However, you may be encountering issues with the composite components:

- If you see a composite instance, but not a BPEL instance, check if the BPEL process can be executed independently by a client, as opposed to the event subscription.

- If you see a composite instance, but not a BPEL instance, this symptom may indicate a stuck thread on a service call. In this scenario, the BPEL process service engine is hung on a service call and has not created the audit trail. To verify the behavior, take three thread dumps approximately 30 seconds apart on all servers in the cluster. See Table 9-2 for more information on taking thread dumps. If the same thread shows it is stuck after the three thread dumps (that is, after 1.5 minutes), the thread is stuck. In this case, wait for the call to time out, which then enables you to recover the instance.

- If the audit trail shows the following message:

Invoked 1-way operation "initiate" on target service service_name

There may be an issue with an incorrect driver type for the data sources. Note that the driver XA configuration should already be created by the SOA/provisioning template. If the driver type is changed or is not set properly, routing from Oracle Mediator does not occur. Instead, it tries to route and fails several times. This can be confirmed by instances in Fusion Applications Control. As per Oracle Fusion Applications standards, the SOADataSource and EDNDataSource data sources should use the XA driver type; that is:

- EDNDataSource: oracle.jdbc.xa.client.OracleXADataSource

- SOADataSource: oracle.jdbc.xa.client.OracleXADataSource

9.3.3 Long Delays After an Event is Published and Before a Subscriber is Triggered

Problem

After a business event is published, there is a long delay (minutes, hours, or even days) before the event subscriber is triggered and its composite instance is created.

This can occur, for example, with an ADF application invoking a SOA composite.

Solution

To resolve this problem, perform the following steps.

1. Enable EDN logging in Fusion Applications Control. The following server loggers specific to EDN are available for selection:

- oracle.integration.platform.blocks.event

- oracle.integration.platform.blocks.event.saq

- oracle.integration.platform.blocks.event.jms

Note that oracle.integration.platform.blocks.event.jms only appears if EDN is running in EDN-JMS mode, instead of the default EDN-DB mode.

2. Set the server loggers to one of the following levels:

- TRACE:1 (FINE)

- TRACE:16 (FINER)

- TRACE:32 (FINEST)

You can alternately use selective tracing to selectively get a detailed, on-disk trace (for example, by user name, thereby eliminating trace output for other users). See Section 9.2 for details.

Detailed logging goes into the server's diagnostic.log file configured in Fusion Applications Control.

3. Set the log level for the loggers.

1. Go to the navigation pane.

2. Right-click soa-infra.

3. Select Logs > Log Configuration.

4. Expand oracle.integration > oracle.integration.platform > oracle.integration.platform.blocks > oracle.integration.platform.blocks.event.

5. Set the loggers described in step 1 to an appropriate logging level.
The following sample shows a portion of a server log file:

[2011-03-22T11:52:37.038-07:00] [soa_server1] [TRACE] [SOA-31010]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@96bab0] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000140]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [composite_name: MediatorPubSub] [component_name:
PublishEvent] [component_instance_id: 8E0411C054B511E0AF455DABE1395E7B]
[SRC_
METHOD: fineDequeuedEvent] [composite_instance_id: 90087] Dequeued event,
Subject: null [source type "J"]:[[
<business-event
xmlns:ns="http://schemas.oracle.com/events/edl/MyEventDefn"
xmlns="http://oracle.com/fabric/businessEvent">
<name>ns:MyEvent</name>
<id>a7ae9d28-9530-4049-8385-e0ebfb0eea50</id>
<source>default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/PublishEvent</source>
<tracking>
<ecid>5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83</ecid>
<compositeInstanceId>90087</compositeInstanceId>
<parentComponentInstanceId>mediator:8E0411C054B511E0AF455DABE1395E7B</paren
tCom
ponentInstanceId>
</tracking>
<content>
<inp1:singleString
xmlns:inp1="http://xmlns.oracle.com/singleString">PO123</inp1:singleString>
</content>
</business-event>
]]
[2011-03-22T11:52:37.042-07:00] [soa_server1] [TRACE] [SOA-31011]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@96bab0] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000140]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [composite_name: MediatorPubSub] [component_name:
PublishEvent] [component_instance_id: 8E0411C054B511E0AF455DABE1395E7B]
[SRC_
METHOD: fineFilterResults] [composite_instance_id: 90087] Filter [XPath
Filter:
/be:business-event/be:content/ns1:singleString = 'PO123'] for subscriber
"default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/SubsEvent" returned true
. . .
. . .

For more information about setting logging levels for Oracle SOA Suite, see the "Setting Logging Levels for Troubleshooting" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

4. Find out when the event is published, dequeued, and sent to the subscriber by EDN.
Use the Java logging in step 1 to identify the timestamps of event publishing, dequeuing, and sending to the subscriber. From these timestamps, you can identify if the delay is on the publishing side or the EDN delivery side.

To search for the event-related messages in the log messages.

1. Right-click soa-infra.

2. Select Logs > View Log Messages.

3. Specify the date range.

4. To search for all events delivered to the SOA cluster, specify Message contains Dequeued event as the search criteria, and click Search.
The subject associated with the event is displayed in the Message field and the business event namespace and local name, payload, ECID, and message details are displayed in the Supplemental Detail field.

5. To search for a particular event by event name, click Add Fields.

6. Select Supplemental Detail, and click Add.

7. Specify that Supplemental Detail contains either the event namespace or the event local name as the search criteria.

8. Click Search.

9. Use additional information such as the time interval or data in the payload to identify the specific event message of interest.
The following sample shows a portion of a server log file containing information about event publishing with a timestamp of 2011-03-22T11:52:36.968-07:00.

[2011-03-22T11:52:36.968-07:00] [soa_server1] [TRACE] [SOA-31000]
[oracle.integration.platform.blocks.event.saq] [tid:
[ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: <anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1] [SRC_
CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[WEBSERVICE_PORT.name: execute_pt] [APP: soa-infra] [composite_name:
MediatorPubSub] [component_name: PublishEvent] [component_instance_id:
8E0411C054B511E0AF455DABE1395E7B] [J2EE_MODULE.name: fabric] [SRC_METHOD:
fineEventPublished] [WEBSERVICE.name: PublishEvent_ep] [J2EE_APP.name:
soa-infra] [composite_instance_id: 90087] Received event: Subject: null
Sender: default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/PublishEvent
Event:[[
<business-event xmlns:ns="http://schemas.oracle.com/events/edl/MyEventDefn"
xmlns="http://oracle.com/fabric/businessEvent">
<name>ns:MyEvent</name>
<id>a7ae9d28-9530-4049-8385-e0ebfb0eea50</id>
<tracking>
<ecid>5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83</ecid>
<compositeInstanceId>90087</compositeInstanceId>

<parentComponentInstanceId>mediator:8E0411C054B511E0AF455DABE1395E7B</paren
tComponentInstanceId>
</tracking>
<content>
<inp1:singleString
xmlns:inp1="http://xmlns.oracle.com/singleString">PO123</inp1:singleString>
</content>
</business-event>

]]

The following sample shows a portion of a server log file containing information about an event dequeued by EDN with a timestamp of 2011-03-22T11:52:37.038-07:00.

[2011-03-22T11:52:37.038-07:00] [soa_server1] [TRACE] [SOA-31010]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@96bab0] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000140]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [composite_name: MediatorPubSub] [component_name:
PublishEvent] [component_instance_id: 8E0411C054B511E0AF455DABE1395E7B]
[SRC_METHOD: fineDequeuedEvent] [composite_instance_id: 90087] Dequeued
event, Subject: null [source type "J"]:[[
<business-event xmlns:ns="http://schemas.oracle.com/events/edl/MyEventDefn"
xmlns="http://oracle.com/fabric/businessEvent">
<name>ns:MyEvent</name>
<id>a7ae9d28-9530-4049-8385-e0ebfb0eea50</id>

<source>default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/PublishEvent</source>
<tracking>
<ecid>5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83</ecid>
<compositeInstanceId>90087</compositeInstanceId>
<parentComponentInstanceId>mediator:8E0411C054B511E0AF455DABE1395E7B
</parentComponentInstanceId>
</tracking>
<content>
<inp1:singleString
xmlns:inp1="http://xmlns.oracle.com/singleString">PO123</inp1:singleString>
</content>
</business-event>

]]

The following sample shows a portion of a server log file containing information of an event sent to a subscriber by EDN with a timestamp of 2011-03-22T11:52:37.150-07:00.

[2011-03-22T11:52:37.150-07:00] [soa_server1] [TRACE] [SOA-31033]
[oracle.integration.platform.blocks.event.saq] [tid:
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@b402db] [userId:
<anonymous>] [ecid:
5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83,0:1:100000141]
[SRC_CLASS:
oracle.integration.platform.blocks.event.saq.SAQBusinessEventBusMessages]
[APP: soa-infra] [SRC_METHOD: fineSentOAOOEvent] Sent OAOO event [QName:
"{http://schemas.oracle.com/events/edl/MyEventDefn}MyEvent" to target:
"default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/SubsEvent"]:[[
<business-event xmlns:ns="http://schemas.oracle.com/events/edl/MyEventDefn"
xmlns="http://oracle.com/fabric/businessEvent">
<name>ns:MyEvent</name>
<id>a7ae9d28-9530-4049-8385-e0ebfb0eea50</id>
<source>default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/default/MediatorPubSub!2.0*soa_
58454bff-3b36-4e29-a883-949085d85719/PublishEvent</source>
<tracking>
<ecid>5fc0ca821d51e919:3d214296:12ebaa2c996:-8000-00000000000c2b83</ecid>
<compositeInstanceId>90087</compositeInstanceId>

<parentComponentInstanceId>mediator:8E0411C054B511E0AF455DABE1395E7B</paren
tComponentInstanceId>
</tracking>
<content>
<inp1:singleString
xmlns:inp1="http://xmlns.oracle.com/singleString">PO123</inp1:singleString>
</content>
</business-event>
]]

5. If the delay comes from the event publishing side, then check the following:

1. If you use the remote EDN API to publish events from, for example, an ADF component to the SOA server, and you use the following event connection factory lookup code:

BusinessEventConnectionFactory BusinessEventConnectionFactorySupport.
findRelevantBusinessEventConnectionFactory(boolean forceRetry)

You may need to set the forceRetry parameter to true to cache the BusinessEventConnectionFactory object after it is found, and avoid forced retries of JNDI lookups that can cause a significant delay.

2. If you publish multiple events with a loop statement in a batch fashion, you may need to move the above event connection factory lookup outside the loop to avoid a lookup per event.

6. If the delay comes from event dequeuing after the event is published, then check the following:

Ensure That...

Description

The SOA server is up running, and EDN has been configured with the correct amount of dequeuer threads through an EDNConfig MBean.

To examine the configuration of the EDNConfig MBean in Fusion Applications Control:

1. Go to the navigation pane.

2. Right-click soa-infra.

3. Select SOA Infrastructure > Administration > System MBean Browser.

4. Expand Application Defined MBeans > oracle.as.soainfra.config > Server: soa_server-x > EDNConfig > edn.

5. Ensure that the NumberOfThreads attribute (for EDN dequeuer threads) is set to an appropriate number (the default is 3).

Set the number of EDN dequeuer threads (the default is 3) to a value that matches the number of events published. If there are a large number of events published, then you may need to increase this number to avoid a bottleneck of events dequeuing. Note that the EDN dequeuer threads come from a thread pool that is provided by the SOA server and shared with other SOA processes. Therefore, when you increase the number of EDN dequeuer threads, you may potentially impact server performance for other SOA functionality.

The backing store of EDN is functioning properly.

For example, if the backing store of EDN is Oracle AQ, and there are a significant amount of dead events stuck in the AQ that are not cleared, then event dequeuing by EDN may slow down significantly.

7. If the delay comes from event consumption by its subscriber after the event is dequeued, then check the following:

1. Ensure that all the event subscribing components such as Oracle Mediator or a BPEL process can consume and process the event within the expected time frame. If not, investigate why there is a delay.

2. If the event delivery is configured with an OAOO delivery guarantee, then EDN delivers the event to its subscriber in a global transaction context with built-in retry logics, should the transaction fail to commit. Retries may delay overall event processing. If the transaction fails to commit, ensure that you research the root cause of transaction failure.

9.3.4 Events Are Consumed by Multiple Revisions of the Same Composites

Problem

Events are consumed by multiple revisions of the same composites.

Solution

By design, different composites can subscribe to the same event. However, it is an error if multiple revisions of the same composite subscribe to the same event. This occurs when you have multiple active versions of the composite that may be a result of a patch failure.

Perform the following steps to identify whether there are multiple, active revisions of the same composite and to retire the composite revision that should not be active:

1. Go to Fusion Applications Control.

2. Click SOA > soa-infra.
In the Deployed Composites section of the Dashboard tab, you see a list of deployed composite names, revisions, and modes (for example, active).

3. Identify composites with the same name and with an active mode, but with different revisions.

4. Click the composite revision that should not be active.

5. Click the Retire button.

9.3.5 Rolled Back OAOO Event Delivery Messages are Displayed in the Log Files

Problem

If the Java debug level is set to TRACE:16 (FINER) or a lower value, you may see log messages such as the following:

Began XA for OAOO
Rolled back XA for OAOO

Solution

These are normal messages of OAOO event delivery when there are no events waiting to be delivered. These are not error conditions. You can turn off these messages by setting the Java logging level to TRACE:1 (FINE) or a higher value.

9.3.6 Application Transaction Does Not Complete and the Underlying Composite Is Stuck in a Running State

Problem

An application transaction is not completing. For example, a purchase order status may remain processing. Checking the composite instance shows that the composite is stuck in the running state. In this case, the component is probably not running. Instead, it has likely faulted and may need recovery.

Faults may occur for various reasons:

- A BPEL activity faulted with an error (for example, a business error, security authorization error, or some other error).

- A BPEL activity invoked an external web service that was unavailable.

- A BPEL activity has already been terminated by the administrator using Fusion Applications Control.

- A BPEL activity invoked an asynchronous ADF service and the message is stuck in the AQ/JMS queue.

- A BPEL activity invoked an asynchronous ADF service, but because SOA was unavailable, the callback message did not arrive.

- A BPEL activity invoked a synchronous ADF service, which is taking a long time (or is hanging).

- A network error occurred.

Solution

1. Log in to Fusion Applications Control.

2. In the navigator pane, go to domain_name > SOA.

3. Click soa-infra (SOA_cluster_name).

4. Click the Instances tab.

5. Search for the composite instance, and click the instance ID.
The Flow Trace page appears.

If the instance is not visible (and the Audit Level is not set to Off in the SOA Infrastructure Common Properties page), this implies that the message is stuck outside of SOA. Check the ADF log (if invoked through an ADF service) to find out if it is stuck in the AQ/JMS queue.

If the message has reached Oracle Mediator, but not instantiated the BPEL flow, the BPEL instance may have been rolled back from the start due to an error.

If the BPEL flow exists, the Faults section of the Flow Trace page typically shows the faulted service that can trace the root cause.

6. In the Trace section, click the BPEL process.

7. Expand the BPEL audit trail to see the exact point at which the service faulted.
This information is also available in the Faults tab of the BPEL flow trace. It also indicates whether the fault can be recovered.

8. Click the View Raw XML link.
The same information is also available through this link, where you can see the error. For example:

...
<message>Faulted while invoking operation "modifyUserRoles" on provider
"UserService". </message><details>
...
<tns:message>JBO-27023: Failed to validate all rows in a
transaction.</tns:message>
<tns:severity>SEVERITY_ERROR</tns:severity>
...
<message>The transaction was rolled back. The work performed for bpel instance
"451042" was rolled back to the previous dehydration point, but the audit
trail has been saved.
You can recover the instance from the recovery console by resubmitting the
callback message or activity for execution.</message

Since the instance was rolled back to its previous dehydration point, the status remains as Running.

9. In the Audit Trail and Faults tabs, make a note of the following:

- Composite name (for example, HcmUsersSpmlComposite)

- Component (for example, UpdateGuid BPEL process)

- BPEL instance ID (for example, bpel:451042)

This is all used in the recovery of the instance, if it is recoverable. Note that the audit trail window may mark the error as a nonrecoverable business fault, but the recoverability of the message can be found in the Recovery tab of the BPEL process service engine.

10. To attempt to recover the instance, right-click soa-infra (SOA_cluster_name), and choose Service Engines > BPEL.

11. Click the Recovery tab.

12. From the Type list, select Activity.

13. Specify the composite and component names captured in step 9, and click Search.

14. Find the specific BPEL instance ID. You can recover faults marked as Recoverable.

15. Check the other recovery options in the Type list (for example, Invoke and Callback), if they exist.

Note:

You can also search for recoverable messages from the Faults and Rejected Messages tab of the SOA Infrastructure by clicking the message and selecting the appropriate action from the Recovery Actions list.

16. If the instance is not marked as recoverable, then reinvoking the service is not allowed (most probably because it is not idempotent). In some cases, you may need to provide diagnostic information to Oracle Support Services to resolve issues with nonrecoverable, nonidempotent transactions.

17. If the BPEL activity has invoked an asynchronous ADF service and the message is stuck in the AQ JMS queue, you can view the server.log and server-diagnostic.log files to see the logging of the message metadata logged by the JRF web services infrastructure.
In addition, the ADF diagnostic logs are also available to debug, if needed.

1. Use the ECID field to correlate and track ADF service logging corresponding with the SOA composite that invoked it.

2. When viewing the log in Fusion Applications Control, click the Broaden Target Scope dropdown list and select the farm_name/domain_name (Oracle WebLogic Domain) to view messages across the domain.

3. In the Log Messages page for the Oracle WebLogic Server domain, in the Selected Targets section, ensure that the search includes the ECID field with the value noted in step a and the Component Name field is set to adf-bc.

4. Search and view log records for the Oracle Application Development Framework (Oracle ADF) Business Component (BC) and the ECID and note any issues.
For a specific ECID, you find several root instances (top level clients). You must drill down to the appropriate instance to find a specific fault.

5. Observe if the Oracle ADF Business Components completed successfully or completed with an error. See the "Viewing and Searching Log Files" section in the Oracle Fusion Middleware Administrator's Guide.
For more details on diagnosing Oracle ADF-BC asynchronous web service calls, see Section 9.3.7.

See the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite for the various ways to recover transactions and messages:

- "Managing SOA Composite Application Instances" chapter to recover from the SOA composite application page in Fusion Applications Control.

- "Managing BPEL Process Service Components and Engines" chapter to recover from the BPEL process service component and BPEL process service engine message recovery pages.

9.3.7 BPEL Process Received No Response from an ADF Asynchronous Service

Problem

A BPEL activity has invoked an asynchronous ADF service and not received a response. The message may be stuck in the request or response queues.

Solution

1. Check if the reply address is valid, the server is running, and the name of the server and port match with the server on which the BPEL process is running.

2. Verify that the policy on the callback receive activity matches with the policy advertised in the WSDL for the response port type/binding.

3. Look at the server-name_diagnostic.log file and check for all status messages of the request.

1. Go to Fusion Applications Control.

2. Right-click soa-infra.

3. Choose Logs > View Log Messages.

4. Click Target Log Files.

5. Select the server diagnostic file to view, and click View Log File.
For more information about the different types of loggers to set, see the "Setting Logging Levels for Troubleshooting" section of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

Note that every log contains the message ID and other details, such as ECID, that can help isolate it from other messages. After you find the message ID (that is, MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33), search for the same ID in the log file. You should see messages such as the following for each successful asynchronous operation.

If the following log is not available, this means the asynchronous operation was never called on this server:

[2010-12-17T12:27:13.537-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: <anonymous>]
[ecid: 0000Inq0wfa76EWLHyo2yf1D2wUW000000,0:1]
[WEBSERVICE_PORT.name: AsyncEjbPort] [APP: AsyncEjb] [J2EE_MODULE.name:
AsyncEjb-ejb] [WEBSERVICE.name: AsyncEjbService] [J2EE_APP.name: AsyncEjb]
*[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33] Sending message
to JMS queue*
"oracle.j2ee.ws.server.async.NonDefaultRequestQueue" for async processing
of service "1d7551aa-73d9-4624-ad52-c15e35b5b25dRequest"

If the following log is not available, this means the asynchronous operation was never called on this server:

[2010-12-17T12:27:13.783-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: <anonymous>]
[ecid: 0000Inq0wfa76EWLHyo2yf1D2wUW000000,0:1]
[WEBSERVICE_PORT.name: AsyncEjbPort] [APP: AsyncEjb] [J2EE_MODULE.name:
AsyncEjb-ejb] [WEBSERVICE.name: AsyncEjbService] [J2EE_APP.name: AsyncEjb]
*[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33] An asynchronous
request message is received*
and successfully recorded for service "AsyncEjbService" with a replyTo
address as
"http://adc2180314:7001/AsyncEjbCallback/AsyncEjbResponseImplService"

[2010-12-17T12:27:13.986-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: weblogic]
[ecid: 0000Inq0wfa76EWLHyo2yf1D2wUW000000,0] [APP: AsyncEjb]
*[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33]
Startedasynchronous request processing for the service*
"AsyncEjbService" with the message selector
"1d7551aa-73d9-4624-ad52-c15e35b5b25dRequest". Transaction enabled: "true"

[2010-12-17T12:27:14.296-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: weblogic]
[ecid: 0000Inq0wfa76EWLHyo2yf1D2wUW000000,0] [APP: AsyncEjb]
*[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33] Completed
asynchronous request processing. A response will be sent to the client.*

[2010-12-17T12:27:14.312-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: weblogic]
[ecid: 0000Inq0wfa76EWLHyo2yf1D2wUW000000,0] [APP: AsyncEjb]
*[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33]
Startedasynchronous response processing for the service*
"AsyncEjbService" with the message selector
"1d7551aa-73d9-4624-ad52-c15e35b5b25dResponse".

[2010-12-17T12:27:15.018-08:00] [AdminServer] [NOTIFICATION] []
[oracle.j2ee.ws.common.jaxws.JAXWSMessages]
[tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: weblogic]
[ecid: 77e271e3-afd5-48e8-a83d-9b326860f3f2-0000000000000018,0] [APP:
AsyncEjb] *[MessageID: urn:uuid:ac1a4a81-39df-45b1-a741-e16e752d5d33]
Completed asynchronous response processing successfully. Client must have
received the response by now.*

To monitor the traffic to the asynchronous ADF web services, monitor the Oracle AQ queues that are used for each family. The queue names for each family are shown in the following table:

Family AQ

Name

Oracle Fusion Customer Relationship Management Product

CRM_AsyncWS_Request and CRM_AsyncWS_Response

Oracle Fusion Human Capital Management Product

HCM_AsyncWS_Request and HCM_AsyncWS_Response

Oracle Fusion Financials Product

FIN_AsyncWS_Request and Fin_AsyncWS_Response

Oracle Fusion Procurement Product

PRC_AsyncWS_Request and PRC_AsyncWS_Response

Oracle Fusion Project Product

PRJ_AsyncWS_Request and PRJ_AsyncWS_Response

Oracle Fusion Supply Chain Management Product

SCM_AsyncWS_Request and SCM_AsyncWS_Response

Oracle Fusion Setup Product

COMMON_AsyncWS_Request and COMMON_AsyncWS_Response

IC

IC_AsyncWS_Request and IC_AsyncWS_Response

9.3.8 Business Event Is Picked Up Twice (Or More) By SOA Server

Problem

Business events are raised from Fusion J2EE applications and are picked up more than once. Expected behavior is that they should be picked up only once.

Solution

If a patch fails, it may be possible for two versions of a given composite to be active (that is, the older version has not been retired). When multiple versions of a composite are active, they all become subscribers and the event is picked up more than once. This should not happen under normal scenarios. Reapply the patch and ensure that the deployed composite only has one active version.

9.3.9 Long Running, Synchronous Calls To Remote Web Services Error Out or Asynchronous Transactions Return with an Error after a Long Time

Problem

Long running synchronous calls to remote web services end with JTA transaction rolled-back errors. When executing a transaction making an asynchronous call (for example, to the SOA server), the application returns with an error. Server logs show JTA transaction timeouts, which can cause this behavior.

Solution

Check the JTA transaction timeout in Oracle WebLogic Administration Console.

1. Log in to Oracle WebLogic Server Administration Console.

2. In the Domain Structure, select Services > JTA to check the timeout value.
If the transaction is always timing out beyond 30 seconds and is a custom composite synchronous client invocation, then you may need to revisit the design approach. It may be best for the external web service to be invoked as an asynchronous transaction.

Increasing the JTA for supporting long running synchronous transactions is simply an interim mechanism.

For information on changing the JTA transaction timeout setting, see the "Resolving Connection Timeouts" section of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

3. If synchronous client invocations to Oracle Fusion Applications code take a long time, check for any performance issues with the system and try to resolve them.

4. Check for appropriate values for the syncMaxWaitTime property and BPEL's EJB transaction timeout settings in relation to the JTA timeout settings and only then increase the value of the JTA timeout, if needed.
For information on viewing and changing the syncMaxWaitTime property, see the "Configuring BPEL Process Service Engine Properties" section of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

5. To view and change the BPEL EJB transaction timeout settings, perform the following steps:

1. Log in to Oracle WebLogic Server Administration Console.

2. In the Domain Structure, click Deployments.

3. Expand soa-infra > EJBs.

4. Update the following EJBs:
- BPELActivityManagerBean

- BPELDeliveryBean

- BPELDispatcherBean

- BPELEngineBean

- BPELFinderBean

- BPELInstanceManagerBean

- BPELProcessManagerBean

- BPELSensorValuesBean

- BPELServerManagerBean

5. Click Save.

6. Restart Oracle WebLogic Server.

6. For asynchronous transactions, check the values for both the BPEL EJB transaction timeout and the JTA transaction timeout and adjust as needed.

9.3.10 Some Messages Are Lost Between EDN and Composites or Composites Across Clusters

Problem

Messages primarily get lost for the following reasons:

1. The EDN message was not delivered.

2. The target asynchronous service did not respond.

3. The message was roll backed (though it was not lost; you still see it in Fusion Applications Control).

Solution

This issue typically requires you to identify where the messages are supposed to be and to diagnose the path.

- If the calling component is an ADF web service invoking a SOA composite, then check for any client errors in the ADF logs.

- Because ADF invokes SOA composites using EDN, check the JMS/AQ and XA data source configurations to ensure that events are being fired. For more information about EDN issues, see Section 9.3.2.

- Check if the Oracle WSM Policy Manager security configurations allow the client to invoke the SOA composite.

- Verify that the transaction is not transient (nonpersistent).
Oracle BPEL Process Manager uses the dehydration store database to maintain long-running, asynchronous processes and their current state information in a database while they wait for asynchronous callbacks. Storing the process in a database preserves the process and prevents any loss of state or reliability if a system shuts down or a network problem occurs. There are two types of processes in Oracle BPEL Process Manager. These processes impact the dehydration store database in different ways.

- Transient processes: This process type does not incur any intermediate dehydration points during process execution. If there are unhandled faults or there is system downtime during process execution, the instances of a transient process do not leave a trace in the system. Instances of transient processes cannot be saved in-flight (whether they complete normally or abnormally). Transient processes are typically short-lived, request-response style processes. The synchronous process you design in JDeveloper is an example of a transient process.

- Durable processes: This process type incurs one or more dehydration points in the database during execution because of the following activities:

- Receive activity

- OnMessage branch of a pick activity

- OnAlarm branch of a pick activity

- Wait activity

Instances of durable processes can be saved in-flight (whether they complete normally or abnormally). These processes are typically long-living and initiated through a one-way invocation. Because of out-of-memory and system downtime issues, durable processes cannot be memory-optimized.

- If a composite instance is not visible in Fusion Applications Control and the SOA Infrastructure is running, check that the Audit Level is not set to Off in the SOA Infrastructure Common Properties page. This can be checked in Fusion Applications Control:

1. Right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > Common Properties.

- Check the ADF logs to see if there was a bad/malformed message or incorrect SOAP headers (if invoking from an external web service). The transaction may have rolled back before being dehydrated due to an internal error. Again, the SOA logs can identify the cause of this issue.

- If the composite instance is available, check the bpel.config.oneWayDeliveryPolicy BPEL property value. You can check the value in Fusion Applications Control:

1. In the navigation pane, expand soa-infra (SOA_cluster_name).

2. Expand the partition, and select the composite.
The Dashboard page for the composite is displayed.

3. In the upper right corner, click the Show XML Definition icon.
The contents of composite.xml for that composite are displayed.

If this is set to async.cache, you may lose messages. Set it to async.persist for reliable messages. This is typically specified in the BPEL process service component section of the composite.xml file, so this can be set for custom composites. If the value is not set in composite.xml, the value for oneWayDeliveryPolicy in the System MBean Browser in Fusion Applications Control is used. The following values are possible:

- async.persist: Messages are persisted in the database hash map.

- async.cache: Messages are stored in memory.

- sync: Direct invocation occurs on the same thread.

For more information about these settings, see the "Deployment Descriptor Properties" appendix and the "Transaction and Fault Propagation Semantics in BPEL Processes" chapter in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

For information about setting the oneWayDeliveryPolicy property in the System MBean Browser, see the "Configuring BPEL Process Service Engine Properties" section of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

It is also possible that the transaction has invoked a target asynchronous service that has not responded back. In this case, the composite instance flow shows the call to the target asynchronous service.

- Check if the instance has rolled back and the message is in recovery.

1. Log in to Fusion Applications Control.

2. Right-click soa-infra (SOA_cluster_name), and choose Service Engines > BPEL.

3. Click the Recovery tab.

This may occur if any external references receiving the message are not reachable (for example, an external web service, enterprise applications such as Siebel, and so on).

9.3.11 Some Composites Are Being Retried Multiple Times on Failure

Problem

When a BPEL process flow errors out, it is retried with all its invocations. This is undesirable in some cases.

Solution

The property GlobalTxMaxRetry (default value is 3) specifies how many retries are performed if an error is identified as a retriable one. For example, after several web service invocations, if dehydration fails due to a data source error, then this is identified as a retriable error and all activities from the prior dehydration state are retried. If the activities being retried are not idempotent (that is, their state can change with each retry and is not guaranteed to give the same behavior), then multiple retries can be problematic.

To rectify this, customize the composite by specifically marking the nonidempotent activities with idempotentset set to false in the partner link settings section of the composite.xml file to prevent retries.

<property name="bpel.partnerLink.partner_link_name.idempotent">false</property>

You cannot set the idempotentset property in Fusion Applications Control.

For more information about Oracle SOA Suite customizations in JDeveloper, see the "Customizing and Extending SOA Components" chapter in the Oracle Fusion Applications Extensibility Guide.

You can also set GlobalTxMaxRetry to 0 in the Systems MBean Browser.

1. Right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > Common Properties.

3. Click More SOA Infra Advanced Configuration Properties.

4. Click GlobalTxMaxRetry.

5. In the Value field, enter an appropriate value.

6. Click Apply.

For information about the idempotent property, see the "BPEL Properties Set Inside a Composite" section of Oracle Fusion Middleware Performance and Tuning Guide.

9.3.12 Some Fusion Applications Control Features are Missing the No Recover Button or Export Composite Capability

Problem

Fusion Applications Control is missing features needed for diagnostics and recovery. For example, the Recovery tab for the BPEL process service engine shows a BPEL instance as recoverable along with instructions to click the Recover button. However, there is no Recover button available. In addition, the ability to export a composite is not available.

Solution

Check that you are logged in as a user with administrator privileges and are not logged in as a read-only user. Read-only users do not see administrative features such as the Recover button or the ability to export composites.

See the "Oracle Enterprise Manager Roles" appendix of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.3.13 Automatic Recovery of BPEL Instances is Not Recovering A Specific Instance

Problem

BPEL processes have an automatic recovery feature that attempts to automatically recover activities that are recoverable such as unresolved invoke/callback messages, activities not completed over a provided threshold time, and so on. However, the automatic recovery feature only tries to recover a few instances and only retries a fixed number of times. If some instances are not being automatically recovered, they are likely not being picked up because of the configuration of the automatic recovery parameters.

Solution

- Set the maximum number of messages to automatically recover.
By default, the automatic recovery feature of Oracle BPEL Process Manager processes fifty messages to submit for each recovery attempt. This is controlled by the maxMessageRaiseSize property.

1. In the navigation pane, right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > BPEL Properties > More BPEL Configuration Properties > RecoveryConfig.

3. Expand both RecurringScheduleConfig > maxMessageRaiseSize and StartupScheduleConfig > maxMessageRaiseSize.
The default value is 50 for each. A negative value causes all messages selected from the database to be submitted for recovery. A value of 0 causes no messages to be selected from the database (effectively disabling recovery). To recover more than fifty messages, set the property value to that value. Use this property to limit the impact of recovery on the server.

- Set the maximum number of automatic recovery attempts on a given message.
You can also configure the number of automatic recovery attempts to submit in the same recoverable instance. The value you provide specifies the maximum number of times that invoke and callback messages are recovered. If the value is 0 (the default value), it recovers all messages. After the number of recovery attempts on a message exceeds the specified value, a message is marked as nonrecoverable.

Follow these steps to configure automatic recovery attempts for invoke and callback messages in Fusion Applications Control.

1. In the navigation pane, right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > BPEL Properties > More BPEL Configuration Properties.

3. Select MaxRecoverAttempt, and enter a value in the Value field.

4. Click Apply.
It may not be desirable in all cases to use automatic recovery. If services are not idempotent, then corruption can occur. Moreover, the automatic recovery restores the composite to the last save point that can be immediately after an asynchronous invoke, wait, and so on. Therefore, it is important to understand the process behavior and what it does next before performing mass recoveries. Attempt mass automatic recovery only after the root cause of the composite failures has been fixed (for example, a service that was unavailable is now available, a database running out of space was fixed, and so on). Automatic recovery can also trigger an unexpected load during failure scenarios. This causes more threads to block on a remote server that can induce hangs in the SOA server in a cascading fashion.

For more information, see Section 9.3.11 and the "Configuring Automatic Recovery for Oracle BPEL Process Manager" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.3.14 SOA Runtime Fails with a "Cannot read WSDL" Error

Problem

The following error is displayed if either the endpoint is not available for a reference or a composite is deployed with an incorrect deployment plan file.

oracle.fabric.common.FabricException: Cannot read WSDL

Solution

1. Ensure that the endpoint for the reference is up and running.
The WSDL or endpoint is stated in the error. The service can then be looked up from Fusion Applications Control to check if it is active. After the service is active and the endpoint is reachable, search for the SOA instance and retry through the Recovery tab for the BPEL process service engine in Fusion Applications Control.

2. For extensions/customizations, ensure that the correct URL is updated in the deployment configuration plan.
For information about deployment plans, including examples of using sca_extractPlan to extract plans, see the "Customizing Your Application for the Target Environment Prior to Deployment" section of Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite and the "Customizing SOA Composites with JDeveloper" section of Oracle Fusion Applications Extensibility Guide.

9.3.15 Uploading a Composite for Oracle Support Services

Problem

Oracle Support Services has requested you to upload your composite to review the flow and associated configuration files.

Solution

1. Log in to Fusion Applications Control as a user with administrator privileges, and not as a read-only user.

2. In the navigation pane, expand soa-infra (SOA_cluster_name).

3. Expand the partition in which the composite is located (for example, default).

4. Right-click the composite and choose Export.

5. Accept the default selections, and save the resulting JAR file.

6. Provide the JAR file to Oracle Support Services so that it can be imported for review in JDeveloper by selecting File > Import.

9.3.16 Confirming SOA Component Configuration Properties for Oracle Support Services

Problem

Oracle Support Services has requested you to confirm configuration properties of various SOA components.

Solution

1. In the navigation pane, right-click soa-infra (SOA_cluster_name).

2. Choose Administration > MDS Configuration > Export.

3. Upload the resulting file to Oracle Support Services for review.

9.4 Security and Oracle WSM Policy Manager Configuration

For information about troubleshooting Oracle WSM Policy Manager, see the "Diagnosing Problems" chapter in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

9.5 Human Workflow

This section contains the following topics that describe common problems and solutions for human workflow:

- Recovering Human Task Instances Stuck in the Alerted State

- Task Detail Page is Not Available

- Task Chooses an Incorrect User If a Number of Rules Are Defined or Errors with "Ruleset returned lists with different list builder"

- Document Is Stuck in Pending Approval and Logs Show Error "Unable to walk hierarchy for user user_name"

- Task History: Cannot Remove or Move a Participant After Yourself

- Hierarchy List Builders Display an Error Due to Security Configuration Issues and Log Report Errors in Authentication or Authorization with HCM Services

- HCM Services are Timing Out or Getting Stuck

- Error/Warning Reported in Retrieving the Position for a User

- Users See No Approvals in the Inbox when Using Position Hierarchy

- Task Escalation Does Not Follow Job Level, Supervisory, or Position Hierarchies

- User Is Not Allowed to Perform an Action on a Human Workflow Task

- Email Notification Is Not Being Sent Out

- Notifications Sent Are Not Actionable

- Actionable Notifications Are Sent But No Action is Taken After Responding

- After LDAP Configuration with Oracle WebLogic Server, Users Appear in the Console, But a "No Role found matching the criteria" Error Appears

- Only a Subset of Users in LDAP Can Log In to Oracle BPM Worklist

- "Unknown Macro" Exception Appears when Myrealm Is Passed as a Parameter to the Identity Context To Identity Service APIs

- Add Participant Button in Oracle BPM Worklist Is Disabled

- Task Modifications Made in a Runtime Tool Are Not Appearing for the Task

- How Can I Set Commonly Used Human Workflow Configuration Parameters?

- How Do I Set Human Workflow Configuration Parameters Not Available in the Fusion Applications Control Properties Pages?

- System MBean Browser Does Not Reflect My Changes After Editing the Human Workflow Config MBeans

- Human Workflow Services Are Not Locating Resource Bundles or Classes Located at the Workflow Customizations Class Path URL

- How Do I Manually Set the URL for Displaying Task Details for a Particular Human Workflow Task Component?

- How to Test the Health of the Installed Server

- User Authentication Error (in this example, the user is FMW_USERID and identityContext is jazn.com)

- Error During Import of Task Payload Mapped Attribute Mappings

- Error During Rule Migration

- When Defining a Rule Based on the Approval Group List Builder During Runtime, a Message Says the Group Does Not Exist

9.5.1 Recovering Human Task Instances Stuck in the Alerted State

Problem

If a human task instance fails due to a business error, the task status stays in the alerted state.

Solution

This can happen if, for example, the following occurs:

- The assigned user does not exist.

- The manager is not defined.

- A rule does not return assignees.

In these cases, the task is set to alerted and is assigned to the process owner or the error assignee (if defined in the task metadata).

The administrator or process owner must go to Oracle BPM Worklist and reassign these tasks to the correct users for the workflow to continue forward.

9.5.2 Task Detail Page is Not Available

Problem

When you click the human task in Oracle BPM Worklist, the following message is displayed:

Task detail is not available

Solution

This problem typically occurs during the deployment of the ADF J2EE application containing the task details page definition. As a result, the URI for the details page is not registered with the SOA cluster.

To confirm whether the task details page was registered in Fusion Applications Control:

1. Log in to the domain where the composite with the subscription is deployed.

2. In the navigation pane, right-click SOA > soa-infra (SOA_cluster_name).

3. Choose Service Engines > Human Workflow.

4. In the Components section, click the appropriate task.

5. Click the Administration tab to see a URI for the task details page.
If there is no URI displayed, then check the log files for any errors during deployment.

A possible problem may be incorrect entries in the wf_client_config.xml file. The wf_client_config.xml file resides in the exploded EAR file's APP-INF/classes directory. For example:

APPLICATIONS_BASE/fusionapps/applications/fin/deploy/EarFinPayables.ear/
APP-INF/classes/wf_client_config.xml

The file contains the cluster URL information for the local SOA runtime of that particular Oracle WebLogic Server domain. If the cluster name is wrong or that cluster does not exist in the domain, then a problem exists with the deployment and configuration of the environment.

As a workaround, you can directly enter the task details page URI in Fusion Applications Control. See the "Managing the URI of the Human Task Service Component Task Details Application" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite. For the values, enter the following:

Field

Value

Application Name

worklist

Host Name

Your server host name for SOA

HTTP Port

Your HTTP server port used for SOA if SSL is disabled.

HTTPS Port

Your HTTPS server port used for SOA if SSL is enabled.

URI

For example, for financials:

/payables/faces/adf.task-flow?_id=FinApInvoiceApprovalTaskFlow&_
document=WEB-INF/oracle/apps/financials/payables/invoices/transact
ions/ui/invoiceApprovalTask/flow/FinApInvoiceApprovalTaskFlow.xml

9.5.3 Task Chooses an Incorrect User If a Number of Rules Are Defined or Errors with "Ruleset returned lists with different list builder"

Problem

At runtime, when a human workflow task tries to fetch the list of users, it errors with the following message:

Ruleset returned lists with different list builder

This can be seen in the Task Detail Comments field. Alternately, it may select a user or approver, which may not seem to be the correct or expected one. This is primarily caused by having overlapping rules with different list builders. When participants of a task are specified using business rules, it is expected that business rules return list builders of the same type.

Moreover, only one rule from a ruleset should be applicable for a transaction. In case a number of rules are true, the actions associated with the applicable rule with the highest priority get executed. If multiple applicable rules have the same priority, then the first rule in the list is picked and its actions are executed.

Solution

To resolve this issue, avoid writing overlapping rules. Constraints from different list builders are different and cannot be mixed. If more than one rule gets triggered with a different list builder, this error occurs. Moreover, only one set of constraints is honored.

Check that all rules in the ruleset have priorities defined so that multiple rules with the same priority are not applicable for the same transaction. For more details, see the "Using Approval Management" chapter in the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management.

9.5.4 Document Is Stuck in Pending Approval and Logs Show Error "Unable to walk hierarchy for user user_name"

Problem

The document is stuck pending approval and the logs show the following error:

"Unable to walk hierarchy for user username'

This occurs when the hierarchy for the given user has not been set up correctly. For example, assume you have approval rules set up so that the rule getting fired uses the supervisory hierarchy and you expect it to route to USER01 > USER02 > USER03 > . . . > USER10 (ten level hierarchy). If the supervisory/management hierarchy of USER01 has not been set up, then the approval task throws an error stating the inability to go through the hierarchy for USER01.

Solution

Since the user level hierarchy does not exist for the user_name, verify the Human Capital Management (HCM) setup by manually running the HCM service to which workflow-identity-config.xml is pointing. If it does not return any result, then configure the correct hierarchy for the user in HCM.

Run the HCM service, select the fetchManager(s) API (for supervisory), and provide the following payload, where <ns2:Id>DD7A1614BBFAA0F0A4511ACD96D2C88D</ns2:Id> is the GUID of the user whose manager you are trying to find. The supervisory hierarchy and position hierarchy services can be found under HcmCore. The name is HierarchyProviderService. The corresponding WSDLs are as follows:

- Supervisory hierarchy:

http://host:port/hcmEmploymentCoreApprovalHierarchy/HierarchyProviderService?wsdl

- Position hierarchy:

http://host:port/hcmTreesModel/HierarchyProviderService?wsdl

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsse:Security soap:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-sec
ext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>FUSION_APPS_AMX_APPID</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profi
le-1.0#PasswordText">Welcome1</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body
xmlns:ns1="http://xmlns.oracle.com/apps/hcm/employment/core/approvalHierarchyServi
ce/types/">
<ns1:fetchManagers>
<ns1:principal
xmlns:ns2="http://xmlns.oracle.com/apps/hcm/employment/core/approvalHierarchyServi
ce/">
<ns2:Id>DD7A1614BBFAA0F0A4511ACD96D2C88D</ns2:Id>
</ns1:principal>
<ns1:level>2</ns1:level>
</ns1:fetchManagers>
</soap:Body>
</soap:Envelope>

The following example shows the workflow-identity-config.xml file used in a development environment:

<?xml version='1.0' encoding='UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
<configurations>
<configuration realmName="myrealm">
<provider name="JpsProvider" providerType="JPS" service="Identity">
<property name="jpsContextName" value="default"/>
<property name="IdentityServiceExtension" value="HCMIdentityServiceExtension"/>
</provider>
</configuration>
</configurations>
<property name="caseSensitive" value="false"/>
<property name="caseSensitiveGroups" value="true"/>
<serviceExtensions>
<serviceExtension name="HCMIdentityServiceExtension">
<serviceProvider
classname="oracle.bpel.services.identity.hierarchy.providers.hcm.HCMHierarchyProvi
der" type="supervisoryHierarchyProvider">
<initializationParameter name="wsdlUrl"
value="http://example.com:20619/hcmEmploymentCoreApprovalHierarchy/Hie
rarchyProviderService?WSDL"/>
<initializationParameter name="csf-key-name" value="FUSION_APPS_AMX_APPID-KEY"/>
<initializationParameter name="http-read-timeout" value="30000"/>
<initializationParameter name="securityPolicyName" value="oracle/wss_username_
token_client_policy"/>
</serviceProvider>
<serviceProvider
classname="oracle.bpel.services.identity.hierarchy.providers.hcm.HCMHierarchyProvi
der" type="jobLevelHierarchyProvider">
<initializationParameter name="wsdlUrl"
value="http://example.com:20619/hcmEmploymentCoreApprovalHierarchy/Hie
rarchyProviderService?WSDL"/>
<initializationParameter name="csf-key-name" value="FUSION_APPS_AMX_APPID-KEY"/>
<initializationParameter name="http-read-timeout" value="30000"/>
<initializationParameter name="securityPolicyName" value="oracle/wss_username_
token_client_policy"/>
</serviceProvider>
<serviceProvider
classname="oracle.bpel.services.identity.hierarchy.providers.hcm.HCMPositionHierar
chyProvider" type="positionHierarchyProvider">
<initializationParameter name="wsdlUrl"
value="http://example.com:20619/hcmTreesModel/HierarchyProviderService
?WSDL"/>
<initializationParameter name="csf-key-name" value="FUSION_APPS_AMX_APPID-KEY"/>
<initializationParameter name="http-read-timeout" value="30000"/>
<initializationParameter name="securityPolicyName" value="oracle/wss_username_
token_client_policy"/>
</serviceProvider>
<serviceProvider
classname="oracle.bpel.services.identity.position.provider.hcm.PositionLookupServi
ceProvider" type="positionLookupProvider">
<initializationParameter name="wsdlUrl"
value="http://example.com:20619/hcmEmploymentCore/positionLookupServic
e?WSDL"/>
<initializationParameter name="csf-key-name" value="FUSION_APPS_AMX_APPID-KEY"/>
<initializationParameter name="http-read-timeout" value="30000"/>
<initializationParameter name="securityPolicyName" value="oracle/wss_username_
token_client_policy"/>
</serviceProvider>
<serviceProvider
classname="oracle.bpel.services.identity.position.provider.hcm.PositionDisplayName
Provider" type="positionDisplayNameProvider">
<initializationParameter name="wsdlUrl"
value="http://example.com:20619/hcmTreesModel/HierarchyProviderService
?WSDL"/>
<initializationParameter name="csf-key-name" value="FUSION_APPS_AMX_APPID-KEY"/>
<initializationParameter name="http-read-timeout" value="30000"/>
<initializationParameter name="securityPolicyName" value="oracle/wss_username_
token_client_policy"/>
</serviceProvider>
</serviceExtension>
</serviceExtensions>
</ISConfiguration>

The workflow-identity-config.xml file is in the MDS repository. For information about how to export the workflow-identity-config.xml file from MDS, see Section 9.5.6.

9.5.5 Task History: Cannot Remove or Move a Participant After Yourself

Problem

You cannot remove or move a participant that was added through future participant editing. This is because the participant was anchored to you and you are the current assignee.

Solution

This feature is not supported.

9.5.6 Hierarchy List Builders Display an Error Due to Security Configuration Issues and Log Report Errors in Authentication or Authorization with HCM Services

Problem

Hierarchy list builders (for example, supervisory, job-level, and position) used in rules are not working as expected and are throwing security configuration-related errors. For example:

SOAPFaultException: FailedAuthorization

Hierarchy services are protected services using Oracle Web Services Manager policies (for example, supervisory, job-level, and position services). Elevated privileges are used for authentication. These privileges must be configured in Fusion Applications Control and in configuration files.

Solution

To resolve this problem:

1. Check the MDS store to see if workflow-identity-config.xml and workflow-config.xml are set up with the correct information (pointing to HCM services and the JAZN name).

1. Run the following script to connect to the WLST shell on Linux operating systems. There is no equivalent script on Windows operating systems.

$MW_HOME/oracle_common/common/bin/wlst.sh

2. Run connect(). This takes you to the prompt as shown in the following example:

wls:/offline> connect()
Please enter your username [weblogic] :weblogic
Please enter your password [weblogic] :
Please enter your server URL [t3://localhost:7001]
:t3://example.com:9401

3. Run the following command after connecting:

exportMetadata(application='soa-infra',server='soa_server1',toLocation='any
Location on
server',docs='/soa/configuration/default/workflow-identity-config.xml')

The file is stored in the soa/configuration/default directory in the location given in the toLocation attribute. After verifying, you can upload the file with the following command.

importMetadata(application='soa-infra',server='soa_
server1',fromLocation='any Location on
server',docs='/soa/configuration/default/workflow-identity-config.xml')

2. Verify that the csf-keys are specified as initialization parameters.

1. Ensure that the csf-key-name value is FUSION_APPS_AMX_APPID-KEY in workflow-identity-config.xml, as described in Section 9.5.4.

3. Check in Fusion Applications Control that the keys defined for the services have the correct values for authentication.

1. Run the following script to connect to the WLST shell:

$MW_HOME/oracle_common/common/bin/wlst.sh

wls:/offline> connect()
Please enter your username [weblogic] :weblogic
Please enter your password [weblogic] :
Please enter your server URL [t3://localhost:7001]
:t3://example.com:9401

2. Run the following command after connecting:

listCred(map="oracle.wsm.security", key="FUSION_APPS_AMX_APPID-KEY")

Output similar to the following is displayed:

[Name : FUSION_APPS_AMX_APPID,
Description : HCM Hierarchy Service, expiry
Date : null]PASSWORD:password

9.5.7 HCM Services are Timing Out or Getting Stuck

Problem

Hierarchy services sometimes get overloaded and do not respond (for example, supervisory, job-level, and position services).

Solution

Check that the workflow-identity-config.xml file for the problematic service has correct timeout settings defined as initialization parameters. The timeout parameter is http-read-timeout. For an example of the configuration file, see Section 9.5.4. Note that increasing the timeout may cause errors, such as other timeouts and only puts more load on an already overloaded server.

9.5.8 Error/Warning Reported in Retrieving the Position for a User

Problem

Not all LDAP users are defined as people within Oracle Fusion HCM. For example, users may be defined in LDAP for Oracle Fusion Supply Chain Management that are not defined as people with positions in Oracle Fusion HCM. Therefore, the position lookup can generate a message that the user does not have positions.

Solution

This is a tolerated condition and the warning can be ignored if the user name specified in the warning is not an HCM user. If this is an HCM user, the problem is on the HCM side. Add a position to these users in the HCM application.

9.5.9 Users See No Approvals in the Inbox when Using Position Hierarchy

Problem

This issue may be noticed by organizations using position hierarchy such as governments and universities. After users log in, they do not see any approvals in their inbox. This is caused by a failure to look up the position. This can be caused by network issues when accessing the HCM services. Sometimes due to load balancing or network setup, HCM services may not be accessible and Oracle BPM Worklist has errors such as the following:

WSDL port is not accessible

or

Could not find the host

Solution

1. Check the network setup and ensure that the HCM services are accessible and WSDL ports can be accessed in the browser. Tools like ping and traceroute can also diagnose the problem.

2. If the services are not available, bring up the services and retry.

3. Restart the HCM server and SOA server. For information, see the following documentation:

- "Starting Managed Servers with the java weblogic.Server Command" section in Oracle Fusion Middleware Managing Server Startup and Shutdown for Oracle WebLogic Server

- "Starting and Stopping Managed Servers Using Fusion Middleware Control" section in Oracle Fusion Middleware Administrator's Guide

- "Start and Stop Servers" and various startup and shutdown procedures of the Cluster section in the Administration Console Online Help

9.5.10 Task Escalation Does Not Follow Job Level, Supervisory, or Position Hierarchies

Problem

This feature is not supported. Escalation does not follow the job level, supervisory, or position hierarchies.

Solution

Build your own custom plug-in. For more details, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

9.5.11 User Is Not Allowed to Perform an Action on a Human Workflow Task

For troubleshooting information about this issue, see the "Task Action Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.12 Email Notification Is Not Being Sent Out

For troubleshooting information about this issue, see the "Notification Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

For additional details about configuring email driver properties, see the "Configuring Email Notifications for Oracle Fusion Applications" section in the Oracle Fusion Applications Post-Installation Guide.

9.5.13 Notifications Sent Are Not Actionable

For troubleshooting information about this issue, see the "Notification Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite. This section describes how to make the task actionable in the Human Task Editor during design time.

In addition, if notifications are sent, but are not actionable, the administrator may have configured the notification to be nonactionable through Oracle BPM Worklist. To make notifications actionable, select the Make notification actionable checkbox under the Event Driven subtab of the Task Configuration tab.

For additional details, see the "Configuring Email Notifications for Oracle Fusion Applications" section in the Oracle Fusion Applications Post-Installation Guide.

9.5.14 Actionable Notifications Are Sent But No Action is Taken After Responding

For troubleshooting information about this issue, see the "Notification Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.15 After LDAP Configuration with Oracle WebLogic Server, Users Appear in the Console, But a "No Role found matching the criteria" Error Appears

For troubleshooting information about this issue, see the "Identity Service Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.16 Only a Subset of Users in LDAP Can Log In to Oracle BPM Worklist

For troubleshooting information about this issue, see the "Identity Service Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.17 "Unknown Macro" Exception Appears when Myrealm Is Passed as a Parameter to the Identity Context To Identity Service APIs

For troubleshooting information about this issue, see the "Identity Service Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.18 Add Participant Button in Oracle BPM Worklist Is Disabled

For troubleshooting information about this issue, see the "Task History Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.19 Task Modifications Made in a Runtime Tool Are Not Appearing for the Task

For troubleshooting information about this issue, see the "Design Time at Runtime Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.20 How Can I Set Commonly Used Human Workflow Configuration Parameters?

For troubleshooting information about this issue, see the "Human Workflow Service/System MBean Browser Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.21 How Do I Set Human Workflow Configuration Parameters Not Available in the Fusion Applications Control Properties Pages?

For troubleshooting information about this issue, see the "Human Workflow Service/System MBean Browser Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.22 System MBean Browser Does Not Reflect My Changes After Editing the Human Workflow Config MBeans

For troubleshooting information about this issue, see the "Human Workflow Service/System MBean Browser Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.23 Human Workflow Services Are Not Locating Resource Bundles or Classes Located at the Workflow Customizations Class Path URL

For troubleshooting information about this issue, see the "Human Workflow Service/System MBean Browser Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.24 How Do I Manually Set the URL for Displaying Task Details for a Particular Human Workflow Task Component?

For troubleshooting information about this issue, see the "Human Workflow Service/System MBean Browser Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.25 How to Test the Health of the Installed Server

For troubleshooting information about this issue, see the "Test-to-Production Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.26 User Authentication Error (in this example, the user is FMW_USERID and identityContext is jazn.com)

For troubleshooting information about this issue, see the "Test-to-Production Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.27 Error During Import of Task Payload Mapped Attribute Mappings

For troubleshooting information about this issue, see the "Test-to-Production Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.28 Error During Rule Migration

For troubleshooting information about this issue, see the "Test-to-Production Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.5.29 When Defining a Rule Based on the Approval Group List Builder During Runtime, a Message Says the Group Does Not Exist

For troubleshooting information about this issue, see the "AMX Extension Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.6 Patching and Deployment

For troubleshooting information about patching and deployment issues, see the "Troubleshooting Patching Sessions for SOA Composites" section in the Oracle Fusion Applications Patching Guide.

9.7 Performance

This section contains the following topics that describe common problems and solutions for Oracle SOA Suite performance:

- SOA Transactions are Failing and Logs Indicate the SOA Database is Running Out of Space

- Slow Application Performance Such as Longer Time to Serve Pages or Finish Transactions

- Slow Fusion Applications Control Performance

9.7.1 SOA Transactions are Failing and Logs Indicate the SOA Database is Running Out of Space

Problem

SOA transactions are failing and logs indicate that the database is running out of space. The problem may occur with the SOA dehydration store or MDS store running out of space due to a high volume of transactions. In the latter example, you see errors such as the following:

java.sql.SQLException: ORA-01653: unable to extend table SH_MDS.CUBE_INSTANCE by
16 in tablespace FUSION_TS_TOOLS

This indicates that the tablespace is full and the database cannot extend it.

Solution

1. Purge the SOA dehydration store tables periodically, taking into account the appropriate record retention policies and ensuring that the applications have no dependencies on runtime data.
The purge should be followed by commands to coalesce the space. For the purging strategy to work, it is important to understand how long to retain the data in the database. Factors that drive the retention policy include the following:

- Legal requirements

- Line of business requirements

- Overall company policy on retention of data

The longer the retention policy, the greater the volume of data that must be stored and, correspondingly, the higher the disk capacity requirements.

For details on creating a purging strategy, see the "Managing Database Growth" chapter in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

2. Ensure that the database hardware has sufficient resources to handle the demands of Oracle Database partitioning prior to configuring your tables for partitioning.
For the SOA dehydration store, database partitioning using range partitioning and hash partitioning is an optimal solution. Partitioning by definition means storing data in multiple tables to reduce bigger data sets into smaller, more manageable data sets. Partitioning strategies play a large role in easing maintenance overheads (dropping and pruning the partition) and improving performance. Partitioning should at least be done for tables having high activity. This plays a large role in balancing disk I/O and preventing hot disks. One important requirement that you must meet prior to configuring your tables for partitioning is to ensure that the database hardware has sufficient resources to handle the demands of Oracle Database partitioning. If preproduction testing has indicated that the installation is large, Oracle expects that you have sized your environment (CPU, memory, and disk space) correctly to take advantage of the partitioning features.

3. Tune database parameters for memory, tablespace, and partitions to get maximum performance. For more information, see the "Tuning Database Parameters" section in the Oracle Fusion Middleware Performance and Tuning Guide.

4. For other tablespaces running out of space, use the following query to check for free tablespace:

SELECT Total.tablespace_name "Tablespace Name", Free_space, (total_space-Free_
space) Used_space, total_space, round((Free_space*100/total_space),2) "Free %"
FROM (select tablespace_name, sum(bytes/1024/1024) Free_Space from sys.dba_
free_space group by tablespace_name) Free,
(select tablespace_name, sum(bytes/1024/1024) TOTAL_SPACE from sys.dba_data_
files group by tablespace_name) Total
WHERE Free.Tablespace_name = Total.tablespace_name AND Total.tablespace_name =
'<tablespacename>'
ORDER BY 5;

5. To increase tablespace settings, use the administrator account. For example:

alter tablespace tablespace_name add datafile 'datafile_name' size 500m
autoextend on;

For more details, see the "Resolving Message Failure Caused by Too Many Open Files" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.7.2 Slow Application Performance Such as Longer Time to Serve Pages or Finish Transactions

Problem

You observe slow application performance and/or memory trashing. For example, it may take longer to load and serve pages or to complete composite transactions. Response time may seem slower compared to normal behavior.

There are various reasons for slow performance. It may be due to a large number of servers running on the same host, or there may be a large number of records/sessions/locking at the database. Thread contention can also be a reason for poor performance.

Note:

All configuration changes in Fusion Applications Control may be unavailable due to this problem.

Solution

1. Check the CPU utilization to see if it is saturated due to a heavy load or an excessive number of processes in relation to CPU capacity.
If CPU utilization is at 100% during normal load hours (the target should be 70-80%), you have no capacity to handle a peak load and the hardware resources are insufficient. Add scale-out servers to handle the additional load.

2. Check applications using Fusion Applications Control to report on performance. Check the performance of ADF services and the invoke/response times in the BPEL process audit trail to identify if the issue is in Oracle Fusion Applications.

3. To maximize performance, it is recommended that you not set the logging level higher than the default INFO level.
For debugging purposes, you must set the logging level to the FINEST level. However, after issues are resolved, reset the logging level to the default level for best performance. It is also recommended that you set Audit Level to Production in the SOA Infrastructure Common Properties page. This can be set in Fusion Applications Control as follows:

1. Right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > Common Properties.

3. Set Audit Level to Production.

4. Purge periodically based on retention requirements to maintain the service level agreements (SLAs).
To identify the tables where data growth may lead to performance issues, see the "Tables Impacted By Instance Data Growth" section in the Oracle Fusion Middleware Performance and Tuning Guide.

For information about the use of the purge scripts, see the "Managing Database Growth" chapter in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

5. Check the memory/IO/paging/swapping/CPU usage load statistics using Top or Glance or another monitoring tool.

6. Optimize the JVM to avoid full garbage collection or out-of-memory errors.
Frequent garbage collection can be either due to higher memory usage or memory leaks.

1. Ensure that the sum of the maximum heap size of all the JVMs running on your system does not exceed the amount of available physical RAM to avoid operating system level paging activity.

2. Use the JRockit mission control memory profiling tools to get thread dumps and memory snapshots, which helps Oracle Support Services debug any code issues.

7. Optimize threads to avoid contention. Get a thread dump to investigate and submit it to Oracle Support Services.

8. Check the JVM and thread dumps for methods invoking the database to identify if database performance is a bottleneck.

9. Run database Automatic Workload Repository (AWR) snapshots to identify causes of database performance issues.

10. Ensure that database statistics are updated at regular intervals and other tunable parameters for memory, tablespace, and partitions are used effectively to obtain maximum performance.
Here are some common tuning recommendations. For more information, see the "Tune Database Parameters" section in the Oracle Fusion Middleware Performance and Tuning Guide.

- Put indexes and tables in as physically separate disk areas if possible.

- Never put rollback segments with data or index segments.

- Separate highly active tables and indexes into their own tablespaces.

- Partition high activity tables and indexes to help balance disk I/O and prevent hot disks.

- Have processes in place to generate database table statistics at regular intervals.

11. Tune database tables to control the high watermark (HWM) contention of large objects. Tune database advanced queues (AQ) to control high watermark (HWM) contention and ensure consistent performance of producing and consuming messages from AQ.
Specifically, the AQs to be aware of are as follows:

Family AQ

Queue Name

EDN

EDN_EVENT_QUEUE_TABLE and EDN_OAOO_DELIVERY_TABLE

CRM

CRM_AsyncWS_Request and CRM_AsyncWS_Response

HCM

HCM_AsyncWS_Request and HCM_AsyncWS_Response

FIN

FIN_AsyncWS_Request and Fin_AsyncWS_Response

PRC

PRC_AsyncWS_Request and PRC_AsyncWS_Response

PRJ

PRJ_AsyncWS_Request and PRJ_AsyncWS_Response

SCM

SCM_AsyncWS_Request and SCM_AsyncWS_Response

COMMON

COMMON_AsyncWS_Request and COMMON_AsyncWS_Response

IC

IC_AsyncWS_Request and IC_AsyncWS_Response

Cross Family Business Event Subscriptions

ACR_XFAMILY_EVENT_Q and ACR_XFAMILY_EVENT_QT

12. Tune the BPEL and EDN thread counts to ensure optimal settings (for example, the Dispatcher Invoke Threads and Dispatcher Engine Threads properties on the BPEL Service Engine Properties page in Fusion Applications Control). If the thread configuration is too high, the servers run out of memory. If they are too low, the messages start backing up.

13. Tune the BPEL properties to reduce overhead (for example, disable the ValidateXML and StatsLastN (statistics gathering batch size) properties on the BPEL Service Engine Properties page in Fusion Applications Control) if they are not needed.

14. In case of integration with packaged applications (for example, Siebel), check if the issue lies with the legacy applications.

For more information about performance tuning the various components, see the "Top Performance Areas" chapter and the "SOA Suite Components" part in the Oracle Fusion Middleware Performance and Tuning Guide.

For information about setting properties on the BPEL Service Engine Properties page, see the "Configuring BPEL Process Service Engine Properties" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.7.3 Slow Fusion Applications Control Performance

Problem

Fusion Applications Control pages are loading very slowly.

Solution

To improve Fusion Applications Control page load times on pages with instance and fault metrics, set the SOA Infrastructure Display Data Counts properties.

1. Right-click soa-infra (SOA_cluster_name).

2. Choose SOA Administration > Common Properties.

3. In the Display Data Counts section, deselect the Disable fetching of instance and fault count metrics checkbox.

4. Reduce the Duration Details value.

5. Click Apply.

In addition to setting this property, it is also useful to scope queries by time where available (for example, only show items occurring in the last hour).

For more information, see the "Optimizing the Loading of Pages with Instance and Fault Metrics" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.8 Maintenance

This section contains the following topics that describe common problems and solutions for Oracle SOA Suite maintenance:

- JVM is Suspended If Any In-use Log Directories are Deleted

- Server Start Script Does Not Work for Scale-Out (Postprovisioning) Servers

- SOA Server Does Not Start

- SOA Server Is Not Responding To Administrative Commands

- Undeploying a Composite Left in an Inconsistent State Due to a Failed Patch

- Increased Load Observed on RAC Instances when Using Multiple Oracle RAC Servers

- List of SOA Composite State Values

- Log Files Have Been Deleted or Are Missing

9.8.1 JVM is Suspended If Any In-use Log Directories are Deleted

Problem

JRockit writes log information (called flight recorder files) under /tmp when using JRockit Mission Control. When it rotates to a new flight recorder file, the JVM is suspended until it completes. If the old directories in use under /tmp are deleted (for example, a cleanup or custom maintenance script to run to clear /tmp when it is close to full to avoid server downtime), the domain may go into a suspended state because the JVM may wait for a directory that no longer exists.

Solution

1. Change any cleanup scripts/procedures to first shut down the domain cleanly.

2. Perform a cleanup of /tmp.

3. Restart the domain.

To recover existing, suspended JVMs without restarting them, you must recreate the directories that the JVM was trying to use.

9.8.2 Server Start Script Does Not Work for Scale-Out (Postprovisioning) Servers

Problem

Scale-out servers, created after provisioning, cannot be started using back-end commands. The script start_fusion_Allservers.sh only starts servers that are created during provisioning time.

Solution

To start scale-out servers, use Fusion Applications Control. See the "Starting and Stopping an Oracle WebLogic Server Cluster Using Fusion Applications Control" section in the Oracle Fusion Applications Administrator's Guide.

9.8.3 SOA Server Does Not Start

Problem

The SOA server (soa_infra) does not start.

Solution

There can be various reasons for server startup issues. A discovery-based approach to find the root cause is required. Check the server and diagnostic logs as a first attempt to diagnose the issue. In addition, check the following:

1. Check if the database is not available or there are not enough connections available. Some failures with SOA runtime can result from database outage/connectivity issues. Perform the following steps:

1. Log in to Oracle WebLogic Server Administration Console.

2. In the Domain Structure, view the status by selecting Services > Data Sources > SOADatasource > Monitoring > Testing to test the data source. You can also check this from a SQL prompt.

2. Check the list of ports used for port conflicts.

3. Check if the MDS repository is unable to load shared documents (incorrect MDS configuration or the database that holds the MDS schema is not reachable).

4. Check the Coherence configuration if using a SOA cluster (use of unicast versus multicast).
This issue only applies after provisioning is complete. Clustering of SOA servers may fail if there are port conflicts (used by Coherence). For example, one SOA server may be picking up the deployment, but the other server is not. In some cases, this may only present the following error:

[soa_server1] [ERROR] [] [Coherence] [tid: Logger@352821903 3.6.0.4]
[ecid: 46f620208907e045:63f295ec:12dd091ec2e:-8000-0000000000000003,1:27187]
[APP: soa-infra] 2011-01-28 23:06:19.463/414.816 Oracle Coherence GE 3.6.0.4
<Error> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)', member=n/a):
Error while starting cluster: com.tangosol.net.RequestTimeoutException: Timeout
during service start: ServiceInfo(Id=0, Name=Cluster, Type=Cluster[[...

In this example, Coherence timeouts are prominently available. However, sometimes it presents itself with an unrelated error, such as the following:

Error creating bean with name 'SensorManager' defined in ServletContext
resource

The root cause of this is still primarily related to Coherence configuration.

5. Check if both the Administration Server and Managed Server ports are open and accessible.

6. Check if Managed Server startup failed because the Administration Server is not reachable.

7. Check network issues (for example, IP routing filtering/rules that may be causing issues).

8. Check Oracle WebLogic Server LDAP security corruption.
The Managed Server may report that policies for the application System MBeans Browser already exist or do not exist.

For more information, see the "Setting the Frontend URL for the Administration Console and Setting Redirection Preferences" section and the "Setting the Frontend HTTP Host and Port" section in the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite.

9.8.4 SOA Server Is Not Responding To Administrative Commands

Problem

The SOA server (soa_infra) is not responding to administrative commands. This problem can be due to your environment using a load balancer, and the default listener address or channel is local-only. Therefore, the connection cannot be made from the external client or server.

Solution

To resolve this problem, perform the following steps from the Oracle WebLogic Server Administration Console:

1. Ensure that the listener address is correctly defined and accessible.

1. From the Domain Structure, expand Environment and select Servers.

2. From the Servers table, click AdminServer(admin).

3. From the Settings for AdminServer page, click the Protocols tab.

4. Click the HTTP subtab.

5. Set the Frontend Host property to the load balancer address.

2. Similarly, set the Frontend HTTP Host and Frontend HTTP Port properties for the SOA cluster:

1. From the Domain Structure, expand Environment and select Clusters.

2. From the Clusters table, click domain_SOACluster

3. From the Settings for the domain_SOACluster page, click the HTTP subtab.

4. Set the Frontend Host property to the load balancer address.

5. Change the Frontend HTTP Host and Frontend HTTP Port properties.

For more information, see the "Setting the Frontend URL for the Administration Console and Setting Redirection Preferences" section and the "Setting the Frontend HTTP Host and Port" section in the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite.

9.8.5 Undeploying a Composite Left in an Inconsistent State Due to a Failed Patch

For troubleshooting information about this issue, see the "Troubleshooting SOA Composite Deployment Failures" section in the Oracle Fusion Applications Patching Guide.

9.8.6 Increased Load Observed on RAC Instances when Using Multiple Oracle RAC Servers

Problem

An increased load is seen on Oracle Real Application Clusters (Oracle RAC) instances when using multiple Oracle RAC servers.

Solution

Use a multidata source against Oracle RAC instances using load balancing rather than failover. This ensures that the load is evenly distributed rather than all load staying on one node until it fails over, at which point all the connections are failed over to the other node.

Ensure that you set the Connection Test Frequency Seconds property at the multidata source level to a nonzero value. A value that is too low means more load on the listeners/RAC instances when multiple servers attempt to reconnect at the same time.

For more information about configuring JDBC multidata sources, see Oracle Fusion Middleware Configuring and Managing JDBC Data Sources for Oracle WebLogic Server.

Note:

The Oracle Fusion Applications default configuration for the these settings has been tuned for best performance. Only change these settings when the configuration has not been set out-of-the-box by Oracle Fusion Applications.

9.8.7 List of SOA Composite State Values

Problem

Get a list of all composite state values from the *_SOAINFRA.COMPOSITE_INSTANCE state table (for diagnosis).

Solution

Table 9-3 shows the composite state values.

Table 9-3 Composite State Values

State

Description

0

Running

1

Completed

2

Running with faults

3

Completed with faults

4

Running with recovery required

5

Completed with recovery required

6

Running with faults and recovery required

7

Completed with faults and recovery required

8

Running with suspended

9

Completed with suspended

10

Running with faults and suspended

11

Completed with faults and suspended

12

Running with recovery required and suspended

13

Completed with recovery required and suspended

14

Running with faults, recovery required, and suspended

15

Completed with faults, recovery required, and suspended

16

Running with terminated

17

Completed with terminated

18

Running with faults and terminated

19

Completed with faults and terminated

20

Running with recovery required and terminated

21

Completed with recovery required and terminated

22

Running with faults, recovery required, and terminated

23

Completed with faults, recovery required, and terminated

24

Running with suspended and terminated

25

Completed with suspended and terminated

26

Running with faulted, suspended, and terminated

27

Completed with faulted, suspended, and terminated

28

Running with recovery required, suspended, and terminated

29

Completed with recovery required, suspended, and terminated

30

Running with faulted, recovery required, suspended, and terminated

31

Completed with faulted, recovery required, suspended, and terminated

32

Unknown

64

State

9.8.8 Log Files Have Been Deleted or Are Missing

Problem

The SOA log files are getting deleted. This is typically due to the retention policy set in Fusion Applications Control.

Solution

Change the retention policy for the odl-handler to the appropriate value in Fusion Applications Control:

1. Right-click soa-infra.

2. Choose Logs > Log Configuration.

9.9 Custom Development (Extensibility)

This section contains the following topics that describe common problems and solutions for Oracle SOA Suite runtime:

- Unable to Use Layered Customization on Specific Artifacts

- New or Deleted Artifacts Do Not Appear as a Layered Customization

- Warnings Regarding xml:id when Building or Deploying a Customized Composite

- Distributed Queue Topic Messages Are Retrieved Multiple Times by Subscribers

- Internal Key is Displayed Instead of a Translated String

- BPEL Activity Errors and the Log Shows Error "com.oracle.bpel.entity.dataprovider.EntityVarMgrException:zero Item"

- BPEL Activity Errors and Log Shows Error "XPath variable or expression <expression> is empty"

- Unavailable Composite Errors Occurring Even Though the Target Service Is Up and Running

- High-Volume Cross Reference (XREF_DATA) Table Impacts Performance and Maintenance

- Access Denied Error While Invoking an Oracle ADF BC Service from BPEL

- Clicking Manage Approvals Page Gives a "SOA server may be down" or "No data to display" Error

- Synchronous Service Invocation Errors Due to WS-Addressing

- Deploying Human Workflow Application Throws "Unable to resolve 'TaskQueryService'" Error

- "Invalid Subject" Error Thrown with Human Workflow API or Notification

- Task is Assigned to the Group/Role When It Is Expected to Go to Every User in the Group/Role Individually

- Task Completes Without Any Assignment Occurring

- Parallel Assignees Must Approve or Reject the Task Even Though the Parallel Completion Criteria is Met

- All Added Adhoc Participants Disappear After a Page Refresh

- Future Approvers Are Not Visible in the History Table

- Message Appears in the History Table About a Correlation ID Not Being Passed or Any Exception Related to the Correlation ID

- Edit Toolbar Is Disabled or Not Shown

- oracle.jrf.UnknownPlatformException Error When Customizing an Oracle Mediator

- java.lang.NullPointerException When Customizing an Oracle Mediator

- JDeveloper Compilation Error in a SOA Project with SOA MDS Service Location

9.9.1 Unable to Use Layered Customization on Specific Artifacts

Problem

Only certain artifacts allow layered customization in Oracle JDeveloper because it requires editors that use XMLEF to make delta changes to the underlying Document Object Model (DOM). XMLEF is the XML Editing Framework. XMLEF is an Oracle JDeveloper framework that supports flexible editing of XML documents and is used extensively in layered customizations.

Solution

The following SOA artifact types are customizable:

- Composite (composite.xml)

- BPEL process (.bpel)

- Oracle Mediator (.mplan)

The following SOA artifact types are not customizable:

- XSL map (.xsl)

- Human task (.task)

- Decision service (.decs)

- Rules (.rules)

- Event definition (.edl)

- Domain value map (.dvm)

The following common artifact types are not customizable because Oracle XDK/WSDL APIs do not support customization (although their editors do use XMLEF to make delta changes to the underlying DOM):

- XSD schema (.xsd)

- WSDL document (.wsdl)

Noncustomizable artifacts are not sensitive to a customization context. Any changes to those artifacts from any customization context are visible to other customization contexts.

For more information about customizations in Oracle JDeveloper and runtime tools (such as Oracle SOA Composer and Oracle BPM Worklist), see the "Customizing and Extending SOA Components" chapter in the Oracle Fusion Applications Extensibility Guide.

9.9.2 New or Deleted Artifacts Do Not Appear as a Layered Customization

Problem

Because MDS customization does not capture artifact creations or deletions as deltas in the customization role, artifact creations and deletions in one customization context are visible to other customization contexts.

Solution

Artifact creations and deletions are not customization context sensitive. Therefore, only existing artifact customizations are supported in layers. Because new artifacts cannot be added as part of a layer, the artifacts are added to the project like any other base artifact. Any component artifacts that are added to the project are not incorporated into the runtime composite model unless the composite.xml file has explicitly referred to it. Therefore, if a customization did not alter composite.xml to include the newly added component, the new artifacts have no impact. Of course, the new artifacts are saved along with the base artifacts.

Additions of any new artifact introduced in the composite definition as a customization (for example, XSLT artifacts) must be named appropriately to prevent collisions with base XSLT artifacts. References to the new XSLT files must be made within the Oracle BPEL Process Manager/Oracle Mediator artifacts (through a layer).

9.9.3 Warnings Regarding xml:id when Building or Deploying a Customized Composite

Problem

When building or deploying the customized composite, you may get warnings similar to this because the xml:id element is not supported:

[scac] [WARNING] Line [13] Column [29] Schema validation failed for
C:\customizationdemo\project1\composite.xml
<Line 13, Column 29>: XML-24535: (Error) Attribute
'http://www.w3.org/XML/1998/namespace:id' not expected.

Solution

This warning can be ignored and should not prevent you from deploying the composite successfully.

9.9.4 Distributed Queue Topic Messages Are Retrieved Multiple Times by Subscribers

Problem

In a clustered environment, a queue topic is being retrieved multiple times by the subscribers. SOA clusters are typically homogenous (that is, each node has the same services running). Therefore, if a queue topic has multiple subscribers (for example, an error queue is subscribed to by a fallout notification service and a trouble ticketing service), then in a clustered environment, each service is running on every node. If it is a four-node cluster, then there are four instances of the fallout notification service and four instances of the trouble ticketing service, each of which retrieve the topic message. This is not desirable.

Solution

Set the consuming service singleton property to ensure that in a multinode environment, only one of the subscriber instances can consume the topic message. In the example in the "Problem" section, the fallout notification service and the trouble ticketing service each should set their singleton property so that each of them consumes the message only once by any one of the four instances.

<service name="ConsumeFaultMessage" ui:wsdlLocation="ConsumeFaultMessage.wsdl">
<interface.wsdl
interface="http://xmlns.oracle.com/pcbpel/adapter/jms/EH/AIAReadJMSNotificationPro
cess/ConsumeFaultMessage/#wsdl.interface(Consume_Message_ptt)"/>
<binding.jca config="ConsumeFaultMessage_jms.jca">
<property name="singleton">true</property>
</binding.jca>
</service>

9.9.5 Internal Key is Displayed Instead of a Translated String

Problem

An internal key is displayed instead of a translated string in the human task title, human task outcome, email subject and body, and human task mapped attributes displayed in Oracle BPM Worklist.

Solution

To resolve this problem:

1. Check the SOA server-diagnostic.log for errors for each server in the cluster. If a resource bundle or the key is not found, you see a similar error stack that contains the composite name and resource bundle name.

2010-09-29T23:45:46.702-07:00 soa_server1 ERROR \[\]
oracle.soa.services.workflow.soa tid: orabpel.invoke.pool-4.thread-7 userId:
weblogic
ecid:59ab739a26595dc1:-38d33932:12b614ddb44,0:1:100000026
APP: soa-infra composite_name: RC3HumanTaskComposite component_name: Humantask1
component_instance_id: composite_instance_id: 310003
<WorkflowServiceEngine.request> Operation 'initiateTask' failed with exception
'EJB Exception: : java.util.MissingResourceException:
Can't find bundleforbase name
oracle.apps.hcm.people.soa.resource.HcmPeopleTopSoaBundleDummy, locale
en\[\[
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427
)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:952)

2. Confirm that the resource bundle has been deployed to the correct location in SOA MDS by first exporting the contents of SOA MDS and confirming that the resource bundle class is defined under /apps/resource. Follow these steps to export the metadata contents from Fusion Applications Control:

1. From the navigation pane, expand SOA and select soa-infra.

2. From the SOA Infrastructure menu, choose Administration > MDS Configuration.

3. Select Export metadata documents to an archive on the machine where the web browser is running.

4. Click Export.

3. If the resource bundle is not defined in SOA MDS or is in the wrong location in SOA MDS, then you may have encountered an error during patching or there is a problem with the resource bundle definition.
If the resource bundle is properly defined in SOA MDS and the string that is not translated is a mapped attribute that appears in the column heading of the worklist, then perform the followings steps to:

- Set the System MBean Browser WorkflowCustomClasspathURL property to a value of "".

- Apply the changes.

- Set WorkflowCustomClasspathURL to "oramds:///apps/resource/".

- Apply the changes in Fusion Applications Control.

1. Log in to Fusion Applications Control in the domain where the JAR file was deployed.

2. From the navigation pane, expand SOA and select soa-infra.

3. From the SOA Infrastructure menu, choose SOA Administration > System MBean Browser.

4. Go to Application Defined MBeans > oracle.as.soainfra.config > Server: SOA_cluster_name > WorkflowConfig > human-workflow.

5. Remove the value in the Value column for the WorkflowCustomClasspathURL attribute.

6. Click Apply.

7. Enter oramds:///apps/resource/ in the Value column of the WorkflowCustomClasspathURL attribute.

8. Click Apply.

If the resource bundle is properly defined in SOA MDS and the string that is not translated is not a mapped attribute that appears in the column heading of the worklist, then stop and restart the composite that references the resource bundle by following these steps:

1. Log in to Fusion Applications Control in the domain where the JAR file was deployed.

2. From the navigation pane, expand SOA and select soa-infra.

3. Click Shut Down.

4. Click Yes in the confirmation window.

5. Click Start Up.

6. Click Yes in the confirmation window.

4. Retest your transaction flow.

9.9.6 BPEL Activity Errors and the Log Shows Error "com.oracle.bpel.entity.dataprovider.EntityVarMgrException:zero Item"

Problem

If entity variables are used in Oracle BPEL Process Manager, this error may be thrown at runtime:

com.oracle.bpel.entity.dataprovider.EntityVarMgrException:zero item

Solution

When the entity variable tries to bind the key provided to it at runtime in Oracle BPEL Process Manager and if it cannot find the key in the database, it throws this error. This may be due to human error. Either the developer has passed an incorrect primary key value to bind to the entity variable or the composite has been deployed to the wrong business component (BC) URL in the deployment plan. To resolve, ensure that the primary key value that gets bound to the entity variable at runtime exists in the database used by the BC service.

9.9.7 BPEL Activity Errors and Log Shows Error "XPath variable or expression <expression> is empty"

Problem

If the payload node used in an activity such as an assign activity in BPEL is empty/null, then it throws this error.

The XPath variable or expression
/ns4:findDtsPurchasingDeliverable1FindByDelStatusResponse/ns4:resultns2:Deliverabl
eId=$DeliverableIdVar/ns2:BatchId is empty at line 344. selectionFailure:
com.oracle.bpel.client.BPELFault: faultName:
{{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}

Solution

This error is thrown when a selection operation performed either in a function or in an assignment encounters an error. If there is a possibility of getting a null/empty value for a payload element at runtime, then you can get around this error by enclosing this element in a switch case with a condition check of (string-length(payload_element) > 0) or a bpelx:assert element to test for null conditions in their code. If these errors are encountered at runtime, there is information in the log and the BPEL audit trail flow.

9.9.8 Unavailable Composite Errors Occurring Even Though the Target Service Is Up and Running

Problem

When a BPEL process has partner links targeted to external servers, during start up of the SOA server or activation of the BPEL composite, the BPEL service engine recognizes that the target server is down and marks the BPEL composite as unavailable. Even after the target server becomes available, there is no way to make the BPEL process available without restarting the complete SOA server or redeploying the BPEL process. Until then, the BPEL composite is not listed in the navigation pane of Fusion Applications Control and is only visible through the Deployed Composites tab. Even though the composite is displayed here (sometimes as active), if you click the process, you receive this error:

The composite <Process Name>[ <Version> ] is not available. This could happen
because either the composite has been undeployed or EM has not yet discovered
this composite.

Solution

The issue is caused by using a concrete WSDL file in the BPEL definition. Using an abstract WSDL prevents the BPEL composite/process from becoming inactive or its state from becoming retired when the target server or service is down.

Oracle Fusion Applications develop composites with oramds:// references to WSDL files at design time for both the binding and the WSDL location. At deployment, the binding's concrete location (which is only used at runtime) is fixed.

Follow these steps to use an abstract WSDL by making a local copy of the target WSDL file in your BPEL project.

1. When you create a web service partner link in a composite in the Create Web Service dialog, select the copy WSDL and its dependent artifacts into the project checkbox.

2. After you are done with web service creation and the partner link is wired (connected) with the BPEL process service component, you see two WSDL files in the Application Navigator of Oracle JDeveloper:

- Webservice.WSDL (the local copy of your target WSDL)

- WebserviceRef.WSDL

3. Redeploy the SOA composite.

4. Retest the scenario.

9.9.9 High-Volume Cross Reference (XREF_DATA) Table Impacts Performance and Maintenance

Problem

When the volume of data in the XREF Oracle SOA schemas grows very large, maintaining the database can become difficult. It may have an impact on performance and may be identified in AWR snapshots.

Solution

To address this maintenance challenge, Oracle SOA 11g has been instrumented with partition keys that enable database administrators (DBAs) to take advantage of the Oracle RDBMS partitioning features and capabilities. Even thought multiple types of partitioning are possible, the list partitioning strategy is the preferred one for partitioning the cross reference data table.

List partitioning allows greater flexibility in the mapping of rows to partitions than range or hash partitioning. Because the cross reference data (XREF_DATA) is distributed based on discrete column values, unordered and unrelated sets of data can be grouped together with no relationship between the partitions. For this table, the list partitioning is based on the column XREF_TABLE_NAME. Because you know the list of entities that have cross reference data, this strategy is ideal. The only caveat is that you must repeat this activity if a new entity gets added to the system.

Better understanding of data distribution can lead to further refinement and space management by employment of composite partitioning strategies such as list - list and list - range schemes. For information about partitioning, see the Oracle Database Performance Tuning Guide.

In addition to this partitioning strategy, you can also use Oracle Mediator's feature by which custom database tables can be created to store cross reference data for certain high volume entities. For more information, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

9.9.10 Access Denied Error While Invoking an Oracle ADF BC Service from BPEL

Problem

A common case in Oracle Fusion Applications is Oracle ADF BC service invocations from various SOA components. If the user context attached with the SOA composite instance or identity switching used in a SOA reference does not have proper permission to access the Oracle ADF BC service, then an access denied error is displayed.

Solution

Common causes for this error are as follows. These must be resolved.

- The Oracle ADF BC service does not have required permissions in jazn-data.xml.

- The permissions provided in jazn-data.xml are not properly reflected in system-jazn-data.xml.

- The ejb-jar.xml file does not have the <interceptors> tag added or it has an incorrect application name. An example of ejb-jar.xml with the correct tags is as follows:

<ejb-jar xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
[http://java.sun.com/xml/ns/j2ee/ejb-jar_3_0.xsd]"version="3.0">
<enterprise-beans>
<session>
<ejb-name>oracle.apps.financials.payables.invoices.transactions.invoiceApproval
Service.InvoiceApprovalBCServiceBean</ejb-name>
<resource-ref><res-ref-name>jdbc/ApplicationDBDS</res-ref-name><res-type>javax.
sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>
<resource-ref><res-ref-name>jdbc/ApplicationServiceDBDS</res-ref-name><res-type
>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>
</session>
</enterprise-beans>
&nbsp;
<interceptors> <interceptor>
<interceptor-class>oracle.security.jps.ee.ejb.JpsInterceptor</interceptor-class
>
<env-entry> <env-entry-name>application.name</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>fscm</env-entry-value>
<injection-target>
<injection-target-class>oracle.security.jps.ee.ejb.JpsInterceptor</injection-ta
rget-class>
<injection-target-name>application_name</injection-target-name>
</injection-target>
</env-entry>
</interceptor> </interceptors>
&nbsp;
<assembly-descriptor>
<interceptor-binding>
<ejb-name>*</ejb-name><interceptor-class>oracle.security.jps.ee.ejb.JpsIntercep
tor</interceptor-class> </interceptor-binding>
</assembly-descriptor>
&nbsp;
</ejb-jar>

9.9.11 Clicking Manage Approvals Page Gives a "SOA server may be down" or "No data to display" Error

Problem

At runtime, when you click the Manage Approvals page (for both a requisition and purchase order), you may get a SOA server may be down error among other errors. The page may also show a No data to display error.

Solution

Check to see if you have wf_client_config.xml pointing to the correct SOA server. Oracle Fusion Applications environments are all multidomain and applications that must query their local SOA runtime must do so through the wf_client_config.xml file configuration.

For more information about the wf_client_config.xml file, see Section 9.5.2.

9.9.12 Synchronous Service Invocation Errors Due to WS-Addressing

Problem

When integrating with external web services, you may have issues related to the WS-Addressing headers in the request and response XML documents used in synchronous request-response scenarios. This may even occur if there is a dynamic endpoint that resolves to an external web service that does not support WS-Addressing.

- A SOA composite acting as a client fails to invoke a service provider that does not support WS-Addressing headers in the request message for synchronous interactions.

- An external service consumer that does not support WS-Addressing headers in the response message fails to invoke a synchronous operation of a SOA composite.

- A service provider throws a wsa:InvalidAddressingHeader error when SOAPAction is defined in the WSDL <binding> element of the service provider interface.

Solution

The WS binding component of Oracle Fusion Middleware 11g generates WS-Addressing headers by default, which is as per the specification, but may be incompatible with some web services. This behavior can be overwritten using properties that allow you to control the generation of WS-Addressing header information for interoperability purposes.

- A SOA composite acting as a client fails to invoke a service provider that does not support WS-Addressing headers in the request message for synchronous interactions.
When your Oracle SOA Suite components act as service clients (consumers) and invoke synchronous operations of external web services, the invocation fails. The invocation failure is due to the WS-Addressing headers included in the request message when invoking the service provider.

The stack trace displays the following information:

NSGetCustomer (faulted)
Nov 10, 2009 4:26:40 PM Faulted while invoking operation "get" on provider
"NetSuite2009_PL".
<payload>
Nov 10, 2009 4:26:40 PM
"{urn:platform_2009_1.webservices.netsuite.com}UnexpectedErrorFault" has been
thrown.
<payload>
Nov 10, 2009 4:26:40 PM There is a system exception while performing the BPEL
instance, the reason is "Invalid SOAP Header: '<ns1:To
xmlns:ns1="http://www.w3.org/2005/08/addressing">https://webservices.netsuite.c
om/services/NetSuitePort_2009_1</ns1:To>'. Value is
'https://webservices.netsuite.com/services/NetSuitePort_2009_1'."
<payload>

In Oracle SOA Suite 11g, the WS-Binding component includes the following WS-Addressing headers:

- wsa:to

- wsa:replyTo

- wsa:action

These headers are included by default regardless of interacting with synchronous or asynchronous web service operations. Although the SOAP message generated by 11g is fully specification compliant, there are service provider implementations that do not understand these WS-Addressing headers when included in the request message for synchronous operations. This is why the invocation fails.

Oracle Fusion Middleware 11g uses new standards, WS-Addressing (wsa) and WS-I Basic profile, which demand that WS-Addressing headers be added by default to the request message.

To increase interoperability, the property oracle.soa.ws.outbound.omitWSA has been introduced for the <binding.ws> element in the composite.xml file. This property enables you to optionally suppress generation of WS-Addressing headers in the request message when set to true. The default value is false.

1. Manually add the following property to the <binding.ws> element in the composite.xml file.

[snippet]
<binding.ws
......
<property name="oracle.soa.ws.outbound.omitWSA" type="xs:boolean"
many="false" override="may">true</property>
</binding.ws>
[/snippet]

2. Redeploy the composite.

- An external service consumer that does not support WS-Addressing headers in the response message fails to invoke a synchronous operation of a SOA composite.
When external services invoke the endpoints of Oracle SOA Suite composites, which expose synchronous operation(s) acting as a server (service provider), the external web service fails with invocation errors. This is commonly due to the WS-Addressing headers included in the response message, which are not supported by some web service implementations.

In SOA Suite 11g, the WS-Binding component includes the WS-Addressing headers by default in the response messages. Although the SOAP message generated by 11g is fully specification compliant, there are service consumer implementations that do not understand the WS-Addressing headers when included in the response message in synchronous request-response scenarios. This is why the invocation fails.

To increase interoperability with clients (consumers) that do not support WS-Addressing headers, a property named oracle.soa.addressing.response.enabled has been introduced. This property can be used within the <binding.ws> element in the composite.xml file. This property enables you to optionally suppress generation of WS-Addressing headers in the response message when set to true. The default value is false.This means that in a synchronous request-response scenario, in which the Oracle SOA Suite composite acts as a service provider, WS-Addressing headers are included in the response message by default. If the property is set to false, no WS-Addressing-related headers are returned in the response message.

1. Set the property in the composite.xml file as follows:

[snippet]
<binding.ws>
......
<property name="oracle.soa.addressing.response.enabled" type="xs:boolean"
many="false" override="may">false</property>
</binding.ws>
[/snippet]

- A service provider throws a wsa:InvalidAddressingHeader error when SOAPAction is defined in the WSDL <binding> element of the service provider interface.
When invoking a web service provider with a synchronous interface from a composite deployed on 11.1.1.1, a wsa:InvalidAddressingHeader message is returned. This happens when both of the following conditions are met:

- The service interface (WSDL) of the service provider does not include the wsa:Action element in the WSDL input message for the port operations
and

- The soapAction attribute in the WSDL binding section of the service provider interface is specified.

The difference with the first scenario is that the service provider interface may accept WS-Addressing headers for synchronous endpoint operations by using the WS-Addressing extensibility attribute wsa:UsingAddressing in the WSDL binding section. A WSDL binding section sample is shown as follows:

<wsdl:binding name="mySoapBinding"
type="impl:myService">
<wsaw:UsingAddressing wsdl:required="false"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="myOperation">
<wsdlsoap:operation soapAction="myAction"/>
<wsdl:input name="myRequestMsg">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="myResponseMsg">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

As the following code sample shows, neither the input message nor the output message (as defined in the service provider WSDL) contain a <wsa:Action> element:

....
<wsdl:message name="myRequestMsg">
<wsdl:part name="parameters"
element="impl:myRequestElement"/>
</wsdl:message>
.....
<wsdl:message name="myresponseMsg">
<wsdl:part name="parameters"
element="impl:myResponseElement"/>
</wsdl:message>

The problem has been observed when integrating with synchronous web services deployed on the IBM WebSphere 6.1 Application Server.

The stack trace looks similar to the following code example:

......
oracle.fabric.common.FabricInvocationException:
javax.xml.ws.soap.SOAPFaultException: A header representing a Message
Addressing Property is not valid and the message cannot be processed
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.thro
wFabricInvocationException(WebServiceExternalBindingComponent.java:415)
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.thro
wFabricInvocationExceptionForSoapFault(WebServiceExternalBindingComponent.java:
411)
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.proc
essSOAPFault(WebServiceExternalBindingComponent.java:394)
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.proc
essOutboundMessage(WebServiceExternalBindingComponent.java:253)
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.send
SOAPMessage(WebServiceExternalBindingComponent.java:644)
at
oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.requ
est(WebServiceExternalBindingComponent.java:526)
at
oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(Syn
chronousMessageHandler.java:139)
at
oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.jav
a:179)
at
oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
......

If you use HTTP Analyzer or Apache TCP Monitor to trace the message exchange, you observe that the issue is related to the <wsa:action> element in the request SOAP header, which is not the same as SOAPAction in the HTTP header. The response message looks like the following code sample:

<soapenv:Envelope>
.......
<soapenv:Header>
<wsa:FaultDetail xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:ProblemHeaderQName>wsa:Action</wsa:ProblemHeaderQName>
</wsa:FaultDetail>
</soapenv:Header>
<soapenv:Body>
<soapenv:Fault>
<faultcode>wsa:InvalidAddressingHeader</faultcode>
<faultstring>
<![CDATA[A header representing a Message Addressing Property is not
valid and the message cannot be processed]]></faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

As mentioned in the previous sections, the WS Binding component of Oracle Fusion Middleware 11g generates WS-Addressing headers by default. According to the W3C specification (Web Services Addressing 1.0 - WSDL Binding W3C Candidate Recommendation 29 May 2006), Section 4.4.1 Explicit Association:

"In the absence of a wsa:Action attribute on a WSDL input element where a SOAPAction value is specified, the value of the [action] property for the input message is the value of the SOAPAction specified."

The generated value for the <wsa:Action> element of the input message matches the value of the SOAPAction element, if that is specified in the WSDL binding section. Otherwise, it generates a default value for the <wsa:Action> element.

A sample of the generated request is as follows (provided WSDL <binding> and <messages> section, as shown previously).

POST /currencyratesapi/services/myAction HTTP/1.1
Host: <host>:<port>
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
SOAPAction: "myAction"
Accept-Encoding: gzip, x-gzip, compress, x-compress
ECID-Context: 1.0000IUhXOGw3R9BpNWK6ye1BPi6A0002Wk;kYhgp8TLo0hgv0
Content-type: text/xml; charset=UTF-8
Content-Length: 1473

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>

<wsa:To>http://<host>:<port>/currencyratesapi/services/myAction</wsa:To>
<wsa:Action>myAction</wsa:Action>
<wsa:MessageID>...</wsa:MessageID>
<wsa:RelatesTo>...</wsa:RelatesTo>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
<wsa:ReferenceParameters>
......
</wsa:ReferenceParameters>
</wsa:ReplyTo>
</env:Header>
<env:Body>
......
</env:Body>
</env:Envelope>

9.9.13 Deploying Human Workflow Application Throws "Unable to resolve 'TaskQueryService'" Error

Problem

Almost all Oracle Fusion Applications have the hwtaskflow.xml file with the IntegrateTaskFlowWithTask entry in the web.xml file to register the notification projects. When deploying the J2EE EAR file, it throws the following error if you did not configure the foreign JNDI connection or wf_client_config.xml with a valid SOA environment.

javax.naming.NameNotFoundException:Unable to resolve 'TaskQueryService'. Resolved
''; remaining name 'TaskQueryService'

Solution

If the SOA server is not up and running, then start the SOA server using Fusion Applications Control. If it is up and the problem exists, then check that the wf_client_config.xml file has a valid SOA environment. If possible, avoid foreign JNDI references because the JNDI resources get bound into all servers in the domain that causes BindException errors for servers in which the actual service exists when source and target JNDI names are the same. Oracle Fusion Applications do not use foreign JNDI references, instead bundling a correctly configured wf_client_config.xml file in the EAR file or using APIs at runtime to generate the Java Architecture for XML Binding (JAXB) for the human workflow APIs.

Use wf_client_config.xml (bundled at the application level) for all ADF worklist client applications communicating with Oracle SOA Suite. Ensure that you specify the correct URL in the file configuration.

<?xml version="1.0" encoding="UTF-8" ?>

<workflowServicesClientConfiguration
xmlns="http://xmlns.oracle.com/bpel/services/client">
<server name="default" default="true" clientType="REMOTE">
<localClient>
<participateInClientTransaction>false</participateInClientTransaction>
</localClient>
<remoteClient>
<serverURL>t3:cluster://CRMSoaCluster</serverURL>
<initialContextFactory>weblogic.jndi.WLInitialContextFactory</initialContextFa
ctory>
<participateInClientTransaction>false</participateInClientTransaction>
</remoteClient>
<soapClient>
<rootEndPointURL>http://adc60048fems.us.oracle.com:6361/soa-infra</rootEndPointURL
>
</soapClient>
</server>
</workflowServicesClientConfiguration>

9.9.14 "Invalid Subject" Error Thrown with Human Workflow API or Notification

Problem

When Oracle SOA Suite is installed on Domain1 and ADF on Domain2 and if any remote calls are performed between them for any human workflow API use or for notifications, errors similar to the following are thrown if the domain trust is not set.

javax.servlet.ServletException:
javax.servlet.ServletException:java.lang.SecurityException: Security:090398Invalid
Subject:principals=CVBUYER01, AR_MANAGER_VISION_OPERATIONS_DATA, AR_ACCOUNTS_
RECEIVABLE_MANAGER_JOB, FBI_TRANSACTIONAL_BI_WORKER

Solution

Set the domain trust password on both domains (global trust).

1. Log in to Oracle WebLogic Server Administration Console.

2. In the Domain Structure, click the domain name.

3. Click the Security tab, and then click Advanced.

4. Set the password in the Credential and Confirm Credential fields.

Note:

Oracle Fusion Applications do not support RMI across domains. That is, all remote calls between ADF and SOA are always within the same domain. When cross domain communication is required, SOAP is used.You may encounter the scenario described in this section in your development environment. For example, you may be running the ADF task flow for human tasks in the JDeveloper-integrated Oracle WebLogic Server and running the composite in an independent standalone SOA server. Both are in different domains.

9.9.15 Task is Assigned to the Group/Role When It Is Expected to Go to Every User in the Group/Role Individually

For troubleshooting information about this issue, see the "Task Assignment/Routing/Escalation Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.16 Task Completes Without Any Assignment Occurring

For troubleshooting information about this issue, see the "Task Assignment/Routing/Escalation Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.17 Parallel Assignees Must Approve or Reject the Task Even Though the Parallel Completion Criteria is Met

For troubleshooting information about this issue, see the "Task Assignment/Routing/Escalation Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.18 All Added Adhoc Participants Disappear After a Page Refresh

For troubleshooting information about this issue, see the "Task History Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.19 Future Approvers Are Not Visible in the History Table

For troubleshooting information about this issue, see the "Task History Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.20 Message Appears in the History Table About a Correlation ID Not Being Passed or Any Exception Related to the Correlation ID

For troubleshooting information about this issue, see the "Task History Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.21 Edit Toolbar Is Disabled or Not Shown

For troubleshooting information about this issue, see the "Task History Issues" section in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

9.9.22 oracle.jrf.UnknownPlatformException Error When Customizing an Oracle Mediator

Problem

You can receive the following error when making customization modifications to an Oracle Mediator service component in a SOA application.

For example, assume you perform the following steps:

1. Log in to JDeveloper with the Fusion Application Developer role.

2. Create a SOA application and project with the Customizable option selected.

3. Add appropriate JAR files under the Libraries and Classpath section of the Project Properties dialog for the project.

4. Under Application Resources > Descriptors > ADF META-INF > adf-config.xml, add appropriate customization classes.

5. Add an Oracle Mediator service component to the application.

6. Save the application and restart JDeveloper.

7. Add appropriate routing rule and XSL transformations to the Oracle Mediator service component.
The following error is displayed in the command prompt window:

oracle.jrf.UnknownPlatformException: JRF is unable to determine the current
application server platform.

Solution

This error can be ignored. After this error occurs, everything still works correctly.

9.9.23 java.lang.NullPointerException When Customizing an Oracle Mediator

Problem

You can receive the following error when making a customization modification to an Oracle Mediator service component in a SOA application.

For example, assume you perform the following steps:

1. Log in to JDeveloper with the Fusion Application Developer role.

2. Create a SOA application and project with the Customizable option selected.

3. Add appropriate JAR files under the Libraries and Classpath section of the Project Properties dialog for the project.

4. Under Application Resources > Descriptors > ADF META-INF > adf-config.xml, add customization classes.

5. Add an Oracle Mediator service component to the application.

6. Add a routing rule to the Oracle Mediator service component.
The following error is displayed in the command prompt window:

java.lang.NullPointerException

Solution

If you do not see any alerts indicating that a WSDL file cannot be found or parsed, then this exception in the log/console can be ignored.

9.9.24 JDeveloper Compilation Error in a SOA Project with SOA MDS Service Location

Problem

1. Start JDeveloper with the Fusion Application Developer role.

2. Create a SOA application.

3. Create and deploy a SOA bundle to the server.

4. Create another SOA application.

5. Create an Oracle Mediator service component.

6. Create a reference web service and access the SOA MDS connection and browser for the service of the SOA application that you created in Step 2.

7. Wire the components.

8. Update the empty port and location values in the composite.xml file. For the location value, enter the oramds path. For example:

<reference name="Service1"

ui:wsdlLocation="oramds:/apps/CalleeProject/CalleeBPELProcess.wsdl">
<interface.wsdl
interface="http://xmlns.oracle.com/Comp2Comp_
EDGApp/CalleeProject/CalleeBPELProcess#wsdl.interface(CalleeBPELProcess)"/>
<binding.ws
port="http://xmlns.oracle.com/Comp2Comp_
EDGApp/CalleeProject/CalleeBPELProcess#wsdl.endpoint(calleebpelprocess_client_
ep/CalleeBPELProcess_pt)"
location="oramds:/apps/CalleeProject/CalleeBPELProcess.WSDL"/>
</reference>

9. Compile the application.
You receive the following error message.

Warning(26,76): Failed to Find Binding

Solution

This is only a warning message thrown by the compiler. Runtime works fine. Having a reference from SOA MDS in a composite makes the port and location values empty in the bindings. To resolve this warning message:

- Explicitly enter the corresponding details. For example, replace the binding.ws location value with the concrete WSDL file.

- Deploy the composite using the configuration plan, which replaces the port and oramds location with the concrete WSDL file.

10 Troubleshooting Oracle WebCenter Content

This chapter describes common problems that you might encounter when using Oracle WebCenter Content and explains how to solve them. This chapter contains the following topics:

- Introduction to Troubleshooting Oracle WebCenter Content

- Attachments

- Integration

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

10.1 Introduction to Troubleshooting Oracle WebCenter Content

This section provides guidelines and a process for using the information in this chapter. Using the following guidelines and process will focus and minimize the time you spend resolving problems.

Guidelines

When using the information in this chapter, Oracle recommends:

- After performing any of the solution procedures in this chapter, immediately retrying the failed task that led you to this troubleshooting information. If the task still fails when you retry it, perform a different solution procedure in this chapter and then try the failed task again. Repeat this process until you resolve the problem.

- Making notes about the solution procedures you perform, symptoms you see, and data you collect while troubleshooting. If you cannot resolve the problem using the information in this chapter and you must log a service request, the notes you make will expedite the process of solving the problem.

Process

Follow the process outlined in Table 10-1 when using the information in this chapter. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 10-1 Process for Using the Information in this Chapter

Step

Section to Use

Purpose

2

Section 10.2 through Section 10.3

Perform problem-specific troubleshooting procedures. These sections describe:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

3

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or Oracle SOA Suite. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

4

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

10.2 Attachments

Oracle WebCenter Content stores attachments. Within the Oracle Fusion Applications environment, attachments are secured by their corresponding content items. If you can access a content item, then you can access its attachment.

10.2.1 Attachment File Is Too Large

Problem

When the end-user attempts to add an attachment they receive the following message in a popup:

Warning: The file upload failed.
The file could not be uploaded because it is too large.

The file selection field will also have been cleared.

Solution

The maximum size of a file that can be uploaded is managed by the Apache MyFaces Trinidad settings. The UPLOAD_MAX_MEMORY context parameter in the web.xml file can be added or modified to change this size from the default of 2 MB.

For more information, see the "Changing the Maximum File Upload Size" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

10.3 Integration

This section covers the following topics:

- Content Server Web Service Is Unavailable

- Content Server Connection Failure

- Clicking Attachments Link Results in a 404 Error

- Authorization Failure

- Application Access Denied

- CredentialAccessPermission Denied

10.3.1 Content Server Web Service Is Unavailable

Problem

When the Content Server is down, it is not possible for any user to create, update or retrieve Content Server content. For example, the following error:

Error: Fails to access WSDL at <protocol://host:port/idcnativews/IdcWebRequestPort?WSDL>

Fails with the following response:

'503: Service Unavailable' for url 'protocol://host:port/idcnativews/IdcWebRequestPort?WSDL'

Solution

To resolve this issue:

1. Check that the connection end point is correct. If it is incorrect, update the CIS Web URL of the FusionAppsContentRepository Java Content Repository (JCR) connection to the correct value.

2. Restart Content Server if it is not available. See the "Starting and Stopping Content Server" section in the Oracle WebCenter Content System Administrator's Guide for Content Server.

10.3.2 Content Server Connection Failure

Problem

The application using attachments is unable to connect to Content Server. When a connection failure occurs, it is not for any user to create, update or retrieve Content Server content. This occurs at the point where the application is attempting to connect and authorize the connection. The following are indications of a connection problem:

- Clicking on the link of an file or text attachment displays a warning message instead of the attachment. For example:

Warning: The attachment information cannot be retrieved. (FND-2403)

The same text is shown for errors FND-2403 through to FND-2405. These errors are all indicative of problems connecting to Content Server when trying to retrieve content.

- Attempting to save an attachment results in an error message. For example:

Error: Your attachments changes cannot be saved. (FND-2408)

The same text is shown for errors FND-2407 through FND-2410. These errors are all indicative of problems connecting to Content Server when trying to save content.

- No connection, folder or document is available to the document picker.

- Message popup beginning with the following:

oracle.stellent.ridc.protocol.ProtocolException

Solution

To solve this problem:

1. Look for the error message number in the application log, for example, FND-2403. If there is no FND message then it is likely that the message is being bubbled up from Content Server or Oracle WebCenter Portal. Search for the text of the message in the application log. The exception message will provide additional context to help determine the root cause of the problem.

2. Check that the Content Server is running. Restart Content Server if it is not available. See the "Starting and Stopping Content Server" section in the Oracle WebCenter Content System Administrator's Guide for Content Server.

3. Determine if the JCR Connection is set correctly in this environment:

- Check that the Content Server Connection has been defined. The connection name must be FusionAppsContentRepository, and must be defined as the primary Content Server connection.

- The connection must of socket type jaxws, with the Web URL configured to point to the Content Server native web services endpoint (the idcnativews endpoint). The Client Security Policy must be null indicating that GPA (Global Policy Attachments) should be leveraged. A valid administrative user must also be specified as part of the definition. This connection definition is persisted in Oracle Metadata Repository, which happens automatically as a part of the setup. Hence, MDS Repository issues may result in issues for Attachments. For example, the connection specified in a connections.xml is overridden by the MDS Repository configuration.

You can use Oracle Enterprise Manager Fusion Applications Control (Fusion Applications Control) or WLST to view connection details. Verbose listing will also show that this is the primary connection.

To use the System MBean Browser in Fusion Applications Control to view the connection details

1. Navigate to a product family home page:

1. From the Targets menu, choose Fusion Applications.
The Fusion Applications target home page displays.

2. In the table on the Fusion Applications target home page, click the appropriate Product Family target.

2. From the navigation pane, expand the product family, then Fusion Applications.

3. Expand the cluster application you want to monitor to show each instance of the application.

4. Click one of the application deployment instances, for example, PayablesApp (PayablesSever_1).
The Fusion J2EE Application page displays.

5. From the Fusion J2EE Application menu, choose System MBean Browser.

6. In the System MBean Browser page, expand Application Defined MBeans.

7. Expand oracle.adf.share.connections, server name, application name, ADFConnections, JCR.

8. Click FusionAppsContentRepository.

9. In the Application Defined MBeans: JCR:FusionAppsContentRepositor page, view the attribute value for RequestFileDirectory.

To use WLST:

1. From the fusionapps Middleware subdirectory, start the WLST:

(UNIX) FA_MW_HOME/oracle_common/common/bin/wlst.sh
(Windows) FA_MW_HOME\oracle_common\common/bin\wlst.cmd

where DOMAIN_HOME is located in the following locations:

(UNIX) APPLICATIONS_CONFIG/instance/domains/host/domain_name
(Windows) APPLICATIONS_CONFIG\instance\domains\host\domain_name

2. Connect to Oracle WebLogic Server.

3. Use WLST commands. For example:

listJCRContentServerConnections(appName='app_name',verbose=1)
FusionAppsContentRepository
Connection Name: FusionAppsContentRepository
Connection Type: JCR
External Appliction ID:
Timeout: (not set)
CIS Socket Type: jaxws
CIS Server Hostname:
CIS Server Port:
CIS Keystore Location:
CIS Private Key Alias:
CIS Web URL: http://abcd.example.com:15012/idcnativews
Web Server Context Root:
Client Security Policy:
Admin User Name: FUSION_APPS_SETUP_ADF_APPID
Cache Invalidation Interval: (not set)
Binary Cache Maximum Entry Size: (not set)
The Documents primary connection is "FusionAppsContentRepository"

The document picker used to select folders or documents from Content Server is provided by Web Center.

10.3.3 Clicking Attachments Link Results in a 404 Error

Problem

Clicking on the link of an Attachment results in a 404 (page not found) error. This occurs for all users an application.

Solution

If the Attachment type is a file or text, then it is likely to be a problem with the GetHandler servlet.

The condition occurs when the GetHandler servlet is not running or the application has not been defined correctly.

1. One way to confirm that the servlet is available is to go to the console:
Deployments > Application > Application Root > Monitoring > Servlets

2. Restart the GetHandler servlet if it is not running.

3. If the servlet is running then the issue is likely to be with the configuration of the application. Contact the Oracle Fusion Applications product team to resolve the issue with the configuration of the application.

If the Attachment type is a URL, then the value needs to be corrected. This can be done by deleting and re-entering the URL attachment.

10.3.4 Authorization Failure

Problem

When the end-user attempts to create a new attachment, or view an existing attachment they receive an insufficient privileges message. Here are some sample error messages which are either bubbled up to the user from Content Server or found in the logs:

Content item '(null)' was not successfully checked in. User '<USERNAME>' does not have sufficient privileges.

Unable to download 'DOCUMENTID'. User 'USERNAME' does not have sufficient privileges.

Content item '(null)' was not successfully checked in. Unable to execute service method 'checkSecurity'. The error was caused by an internally generated issue. The error has been logged.

user does not have sufficient privileges

Invalid Security: error in processing the WS-Security header

MustUnderstand headers:{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\}Security are not understood

internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName

dom.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName

Solution

The sufficient privileges message originate from Content Server. It means that the user for the Content Server connection does not have sufficient privileges to complete the requested steps. There are many possible misconfiguration mistakes that result in this error. It is indicative of a problem with the configuration of the underlying technology stack.

To resolve this issue, follow the procedures in the following tasks:

- Task 1: Check Oracle Fusion Applications Client

- Task 2: Check Oracle Content Server Setup

10.3.4.1 Task 1: Check Oracle Fusion Applications Client

Check the application log for errors that occurred at this time and then follow the steps matches the reported error:

- Misunderstood Headers or No Namespace URL Error

- Invalid Security Error

- Unable to Generate Digital Signature Error

10.3.4.1.1 Misunderstood Headers or No Namespace URL Error

The following errors indicate the web service end point on Content Server may be missing the web service policy; this can be verified in a number of ways.

MustUnderstand headers:{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\}Security are not understood

com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName

From Fusion Applications Control:

1. From the navigation pane, expand the farm, Application Deployments, Internal Applications, Oracle UCM Native Web Services (UCMCluster).

2. Choose Oracle UCM Native Web Services (UCM_server1).

3. From the Application Deployment menu, choose Web Services.

4. In the Web Services home page, click the Web Service Endpoints tab.

5. Click the IdcWebLoginPort endpoint to view the configuration in the IdcWebLoginPort (Web Service Endpoint) page.

6. in the IdcWebLoginPort (Web Service Endpoint) page, click the WebLogic Policy Violations tab.

From Oracle WebLogic Server Administration Console:

1. From the left pane, from Domain Structure, select Deployments.

2. From the Summary of Deployments page, expand Oracle UCM Native Web Services and click IdcWebLoginService.

3. Click the Configuration tab, and then click the WS-Policy sub-tab.

4. Click IdcWebLoginPort to ensure the oracle/wss_saml_or_username_token_service_policy is associated.

From the WSDL URL

1. Point your browser to the following URL:

http://contentserver_host:contentserver_port /idcnativews/IdcWebLoginPort?WSDL

2. Check that the WSDL contains a binding reference to the appropriate service policy:

<wsp:PolicyReference URI="#wss_saml_or_username_token_service_policy" ...

10.3.4.1.2 Invalid Security Error

The following exception occurs if the client GPA (Global Policy Attachments) is not set up correctly.

Invalid Security: error in processing the WS-Security header

GPA must be configured for Web Service Client (ws-client) on the client, and the policy must match and correspond to the service policy defined for the Content Server native web services endpoint. This exception will occur if the client GPA (Global Policy Attachments) is not set up correctly. GPA must be configured for Web Service Client (ws-client) on the client, and the policy must match and correspond to the service policy defined for the Content Server native web services endpoint. For example:

- If the service policy on Content Server login service is set to oracle/wss_saml_or_username_token_service_policy, then the client policy should be set to oracle/wss10_saml_token_client_policy

- If the service policy on Content Server login service is set to oracle/wss11_saml_or_username_token_with_message_protection_service_policy then the client policy should be set to oracle/wss11_saml_token_with_message_protection_client_policy

Note that the GPA is set at the global domain level and impacts all domains. This is done as part of provisioning, and there is no explicit action to be done for Content Server Attachments in provisioning environments.

From WLST:

1. From the fusionapps Middleware subdirectory, start the WLST:

(UNIX) FA_MW_HOME/oracle_common/common/bin/wlst.sh
(Windows) FA_MW_HOME\oracle_common\common/bin\wlst.cmd

where DOMAIN_HOME is located in the following locations:

(UNIX) APPLICATIONS_CONFIG/instance/domains/host/domain_name
(Windows) APPLICATIONS_CONFIG\instance\domains\host\domain_name

2. Connect to Oracle WebLogic Server.

3. Run a listPolicySets() command and then an appropriate displayPolicySet('xxxx') command from the client domain to obtain details on the GPA defined.

...> listPolicySets()
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
For more help, use help(domainRuntime)
Global Policy Sets in Repository:
base-domain-ws-client

...> displayPolicySet('base-domain-ws-client')
Policy Set Details:
-------------------
Name: base-domain-ws-client
Type of Resources: Web Service Client
Scope of Resources: Domain("base_domain")
Description: Global policy attachments for Web Service Client resources.
Enabled: true
Policy Reference: security : oracle/wss10_saml_token_client_policy, enabled=true

10.3.4.1.3 Unable to Generate Digital Signature Error

The following message indicates that there is a problem on the Oracle Fusion Applications side when attempting to generate a digital signature.

Unable to generate digital signature

This message indicates that there is a problem on the Oracle Fusion Applications side when attempting to generate a digital signature. If there is no such error, then skip to the Section 10.3.4.2.

Keystore or Password Error

In some case, the application log may contains the following message:

Keystore has been tampered with, or password is wrong

To resolve this error:

1. Determine the keystore location from Fusion Applications Control:

1. From the navigation pane, expand the farm and then WebLogic Domain.

2. Select the domain.

3. In the Oracle WebLogic Server Domain home page, from the WebLogic Domain menu, choose Security > Security Provider Configuration.

4. In the Security Provider Configuration page, under Web Services Manager Authentication Providers, expand Keystore to see the location. The location is typically

(UNIX) DOMAIN_HOME/config/fmwconfig/default-keystore.jks
(Windows) DOMAIN_HOME\config\fmwconfig\default-keystore.jks

2. Validate the keystore password using the keytool tool, located in located in ORACLE_HOME/jdk/bin on UNIX and ORACLE_HOME\jdk\bin on Windows. For example:

keytool -list -v -keystore default-keystore.jks -storepass admin123

where admin123 is the keystore password.

The following error will occur if the password is incorrect:

java.security.UnrecoverableKeyException

3. Validate the private key alias and password using keytool. For example:

keytool -keypasswd -alias orakey -keypass welcome1 -new welcome1 -keystore default-keystore.jks -storepass admin123

where admin123 is the verified keystore password from Step 2, and welcome1 is the alias entry password.

The following error will occur if the password is incorrect.

java.security.UnrecoverableKeyException

The following error will occur if there is no key pair under the alias orakey.

java.lang.Exception

4. Validate that the correct passwords and entries exist in the credential store.
The credential store must contain valid password credentials for the oracle.wsm.security map providing the keystore access password, signing key alias and password, and encryption key alias and password.

Run the WLST listCred script with the appropriate map and key. See the section "listCred" in the Oracle Fusion Middleware Application Security Guide.

5. In the Oracle WebLogic Server Domain home page, from the WebLogic Domain menu, choose Security > Security Provider Configuration.

Access Denied Error

The following error is indicative of a problem with configuration or provisioning of the application.

Access Denied

Contact the Oracle Fusion Applications product team to get the issue resolved.

10.3.4.2 Task 2: Check Oracle Content Server Setup

To resolve this error:

1. Switch on logging for the FusionAppsAttachments component:

1. Login to the UCM UI with administration privilege.

2. Go to Administration node > System Audit Information.

3. In the Tracing sections Information area, add fusionappsattachments to Active Sections.

4. Enable Save and Full Verbose Tracing.

5. Click Update.

2. View the logs:

1. Login to the UCM UI with administration privilege.

2. Go to Administration node > System Audit Information.

3. Select View Server Output.

3. After re-running an attempt to retrieve or create an attachment, search for the string Signature Verification Failed. Determine the keystore location from Fusion Applications Control:

1. From the navigation pane, expand the farm and then WebLogic Domain.

2. Select the domain.

3. In the Oracle WebLogic Server Domain home page, from the WebLogic Domain menu, choose Security > Security Provider Configuration.

4. In the Security Provider Configuration page, under Web Services Manager Authentication Providers, expand Keystore to see the location. The location is typically

(UNIX) DOMAIN_HOME/config/fmwconfig/default-keystore.jks
(Windows) DOMAIN_HOME\config\fmwconfig\default-keystore.jks

4. Validate the keystore password using the keytool tool, located in located in ORACLE_HOME/jdk/bin on UNIX and ORACLE_HOME\jdk\bin on Windows. For example:

keytool -list -v -keystore default-keystore.jks -storepass admin123

where admin123 is the supposed keystore password.

The following error will occur if the password is incorrect:

java.security.UnrecoverableKeyException

5. Validate the private key alias and password using keytool. For example:

keytool -keypasswd -alias orakey -keypass welcome1 -new welcome1 -keystore default-keystore.jks -storepass admin123

where admin123 is the verified keystore password from Step 2, and welcome1 is the alias entry password.

The following error will occur if the password is incorrect.

java.security.UnrecoverableKeyException

The following error will occur if there is no key pair under the alias orakey.

java.lang.Exception

6. Validate that the correct passwords and entries exist in the credential store.
The credential store must contain valid password credentials for the oracle.wsm.security map providing the keystore access password, signing key alias and password, and encryption key alias and password.

Run the WLST listCred script with the appropriate map and key. See the section "listCred" in the Oracle Fusion Middleware Application Security Guide.

7. Correct the keystore or credential store if required:

- Public Certificate Map Error

- Legacy Signing Request Error

- Request Expiry Time Reached Error

- Unable to Base64 Decode Received Signature Error

- Unable to Verify Signature Error

10.3.4.2.1 Public Certificate Map Error

Problem

This following error indicates that the public certificate associated with the private key used by the Attachments client was not found in the Content Server domain's keystore.

Public Certificate Map did not contain fingerprint: XXXX Public Certificate is null; Unable to verify signature

In security-hardened environments whereby each domain is potentially using unique keypairs, the client's public certificate must be loaded into the Content Server domain's keystore. In non-security-hardened environments, each domain would be using identical kepairs (and possibly cloned keystores), and hence the public certificate should already be present in the Content Server domain's keystore.

Solution

Check the keystore on the Oracle Fusion Applications client and the Content Server contain the correct keystore. In a non-security hardened environment, the keystore can be copied from one domain to another and Oracle WebLogic Server restarted. The Content Server will need to be bounced when the keystore changes, as this public certificate is cached at startup. The Attachments caches the value upon the first access so the Oracle Fusion application may also require bouncing, although this is unlikely.

Use the keytool to check the certificate. For example:

keytool -list -v -keystore default-keystore.jks

See the Oracle Fusion Applications Security Guide for the correct configuration of the keystore.

10.3.4.2.2 Legacy Signing Request Error

Problem

The following message indicates that the Attachment client provided a null or empty public certificate fingerprint value (XFND_CERT_FP), which is likely due to some keystore access issue on the client.

Legacy signing request; Certificate FingerPrint missing

If this value is missing from the databinder, the signature value itself is also likely missing. If this is the case, one would also likely to see the following message:

Signature Scheme Properties missing from DataBinder

This message indicates that one of the following values was null or empty in the databinder supplied by the Attachments client:

- XFND_SIGNATURE, XFND_RANDOM

- XFND_EXPIRES

This problem is reported when the Oracle Fusion application making the request is incorrectly configured.

Solution

Once the Oracle Fusion application is configured correctly, then there will no longer be a problem.

To resolve this issue, Section 10.3.4.1. There are likely to be many clients. Therefore, you may need to check each one. The FusionAppsAttachments logging may provide enough information to determine which client is provoking the error.

10.3.4.2.3 Request Expiry Time Reached Error

Problem

The following error indicates that the XFND_EXPIRES (milliseconds since epoch) date value provided in the request databinder has already passed according to the Content Server's clock.

Request expiry time reached

Solution

Check to ensure there are no time and timezone differences between the client and Content Server. The request timeout should typically be 10 minutes.

10.3.4.2.4 Unable to Base64 Decode Received Signature Error

Problem

The following message indicates that the client-supplied, URL-safe, base64 signature could not be successfully decoded back to binary data.

Unable to base64 decode received signature

Solution

Check the application logs for any errors when encoding the signature.

10.3.4.2.5 Unable to Verify Signature Error

Solution

The following errors in the application log files indicate an issue obtaining the keystore and/or the public certificate.

java.lang.NullPointerException at SigningUtils.verify !syNullPointerException java.lang.NullPointerException. at AttachmentsConfig.getPublicCertificate

Solution

Check what exceptions are present at the Content Server start time associated with keystore and credential store access.

10.3.5 Application Access Denied

Problem

When the end-user attempts to create a new attachment, or view an existing attachment they receive an access denied message. For example:

oracle.fabric.common.PolicyEnforcementException: access denied (oracle.wsm.security.WSIdentityPermission resouce=appName assert)

Solution

This is indicative of a problem with configuration or provisioning of the application. Contact the Oracle Fusion Applications product team to get them to resolve the issue.

10.3.6 CredentialAccessPermission Denied

Problem

The following exception is reported:

access denied (oracle.security.jps.service.credstore.CredentialAccessPermission context=SYSTEM,mapName=oracle.wsm.security,keyName=enc-csf-key read)

This issue is indicative of a problem with configuration or provisioning of the application.

Solution

Contact the Oracle Fusion Applications product team to get them to resolve the issue.

11 Troubleshooting Oracle WebCenter Portal

This chapter describes common problems that you might encounter when using Oracle WebCenter Portal and explains how to solve them.

This chapter contains the following topics:

- Problems and Solutions for WebCenter Portal Portlets

- Problems and Solutions for WebCenter Portal's Composer

- Problems and Solutions for Oracle WebCenter Portal: Spaces

- Problems and Solutions for Activity Stream

- Problems and Solutions for Search in WebCenter Portal

- Problems and Solutions for the Tags Service

- Problems and Solutions for the Instant Messaging and Presence Service

- Problems and Solutions for the Discussions Service

- Problems and Solutions for the Documents Service

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

11.1 Problems and Solutions for WebCenter Portal Portlets

Oracle Fusion Applications utilizes portlet technology in various places, typically to remotely invoke a business view that is implemented as an Oracle Application Development Framework (ADF) task flow. This enables functionality that is implemented on one Oracle Fusion application, for example, HCM, to be incorporated into another Oracle Fusion application, for example, CRM, as if it was embedded in the same application. The CRM application is in fact embedding a portlet that obtains its markup from the remote HCM application, which is running on another server. The task flow that is implemented on the HCM server is made available as a portlet through a component called the Oracle JSF Portlet Bridge. This wrapper makes the task flow available as a portlet producer that can be consumed by another application.

This section contains the following topics:

- Introduction to Troubleshooting WebCenter Portal Portlets

- Portlet Displays a Portlet Consumer Error

- Portlet Displays a Portlet Timeout

- Portlet Displays a Remote Portlet Communication Error

- Portlet Displays a Remote Portlet Error

- Diagnosing WebCenter Portal Portlet Problems

11.1.1 Introduction to Troubleshooting WebCenter Portal Portlets

When running Oracle Fusion Applications, it may not be readily apparent which portions of the user interface are implemented as portlets. The only time this may actually be evident is when there is a problem.

Useful Terminology

The following list defines some common terms for WebCenter Portal portlets:

- Portlet
A portlet is a region of the screen that is displayed from a remote source. In Oracle Fusion Applications, portlets conform to the Web Services for Remote Portlets (WSRP) standard, and implement the JSR 286 portlet specification.

- Oracle JSF Portlet Bridge
The Oracle JSF Portlet Bridge is a component that enables an ADF application to be exposed as a WSRP portlet producer application. Oracle Fusion applications are all implemented as ADF applications.

- Producer application
A producer application is an ADF application with pages or task flows that have been enabled to run as portlets. This type of application can run in dual modes: as a servlet (like a regular web application), or as a portlet (when consumed by a consumer application through the Oracle JSF Portlet Bridge).

- Consumer application
A consumer application is an application that consumes the portlets exposed by a producer application. Before consuming a portlet (by dropping it onto a page), application developers must first register the portlet producer application with the consumer application.

Useful Resources

The following list provides some useful resources to use when diagnosing problems with WebCenter Portal portlets:

- Portlet Consumer Test Page
A page that provides diagnostic information about the consumer application. You can access the Portlet Consumer Test Page using the following URL:

http://host:port/context-root/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx

where:

- host is the server to which the consumer application is deployed

- port is the port to which the server is listening for HTTP requests

- context-root is the consumer web application's context root

For example:

http://mymanagedserver.example.com:8888/myapp/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx

For more information, see Section 11.1.6.1.2.

- Producer Test Page
A page that provides diagnostic information about the portlet producer application. You can access the Producer Test Page using the following URL:

http://host:port/context-root/info

where:

- host is the server to which the portlet producer is deployed

- port is the port to which the server is listening for HTTP requests

- context-root is the producer web application's context root

For example:

http://portlets.example.com:9999/sample/info

The Producer Test Page includes a link to the Web Service Definition Language (WSDL) document to use for registration, for example:

http://portlets.example.com:9999/sample/portlets/wsrp2?WSDL

For more information, see Section 11.1.6.1.3.

- Running a producer as a servlet application through Faces
This is also known as running the application as a servlet. Before an application can act as a portlet provider, it must be able to run correctly through standard HTTP requests.

To run an application as a servlet, use the following URL:

http://host:port/context-root/faces/path-to-page/page.jspx

where:

- host is the server to which the portlet producer is deployed

- port is the port to which the server is listening for HTTP requests

- context-root is the producer web application's context root

- path-to-page is the path to the page you want to run

- page is the name of the page you want to run

For example:

http://portlets.example:9999/sample/faces/index.jspx

The Producer Test Page provides links to run such pages or task flows as servlets. For more information, see Task 2, "Run the JSF Portlet as a Servlet".

- Logging configuration file
The logging configuration file, logging.xml, is located in:

DOMAIN_HOME/config/fmwconfig/servers/server/logging.xml

- Diagnostic log file
The default location of the diagnostic log file is:

DOMAIN_HOME/servers/server/logs/server-diagnostic.log

Process

Follow the process outlined in Table 11-1 when using the information in this section. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 11-1 Process for Using the Information in this Section

Step

Section to Use

Purpose

1

Section 11.1.2 to Section 11.1.5

Perform problem-specific troubleshooting procedures. These sections describe:

- Possible causes of the problems

- Solution procedures corresponding to each of the possible causes

1

Section 11.1.6

Perform general diagnostics steps when you encounter problems with WebCenter Portal portlets.

2

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or WebCenter Portal portlets. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

When you encounter problems with WebCenter Portal portlets, there are some general diagnostics steps that you can follow.

3

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.

11.1.2 Portlet Displays a Portlet Consumer Error

The message Portlet Consumer Error (shown in Figure 11-1) typically indicates that an error occurred within the operation of the portlet parts of the portlet consumer application.

Figure 11-1 Portlet Displaying a Portlet Consumer Error

Description of "Figure 11-1 Portlet Displaying a Portlet Consumer Error"

Problem

An error has occurred within the operation of the portlet parts of the portlet consumer application. In other words, the error is unrelated to the remote portlet producer application.

Solution

Consult the diagnostic log file to determine the cause of the exception. For information about portlet logging, see Section 11.1.6.2.

The exception that caused the error message to be displayed is logged. Wherever possible, a message is included in the log at the start of the exception stack to indicate for which portlet binding the exception occurred. Example 11-1 shows a message logged for a portlet error.

Example 11-1 Example Message Logged for a Portlet Error

<PortletRenderer> <setErrorState> An error has occured for Portlet Binding
portlet1.
oracle.portlet.client.container.PortletContentTypeException: Unexpected content
type "null" in WSRPGetMarkup response.
...

Pay particular attention to the cause exceptions in the stack as this is likely to indicate what the real underlying problem is.

The cause is likely to be an internal error and the appropriate course of action is to contact Oracle Support with the log files of the consumer application.

11.1.3 Portlet Displays a Portlet Timeout

If a Portlet Timeout message is displayed in the area of the page that you would expect to contain a portlet (as shown in Figure 11-2), this means that the consumer waited for a configured period of time for the producer to respond and did not get a response during that time, or the response did not complete during that time. There are a number of possible causes.

Figure 11-2 Portlet Displaying a Portlet Timeout Error

Description of "Figure 11-2 Portlet Displaying a Portlet Timeout Error"

Problem 1

The producer machine is overloaded.

Solution 1

Check the load on the producer Managed Server (the tools used to do this vary depending on the operating system that is running on the producer). If the load is high, check whether a particular process is causing this high load, and whether such a process could be run on another machine, or at a less busy time. If no single process is causing the high load, or if the Oracle WebLogic Server is causing the high load, and if the load is consistently high, consider whether the producer hardware is adequate, or whether it is necessary to upgrade it (or add further nodes to the cluster). Also consider adjusting the Oracle WebLogic Server configuration to increase the size of the request thread pool. For more information, see the "Tuning WebLogic Server" chapter in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

Problem 2

The network is overloaded, or there are problems with the network affecting communication between the consumer and producer.

Solution 2

Check that you can ping the producer machine from the consumer machine. Check that you can access the producer's WSRP Producer Test Page in your local browser (for information, see Useful Resources). If this works, check that you can access this same page from a browser running on the consumer machine. If any of these steps cause problems, and the machine is not overloaded, this could be a network problem, which should be investigated by a system administrator.

Problem 3

The log or trace files indicate that there is a deadlock (or a stuck thread) on the producer machine causing the request thread to hang.

Solution 3

This should not happen during normal operation. If it does occur, there will generally be an error in the producer's log files indicating the point at which the deadlock occurred. This may help diagnose the problem. In some cases, it may be possible to alleviate this by modifying the configuration of Oracle WebLogic Server. For more information, see Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

Problem 4

The producer application is running slowly (for example, due to processing large quantities of data).

Solution 4

In this case, the producer application may be processing large quantities of data, causing it to spend too long building the response. If the application will regularly deal with large quantities of information, it may be necessary to either add or improve producer hardware. If this is not possible you can increase the portlet timeout duration.

For information about how to configure the portlet timeout, see Solution 5.

Problem 5

The portlet timeout values have been misconfigured such that the timeout period is too short.

Solution 5

Typically, the timeout for a portlet is set on the registration of the portlet. This may have been set to a value that does not give time for the portlet to respond. You can configure the portlet timeout on the producer connection in the consumer application using:

- Fusion Applications Control, for more information, see the "Editing Producer Registration Details Using Fusion Middleware Control" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

Note:

The procedures referenced in this guide describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

- the setWSRPProducer WLST command, for more information, see the "setWSRPProducer" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

Also, the portlet section of the adf-config.xml file allows minimum, maximum, and default values for portlet timeouts to be configured across the whole application. The maximum timeout imposes an upper limit on timeouts specified by portlet producers, so if the maximum timeout is too short, this could cause unwanted portlet timeout errors even if the timeout specified on the producer connection is longer.

For more information about portlet timeout settings in adf-config.xml, see the "adf-config.xml" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition). After editing the adf-config.xml file, you must redeploy the application. For more information, see the "Redeploying Framework applications" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.1.4 Portlet Displays a Remote Portlet Communication Error

When a section of the screen shows the Remote Portlet Communication Error message (as shown in Figure 11-3), and there is an otherwise blank region surrounding it, this area is expected to be filled with a portlet, which the application is not able to contact.

Figure 11-3 Portlet Displaying a Remote Portlet Communication Error

Description of "Figure 11-3 Portlet Displaying a Remote Portlet Communication Error"

Problem 1

The producer is down.

Solution 1

It could be that the producer application is not running, or the Managed Server on which it is deployed is not started. In this case, it will need to be started. Identify the application that needs to be started based on the task being attempted at the time of the portlet failure. For more information, see Section 11.1.6.1.1.

Problem 2

The producer log files indicate that the web services security is incorrectly configured.

Solution 2

In Oracle Fusion Applications deployments, web services security (WS-Security) is managed with global web services security policies.

Troubleshooting steps for web services security depend on the type of security profile being used, for example AuthN, SSL, or Message Security.

For more information about troubleshooting web service security, see:

- The "Diagnosing Problems" chapter in the Oracle Fusion Middleware Security and Administrator's Guide for Web Services

- Section 7.3.5

- Section 7.3.6

For information about the different types of security profile, see the "Locking Down Web Services: Points to Consider" section in the "Hardening Backchannel Network and Services" chapter of the Oracle Fusion Applications Security Hardening Guide.

The security policies set on the portlet producer's WSRP_v2_Service web service ports are as follows:

- WSRP_v2_ServiceDescription_Service port: oracle/no_authentication_service_policy

- WSRP_v2_PortletManagement_Service port: oracle/no_authentication_service_policy

- WSRP_v2_Markup_Service port: no policy specified, so that it picks up the globally attached policy

- WSRP_v2_Registration_Service port: oracle/no_authentication_service_policy

If the producer ports are configured in any other way, then it may be the cause of the problem. In particular, if a local policy is applied to the WSRP_v2_Markup_Service port, and the policy does not match the corresponding policy on the producer connection, then the port or the connection will need to be updated to specify matching policies, or be removed, so that the globally attached policies can take effect.

Problem 3

The producer Managed Server cannot be reached.

Solution 3

The producer may be in a location that cannot be reached by the consumer application, due to intervening firewalls or incorrect routing rules. In an environment that is installed by Oracle's provisioning software, this should not be the case, but it is worth checking that you are able to access the WSDL endpoint for the producer from the machine hosting the consumer, by going to:

http://host:port/context-root/portlets/wsrp2?WSDL

Where:

- host is the server to which the portlet producer is deployed

- port is the port to which the server is listening for HTTP requests

- context-root is the producer web application's context root

For example:

http://portlets.example.com:9999/sample/portlets/wsrp2?WSDL

If you cannot reach the WSDL endpoint, contact your network administrator.

11.1.5 Portlet Displays a Remote Portlet Error

If the portlet displays a Remote Portlet Error message (as shown in Figure 11-4), this indicates that the producer responded with an error message. The error message is returned in the form of a SOAP fault message inside the response document. There are a number of reasons the producer might return an error. The best strategy to diagnose these errors is to first find the corresponding exception stack trace in the consumer diagnostic logs (see Section 11.1.6.2). This stack trace shows what kind of fault was returned by the producer, plus any further information required in the response. Some faults you may encounter are listed in the following sections.

Figure 11-4 Portlet Displaying a Remote Portlet Error

Description of "Figure 11-4 Portlet Displaying a Remote Portlet Error"

Problem 1

OperationFailedException. This is the most common type of Remote Portlet Error and it is a catch-all for most unhandled exceptions raised in the producer application.

Solution 1

To resolve an OperationFailedException, examine the exception in the consumer diagnostic logs. This generally shows any exception that was raised in the producer application to trigger the fault response as the final Caused by exception.

If required, you can then examine the diagnostic logs on the producer application for more detail, or for any related exceptions that occurred prior to the fault being triggered. In some cases, the exception in the producer log indicates a problem that can be simply resolved, such as a database connection failure or configuration problem. In other cases, the exception might indicate a product bug.

Problem 2

InvalidRegistrationException. This error indicates that the producer has not been properly registered with the consumer before the consumer attempted to communicate with it. This could also occur if the producer's persistence store has been moved or deleted since the consumer registered it.

For more information about persistence stores, see the "Setting Up a Preference Store" section in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Solution 2

If this error is observed, the most likely cause is a problem during provisioning. It is also worth checking that the producer application is using a consumer persistence store. Example 11-2 shows how this is indicated in the producer application's web.xml file.

Example 11-2 Persistence Store Setting in web.xml

<env-entry>
<env-entry-name>oracle/portal/wsrp/server/persistentStore</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Consumer</env-entry-value>
</env-entry>

If the persistence store setting is not the problem, contact Oracle Support with the consumer log file.

Problem 3

InvalidHandleException. This indicates that the consumer has asked the producer to render, or otherwise interact with, a portlet instance that the producer does not know about. This could occur if the producer's persistence store has been corrupted in some way since the portlet was added to the page.

Solution 3

If this error is observed, the most likely cause is a problem during provisioning, or a missing persistentStore setting in the web.xml file, as described in Solution 2.

Problem 4

AccessDeniedException. This indicates that the producer application decided that the current user did not have access to the portlet or task flow in question.

Solution 4

If this error is observed, it could either be a legitimate error message or an indication of a configuration problem. In most cases, Oracle Fusion Applications should deal with authorization errors gracefully, without a Portlet Remote Error being displayed. If this error is caused by a configuration error, contact Oracle Support with the consumer log file.

11.1.6 Diagnosing WebCenter Portal Portlet Problems

When you encounter problems with WebCenter Portal portlets, there are some general diagnostics steps that you can follow.

This section contains the following topics:

- Using Diagnostic Tools

- Configuring the Portlet Logging File

11.1.6.1 Using Diagnostic Tools

There is a set of tools available for both the consumer and producer to help identify and resolve issues when running Oracle JSF Portlet Bridge portlets.

If you encounter a portlet error message when a portlet is rendered, or if the portlet displays but you cannot interact correctly with it, there are some general steps using these tools that you should follow to diagnose the issue.

This section contains the following topics:

- Identify the Portlet Instance

- Examine the Portlet Consumer Test Page

- Examine the Producer Test Page

11.1.6.1.1 Identify the Portlet Instance

The first step when you encounter a portlet error, is to identify which portlet producer and portlet instance is being invoked. Execute the portletDebugShow() JavaScript from your browser to display this information over the top of the main portlet content.

To identify the portlet instance:

1. Enter the following command in the Location field of your browser:

javascript:portletDebugShow()

Tip:

In Internet Explorer and Google Chrome, you must type this command in the Location field. If you paste the command into the field, the javascript piece is removed.

In Firefox 6 and above, you cannot enter JavaScript in the Location field, you must enter the command in the JavaScript Console.

2. After running the script, every portlet now displays the following information:

- Producer name

- Portlet name

- Portlet instance ID

- Execution Context IDs (ECIDs)
The ECIDs are unique IDs used to identify a portlet request. Use the ECIDs to correlate the messages across different consumer and producer log files using Fusion Applications Control. The same ECID is propagated from the consumer to the producer. For more information, see the "Correlating Messages Across Log Files and Components" section in the Oracle Fusion Middleware Administrator's Guide.

Note:

Broken portlets show two ECIDs: one for the request in which the error occurred and one for request in which the error was reported.

For IFRAME portlets, for example Oracle JSF Portlet Bridge portlets, the ECIDs are different. This is because the error is reported in a later request than the one in which the original exception occurred. When checking the logs, you should look for both ECIDs, as either may contain relevant information.

Description of the illustration portlet_debug.gif

Tip:

If you cannot see all of the information due to the size of the portlet, you can click anywhere within the diagnostic information to display it in a separate panel that is not confined to the portlet dimensions.

You can use this information in the subsequent diagnostic steps to help locate the issue.

Note:

The ECIDs shown in the portlet diagnostic information do not reflect partial page rendering requests that have been made to the portlet producer (using the portlet consumer resource proxy). These requests may update the portlet, but the ECIDs are not recorded in the portlet diagnostic information. Errors that occur during these requests are logged on the producer and by the portlet resource proxy on the consumer but you cannot use the ECID information reported in the portlet diagnostic information to help you determine the ECIDs for the relevant log entries.

3. When you have finished debugging the portlets, enter the following command to hide the portlet debugging information:

javascript:portletDebugHide()

Tip:

In Internet Explorer and Google Chrome, you must type this command in the Location field. If you paste the command into the field, the javascript piece is removed.

In Firefox 6 and above, you cannot enter JavaScript in the Location field, you must enter the command in the JavaScript Console.

11.1.6.1.2 Examine the Portlet Consumer Test Page

The next step in diagnosing a portlet error is to access the Portlet Consumer Test Page (shown in Figure 11-5) to locate the portlet producer and, if necessary, test the portlet in isolation.

Figure 11-5 The Portlet Consumer Test Page

Description of "Figure 11-5 The Portlet Consumer Test Page"

The Portlet Consumer Test Page contains three tabs:

- Producers: This tab lists all the producers registered with the consumer application. Selecting a producer provides specific information about that producer.

- Sanity Checks: This tab may contain a predefined set of portlet instances and required parameters that can be run in the consumer application, as configured by the consumer application developer. Any failures within these portlets indicate a problem with the corresponding producer and/or portlet.

- Configuration: This tab enables you to identify the consumer configuration entries for portlet consumption. You cannot change these values as they are stored within the application; they are displayed for reference information only.

After accessing the Portlet Consumer Test Page, you can perform further diagnostic steps.

This section contains the following topics for using the Portlet Consumer Test Page to diagnose portlet issues:

- Task 1, "Access the Portlet Consumer Test Page"

- Task 2, "Locate the Portlet Producer"

- Task 3, "Locate and Run the Portlet Instance"

- Task 4, "Perform Sanity Checks"

- Task 5, "Check Consumer Configuration Entries"

Task 1   Access the Portlet Consumer Test Page

The Portlet Consumer Test Page provides diagnostic information about the portlet consumer.

To access the Portlet Consumer Test Page:

1. In your browser, enter the URL for the Portlet Consumer Test Page:

http://host:port/context-root/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx

Note:

If the consumer application is secured, the Portlet Consumer Test Page can be accessed only by users granted permission to view those pages.

2. In the Portlet Consumer Test Page, you can perform further diagnostic steps as described in the following sections.

Task 2   Locate the Portlet Producer

The Producers tab of the Portlet Consumer Test Page lists all the producers that have been registered with the consumer application. If a portlet instance in your application displays an error message, you can view information about the producer that owns the portlet by selecting it on this tab.

To locate the portlet producer:

1. In the Portlet Consumer Test Page, select the portlet producer that owns the portlet instance that is reporting the error.
You noted this information in Section 11.1.6.1.1.

2. The following information is provided for the selected producer:

- Producer Test Page: A link to the Producer Test Page.

- Configuration: Details of potential issues surrounding skins, security, and timeouts associated with the using producer.

- Offered Portlets: A list of all portlets offered by the producer. If there are no offered portlets listed, this indicates that there is a problem with the registration metadata for the producer.

- Portlet Instances: A list of all portlet instances for the selected producer in the consumer application. This list may be empty.

You can use this information to identify potential issues with the producer.

Task 3   Locate and Run the Portlet Instance

If you have still not been able to identify the cause of the portlet error, the issue may lie with the portlet instance itself.

To locate and run the portlet instance:

1. In the Portlet Consumer Test Page, select the portlet producer that owns the portlet instance that is reporting the error.
You noted this information in Section 11.1.6.1.1.

2. Under Portlet Instances, select the portlet instance to display the Consumer Test Page: Portlet page.
You noted this information in Section 11.1.6.1.1.

Description of the illustration portlet_test_page.png

3. The Portlet Consumer Test Page: Portlet page renders the portlet in a standalone page. If the portlet runs correctly on this page, the problem is most likely caused by other components on the page containing the broken portlet.

4. The Parameters section enables you to experiment with how the portlet looks using a stretch or flow layout.

5. If the portlet accepts parameters, the Parameters section also lists all the public parameters for the portlet. Enter values for any parameters to test that the portlet is receiving parameters correctly.

6. To navigate back to the Portlet Consumer Test Page, click the producer name link at the top of the page.

Task 4   Perform Sanity Checks

The Sanity Checks tab of the Portlet Consumer Test Page (shown in Figure 11-6) provides a quick overview of the state of portlet communication in your application across all producers.

Figure 11-6 The Sanity Checks Tab

Description of "Figure 11-6 The Sanity Checks Tab"

The Sanity Checks tab references portlet instances used within the consumer application. This list is configured by the application developer who chose the portlets to include and the parameters to pass to these portlets.

The checks on this page do not render the output in the UI, but simply create a runnable instance of the portlet under the covers and report any failures if any exception is returned by the portlet.

To perform sanity checks:

1. In the Portlet Consumer Test Page, click the Sanity Checks tab.

2. Click the check link next to the portlet that you want to test.
The results of the sanity tests are displayed in the Status column. If any sanity tests have failed, run the corresponding portlet to troubleshoot the issue.

3. To run sanity checks on all listed portlets, click the Run all Sanity Checks link.

Task 5   Check Consumer Configuration Entries

The Configuration tab of the Portlet Consumer Test Page (shown in Figure 11-7) enables you to identify the consumer configuration entries for portlet consumption. This tab displays settings defined in the adf-config.xml file, for example, the minimum and maximum timeout values and the consumer version number. You cannot change these values as they are stored within the application; they are displayed for reference information only.

Figure 11-7 The Configuration Tab

Description of "Figure 11-7 The Configuration Tab"

11.1.6.1.3 Examine the Producer Test Page

If you cannot identify the cause of the error in the consumer application, the next step is to use the Producer Test Page (shown in Figure 11-8) to identify potential issues with the portlet producer application.

Figure 11-8 The Producer Test Page

Description of "Figure 11-8 The Producer Test Page"

Access to the main Producer Test Page is public, but links to the test pages for each portlet are accessible only to users granted permission on the underlying pages and task flows.

The Producer Test Page contains five sections:

- Portlets
A list of all the portlets within the producer. For Oracle JSF Portlet Bridge portlets, each portlet also provides a separate link to run the portlet as a servlet (this is a prerequisite to running them as portlets: if a portlet does not run as a servlet, it cannot run as a portlet).

- Container Configuration
Information on where the consumer preference information is stored.

- Container Version
The version number of the Portlet Producer Container.

- WSDL URLs
Links to the Web Service Definition Language (WSDL) documents to use for registration.

- SOAP Monitor
A link to the WSRP SOAP monitor where users with the Monitors or Administrators role can track the SOAP messages between the consumer and producer.

After accessing the Producer Test Page, you can perform further diagnostic steps.

This section contains the following topics:

- Task 1, "Access the Producer Test Page"

- Task 2, "Run the JSF Portlet as a Servlet"

- Task 3, "Check the Persistent Store Type"

- Task 4, "Examine the SOAP Monitor"

Task 1   Access the Producer Test Page

The Producer Test Page provides diagnostic information about the portlet producer.

To access the Producer Test Page:

1. In your browser, enter the URL for the Producer Test Page:

http://host:port/context-root/info

2. In the Producer Test Page, you can perform further diagnostic steps as described in the following sections.

Task 2   Run the JSF Portlet as a Servlet

To verify that an Oracle JSF Portlet Bridge portlet producer is running correctly, you must first verify that the producer application runs correctly through standard HTTP requests. If the artifacts the producer exposes as portlets do not run as servlets, they will not run as portlets.

To run a JSF portlet as a servlet:

1. In the Producer Test Page, click the run as servlet link next to the portlet.

2. The portlet is called using standard HTTP to request the underlying page or task flow. The results of the request are displayed in a new browser window.
If the resulting page or task flow does not render correctly, then there is a problem with the producer application that must be resolved before you can run the page or task flow as a portlet.

3. If the portlet accepts parameters, click show parameters to list them and provide values. When you click run as servlet, the portlet call includes the parameter values.

Task 3   Check the Persistent Store Type

Oracle Fusion Applications has adopted a standard to use a consumer persistence store as the persistent store. Therefore, for Oracle Fusion applications producers, the Persistent Store Type displayed on the Producer Test Page should always be set to Consumer.

Although other configurations are acceptable for applications that are built to assume such a configuration, having a non-consumer setting in Oracle Fusion applications indicates an issue in the producer. For Oracle Fusion applications to work correctly, they require a consumer persistence store.

Task 4   Examine the SOAP Monitor

The SOAP monitor provides access to the SOAP requests between the consumer and producer when rendering a portlet. This is very useful in diagnosing problems at the communication level.

To examine the SOAP monitor:

1. In the Producer Test Page, click the SOAP Monitor link at the bottom of the page.

2. When prompted, enter your user name and password.

Note:

To access the SOAP monitor you must be a member of the Monitors or Administrators role in the Identity Management System. For more information, see the "Users, Groups, And Security Roles" chapter in Oracle Fusion Middleware Securing Resources Using Roles and Policies for Oracle WebLogic Server.

3. By default, the SOAP monitor is disabled, so the page is empty. You must first enable the monitor by clicking the Enable link at the top of the page.

4. The page does not automatically refresh, so to display SOAP messages, you must click the Refresh link.

5. To force a request to the failing portlet, go to the Portlet Consumer Test Page: Portlet page for the portlet and select Refresh Portlet.

6. When the portlet has rendered, or failed, click the Refresh link in the SOAP monitor to display the captured request.
Description of the illustration portlet_soap_monitor.png

7. Now, you can investigate the SOAP messages that were sent and the responses to try to narrow down the cause of the problem.

Note:

If, after rerunning the portlet and refreshing the SOAP monitor, you see no messages displayed, this indicates that there may be a security issue between the producer and the consumer. You must verify that the correct WS-Security settings are set up for the producer and consumer to communicate.

11.1.6.2 Configuring the Portlet Logging File

To troubleshoot portlet issues, it is useful to add portlet log-handlers and loggers to the logging configuration file, logging.xml.

Example 11-3 shows how to add the portlet log-handlers and loggers. The example assumes that you are running the consumer and producer applications on the same WebLogic Server instance. If you are running the consumer and producer applications on different instances, you must split them up appropriately, with the Portlet Servers and Portlet Bridge log handlers and loggers on the instance running the producer application and the Portlet Consumer log handler and logger on the instance running the consumer application.

Note:

Add the log entries at the end of the file to ensure that they override any seeded settings.

Example 11-3 Configuring Log Files for Troubleshooting Portlet Issues

<!-- NOTE: You need to change the path where the logfile is located -->
<log_handlers>
...
<!-- Portlet Consumer -->
<log_handler name="portlet-consumer-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
<property name="format" value="ODL-Text"/>
<property name="path" value="/scratch/logs/portlet-consumer.log"/>
</log_handler>

<!-- Portlet Producer -->
<log_handler name="portlet-producer-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
<property name="format" value="ODL-Text"/>
<property name="path" value="/scratch/logs/portlet-producer.log"/>
</log_handler>

<!-- Portlet Bridge -->
<log_handler name="portlet-bridge-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
<property name="format" value="ODL-Text"/>
<property name="path" value="/scratch/logs/portlet-bridge.log"/>
</log_handler>
...
</log_handlers>

<loggers>
...
<!-- Portlet Consumer -->
<logger name="oracle.portlet.client" level="FINEST" useParentHandlers="false">
<handler name="portlet-consumer-handler"/>
</logger>

<!-- Portlet Servers -->
<logger name="com.bea.portlets" level="FINEST" useParentHandlers="false">
<handler name="portlet-producer-handler"/>
</logger>
<logger name="com.bea.netuix" level="FINEST" useParentHandlers="false">
<handler name="portlet-producer-handler"/>
</logger>
<logger name="com.bea.wsrp" level="FINEST" useParentHandlers="false">
<handler name="portlet-producer-handler"/>
</logger>
<logger name="oracle.portlet.producer" level="FINEST" useParentHandlers="false">
<handler name="portlet-producer-handler"/>
</logger>

<!-- Portlet Bridge -->
<logger name="oracle.portlet.bridge" level="FINEST" useParentHandlers="false">
<handler name="portlet-bridge-handler"/>
</logger>
<logger name="oracle.portlet.server.bridge" level="FINEST" useParentHandlers="false">
<handler name="portlet-bridge-handler"/>
</logger>
...
</loggers>

The logging configuration file is located in:

DOMAIN_HOME/config/fmwconfig/servers/server/logging.xml

The log file name is also defined in logging.xml. By default the log file name is:

DOMAIN_HOME/servers/server/logs/server-diagnostic.log

11.2 Problems and Solutions for WebCenter Portal's Composer

This section describes problems and solutions related to WebCenter Portal's Composer. This section contains the following topics:

- Unable to Edit a Component in Composer's Edit Mode

- Unable to Personalize Some Components

- Able to Edit a Component in Composer's Edit Mode

- Implicit Personalizations Do Not Stick

- Cannot Rearrange Components on Child Components Pane

11.2.1 Unable to Edit a Component in Composer's Edit Mode

While in Composer's Edit mode, the user is unable to edit the properties of components on the page. It is also not possible to add content or delete some components. The icons that allow these operations on Composer's toolbar are grayed out.

Problem 1

The user may not have adequate page or task flow privileges.

Solution 1

Ensure that the user is allowed to edit the page. Typically, only administrators are allowed to edit the page and end users are allowed to personalize the page. If the user is allowed to edit the page, edit or customize privileges must be provisioned for the page or the task flow if the component is inside a task flow (region).

Problem 2

An MDS customization restriction may be in place to prevent edits to the page.

Solution 2

MDS customization restrictions can be specified to restrict editing of a page, or in the case of a task flow, a page fragment. This is typically specified using an RDF file.

Ensure that customizationAllowed is set to true in the cases where the user should be allowed to edit the artifact.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Problem 3

The id is not specified on the component that is required to be edited. Only components that have id specified can be edited.

Solution 3

It is highly recommended that all components on a page have an id specified.

Ensure that the component in question has id specified.

11.2.2 Unable to Personalize Some Components

Some components do not show icons to collapse, expand, delete, edit properties, or add content while in Composer's Edit mode.

For possible problems and solutions, see Section 11.2.1.

11.2.3 Able to Edit a Component in Composer's Edit Mode

The end user can customize components on the page or task flow that are not intended to be edited.

Problem 1

The Edit Current Page link appears in the Personalization menu for users who should not be able to edit the page.

Solution 1

In the appropriate .jspx page, set the isPersonalizableInComposer attribute to false:

<f:attribute name="isPersonalizableInComposer" value="false">

Setting this option to false prevents the Edit Current Page link displaying for non-administrator users.

Problem 2

The user does not have the appropriate permissions on the page or task flow.

Solution 2

Ensure that the user is not allowed to edit the page.

Problem 3

An MDS customization restriction may be required to prevent edits to the page.

Solution 3

MDS customization restrictions can be specified to restrict editing of a page, or in the case of a task flow, a page fragment. This is typically specified using an RDF file.

Ensure that customizationAllowed is set to false in the cases where the user should not be allowed to edit the artifact.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

11.2.4 Implicit Personalizations Do Not Stick

When the end user collapses (or expands) a task flow, the personalization does not persist and the task flow continues to show as expanded (or collapsed) on revisiting the page even after logging out and back in.

Problem 1

An MDS customization restriction is in effect for the task flow container component. This prevents the implicit personalization from being persisted into the underlying MDS store.

Solution 1

Ensure that the MDS customization restriction is removed or relaxed for the required component. In the Customization section of the Property Inspector for the component, set customizationAllowed to true.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Problem 2

Settings under the adf-faces-config section in adf-config.xml prevent personalizations from being persisted.

Solution 2

See the "Allowing User Customization on JSF Pages" section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework (Oracle Fusion Applications Edition) for more information.

11.2.5 Cannot Rearrange Components on Child Components Pane

Problem

When editing a page and bringing up the Property Inspector of a container component (such as PanelFormLayout, PanelGroupLayout, PanelCustomizable, and so on), the Child Components tab does not allow the listed child component to be rearranged. The Up and Down buttons are disabled.

This problem indicates that the id is not specified on the child component that is required to be edited. Only components that have id specified can be edited.

Solution

It is highly recommended that all components on a page have an id specified.

Ensure that all the child components have id specified.

11.3 Problems and Solutions for Oracle WebCenter Portal: Spaces

This section describes problems and solutions related to WebCenter Portal: Spaces. This section contains the following topics:

- Documents Service Is Not Available When Content Server Is Not Running

- Workflows Do Not Work

- List of Spaces Does Not Show Any Spaces

- Creating a Space Throws an Error or Warning

11.3.1 Documents Service Is Not Available When Content Server Is Not Running

Problem

The Document service in WebCenter Portal: Spaces relies on Oracle WebCenter Content Server. If Content Server is not running when WebCenter Portal: Spaces is started up Spaces will consider the Document service as unavailable. In such cases you may see the following message on Document pages:

Documents service is not available.

Solution

Start the Content Server, and restart WebCenter Portal: Space, so it can recheck if the Document service is configured.

To resolve this problem:

1. Shut down WebCenter Portal: Spaces. See the "Stopping WebCenter Spaces Using Fusion Middleware Control" in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

2. Start the Content Server. See the "Starting Content Server" section in the Oracle WebCenter Content System Administrator's Guide for Content Server.

3. Start WebCenter Portal: Spaces. See the "Starting WebCenter Spaces Using Fusion Middleware Control" in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.3.2 Workflows Do Not Work

Problem

The accept invitation functionality does not work.

Solution

For workflows to work, WS Security and Global Policy Attachment (GPA) should be configured on the client and server side. Local Policy Attachment (LPA) should be removed on the client side.

To resolve this problem:

1. Ensure that JVM is started with the following parameter in the setDomainEnv.sh file:

-Dwebcenter.owsm.gpa.enabled=true

2. Remove LPA on the client side.

3. GPA should be configured on the client and server side. If GPA is configured correctly, the following policies are expected:

- Policy on server side: oracle/wss_saml_or_username_token_service_policy

- Policy on client side: oracle/wss10_saml_token_client_policy

11.3.3 List of Spaces Does Not Show Any Spaces

Problem 1

The WebCenter Portal: Spaces instance may be down.

Solution 1

To check whether the WebCenter Portal: Spaces instance is up and running, go to:

protocol://webcenter-host:webcenter-port/webcenter

Also, check that the instance allows users to login.

Problem 2

The list of spaces displays only those spaces that the currently logged in user has created or to which the user has membership. If the user has not created any spaces and is not a member of any spaces the list is empty.

Solution 2

If the user creates a space or is assigned membership to a space, the list of spaces will no longer be empty.

Problem 3

If the WebCenter Portal: Spaces instance is up and running and the user is a member of one or more spaces, the problem could be that GPA is not enabled or LPA has not been removed on the client side.

Solution 3

See the solution for Section 11.3.2.

11.3.4 Creating a Space Throws an Error or Warning

Problem 1

The WebCenter Portal: Spaces instance may be down.

Solution 1

To check whether the WebCenter Portal: Spaces instance is up and running, go to:

protocol://webcenter-host:webcenter-port/webcenter

Also, check that the instance allows users to login.

Problem 2

The user does not have the appropriate permission to create a space.

Solution 2

Login to WebCenter Portal: Spaces as an administrator and verify that user has the appropriate permission (Spaces-Create) to create spaces.

For more information see the "Managing Application Roles and Permissions" chapter in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

Problem 3

One or more services are not provisioned. This can happen because the service's back-end server, such as Oracle WebCenter Content or WebCenter Portal's Discussion Server, are slow. If this is the case you will find an InterruptedException in the logs or a timeout from the concurrency service.

Solution 3

The adf-config.xml file in webcenter.ear has a timeout duration for each service in WebCenter Portal. This can be increased.

For example, out of the box the timeout is set as follows:

<resource service="oracle.webcenter.collab.forum" resource="oracle.webcenter.collab.forum" timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/>

You can change this to:

<resource service="oracle.webcenter.collab.forum" resource="oracle.webcenter.collab.forum" timeoutMinPeriod="25s" timeoutMaxPeriod="30s" timeoutDefaultPeriod="30s"/>

After making changes to the adf-config.xml file, you must redeploy the webcenter.ear file.

Note:

There is no WLST command to set this value, you must update it manually.

Problem 4

If you are using a socket connection to Oracle WebCenter Content, the IP address for the WC_Spaces server must be authorized to connect to Oracle WebCenter Content. If this is not the case, the logs contain a ConnectionRefused exception.

Solution 4

Authorize the IP address for the WC_Spaces server to connect to Oracle WebCenter Content. For more information, refer to the "Configuring Content Server Options" in the Oracle WebCenter Content System Administrator's Guide for Content Server.

Problem 5

The feature versions in Oracle WebCenter Content are not those expected by WebCenter Portal: Spaces.

Solution 5

Check for the following feature versions in Oracle WebCenter Content:

- ExtendedUserAttributes: 1.1.1.30

- JpsUserProvider: 1.0.0.7

- WebCenterWorkflows: 11.1.1.4.0

You can check these versions in Oracle WebCenter Content by going to Administration > Configuration for instanceName > Feature Details.

If the versions are not correct, there may have been a problem during installation or configuration. Refer to the installation and administration guides.

11.4 Problems and Solutions for Activity Stream

This section describes problems and solutions related to Activity Stream. This section contains the following topics:

- Business Object Activities Do Not Appear for Some Users

- Business Object Activities Cannot Be Published

- New Activities Do Not Appear for Some Users

- Rendering of the Activity Stream View Is Very Slow

- Cannot See Activities from Some Spaces

11.4.1 Business Object Activities Do Not Appear for Some Users

Problem

User cannot see the business activities in the activity stream view.

Solution

To see business activities, the user must have permission to access the business object and must be following the business object.

To resolve this problem:

1. Verify the access permission and ensure that the user can access the business object.

2. Verify that the user is following the business object.

11.4.2 Business Object Activities Cannot Be Published

Problem

Business object activities such as creating or updating the object are not displayed for users who are following a business object that they have permission to access.

Solution

To resolve this problem, enable the publish capability for the service category of the business object:

1. Go to the FNDSetUp page.

2. Navigate to the Activity Stream administration page.

3. Find the service category for the appropriate business objects and enable publish capability.

11.4.3 New Activities Do Not Appear for Some Users

Problem

Users can see only activities posted before a particular time. Activities posted after this time cannot be accessed regardless of whether those activities are posted by the user or other users.

Solution

Typically, this happens when the user GUID is changed and the WC_AS_ACTOR_DETAIL table cached the old GUID. For example, if the application points to one LDAP server and is then switched to another.

To resolve this problem:

1. Use SQL Developer to access the WebCenter Portal schema to which the Oracle Fusion application points.

2. Open the table WC_AS_ACTOR_DETAIL.

3. Find the row that matches the user and remove it.

11.4.4 Rendering of the Activity Stream View Is Very Slow

Problem

The rendering of the Activity Stream task flow is slow with users experiencing significant delays.

The Activity Stream captures large amount of data over time. Displaying all this data may cause the rendering of the task flow to take some time.

Solution

Displaying activities from several months ago may not be necessary. If the rendering of the Activity Stream flow is slow and it is displaying data that is old, you can archive activity stream data to reduce the amount of data displayed and therefore reduce the amount of time taken to render the task flow.

You can use WLST commands to archive activity stream data. For more information, see the "Activity Stream" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.4.5 Cannot See Activities from Some Spaces

Problem

Users cannot see activities from some spaces. This could be because the activities from those spaces are hidden.

Solution

To resolve this problem, you must show the spaces:

1. Go to the activity stream view.

2. Click the Options link.

3. Click the Spaces tab to show the spaces with hidden activities.

4. Next to the space whose activities you want to show, click Show.

11.5 Problems and Solutions for Search in WebCenter Portal

This section describes problems and solutions related to search in WebCenter Portal. This section contains the following topics:

- No Search Results Found

- Search Results Do Not Include Secured Resources

- Search Results Do Not Include Documents

- Search Results Do Not Include Discussions and Announcements

- Search Results Do Not Include Recently Added Resources

- Search Results Do Not Reflect Authorization Changes

- Search Results Do Not Include Resources Available to Wide Audience

11.5.1 No Search Results Found

Problem

The Oracle Secure Enterprise Search (SES) connection is not created correctly. The search query is not submitted to Oracle SES.

Solution

Confirm the Oracle SES connection by entering the URL for Oracle SES Web Services operations in a browser:

http://host:port/search/query/

If the URL address does not render in the browser, then either the host or port for the Oracle SES server is incorrect, or Oracle SES has not been started.

If the Oracle SES connection is correct, review the remaining topics in this section for other possible causes.

11.5.2 Search Results Do Not Include Secured Resources

Problem 1

One possible cause is that the proxy login of WebCenter Portal users failed in Oracle SES.

An Oracle SES proxy login error in the WebCenter Portal diagnostic log looks similar to the following:

Received status "failed" during proxy login with application entity "weblogic" to
Oracle SES at http://host:port/search/query/OracleSearch, as search user
"vicki". Defaulting to public.

Solution 1

Confirm that Oracle SES is configured with an identity management system to validate and authenticate users.

Also confirm that WebCenter Portal and Oracle SES use the same identity management system, such as Oracle Internet Directory. All repositories (such as WebCenter Portal: Spaces, WebCenter Portal Content: Content Server, and Oracle WebCenter Portal Discussions Server) must share the same user base as Oracle SES.

For more information, see the "Configuring the Identity Store" chapter of the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal and the "Setting up Identity Management System" section of the Oracle Secure Enterprise Search Administrator's Guide at:

http://docs.oracle.com/cd/E14507_01/index.htm

Additionally, each Oracle SES instance must have a trusted entity for allowing WebCenter Portal end users to be securely propagated at search time.

Problem 2

Another possible cause is that authorization endpoints are not configured correctly.

Locate the search log file on the Oracle SES instance. Look for phrases including the URL value. For example:

EQP-80309: Exception while opening a stream to the URI: http://host:port/sesUserAuth?userId=end-user-name

QueryFilterPlugin returned null or empty array value for security attribute "WCSECATTR". Values required for all security attributes.

Solution 2

To resolve this problem:

1. In the Oracle SES administration tool, go to the Home - Sources tab.

2. Click the Edit icon for the source to see source configuration tabs.

3. Click the Authorization tab to confirm the authorization connection string, user name, password, and authorization user ID format. For more information see the "Configuring Oracle SES to Search Framework Applications" or "Configuring Oracle SES to Search Spaces Applications" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

Problem 3

A third possible cause is that authorization endpoints are not returning authorization data.

Locate the search log file on the Oracle SES instance. Look for phrases including the URL value. For example:

A security filter authorization timeout for dsid = # occurred after 10000 milliseconds.

Solution 3

Each WebCenter Portal instance has up to four crawl sources. If an Oracle SES instance is used for more than one WebCenter Portal instance, then the number of crawl sources could potentially get quite high and cause timeout issues. This problem can also occur if the Oracle SES instance has other crawl sources for other uses.

The solution is to reduce the number of crawl sources.

11.5.3 Search Results Do Not Include Documents

Problem

Crawling of WebCenter Portal Content Server documents fails.

Solution

To resolve this problem:

1. In the Oracle SES administration tool, go to the Home - Schedules tab.

2. Click the Log File icon to display the log file for the source. To obtain the location of the full log, click the Status link.

3. The Crawler Progress Summary and Log Files by Source section displays the full path to the log file. If Oracle SES fails to log in to the Content Server crawl endpoint due to an authentication error, then the following errors are logged:

EQP-60303: Exiting saxthread due to errors

EQP-80330: Unrecognized QName <http://schemas.xmlsoap.org/soap/envelope/>:Envelope oracle.search.sdk.crawler.PluginException

4. Update the configuration parameters of the Content Server crawl source with the correct credentials.

11.5.4 Search Results Do Not Include Discussions and Announcements

Problem 1

In the crawl source, the Single Record Query parameter is set to true on the Authorization tab.

Solution 1

Set the Single Record Query parameter to false.

Problem 2

The identity management system uses a mixed case user name, but the Oracle WebCenter Portal Discussions Server database uses an all lowercase user name.

Solution 2

The authorization query for the crawl source must apply the LOWER() function to user name parameters.

Using the Oracle SES administration tool, confirm that the Authorization Query for the crawl source definition looks like the following:

SELECT forumID as WCSECATTR FROM AUTHCRAWLER_FORUM_VW WHERE LOWER(username) = LOWER(?) UNION SELECT DISTINCT -1 as WCSECATTR FROM AUTHCRAWLER_FORUM_VW

11.5.5 Search Results Do Not Include Recently Added Resources

Problem

A new resource was created recently, but search results do not include the new resource.

Solution

New resources must be crawled and indexed before they can be returned in search results. Crawl schedules are run periodically to index new content. If new resources are created often, then increase the frequency of the crawl schedule. If new resources need to be crawled immediately, then start the crawl schedule manually.

11.5.6 Search Results Do Not Reflect Authorization Changes

Problem

Some resources are accessible to more users due to authorization changes in WebCenter Portal. For example, resources in a space are now accessible to all authenticated users. The affected users cannot search for those resources.

Solution

Authorization data is cached in Oracle SES. The cache is invalidated according to the Security Filter Lifespan global setting in Oracle SES. The default value is 1 day or 1440 minutes. Adjust the value according to the general frequency of changes to authorization data.

11.5.7 Search Results Do Not Include Resources Available to Wide Audience

Problem

A space is publicly accessible, but unauthenticated users cannot see space resources in search results.

Solution

By default, view access of resources is granted to space members only, even if the space is accessible to the public. View access of resources must be granted to non-members explicitly.

In WebCenter Portal: Spaces, go to Spaces Administration, click the Security then Roles tabs, and for the affected role, check the view access to the different resources.

For more information see the "Managing Application Roles and Permissions" chapter in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

11.6 Problems and Solutions for the Tags Service

This section describes problems and solutions related to the Tags service. This section contains the following topics:

- Tag Center Results Do Not Appear When Tag Is Clicked

- Tagging Button Does Not Display on Page

- Clicking a Tagged Resource Does Not Go to the Correct Page

11.6.1 Tag Center Results Do Not Appear When Tag Is Clicked

Problem

A resource to which a user has view permission has been tagged, but the user cannot see the resource in the Tag Center.

Solution

To resolve this problem:

1. In service-definition.xml, verify that the resource type has the Resource Authorizer configured properly. For more information, see the "Creating a Resource Authorizer Class" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

2. Enable logging for the Resource Authorizer to ensure that it is giving you permission to see the required objects.

11.6.2 Tagging Button Does Not Display on Page

Problem

The Tagging Button component is dropped on a page, but it does not show up.

Solution

To resolve this problem:

1. The Tagging Button component requires that the Tagging Dialog task flow be present on the page. Drop this task flow on the page or page template.

2. The Tags service requires a database connection to the WebCenter Portal repository (a database with the WebCenter Portal schema (WEBCENTER) installed). Ensure that there is a database connection present. For more information, see the "Setting Up Database Connections" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.6.3 Clicking a Tagged Resource Does Not Go to the Correct Page

Problem

When clicking a tagged resource in the Tag Center, the user is not redirected to the correct page.

Solution

All tagging links are generated through the Resource Action Handling (RAH) framework. Ensure that RAH is configured properly.

1. Check service-definition.xml for the resource type to see if a resource viewer is configured properly. For more information, see the "Creating a Resource Authorizer Class" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

2. Check the source code for the Tagging Button that created the tagged resource to ensure that the Tagging Button definition uses the correct resourceID and serviceID.

11.7 Problems and Solutions for the Instant Messaging and Presence Service

This section describes problems and solutions related to the Instant Messaging and Presence service. This section contains the following topics:

- Presence Icon Not Seen In WebCenter Portal Applications

- Presence Icon Always Shows User as Offline

- Presence Icon in Framework Applications Always Shows User as Offline

- Presence Updates Not Seen

- Issues with Context Menu Options

- Chat Toolbox Not Available

- Online User Is Offline in Chat Toolbox

- User Does Not See Connections In Chat Toolbox

- User Is Shown as Offline In Other Users' Connections Lists

- Chat Tab Does Not Clear Messages When Closed and Reopened

- User Is Not Seen as Offline After Logging Out

- Invitation Flag Does Not Reflect Correct Invitation Count

11.7.1 Presence Icon Not Seen In WebCenter Portal Applications

Problem

User does not see the Presence icon in front of a user name.

Solution

Ensure that an Instant Messaging and Presence connection exists and has been set as active.

For more information, see the "Registering Instant Messaging and Presence Servers" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.7.2 Presence Icon Always Shows User as Offline

Problem

Presence icon always shows user as offline.

Solution

To resolve this problem:

1. Ensure that you have configured the Instant Messaging and Presence connections properly and have provided the correct values.
For more information, see the "Registering Instant Messaging and Presence Servers" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

2. Ensure that the back-end presence server is up and running. A quick way to verify this is to check that you can connect to the presence server using a supported thick client (for example, Microsoft Communicators for LCS/OCS).

3. If you are able to connect to the presence server using the thick client, then ensure that the web-services for the presence servers are installed properly and are up and running.
For more information, see the "Instant Messaging and Presence Server Prerequisites" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

4. Ensure that you are logged in as a valid user and that the user exists on the presence server. For more information, refer to the documentation for the back-end presence server.

5. Ensure that the user whose presence you cannot see exists on the back-end presence server. For more information, refer to the documentation for the back-end presence server.

6. Ensure that the user whose presence you cannot see is online on the presence server. If the user is your buddy, you can do that by logging in to the supported thick client with your account.

7. Ensure that the user's IM address, specified in the External Application Connection (Account field) or User Preferences, is valid.

11.7.3 Presence Icon in Framework Applications Always Shows User as Offline

Problem

Presence icon in Framework applications always shows user as offline.

Solution

To resolve this problem, see the solution for Section 11.7.2.

If this does not resolve the problem, ensure that the page you have created has the presenceData component on it. Also the presenceData component should be after all the presence tags on the page. The recommendation is that the presenceData tag should be the last tag on the page before the closing </af:document> tag.

11.7.4 Presence Updates Not Seen

Problem

Presence updates are not seen in WebCenter Portal applications.

Solution

The Instant Messaging and Presence service holds a presence cache for each logged in user's session. This means that after the service makes a back-end trip to the presence server to fetch the latest presence information, the presence information is stored in the cache. For the following requests for presence, the data is returned from the cache until the cache expires. The default cache expiry time is 60 seconds. In the case where users are not seeing the presence update, it is recommended that you wait for the cache to expire and then refresh. You can change the cache expiry time by using the setIMPServiceProperty WLST command to set the rtc.cache.time configuration property to the desired value (in seconds). For more information, see the "setIMPServiceProperty" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.7.5 Issues with Context Menu Options

Problem 1

The Send Instant Message option is not available in the context menu.

Solution 1

Some contextual actions do not apply to self presence . If you are invoking contextual actions from self presence, then the Send Instant Message action is hidden. Select a different user.

If you are accessing the context menu from another user's presence tag, ensure that the Instant Messaging and Presence service is configured correctly in the application.

Problem 2

The Send Mail option is not available in the context menu.

Solution 2

Ensure that the Mail service is configured correctly in the application.

Problem 3

The View Profile option is not available in the context menu.

Solution 3

Ensure that the application is secure as the View Profile contextual action is enabled only for authenticated users.

Problem 4

The Change Ext App Credential option is not available in the context menu.

Solution 4

To resolve this problem, consider the following:

- The Change Ext App Credential option is available only when an external application is configured with the active Instant Messaging and Presence connection.

- The Change Ext App Credential option is available only for the self presence tag.

- The Change Ext App Credential option is not available when shared or public credentials are configured in the external application.

11.7.6 Chat Toolbox Not Available

Problem

The Chat Toolbox is not available.

Solution

The Chat Toolbox is available only if the default Instant Messaging and Presence connection is set to Beehive. Set a Beehive connection as the default Instant Messaging and Presence connection.

11.7.7 Online User Is Offline in Chat Toolbox

Problem

Users see themselves as offline in the Chat Toolbox

Solution

To resolve this problem, consider the following:

- The user could be offline because the last published presence status was offline or because of stale presence data lingering in the cache. Publish the presence to online from the Chat Toolbox.

- Ensure that the correct Beehive URL is supplied in the Instant Messaging and Presence connection.

- The Beehive server could be timing out. Bounce the Beehive server or increase the connection timeout in the Instant Messaging and Presence connection.

11.7.8 User Does Not See Connections In Chat Toolbox

Problem

Users do not see their connections in the Chat Toolbox

Solution

To resolve this problem, consider the following:

- The user could be offline in the Chat Toolbox. Turn the user online by publishing the presence from the Chat Toolbox.

- The connections could be offline. Users should select the Show Offline Connections checkbox from the Chat Toolbox to see offline connections.

- Ensure that the correct Beehive URL is supplied in the Instant Messaging and Presence connection.

- The Beehive server could be timing out. Bounce the Beehive server or increase the connection timeout in the Instant Messaging and Presence connection.

- The connections might not be seen due to stale data in browser cache. Clear the browser cache and refresh the page.

11.7.9 User Is Shown as Offline In Other Users' Connections Lists

Problem

User is shown as offline in other users' connection lists.

Solution

This could be due to stale data in the cache. Republish the online presence from the Chat Toolbox.

11.7.10 Chat Tab Does Not Clear Messages When Closed and Reopened

Problem

The Chat tab does not clear messages when closed and reopened.

Solution

Use the Clear Chat option to clear the Chat tab contents.

11.7.11 User Is Not Seen as Offline After Logging Out

Problem

Users are not shown as offline even when they have logged out

Solution

This could be because the browser session was closed without logging out or the logout did not disconnect the user. The offline status will be shown after a timeout of 4 minutes.

11.7.12 Invitation Flag Does Not Reflect Correct Invitation Count

Problem

The invitation flag does not reflect the correct invitation count.

Solution

The invitation count is not updated automatically. The user must perform a partial page refresh operation or a full page refresh to see the new invitation count.

11.8 Problems and Solutions for the Discussions Service

This section describes problems and solutions related to the Discussions service. This section contains the following topics:

- User Is Not Authorized / Service Not Configured

- User Is Not Authorized Message for Member of a Group that Has Access

- Unable to Log In to the Discussions Administration Console

- SOAP Fault Exceptions Seen in Announcements Region

- Discussions Server Displays a Form-Based Login Instead of SSO Login Screen

- Service Not Provisioned During Space Creation

11.8.1 User Is Not Authorized / Service Not Configured

Problem

Navigating to a page containing the forums or announcements regions shows User xxxx is not authorized or Service not configured.

Solution

Ensure that the environment is configured properly:

- Check whether the discussions server is up and running by accessing the following URL:

protocol://host:port/owc_discussions

- Verify that the user is able to log in to the discussions server directly. If the user is unable to log in, then execute the WLST commands shown in Table 11-2 (adding server and node information as per your environment) to ensure that the environment is properly configured by comparing them with the expected values.

Table 11-2 WLST Commands for Discussions Server Configuration

WLST Command

Expected Value

getDiscussionsServerProperty(appName='owc_discussions', key='AuthFactory.className')

oracle.jive.security.JpsAuthFactory

getDiscussionsServerProperty(appName='owc_discussions', key='UserManager.className')

oracle.jive.security.JpsUserManager

getDiscussionsServerProperty(appName='owc_discussions', key='GroupManager.className')

oracle.jive.security.JpsGroupManager

getDiscussionsServerProperty(appName='owc_discussions', key='owc_discussions.setup.complete_11.1.1.2.0')

true

getDiscussionsServerProperty(appName='owc_discussions', key='owc_discussions.sso.mode')

true

- Verify that the discussions connection has been configured to use GPA. Execute the following WLST command to find out details about the connection and look for the highlighted entries.

wlst:/> listDiscussionForumConnections(appName='webcenter', verbose=1)
...
Policy URI For Authenticated Access: GPA
Policy URI For Public Access: GPA

11.8.2 User Is Not Authorized Message for Member of a Group that Has Access

Problem

User has been added to a group which has access to a particular forum, yet in WebCenter Portal: Spaces the user is unable to view the content.

Solution

This normally happens because of a mismatch of the user groups on the discussions server. The user-group cache on the discussions server is refreshed once every 6 hours.

To resolve this issue consider the following options:

- Clear the cache.

1. Log in to the discussions server administration console.

2. Navigate to Cache Settings.

3. Click Clear Cache.

- Change the cache size. When the cache reaches the cache size limit, the least recently used objects are pushed out of it.

1. Log in to the discussions server administration console.

2. Navigate to Cache Settings.

3. Click Edit Caches.

4. Change the Group Membership cache size to the desired value, in MB, for example, 0.01. If you set this value too low, then the server may end up accessing the back-end identity management system on every request, which may result in performance issues.

5. Save the new setting.

- Change the frequency of the cache refresh. This requires a restart of the application server.

1. Edit the jive_startup.xml file to change the maxLifeTime value for GroupMembership to the desired value (in milliseconds).

2. Save the changes and restart the server.

11.8.3 Unable to Log In to the Discussions Administration Console

Problem

A previously working user ID is no longer able to log in to the discussions server administration console.

Solution

This can happen if the administrator accidentally deletes the group that has administration access. To resolve this problem, execute the WLST command, addDiscussionsServerAdmin, to regain access. For more information, see the "addDiscussionsServerAdmin" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.8.4 SOAP Fault Exceptions Seen in Announcements Region

Problem

The announcement region displays a SOAP fault exception instead of the announcements.

Solution

- Verify that the discussions connection has been configured to use GPA. Execute the following WLST command to find out details about the connection and look for the highlighted entries:

wlst:/> listDiscussionForumConnections(appName='webcenter', verbose=1)
...
Policy URI For Authenticated Access: GPA
Policy URI For Public Access: GPA

- Check that your wsm-pm application's configuration is correct and that there are no errors being reported in your log files. To validate the wsm-pm application, log in to the wsm-pm application's validation page as a user with administrative rights. Use the following format for validation:

http://host:port/wsm-pm/validator

If there are no issues with this application, then accessible policies display. If policies do not display, then investigate the related logged information on the server whose wsm-pm application is failing.

11.8.5 Discussions Server Displays a Form-Based Login Instead of SSO Login Screen

Problem

Clicking login or accessing the discussions server administration console displays a form-based login instead of the configured SSO login screen.

Solution

Verify that your discussion server settings are as described in Table 11-2, specifically that the owc_discussions.sso.mode property is set to true.

11.8.6 Service Not Provisioned During Space Creation

Problem

Creating a space returns the following warning:

Announcement, Discussions not provisioned

Solution

To resolve this problem:

1. Verify that the discussions server is configured properly as described in Section 11.8.1.

2. Verify that your discussions server connection is correctly configured. You can check on the connection information using Fusion Applications Control.

3. Check the WC_Spaces-diagnostic.log files to see if there are any timeouts during space creation. Timeouts indicate that there is a bottleneck in the network. It could be that the server is unreachable or overloaded and taking more time to respond. Ensure that you are not routing the calls unnecessarily over the network when a direct access would be better.

You can also go to Space administration settings, and provision the services manually. For more information, see the "Enabling and Disabling Services Available to a Space" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

11.9 Problems and Solutions for the Documents Service

This section describes problems and solutions related to Documents service. This section contains the following topics:

- Documents Service Unavailable

- Granting Permissions Errors in Documents When Creating a Space

- User Appears to Not Have the Correct Capabilities in the Documents Page for His Role

- Documents Connection Not Working after Switching to Global Policy Attachment

11.9.1 Documents Service Unavailable

Problem

After configuring WebCenter Portal: Spaces to have a active connection to a Content Repository connection (Oracle WebCenter Content: Content Server) and bouncing WebCenter Portal: Spaces, the Documents service does not appear to be available in Spaces. For example, in the Home space or a space there are no documents available.

Solution

The cause of the issue is likely to be in the Content Repository connection settings or that the WebCenter Portal data was not successfully seeded into the Content Server.

To resolve this problem:

1. Check that the Content Server is up and running. Ensure the server has the Server Port (intradoc) configured and the Server IP Filter allows connection from WebCenter Portal: Spaces:

1. Log in to the Content Server.

2. Click Administration.

3. Click Configuration for instance name.

4. Click the Server Configurations link under System Configuration.

5. Ensure that Server Port is listed and that Server IP Filter allows access from WebCenter Portal: Spaces.

2. Check the Content Repository Connection settings are correct for the Content Server being used for the Document store:

1. Using either WLST or Fusion Applications Control display the Content Repository Connection settings.

2. Ensure that the connection for the Content Server is marked as the Active Connection or Primary Connection.

3. Ensure that the settings for the Content Server are correct.

4. Ensure that the Content Administrator, Root Folder and Application Name have been specified:

- The Content Administrator must have administration rights in the Content Server. This user will be used to create and maintain folders for spaces content, security groups and roles, and manage content access rights.

- The Root Folder and Application Name must be unique and not used by any other WebCenter Portal: Spaces application using the same Content Server. If you change these values, ensure that both values are changed and not just one of them.

- It is recommended the Application Name is less than 14 characters as it is used as a prefix for items created in Content Server, such as workflows, which have a limit on the length of the item name.

3. Check the log at the time of the WebCenter Portal: Spaces start-up for any errors connecting to the Content Server or seeding the data in the Content Server:

1. When WebCenter Portal: Spaces has an active or primary Content Repository connection and the Content Administrator, Root Folder and Application Name have been specified, then when the WebCenter Portal: Spaces server starts up, data is seeded in the Content Server for that application (if it does not already exist).

2. If both 1 and 2 are correct, check the WebCenter Portal: Spaces log for any errors when WebCenter Portal: Spaces starts up. There may be errors when seeding the data in the Content Server.

3. If the log does not show any useful log information, turn up the logging for the Documents server and bounce WebCenter Portal: Spaces to see the log messages regarding seeding the WebCenter Portal: Spaces seed data:

1. Either use Fusion Applications Control or edit the logging.xml file to increase the logging for oracle.webcenter.doclib.internal.model and oracle.webcenter.doclib.internal.spaces.

2. Restart WebCenter Portal: Spaces.

3. View the log for any messages regarding the seeding of the WebCenter Portal: Spaces data.

4. If the data is seeded correctly there should be a message logged at TRACE level similar to the following:

Content Server already contains the Space container, therefore no need to seed any data

5. If the seed data does not already exist, there should be a message logged at TRACE level similar to the following:

Creating WebCenter Seeded Data

11.9.2 Granting Permissions Errors in Documents When Creating a Space

Problem

On creating a space based on a template with the Documents service, the space creation fails with an error such as the following:

Granting permissions for Documents failed

Solution

View the WebCenter Portal: Spaces log to see if there are any log messages indicating the source of the error.

If it is not clear what the cause of the error is, try resetting all the Document permissions for all the roles to see if the role mapping completes successfully. Any failures should be logged in the WebCenter Portal: Spaces log.

For information about how to reset the permissions, see Section 11.9.3.

11.9.3 User Appears to Not Have the Correct Capabilities in the Documents Page for His Role

Problem

When a user does not have the expected capabilities in the Documents page for his or her role, (for example the user is a Participant who has Write and Delete yet he or she cannot create content) it is possible that the permissions displayed in WebCenter Portal: Spaces do not match those permissions actually stored in the Content Server.

Solution 1

If the problem affects a single user, reset the user's role by performing the following steps:

1. Log in to WebCenter Portal: Spaces.

2. Navigate to the space.

3. Navigate to the Space administration settings.

4. Click the Members tab.

5. Select the affected user.

6. Click Change Role.

7. Select a different role and click OK.

8. Click Change Role again.

9. Select the original role and click OK.

Solution 2

If the problem affects multiple users, resynchronize the permissions from WebCenter Portal: Spaces to WebCenter Portal Content by performing the following steps:

1. Log in to WebCenter Portal: Spaces.

2. Navigate to the Space administration settings.

3. Click the Roles tab.

4. For each role:

1. Select the role and click Edit Permissions.

2. Deselect all the permissions and click Save.

3. Click Edit Permissions again and select the desired permissions.

4. Click Save.

5. For the seeded roles the recommended permissions are:

- Moderator: Read, Write, Delete, Admin

- Participant: Read, Write, Delete

- Viewer: Read

11.9.4 Documents Connection Not Working after Switching to Global Policy Attachment

Problem

A Documents connection that was used with Local Policies fails to behave correctly when repurposed for GPA use.

Solution

To resolve this problem:

1. Examine the Documents connection properties using Fusion Applications Control or WLST. For more information, see the "Modifying Content Repository Connection Details" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

2. Verify that the client security policy is not set.

3. If it is set, clear the value. For example, using WLST:

setJCRContentServerConnection(
[application name],
[connection name],
clientSecurityPolicy=null);

12 Troubleshooting Moving Components for Oracle Fusion Applications Across Environments

This chapter describes common problems that you might encounter when moving Oracle Fusion Applications components across environments and explains how to solve them.

This chapter includes the following topics:

- Getting Started with Logging Basics

- Avoiding Issues with Moving Components for Oracle Fusion Applications Across Environments

- Problems and Solutions

- Diagnosing Problems

- Recovering from pasteConfig Errors

12.1 Getting Started with Logging Basics

To troubleshoot moving Oracle Fusion Applications across environments, use the following tools:

- For movement issues, review issues in the log files.
Use the -logDirLoc option with the copyBinary, pasteBinary, copyConfig, pasteConfig, and extractMovePlan scripts to specify a directory for log files. If you do not specify this option for the scripts, log files are stored in the temp directory.

- For component-specific or user errors, review the following logs:

- Oracle Fusion Applications logs:

(UNIX) DOMAIN_HOME/config/fmwconfig/servers/Managed_Server/logs/apps
(Windows) DOMAIN_HOME\config\fmwconfig\servers/Managed_Server/logs/apps

See the "Viewing and Searching Log Files During Normal Operation" section in the Oracle Fusion Applications Administrator's Guide.

- Oracle WebLogic Server and instance logs:

(UNIX) DOMAIN_HOME/servers/server_name/logs
(Windows) DOMAIN_HOME\servers\server_name\logs

See the "Viewing Log Files and Their Messages Using Fusion Middleware Control" section in the Oracle Fusion Middleware Administrator's Guide.

12.2 Avoiding Issues with Moving Components for Oracle Fusion Applications Across Environments

To avoid movement failures, check the following:

- Oracle Inventory Verification

- Java Issues

- Running Commands from the Wrong Directory

- Oracle Web Services Manager Policy Migration Failed During pasteconfig

- Oracle Platform Security Services JPS Root fusionappspolicies Not Created In Oracle Identity Management Delta Movement

- Move Plan Validation Error

- pasteConfig for Oracle Internet Directory Is Failing

- pasteBinary May Incorrectly Calculate Free Disk Space

- Node Manager Movement Operations

12.2.1 Oracle Inventory Verification

One of the most common reasons for a failed movement session is due to the use of an incorrect or invalid Oracle Inventory (oraInventory) when running the copy or paste commands.

To ensure your environment has the correct Oracle Inventory:

1. Verify the Oracle Inventory location.
On UNIX systems, verify that the inventory location referenced in the default inventory location (/etc/oraInst.loc on Linux systems) refers to the actual inventory your source Oracle Fusion Applications install is registered into. If it does not, you will need to use the -invPtrLoc (-ipl) argument on all copy and paste operations. This argument should contain the path to the oraInst.loc file that matches the inventory your Oracle Fusion Applications install is registered into.

On Windows systems, the Oracle Inventory location is stored in the Windows registry under the HKEY_LOCAL_MACHINE\Software\Oracle location, in the inst_loc key. This value is global across the machine. On the Windows platform, the -invPtrLoc (-ipl) argument is not supported. You must use the inventory specified in the registry.

2. On Windows systems, the Oracle Inventory location is stored in the Windows registry under the HKEY_LOCAL_MACHINE\Software\Oracle location, in the inst_loc key. This value is global across the machine. On the Windows platform, the -invPtrLoc (-ipl) argument is not supported. You must use the inventory specified in the registry.

3. Verify that the user ID performing the movement actions has full read and write permissions to the Oracle Inventory location being used.

4. Verify that all Oracle home locations within the fusionapps Middleware directory are using the same oraInventory location. Failure to do so will result in some Oracle homes not being present in the archive.

Failure to adhere to the requirements listed above can manifest itself in failures such as:

- Not all Oracle homes present in the source location being included in the archive.

- Not all Oracle homes present in the archive being processed by the paste* commands.

- NullPointerException during copyBinary operation.

12.2.2 Java Issues

To avoid Java issues:

1. Do not use a JDK from a directory location containing spaces (if on Windows, please use the short form directory names if you must use a JDK in a directory location containing spaces).

2. Ensure that your JDK "bitness" matches that of your Oracle Fusion Applications install. If you are using a 64-bit JDK, make sure that you are using a 64-bit Oracle Fusion Applications installation.
On Windows systems, failure to ensure this can result in T2P getting confused regarding the Oracle Inventory on 64 bit boxes. On 64 bit Windows machines, both the Program Files and Program Files (x86) directories can contain inventories: Program Files is used for 64-bit installations.

12.2.3 Running Commands from the Wrong Directory

On the target machine, after running the pasteBinary operation, be sure to execute the related commands, pasteConfig, extractMovePlan, and so on) from the following extracted locations:

(UNIX) MW_HOME/oracle_common/bin
(Windows) MW_HOME\oracle_common\bin

12.2.4 Oracle Web Services Manager Policy Migration Failed During pasteconfig

If Oracle Web Services Manager policy migration fails when using the pasteConfig script, the issue can occur if you do not use the proper Oracle Identity Management database service name. The SID value should not be used.

12.2.5 Oracle Platform Security Services JPS Root fusionappspolicies Not Created In Oracle Identity Management Delta Movement

Oracle Platform Security Services JPS root fusionappspolicies not created during an Oracle Identity Management delta movement.

Ensure that the instructions given in the "Moving the Policy and Credential Store by Seeding the Oracle ADF Credentials" section in the Oracle Fusion Applications Administrator's Guide for the Identity Store have been followed and that the resulting data is properly populated.

12.2.6 Move Plan Validation Error

During pasteConfig operations, invalid editing of the move plans can result in validation errors. Please ensure the following:

1. Use a syntax validating editor to edit the move plan files. This ensures that simple XML formatting rules within the file are followed.

2. Ensure that no READ_ONLY elements have been edited and modified.

3. Ensure that no new READ_WRITE elements have been added.

12.2.7 pasteConfig for Oracle Internet Directory Is Failing

When performing the pasteConfig operation for Oracle Internet Directory, the operations fails with an invalid database error.

During a pasteConfig operation, if the target database is the same as the source database, then the Oracle Internet Directory component name should be different.

If the target database is different from the source database, then the Oracle Internet Directory component name needs to be the same.

Note:

Target database also needs to be a clone of source database.

12.2.8 pasteBinary May Incorrectly Calculate Free Disk Space

The pasteBinary operation may incorrectly calculate the free disk space. This can be due to the target location being on a Network File System (NFS) share or a different type of file system (such as data ONTAP).

If you are sure that there is enough free disk space for the archive to be extracted and configured, use the -ignoreDiskWarning (-idw) argument to ignore the disk space check error

12.2.9 Node Manager Movement Operations

Ensure that the copyConfig and pasteConfig operations for Node Manager operations are performed. The copyConfig and pasteConfig operations for the domains do not configure the Node Manager properties. Failure to do so can result in defaulted Node Manager configuration rather than the properties from the source environment.

See the "Running the copyConfig for Node Manager" section and the "Running the pasteConfig for Node Manager" sections for command line usage.

12.3 Problems and Solutions

This section describes common problems and solutions. It includes the following topics:

- Running Fusion Applications Role Category Seeding Task Returns Exception

- pasteBinary Returns Permission Errors

- pasteBinary Returns Error for Middleware Home Directory

- pasteBinary Fails With deriveNewWLSProperties Error

- copyConfig Fails When Checking Oracle Homes

- copyConfig Takes Too Long to Complete

- copyConfig Fails With CLONE-20408 Error

- copyConfig Fails with MaxMessageSizeExceededException

- Cannot Run pasteConfig for Node Manager After Initial Failure

- Copy or Paste Fails with a DiskQuotaExceeded Error

- Exceptions Are Raised for Oracle SES During pasteConfig

- SOA-infra Application Is in Failed State

- No Oracle Fusion Applications Targets Display in Oracle Enterprise Manager

- OutOfMemory (Heap Size) Error while Unpacking the Domain in pasteConfig

- OutOfMemory Error with pasteConfig while Starting the Administration Server or Managed Server

- wf_client_config.xml Refers to Files in the Source Environment

- PolicyManagerValidator Fails to Preload

- Issues While Running pasteConfig

- Cluster Validation Fails

- Cannot Enable the SSL Connection Type After Node Manager Movement

- Cannot Retrieve Documents from Oracle WebCenter Content: Imaging Viewer

- OHS Component Will Not Start After pasteConfig

- Application Scope Data Sources Are Not Copied

- Java Runtime Environment Was Not Found During Cloning Operations

For information about the error messages you may encounter when moving Oracle Fusion Applications components across environments, see Oracle Fusion Middleware Error Messages Reference.

12.3.1 Running Fusion Applications Role Category Seeding Task Returns Exception

An exception is raised when you run the Fusion Applications Role Category Seeding task in Oracle Identity Manager.

Problem

Oracle Virtual Directory was not configured properly for the change log adapter.

Solution

Set the Remote Base value to an empty value.

1. In Oracle Directory Services Manager, select the Adapter tab, then General.

2. Remove the value in the Remote Base field.

3. Restart Oracle Virtual Directory and Oracle Identity Manager.

12.3.2 pasteBinary Returns Permission Errors

While troubleshooting binary movement issues, you may run across some permission-related messages. These messages are expected due to the nature of transient files between the source and target machines. In most cases, you can safely ignore these message if there are no other movement failures. Some examples of permission errors are:

/bin/chmod: cannot access
/webtier/cfgtoollogs/configToolAllCommands' : No such file or directory
'/bin/chmod: cannot access
/webtier/network/lib/env_network.mk.32' : No such file or directory

12.3.3 pasteBinary Returns Error for Middleware Home Directory

The pasteBinary script returns an error when you apply the Middleware home directory to the target environment.

Problem

Incorrect information was entered.

Solution

Take the following actions to recover:

1. Delete the target Middleware home.

2. Remove the Oracle home entry from the Oracle inventory, if it is present.

3. For Windows, remove the shortcut for the Middleware home and Oracle home.

12.3.4 pasteBinary Fails With deriveNewWLSProperties Error

You encounter the deriveNewWLSProperties error when you run the pasteBinary script.

Problem

The target Middleware home location is inside another Middleware home.

Solution

Specify a target Middleware home location that is not inside another Middleware home when you run the pasteBinary script.

12.3.5 copyConfig Fails When Checking Oracle Homes

The copyConfig script fails when it checks Oracle homes.

Problem

The inventory configuration is invalid.

Solution

Make sure that inventory.xml is valid. Do not update the inventory manually.

12.3.6 copyConfig Takes Too Long to Complete

The copyConfig script takes an unusually long time to complete.

Problem

The metadata export is requiring a lot of time.

Solution

Check the logs to make sure it is taking time to export. Clean up the database cache or purge the database. You can also collect the database statistics.

12.3.7 copyConfig Fails With CLONE-20408 Error

The copyConfig script fails with the error CLONE-20408.

Problem

The machine is specified as unix-machineType in the config.xml file.

Solution

Edit the machine type in DOMAIN_HOME/config/config.xml to remove xsi:type="unix-machineType" in:

<machine xsi:type="unix-machineType">   <name>machine_name</name>

For example:

<machine>   <name>machine_name</name>

Restart the servers after you update the config.xml file.

12.3.8 copyConfig Fails with MaxMessageSizeExceededException

The copyConfig script fails on the WebLogic Server domains.

Problem

You encounter the following error when you are executing copyConfig of Oracle WebLogic Server Domains:

weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '1000080' bytes exceeds the configured maximum of:'1000000' bytes for protocol: 't3'.

Solution

Change the message size limit by using the T2P_JAVA_OPTIONS environment variable to pass the -Dweblogic.MaxMessageSize=2000000 property to both the copyConfig and pasteConfig scripts.

12.3.9 Cannot Run pasteConfig for Node Manager After Initial Failure

You cannot run the pasteConfig script for Node Manager after running it failed the first time.

Problem

The pasteConfig script for Node Manager creates the nodemanager.properties file and other files, which are left out when there is a failure.

Solution

Clean up all the files in the target Node Manager home location before re-running the pasteConfig script.

12.3.10 Copy or Paste Fails with a DiskQuotaExceeded Error

A user block limit/disk quota error causes either a copy or a paste operation to fail.

Problem

You faced the following exception during a copy or paste operation: write failed, user block limit reached. SEVERE: Disk quota exceeded.

Solution

To ensure that enough disk space is allocated to this user, you can either expand the disk quota for that user or remove the disk quota limit for that user.

12.3.11 Exceptions Are Raised for Oracle SES During pasteConfig

The pasteConfig script returns exceptions for Oracle SES when you apply system components to the target environment.

Problem

pasteConfig was invoked a second time on the same Oracle SES instance.

Solution

Clean up the Oracle SES instance in the target environment using the searchadmin command-line interface before invoking pasteConfig again.

For more information about the searchadmin commands, see Oracle Secure Enterprise Search Administration API Guide.

To clean up the Oracle SES instance:

1. At the operating system prompt, log in to the searchadmin command-line interface using the following command:

SES_ORACLE_HOME/bin/searchadmin -p adminPwd -c adminWebServiceUrl

For example:

>/scratch/yummy/wls/Oracle_SES1/bin/searchadmin -p welcome2SES -c http://donuts02.us.example.com:8001/search/api/admin/AdminService

The prompt changes to SES>.

2. Enter the following searchadmin commands in the order specified:

SES>deleteAll altWord
SES>deleteAll proxyLogin
SES>deleteAll facetTree
SES>deleteAll suggLink
SES>deleteAll sourceGroup
SES>deleteAll schedule
SES>deleteAll docServicePipeline
SES>deleteAll docServiceInstance
SES>deleteAll source

3. Delete any remaining sources:

1. Log in to the Oracle SES Administration GUI.

2. Select the Sources secondary tab.

3. On the Sources page, delete any remaining sources that are listed.

4. Return to the Oracle SES searchadmin command line and enter the following commands:

SES>deleteAll searchAttr
SES>delete thesaurus -n DEFAULT

Note:

The thesaurus may not exist. You can ignore the error message EQA-11000: The object with key "[name=DEFAULT]" and type "thesaurus" was not found.

5. Check whether or not an active identity plug-in exists:

1. Enter the following command:

SES>getAllStates identityPlugin -o idPluginState.xml

The idPluginState.xml file is generated in SES_ORACLE_HOME/bin/idPluginState.xml.

2. Open the idPluginState.xml file and search for the phrase <search:value>ACTIVE</search:value>.

3. If <search:value>ACTIVE</search:value> does not exist, then there is no active identity plug-in. Skip to Step 8.
If <search:value>ACTIVE</search:value> exists, continue to Step 6.

Note:

There will be at most only one active identity plug-in at a time.

6. Scroll up the page to locate the jarFilePath and managerClassName of this active identity plug-in.

7. Deactivate the plug-in by entering the following command:

SES>deactivate identityPlugin --JAR_FILE=jarFilePath --MANAGER_CLASS=managerClassName

8. Check whether or not partitionConfig is active:

1. Enter the following command:

SES>getState partitionConfig -o partitionConfigState.xml

The partitionConfigState.xml file is generated in SES_ORACLE_HOME/bin/partitionConfigState.xml.

2. Open the partitionConfigState.xml file and search for the phrase <search:value>ACTIVE</search:value>.

3. If <search:value>ACTIVE</search:value> does not exist, then there is no active partitionConfig. Skip to Step 10.
If <search:value>ACTIVE</search:value> exists, continue to Step 9.

9. Enter the following two commands:

SES>export partitionConfig -o partitionConfig.xml
SES>update partitionConfig -i partitionConfig.xml -a remove

10. Delete the storage areas by entering the following command:

SES>deleteAll storageArea

12.3.12 SOA-infra Application Is in Failed State

The SOA server fails to start after you have completed the procedures for moving the Oracle Fusion Applications components.

Problem

An incorrect configuration of the Oracle Coherence framework that is used for deployment is preventing the SOA system from starting. The deployment framework must be properly customized for the network environment on which the SOA system runs.

Solution

Modify the Oracle Coherence cluster configuration by editing the values for the following startup parameters:

- tangosol.coherence.wka1

- tangosol.coherence.localhost

- tangosol.coherence.localport

- tangosol.coherence.wka1.port

For information, see the "Configuring Oracle Coherence for Deploying Composites" section in Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite.

12.3.13 No Oracle Fusion Applications Targets Display in Oracle Enterprise Manager

After moving the Oracle WebLogic Server domain configuration, the Oracle Fusion Middleware targets display inOracle Enterprise Manager , but Oracle Fusion Applications targets (such as product families, products, and J2EE applications) do not.

Problem

The ASK tables in the database (such as ASK_DEPLOYED_APPLICATIONS and ASK_DEPLOYED_DOMAINS) are not populated.

Solution

Check to make sure that Topology Manager functions properly when you run the copyConfig and pasteConfig scripts. Also check to make sure that the move plan values are properly modified.

12.3.14 OutOfMemory (Heap Size) Error while Unpacking the Domain in pasteConfig

The pasteConfig script hangs, then displays a java.lang.OutOfMemoryError:Java heap space error while the unpack command was executed , as part of the pasteConfig operation.

Problem

There is insufficient memory to process the large files (either spurious soft links to directories with many large files or large log files) of the Oracle WebLogic Server domain.

Solution

Remove the large, unnecessary files, and run the copyConfig and pasteConfig scripts again. You can also increase the JVM heap size by using the -Xmx option for maximum heap size, and the -Xms option for initial heap size. For example:

export CONFIG_JVM_ARGS="-Xms512m -Xmx1024m"

12.3.15 OutOfMemory Error with pasteConfig while Starting the Administration Server or Managed Server

You cannot run the pasteConfig script because of an OutOfMemory error.

Problem

You encounter an OutOfMemory error while the pasteConfig operation is trying to start the server.

Solution

Set the JVM system variable USER_MEM_ARGS, as described in the "Setting the JVM System Variables on Windows" section of the Oracle Fusion Applications Administrator's Guide.

12.3.16 wf_client_config.xml Refers to Files in the Source Environment

After moving your Oracle Fusion Applications environment from one host to another, the wf_client_config.xml files still refers to the files in source environment.

Problem

The wf_client_config.xml files were not edited to change the value of the <rootEndPointURL> element.

Solution

Edit the wf-client-config.xml file for each application to change the value of the <rootEndPointURL> element.

To locate each wf_client_config.xml file and edit the <rootEndPointURL> element:

1. Run the following command from the fusionapps Middleware directory (for example, /net/mount1/appbase/fusionapps):

find . -name wf_client_config.xml

2. For each wf_client_config.xml file (one for each application), change the value of <rootEndPointURL> to point to the internal virtual host port for the SOA cluster on the target environment. For example:

<rootEndPointURL>http://abcdef14.us.example.com:10615/soa-infra</rootEndPointURL>

12.3.17 PolicyManagerValidator Fails to Preload

PolicyManagerValidator fails to preload on startup in the /wsm-pm web application.

Problem

An MDSConfiguration exception was encountered in parseADFConfiguration at oracle.adf.share.config.ADFMDSConfig.parseADFConfiguration.

Solution

Manually make the following targeting changes:

- Add the Oracle Web Services Manager targets: admin, ess, and spaces.

- Remove the wsm-pm target: admin.

12.3.18 Issues While Running pasteConfig

You encounter issues while running the pasteConfig script.

Problem

The custom scripts in the ORACLE_HOME/COMMON/WLST directory are invalid.

Solution

Validate the custom scripts in the ORACLE_HOME/COMMON/WLST directory.

12.3.19 Cluster Validation Fails

You receive a setClusterAddress() failed error while configuring the machine in the target environment.

Problem

The cluster member host address contains an illegal character in the domain or host name or address.

Solution

Replace the domain or host name or address with a valid value.

12.3.20 Cannot Enable the SSL Connection Type After Node Manager Movement

After you move Node Manager from the source environment to the target environment, you encounter a javax.net.ssl.SSLKey exception because the connection between the Administration Server and Node Manager is of connection type plain socket, instead of SSL.

Problem

The keystores were not created properly.

Solution

Complete the following tasks to properly create the keystores:

1. Create the identity keystores and trust keystores for the middle tier Managed Servers and Node Manager. See the "Preparing the Target Environment" section in Oracle Fusion Applications Administrator's Guide.

2. Perform Node Manager movement, editing the Node Manager properties in the move plan. See the "Move Plan Properties for Node Manager" section in Oracle Fusion Middleware Administrator's Guide.

12.3.21 Cannot Retrieve Documents from Oracle WebCenter Content: Imaging Viewer

After moving the Oracle Fusion Applications components, you cannot retrieve documents from the Oracle WebCenter Content: Imaging Viewer.

Problem

The ixTransformer no longer has execute rights when bundled with copyConfig.sh and extracted with pasteConfig.sh. The server must be able to execute this file in order to transform documents into TIF format for viewing.

Solution

Set the permissions to 750 (on UNIX systems) for files in the unpacked domain with the extension .sh. For information, see "Task 3 Modify Oracle Information Rights Management Settings" in Oracle Fusion Middleware Administrator's Guide.

12.3.22 OHS Component Will Not Start After pasteConfig

Upon completion of the pasteConfig script for an OHS component, the script automatically attempts to start the new component, but it will not start.

Problem

SSL was previously configured on the source environment, but upon being cloned to the target, ssl.conf still points to the old wallet location, which no longer exists. The OHS cannot find the wallet, which results in startup failure.

Solution

If the non-default wallet was used at the source environment, then export the wallet from the source environment and import it to the target environment. Then, update the wallet location (if changed) in the ssl.conf file in the target environment.

12.3.23 Application Scope Data Sources Are Not Copied

After moving the Oracle Fusion Applications components, all Oracle ADF applications that use the application scope data sources fail to start.

Problem

The copyConfig script handles only global data sources defined in each Oracle WebLogic Server domain.

Solution

For application level data sources, you must deploy the Oracle ADF application configured with the application level data sources to a server in the target domain, and manually configure the data sources on the target domain.

12.3.24 Java Runtime Environment Was Not Found During Cloning Operations

When performing cloning operations as a part of the paste operations, the Java Runtime Environment was not found when runInstaller / setup.exe is executed from the cloned Oracle Home.

Problem

While invoking runInstaller / setup.exe from cloned Oracle Home, the following message is displayed:

The Java RunTime Environment was not found when runInstaller / setup.exe is executed from the cloned Oracle Home.

The error occurs because the JRE was not found at /tmp/OraInstalltime_stamp/jre/bin/java. Therefore, the Oracle Universal Installer cannot be run.

Solution

To resolve this issue:

1. Visit http://www.javasoft.com and install JRE version 1.3.1 or higher and try again.

2. Ensure the JRE_LOCATION setting in ORACLE_HOME/oui/oraparam.ini points to a valid JRE location.

12.4 Diagnosing Problems

This section describes general approaches for diagnosing moving Oracle Fusion Applications components across environments. It contains the following topic:

- Diagnosing Issues with Oracle Metadata Repository Export and Import

12.4.1 Diagnosing Issues with Oracle Metadata Repository Export and Import

The copyConfig process tries to export the Oracle Metadata Repository (MDS) data of all applications. Some applications may have MDS data, while some may not have any data—or in some cases, the Managed Server may be down or the application may not be in active state.

To diagnose issues related to MDS export, check the copyConfig logs after the copyConfig process is complete to make sure that all the applications with MDS data are exported successfully.

In the section of the copyConfig log, shown in Example 12-1, the listed applications do not have any MDS data, which causes the failure.

Example 12-1 Sample copyConfig Log

FINE : [J2EEComponentCreateCloner:doClone] ##################################### MDS Export Summary #############################################
FINE : [J2EEComponentCreateCloner:doClone]
MDS Export of some applications failed. Check the following list of applications and make sure that MDS data is not associated with these applications. - FusionEsdApp, FusionCtdApp, FMW Welcome Page Application, em, ESSAPP, ESSJobTypesAPP, DiagnosticsUI-Ess, SalesApp, oraclediagent, odiconsole, wsil-wls, DMS Application, AppsLoggerService, FileAdapter, DbAdapter, JmsAdapter, AqAdapter, FtpAdapter, SocketAdapter, MQSeriesAdapter, OracleAppsAdapter, OracleBamAdapter, usermessagingserver, usermessagingdriver-email, usermessagingdriver-extension, worklistapp, b2bui, DefaultToDoTaskFlow, composer, OracleBPMProcessRolesApp, OracleBPMComposerRolesApp, OracleBPMWorkspace, SimpleApprovalTaskFlow, SetTransformService, DiagnosticsUI-Assembly, Diagnostics-JmxApi,

FINE : [J2EEComponentCreateCloner:doClone] #########################################################################################################

You can check the reason for failure for each of these applications from the copyConfig log.

Similarly, the pasteConfig process tries to import the MDS data that was exported during copyConfig. To diagnose issues related to MDS import, check the pasteConfig logs to make sure that the MDS import is successful.

Import failed for ProductManagementApp, ProductManagementCommonApp, and CostManagementApp in the pasteConfig log, shown in Example 12-2.

Example 12-2 Sample pasteConfig Log

FINE : [J2EEComponentApplyCloner:doClone] ##################################### MDS Import Summary #############################################
FINE : [J2EEComponentApplyCloner:doClone] MDS Import of following applications failed.
ProductManagementApp,

ProductManagementCommonApp,

CostManagementApp,
. Check managed server and clone logs for details.
FINE : [J2EEComponentApplyCloner:doClone] #########################################################################################################

Resolve any import failures after the pasteConfig is complete. You can use the importMetadata command to import the MDS after pasteConfig is complete. For information, see Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

12.5 Recovering from pasteConfig Errors

To recover from a pasteConfig error:

1. Check the logs to identify the issue.

2. Stop all processes related to the domain.

3. Delete the following directories:

/net/mount2/instance/domains/host/domain_name
/net/mount2/instance/applications/domain_name

4. For LDAP, drop the schemas and re-create them using the Oracle Fusion Middleware Metadata Repository Creation Utility, and delete the domain node.
For Metadata Services (MDS), you can overwrite the schemas without dropping the domain node.

When you execute the pasteBinary or pasteConfig scripts and enter incorrect information in the move plan, the scripts return an error. In some cases, the scripts may have partially completed the paste operation.

To recover from a pasteConfig error when applying system components to the target:

1. Uninstall the instance.

2. If you cannot uninstall the instance, stop all processes related to that instance and delete the Oracle instance.

13 Additional Troubleshooting Information

This chapter describes additional troubleshooting resources.

This chapter contains the following topic:

- Using My Oracle Support for Additional Troubleshooting Information

13.1 Using My Oracle Support for Additional Troubleshooting Information

You can use My Oracle Support (formerly MetaLink) to help resolve Oracle Fusion Applications problems. My Oracle Support contains several useful troubleshooting resources, such as:

- Knowledge base articles

- Community forums and discussions

- Patches and upgrades

- Certification information

You can access My Oracle Support at https://support.oracle.com.

Copyright © 2012, Oracle and/or its affiliates. All rights reserved.