18 Troubleshoot and Tune Oracle Fusion Reports

This section describes common problems that might be encountered when using Oracle Transactional Business Intelligence and Oracle BI Publisher reports in Oracle Fusion Applications and explains how to solve them. This section also describes tuning strategies for increasing report performance.

The following topics are discussed:

18.1 Introduction to Oracle Fusion Reporting

Oracle Fusion Reporting is supported by the Oracle Business Intelligence Enterprise Edition (OBIEE) platform, including the Oracle Business Intelligence Server and Oracle BI Presentation Services, which use Oracle Fusion database data and metadata to support business insight. Oracle Transactional Business Intelligence (OTBI), based on OBIEE, provides real-time business analysis and reporting and ad-hoc query capability for data in the Fusion transactional database. In addition to this reporting capability, Oracle Business Intelligence Publisher provides the ability to format, schedule, and distribute pixel-perfect reports and other output in a variety of standard output types to support distributed reporting and forms, for example invoices or purchase orders. Oracle BI Publisher outputs reports and other content in standards including Microsoft Word and Excel, PowerPoint, and Adobe PDF, for ease of access by a wide variety of business audiences.

In addition to OTBI, which is part of Oracle Fusion Applications, you may license Oracle BI Applications, which includes a pre-built data warehouse and extract, transform, and load platforms and routines which load it periodically to support additional historical BI reporting.

18.1.1 Oracle BI Technologies

To properly troubleshoot a reporting issue, identify which underlying platform or content is being used in the Oracle Fusion application user interface. When the source of an issue is identified, consider the following:

  • Oracle Transactional Business Intelligence (OTBI) provides packaged analytical content in real time. Supported by the Oracle Business Intelligence platform, OTBI can be referred to as real-time, current-state, or transactional business intelligence.

  • Oracle Fusion Financials also uses Financial Reporting technology.

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

18.2 Introduction to Troubleshooting Oracle Transactional Business Intelligence

This section provides an overview of the Oracle Transactional Business Intelligence (OTBI) and its architecture, identifies common areas of failure and the errors associated with them, and introduces the tools used to resolve issues in OTBI.

This section contains the following topics:

18.2.1 About OTBI Architecture

OTBI is based on the Oracle Business Intelligence platform and can be referred to as real-time, current-state, or transactional business intelligence. OTBI objects analyze very recent data such as today's data or this week's data.

To provide this up-to-the-minute reporting, OTBI provides prebuilt analytical reports and ad-hoc reporting on current transactional data in Fusion applications. OTBI provides the BI Server access to Fusion transactional database schema objects through Oracle Application Development Framework (ADF) View Objects, which are modeled in its repository metadata. Potential points of failure for OTBI include:

  • BI Server

  • Logical queries

  • Physical queries

  • ADF View Objects

  • ADF View Objects in Oracle BI repository metadata

Figure 18-1 Oracle OTBI Architecture and Common Troubleshooting Areas

This image is described in surrounding text.

18.2.2 Introduction to OTBI Troubleshooting Tools

Most diagnosis of issues encountered in OTBI is performed using the Oracle BI query log. This and the other tools and utilities described in Table 18-1 may be used to troubleshoot issues across possible points of failure in OTBI.

Table 18-1 OTBI Troubleshooting Tools

Tool Purpose

NQQuery.log

Used to diagnose security and definition issues with ADF View Objects, which affect connectivity to the Fusion transactional tables.

AdminServer-diagnostic.log

Used to diagnose security and definition issues with ADF View Objects, which affect connectivity to the Fusion transactional tables.

Oracle Enterprise Manager Fusion Applications Control

Used to start and restart the Oracle BI Server. For more information, see the Use Oracle WebLogic Server Administration Console section. This tool can also be used to view, but not search, the NQQuery.log entries.

Presentation Services

Administrative view may be used to view OTBI logical queries.

18.3 Resolve Problems with Logical and Physical Queries Using BI Logs and Presentation Services

The Oracle BI query log file NQQuery.log, provides information to help diagnose and fix problems with the transactional datasource, connectivity, and datasource objects such as table names and column names. Most diagnosis of issues encountered in OTBI is performed using the Oracle BI query log. This section describes how to set up and use the log file that 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 describes how to use the NQQuery.log file to diagnose OTBI query issues such as ODBC errors, ORA-errors, other database errors, and to resolve query performance issues. This section contains the following topics:

18.3.1 Enable the NQQuery.log File

Enable the NQQuery.log file to diagnose issues encountered in OTBI physical and logical queries. Use one of the following methods to enable the NQQuery.log file:

  • Enable query logging from the Oracle BI Administration Tool. For information about enabling the query log file, see section Managing the Query Log in the System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

  • Enable the LogLevel system session variable for the repository by accessing the repository and setting the LogLevel system variable to 7. For information about setting this variable, see section About System Session Variables in the Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

  • If you have administrator permissions, log into Presentation Services, access the analysis 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 section Setting the Query Logging Level in System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

    If this method is used to enable the NQQuery.log file, look for the following items:

    • 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 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

    • More detailed errors

Note that the NQQuery.log file is visible but not searchable in the Fusion Applications Control Log Viewer.

18.3.1.1 Clear the BI Server Cache

After enabling query logging, if BI Server caching is enabled, clear the cache before re-executing the analysis so that the NQQuery.log file will contain the correct information.

To clear the BI Server cache, perform the following steps:

  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.

18.3.2 View the Presentation Services Logical Query In the Log

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.

18.3.3 View the Logical Query In Presentation Services

With administrative privileges, it is possible to view the logical query executed by Presentation Services for a request in Oracle BI Answers. This provides a quick way to see which requests are currently running to isolate problematic queries before consulting the BI query logs for detailed query information.

To view the logical query, perform the following steps:

  1. Open the analysis in Oracle BI Answers.
  2. Click the Administration link.
  3. Under Session Management, click the Manage Sessions link.
  4. Locate the relevant session in the list, and view its recent Presentation Services logical request in the Statement column.

18.3.4 View the 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>

Both the user and the administrator can review the query trace to check that the desired ADF View Objects 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.

18.3.5 View the 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 ADF Server. If the SQL Bypass database is enabled, the NQQuery.log file shows the physical query sent to the database. The following log file excerpt provides an example of a physical query:

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

18.3.5.1 Troubleshoot and Performance Guidelines for Physical Queries

Use this physical SQL to diagnose which tables, columns, joins, and filters are being used by the BI Server to retrieve data. Table names are aliased (for example, T744257). To find the actual table name, search for the table alias in the RPD, and then run the SQL to check if it works in SQL*Plus.

For performance issues, look for filter columns that are not indexed, and known database performance bottlenecks, such as NOT IN clauses. For performance advice, Oracle Database Control can be used, too. For more information about performance tuning in OTBI, see Performance Tuning Oracle Transactional Business Intelligence (OTBI).

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, 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. It is possible to 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.

18.4 Troubleshoot ADF View Objects

For OTBI queries, the BI Server accesses Fusion transactional database schema objects through ADF View Objects. The tools and strategies used to troubleshoot ADF View Object connectivity include the following:

18.4.1 Use AdminServer-diagnostic.log File to Troubleshoot ADF View Objects

The Oracle BI Server 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. Research the WebLogic Server log file, AdminServer-diagnostic.log, if there is an issue in the view object query. 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, and attributes; the view link source and destination entities; and the view criteria for view objects, including security view criteria. It also contains the roles associated with the user and the security predicate associated with those roles, as well as the composite view object API called for the view object and view links and criteria.

18.4.2 Use 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, to connect to Oracle Fusion Datasources. Use the following procedure to confirm that your connectivity is set up correctly.

To confirm that your connectivity is set up correctly, perform the following steps:

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, check in the new objects before performing this test.

18.5 Troubleshoot Oracle Transactional Business Intelligence (OTBI)

This section describes common problems and solutions for Oracle Transactional Business Intelligence (OTBI). This section contains the following topics:

18.5.1 Oracle BI Presentation Services Fails to Start: Check if BI Server is Running

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.

To determine if the BI Server is running:

  1. Log in to 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 Resolve Problems with Logical and Physical Queries Using BI Logs and Presentation Services and The BI Server Is Not Running: Check Log Files for Hints.

18.5.2 The BI Server Is Not Running: Check Log Files for Hints

If the BI Server has failed to start or has stopped running, the Cluster Controller might not be communicating with the BI Server and the BI Server log might contain information describing why it cannot communicate.

To check the Cluster Controller log files in Fusion Applications Control, perform the following steps:

  1. Log in to 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.example.com:7001 was
    established.
    

    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 check the BI Server log file in Fusion Applications Control.

To check the BI Server log file in Fusion Applications Control, perform the following steps:

  1. Log in to 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.example.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
    

18.5.3 Oracle Business Intelligence Requests Stop Responding: Check Authentication

Oracle Fusion Applications pages that integrate charts, reports, and dashboards must be authenticated by Presentation Services. If the authentication is slow, these 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.

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 and select 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.

    Figure 18-2 System MBean Browser

    Description of Figure 18-2 follows
    Description of "Figure 18-2 System MBean Browser"
  7. In the Application Defined MBeans: BIDomain.BIInstance.PresentationServerConfiguration page, click the SyncLogonTimeoutSecs attribute.
  8. Change the value from 900 to 60 in the Value field and click Apply.

18.6 Troubleshoot Oracle Fusion Customer Relationship Management: Data Warehouse Enabled Profile Option

The Data Warehouse Enabled Profile option only applies to users who have implemented Oracle Fusion Customer Relationship Management. When troubleshooting, check if 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 18-2.

Table 18-2 Warehouse Enablement Settings

Setting Meaning

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

18.7 Troubleshoot for Oracle BI Publisher

This section describes common problems and solutions for Oracle BI Publisher and its Fusion Applications reports. It contains the following topics:

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

When users log in to 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. To resolve this issue, consider the following options:

18.7.1.1 Confirm that Items Exist on the File System

To confirm that the items exist on the file system, perform the following steps:

  1. Log in to 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 Refresh the GUIDssection.

    • If the reports are not in the catalog, then it may be that an unsuccessful catalog merge was completed recently. Note that even if the last statement of the merge indicated success, the merge still might not have completed successfully. If your catalog merge was not successful, then repeat the catalog merge.

18.7.1.2 Refresh the GUIDs

To refresh the GUIDs, perform the following steps:

  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 shown in the following example:
    FMW_UPDATE_ROLE_AND_USER_REF_GUIDS=YES
    

    Before modifying 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.

    Perform this step to ensure that your system is secure.

  6. Restart the BI Server.

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

When users log in to 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. To resolve this issue, consider the following options:

18.7.2.1 Check User Privileges

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

To access Presentation Services and check the privileges required to access reports, perform the following steps:

  1. Log in to 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 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 in to Presentation Services as a user with administrator privileges and navigate to the Manage Privileges page to assign the proper privileges to the user.

18.7.2.2 Adjust the BI Publisher Connection to Presentation Services

An error may have occurred when Oracle BI Publisher connected to Presentation Services. 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 account.

To override the BISystemUser account, perform the following steps:

  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 changing these properties, ask your administrator why they have been set.
  3. To un-set these properties, set their values to "".

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

  4. Restart the WebLogic domain.

18.7.2.3 Check for Catalog Corruption and Resolve as Needed

The catalog may be corrupted. To check if this is the case, perform the following steps:

  1. Log in to 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.

To fix the corrupted catalog, perform the following steps:
  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 the changes.

18.8 Performance Tuning Oracle Transactional Business Intelligence (OTBI)

OTBI is the real-time reporting solution for Oracle Fusion Applications. Oracle Transactional Business Intelligence (OTBI) analyses query data directly from the transactional tables to ensure real time analysis. If the transactional data is not changing constantly, or if up-to-the-minute analysis is not required, then query performance can be improved by changing the caching options available in OBIEE. OBIEE can cache at two levels. BI Server can cache query result sets and use this to service additional queries on the same data set. By default, this option is disabled for OTBI.

All OTBI queries execute directly against the Oracle Fusion applications transactional tables, unless the query data is retrieved from the cache. This architecture supports up-to-the-minute BI analysis on the state of your business.

OTBI queries should focus on operational analysis. Because most OTBI queries do not execute against pre-aggregated sources, they should not be used for querying very large volumes of historical data or generating trend analyses that span multiple years. Use the Oracle Business Intelligence Applications, which query the Oracle Business Analytics Warehouse, for any such complex and historical analysis.

For detailed information on performance tuning, see the Fusion Applications Performance and Tuning Guide.

18.8.1 Query Governance

To manage the query environment, set query limits (governors) in the Oracle BI repository for users or application roles. See Perform Post-Installation Configuration in the Oracle Fusion Applications Documentation Library.

18.8.2 Debug Slow-Running Queries

It is possible to debug and fix OTBI slow-running queries that are not performing well. OTBI is for real-time operations analysis and Oracle does not recommend running queries that do not fall into this category, or to query very large volumes of historical data.

  • If the query is not performing well, check the filters first. Blind queries on very large tables can be difficult to tune.

  • When querying large transaction tables, ensure that good time dimension filters restrict data to a few days, weeks, or months.

  • Additionally, ensure that good filters on the dimensions being used to analyze the fact data exist. Add filters to restrict queries.

  • Next, examine the physical query in the Oracle BI query log.

Issues encountered in OTBI queries can be diagnosed in as described in Resolve Problems with Logical and Physical Queries Using BI Logs and Presentation Services.

Additional filters might be added by the application logic and security. Ask your database administrator to help tune the execution plan for this query to see which joins are causing performance issues. Avoid full table scans and hash table joins on large transaction tables. If these tables are seen, attempt to add specific filters for these tables which use existing indexes.

  • To improve query performance, enable query caching.

Query caching enablement can dramatically improve query performance on cached queries.

See Caching Options in Oracle Transactional Business Intelligence (OTBI) for information about how to enable caching.

18.8.3 BIAnalytics Data Source Suspended

If your Customer Relationship Management (CRM) Performance Servers are servicing requests, the BIAnalytics data source will get suspended if there is a bounce of the bi_server1. If this occurs, you will get a "Resource Dead Exception" error and possibly a "stuck thread" error.

To correct this error, resume the BIAnalytics data source manually.

18.8.4 Caching Options in Oracle Transactional Business Intelligence (OTBI)

Caching is turned off by default for the Oracle Transactional Business Intelligence (OTBI) content to ensure the OTBI analyses always return real-time data. If not absolutely necessary, then enable caching to obtain better query performance.

To enable caching and set a cache timeout in OTBI, choose one of the following options:

  • Use the Cache Manager to manually manage the cache entries after enabling caching for OTBI view objects. Enable view object level caching by using the Oracle BI Administration tool and editing the master Oracle BI repository as follows:

    • Edit the view object properties and check the Cacheable check box.

      Do not edit the properties for aliases if the source view object property has already been changed. It is reflected in the alias automatically.

    • Set the Cache Persistence Time property to determine how frequently the cache should expire.

  • Additionally, use the following options for automating the cache management process:

    • Use the Oracle BI Administration Tool to set the Cacheable and Cache Persistence Time properties for any view object that you want cached.

    • Use the Configure Oracle BI Server Event Polling Tables to purge the cache. Doing so requires a trigger that you would have to implement to populate this table when there are changes to the application's transaction tables, ensuring that you always avoid hitting a stale cache.