Oracle Business Intelligence Applications (OBIA) - Troubleshooting RPD Patching Issues

July 28, 2014 | 9 minute read
Jay Pearson
Consulting Solutions Architect, Business Intelligence
Text Size 100%:

* This blog was last tested on OBIA 11.1.1.8.1 *

Click here for OBIA: Oracle Business Intelligence Applications Statement of Direction (Doc ID 2515201.1).

 Background

At times a BI patch may fail with RPD consistency errors. If so, it may be beneficial to perform some initial troubleshooting  steps to pinpoint the root cause of the errors. This blog describes how to read and download the various patch RPD and log files. Additionally, it gives insight into how these files can be used to locate, debug, source, and information on re-creating patch errors.

Since there is a wide range of RPD errors, with varying levels of difficulty to fix, this blog does not seek to provide solutions to every RPD error that may occur. Rather, the intent of the blog is to provide the steps and necessary tools to successfully interpret errors to assist in making more accurate judgments on how to move forward when RPD patching errors are hit.

The targeted audience for this blog is consumers of Oracle Business Intelligence Applications (OBIA) on-premises. That said some information contained in the blog may also be useful to non-Fusion OBIEE environments where access to the RPD is available.

 Reading Log Files

When a patch fails, begin debugging by examining the following two log files:

validaterpd_run_output_MMDDYYYY_HHMMSI.txt

Found in: $ORACLE_BASE/config/BIShared/.biapps_patch_storage/update/MMDDYYYY_HHMMSI/postapply_validate_rpd/

orchestration-run-MMDDYYY_HHMMSI.log

Found in: $WORK_DIR/.biapps_patch_storage/orchestration/MMDDYYYY_HHMMSI/

Focus on errors and ignore all warnings. Errors will generally appear before warnings.

Examples of RPD Errors and Warnings:

ERRORS

[38133] The Logical Table '"Core"."Dim - Payroll Element Entry"' is not joined to any other logical table.

[38001] Logical column Fact - Performance Rating Distribution.AssignmentId has no physical data source mapping.

[38056] List Catalog 'Marketing Segmentation Targets' has two keys which reference qualified list item 'Consumers'.

WARNINGS

[39076] Logical level "Core"."Item"."Product Detail" does not have any key with Use for Display property on.

[39002] Level "Core"."Competitor Organization"."Level 1 Competitor" has no defined key to uniquely identify members.

[38028] Logical column zzz Lookup - Dummy.dummycol does not have a valid data type.

 Downloading RPD Files

In the orchestration-run-MMDDYYY_HHMMSI.log locate the section that lists the paths to the Target, Original, Input, and TempOutput RPD's. Download the four RPD files mentioned below.

Since all the RPD's have the same name, rename them by adding a unique identifiable prefix to each one.

Name them: Target_OracleBIApps.rpd, Original_OracleBIApps.rpd, Input_OracleBIApps.rpd, and TempOutput_OracleBIApps.rpd

TargetRPDFile: $WORK_DIR/.biapps_patch_storage/orchestration/06252014_142719/OracleBIApps.rpd

OriginalRPDFile:  $WORK_DIR/.biapps_patch_storage/18478470/baseline/OracleBIApps.rpd

InputRPDFile: $WORK_DIR/.biapps_patch_storage/18478470/current/OracleBIApps.rpd

TempOutputRPDFile: $WORK_DIR/.biapps_patch_storage/tmp/patchrpd-5560938585258521420855120146000/OracleBIApps.rpd

It is also suggested to download the production RPD from before the patch was applied. This "should" be the same RPD file as TargetRPDFile. However, it is preferable to use this RPD for manual patching as it is less likely to have become corrupted during the patch or mixed up with the others due to its unique name.

Production RPD: /instance/BIInstance/bifoundation/OracleBIServerComponent/coreapplication_obis1/repository/OracleBIApps_BI00XX

 RPD Naming Conventions

At times documents /log files may refer to the RPD's by slightly different names. Below are some examples of the different names you may expect to see the RPD's referred by.

The TargetRPDFile may be referred to as:

• Customer RPD

• Modified RPD

• Customized RPD

• The RPD that contains the database connections, and customized code

The OriginalRPDFile may be referred to as:

• Baseline RPD

• The original RPD from day 1 of Fusion

The InputRPDFile may be referred to as:

• Patch RPD

• Current RPD

• Factory RPD

• The latest version of the RPD supplied in the patch / upgrade

 Changing RPD Passwords

At times there may be a need to send the RPD to an outside resource to assist with troubleshooting. If the RPD password is sensitive it can be reset in the Admin tool. It is recommended to re-set it to Admin123.

Pwd

 Locating the Error(s)

RPD files can be opened, reviewed, and modified using the Oracle BI Administration Tool.

The following link below provides instructions on how to install and configure the Oracle BI Administration Tool:

Installing and Configuring the BI Admin Tool

Once the BI Administration Tool has been installed and configured, launch the tool from the start menu. Click Open -> Offline to open the RPD file in offline mode (see screenshot below). It may be helpful to have multiple RPD files open at once. To do this launch the BI Administration Tool for each RPD you need to open.

Offline

Click File -> Check Global Consistency to run a Global Consistency check on TempOutputRPDFile / TempOutput_OracleBIApps.rpd to locate the errors listed in the logs (see screenshot below).

Crop

Once the consistency check is complete a warning may appear. Click No! (If Yes is accidentally clicked, do not save the RPD when closing.)

unavail

When checking Global Consistency offline, errors such as "can not load library, oraclecore11.dll" may be displayed. These errors are related to not being connected to the source database and can be ignored.

Hide Warnings. Just focus on Errors.

Ignore

Locate the relevant errors. Double click each error to view the relevant objects associated with them.

MoreErrors

Error

Double clicking on the error message will show the Logical Table associated with the error.

Logical_Table

Clicking on the sources tab, and double clicking on the source will show the Logical Table Source associated with the error.

element

Logical

Another useful method for locating objects in the RPD is the Query Repository tool found under: Tools -> Query Repository (Ctrl+Q). It can be used to go directly to the source of an error very quickly.

Query_RPD

Enter the name of the object enclosed in * *. Search on "All Types" or a desired type. When in offline mode "All Type" searches are generally very fast. Once the object in question is located, double click on it to see the properties.

Query_RPD2

 Discovering the Origin of the Error(s)

The next step is to confirm if the error(s) exist in the other RPD's.

i.e. TargetRPDFile, OriginalRPDFile, InputRPDFile, OracleBIApps_BI00XX.

Generally errors occur from the patchrpd process itself; the 3 way merge process between the TargetRPDFile, OriginalRPDFile, and InputRPDFile.

What is normally seen is that all 3 input files are error free and the final TempOutputRPDFile contains errors. It is still worthwhile examining each RPD file to better understand the cause of the error.

Once the origin is discovered consider the following:

Originated in TargetRPDFile

(a) Confirm patchrpd picked up the correct Target RPD.

(b) Can the error(s) be resolved in the Target RPD?

(c) Is there an older copy of the Target RPD that is error free that can be used instead?

Originated in OriginalRPDFile / Baseline RPD

(a) Confirm patchrpd picked up the correct Original / Baseline RPD

(b) Confirm the Original / Baseline RPD is older than both the TargetRPDFile & InputRPDFile.

(If the Original / Baseline RPD is newer it is most likely not the correct file and will result in a invalid TempOutputRPDFile.)

Originated in InputRPDFile / Patch RPD

(a) Confirm patchrpd picked up the correct patch RPD.

(b) Confirm all Prerequisite RPD patches have been installed.

 Recreating the Error(s)

Another useful technique in debugging patchrpd failures is recreating the error itself. This can make it easier to experiment with different patchrpd scenarios and allow tweaking of RPD's to see if it is possible to produce an error free output version.

Patchrpd can be run on the server or locally on windows by downloading the Oracle BI Administration Tool.

Running "patchrpd -h" will display all the flags and input parameters available for the command.

On windows by default it can be found in: C:\Program Files\Oracle Business Intelligence Enterprise Edition Plus Client Tools\oraclebi\orahome\bifoundation\server\bin\patchrpd

Run the command as follows:

$OBIEE_HOME\bifoundation\server\bin\patchrpd -C Target_OracleBIApps.rpd -P Admin123 -G
Original_OracleBIApps.rpd -Q Admin123 -I Input_OracleBIApps.rpd -S Admin123 -O Output_OracleBIApps.rpd -V Decision.csv -U

Running patchrpd manually on windows may provide some flexibility with experimenting with RPD changes without having to run the patch on the server over and over that could cause further conflicts.

 Want to Learn More?

Click here for more A-Team OAC Blogs

Click here for more A-Team BICS Blogs

Click here for more A-Team OBIEE Blogs

Managing Oracle BI Repository Files

Merge Rules

 Summary

This blog describes a variety of troubleshooting techniques that may be useful if RPD consistency errors occur when applying BI patches.

Upon completion of the blog, the reader should have have the necessary knowledge to execute the following RPD troubleshooting tasks:

1) Locate relevant log files and focus on applicable errors.

2) Recognize and decipher the different RPD files used for patching.

3) Utilize the Oracle BI Administration Tool to:

(a) Locate Errors

(b) Preform Global Consistency Checks

(c) Query the Repository

4) Identify the origin of RPD errors.

5) Recreate RPD errors with the patchrpd command line.

6) Interpret RPD errors.

7) Be familiar with formal documentation available that may assist with further troubleshooting.

Jay Pearson

Consulting Solutions Architect, Business Intelligence


Previous Post

Introduction to FMW 12C REST adapter

Johnny Shum | 7 min read

Next Post


Understanding OAM 11g ASDK Configuration and Cert Requirements

Tim Melander | 8 min read