Applies to:
Business
Intelligence Applications Consumer - Version 11.1.1.8.1 and later
Information in this document applies to any platform.
Information in this document applies to any platform.
Symptoms
OBIA 11.1.1.8.1 DataWarehouseData source - EBS
OBIA configured with the following Modules -
- Oracle Financial Analytics
- Oracle Procurement and Spend Analytics
- Oracle Project Analytics
When performing full initial load on the modules listed above, the following two steps have been running for almost 12 hours now -
- PLP_PLP_ARINCREMENTALACTIVITYLOAD
- PLP_PLP_APINCREMENTALACTIVITYLOAD
Is there a way to obtain better performance?
Cause
Poor Out of the Box configuration led to poor performance in the ETL- Bug 18952097 PERFORMANCE ISSUE WITH PLP_APINCREMENTALACTIVITYLOAD.W_AP_BALANCE_F_TMP
- Bug 17509570 RFA - HOW TO CALCULATE THE TEMP TABLESPACE REQUIRED TO RUN A SCENARIO?
These BUGs also offer suggestions on how to resolve the issue
Solution
Solution Steps:ODI Changes to AP and AR:
1. Create Custom Folder and Modify AP/AR PLP Mappings
For AP:
1) Login to ODI repository from the ODI studio and go to “BI Apps Project”
2) Under “Mappings” folder, create a new custom SDE adaptor folder based on the appropriate EBS release version in your environment.
a. Right-click the Mappings folder and select New Sub-Folder
b. Set Name as CUSTOM_<Original Folder Name>. For example, if this is for PLP, create custom folder CUSTOM_PLP. This represents the custom PLP folder for the original PLP folder.
c. Click the Connect Navigator button in the Designer tab.
d. Select Edit Release Tags.
e. Select the release tag that corresponds to your source. For example, BIA_11.
f. Select the custom PLP folder you created and add it to the release tag.
g. Click Next
h. Click Finish
3) Enable versioning
for the preconfigured Task Folder, PLP_APIncrementalActivityLoad, to be
customized. The version comment should indicate this is the base version of the
task. Subsequent patches applied to this task in the future would require
increasing the version in the comment so that it can be compared to the original
task to identify any changes.b. Set Name as CUSTOM_<Original Folder Name>. For example, if this is for PLP, create custom folder CUSTOM_PLP. This represents the custom PLP folder for the original PLP folder.
c. Click the Connect Navigator button in the Designer tab.
d. Select Edit Release Tags.
e. Select the release tag that corresponds to your source. For example, BIA_11.
f. Select the custom PLP folder you created and add it to the release tag.
g. Click Next
h. Click Finish
a. Go to appropriate PLP folder, right-click the Task folder
PLP_APIncrementalActivityLoad and select Version > Create Version.
b. Accept the default version number, 1.0.0.0.
c. Add a description indicating that this is the original version of this task.
4) Duplicate the
Task folder to be customized (i.e. PLP_APIncrementalActivityLoad) by copying
it. Cut and paste the copied task folder to the Custom adaptor folder you have
created (e.g. CUSTOM_PLP), and rename it to remove the 'Copy of…' prefix.b. Accept the default version number, 1.0.0.0.
c. Add a description indicating that this is the original version of this task.
5) Using the same method as in step 3, enable versioning of copied Task folder. The version comment should indicate this is the original version. This versioning enables comparison of the customized task to a copy of the original version to determine all changes that have been introduced.
6) Create another version of the copied task PLP_APIncrementalActivityLoad. The version comment should indicate this is the customized version. Use the same steps as above.
7) Expand the map in the custom adaptor folder, Expand “Interfaces” to find TWO entries as below.
8) Double click a particular interface (PLP_APIncrementalActivityLoad.W_AP_BALANCE_F_TMP_SQ_PLP_AP_INCR_ACTIVITY_LOAD) opens ‘Overview’ Page on right hand side. Now click on ‘Quick-Edit’ tab
available in bottom section of this page
9) Go to the Join section and expand for the joins to be visible. Change the highlighted join condition with the below by clicking on the join expression.
(CASE WHEN W_AP_XACT_F.ACCOUNTING_DT_WID=0
THEN
W_AP_XACT_F.POSTED_ON_DT_WID
ELSE
W_AP_XACT_F.ACCOUNTING_DT_WID END)=W_DAY_D.ROW_WID
THEN
W_AP_XACT_F.POSTED_ON_DT_WID
ELSE
W_AP_XACT_F.ACCOUNTING_DT_WID END)=W_DAY_D.ROW_WID
10) Apply and Save the Interface
Next, delete the scenario associated with the original, out-of-the-box task and generate a new scenario for the custom task using the same scenario name as the original. ODI enforces unique scenario names and we want to use the same scenario name for the custom task so that the load plan executes this ETL task rather than the out-of-the-box ETL task.
Delete the out-of-the-box scenario:
- Navigate to the out-of-the-box Task folder - Packages - <Package Name> - Scenarios - <Scenario Name>
- Make a note of the Scenario Name (you can double click and use CTRL-C to copy the scenario name)
- Right click the scenario and select 'Delete'
Generate a scenario for the custom task:
- Navigate to the custom Task folder - Packages - <Package Name>
- Right click the package and select 'Generate Scenario'
- Use the original, out-of-the-box scenario name (CTRL-V to paste the name if you copied it previously)
- Check the 'Generate scenario as if all underlying objects are materialized' box
- Click 'OK'
- Select 'Use All' from the 'Startup Parameters' drop down box
- Click 'OK'
ii) Go back to the modified PLP_APIncrementalActivityLoad in the custom folder, go to Packages and generate the scenario using the option to generate the scenario as if all underlying objects are materialized. Rename the scenario name to use the original out of box scenario name. For example, PLP_PLP_APINCREMENTALACTIVITYLOAD for PLP.
In the future if you make changes to any of the interfaces or the package, you can either regenerate the existing scenario or generate a new scenario. Unless you need separate scenarios, it is recommended that you regenerate the existing scenario. To do this, right-click the scenario and select Regenerate.
Along with the above changes let them add the below HINT1: Hardcode HINT1 value in the Load Plan component
For AP:
FULL=/*+ USE_HASH( W_AP_XACT_F W_GL_ACCOUNT_D)*/
For AR:
Similar change should be done in the custom adaptor folder:
1) Open the map PLP_ARIncrementalActivityLoad Expand this map and find “Interfaces” inside this folder and expand “Interfaces” to find TWO entries.
2) Double clicking a particular interface (PLP_ARIncrementalActivityLoad.W_AR_BALANCE_F_TMP_SQ_PLP_AR_INCR_ACTIVITY_LOAD) opens ‘Overview’ Page on right hand side. Now click on ‘Quick-Edit’ tab available in bottom section of this page 3) Go to the Join section and expand for the joins to be visible. Change the highlighted join condition with the below by clicking on the join expression.
(CASE WHEN W_AR_XACT_F.ACCOUNTING_DT_WID=0
THEN
W_AR_XACT_F.POSTED_ON_DT_WID
ELSE
W_AR_XACT_F.ACCOUNTING_DT_WID END)=W_DAY_D.ROW_WID
4) Apply and Save the Interface Delete the scenario associated
with the original, out-of-the-box task and generate a new scenario for the
custom task using the same scenario name as the original. ODI enforces unique
scenario names and we want to use the same scenario name for the custom task so
that the load plan executes this ETL task rather than the out-of-the-box ETL
task.
Delete the out-of-the-box scenario:
Delete the out-of-the-box scenario:
- Navigate to the out-of-the-box Task folder - Packages - <Package Name> - Scenarios - <Scenario Name>
- Make a note of the Scenario Name (you can double click and use CTRL-C to copy the scenario name)
- Right click the scenario and select 'Delete'
i) Before regenerating the scenario, go to the original task folder PLP_ARIncrementalActivityLoad in the OOTB mapping folder (e.g. PLP), delete the existing OOTB scenario (e.g. PLP_PLP_ARINCREMENTALACTIVITYLOAD).
Generate a scenario for the custom task:
- Navigate to the custom Task folder - Packages - <Package Name>
- Right click the package and select 'Generate Scenario'
- Use the original, out-of-the-box scenario name (CTRL-V to paste the name if you copied it previously)
- Check the 'Generate scenario as if all underlying objects are materialized' box
- Click 'OK'
- Select 'Use All' from the 'Startup Parameters' drop down box
- Click 'OK'
ii) Go back to the modified PLP_ARIncrementalActivityLoad in the custom folder, go to Packages and generate the scenario using the option to generate the scenario as if all underlying objects are materialized. Rename the scenario name to use the original out of box scenario name. For example, PLP_PLP_ARINCREMENTALACTIVITYLOAD for PLP.
In the future if you make changes to any of the interfaces or the package, you can either regenerate the existing scenario or generate a new scenario. Unless you need separate scenarios, it is recommended that you regenerate the existing scenario. To do this, right-click the scenario and select Regenerate.
Along with the above changes add the below HINT1: Hardcode HINT1 value in the Load Plan component
For AR:
FULL=/*+ USE_HASH( W_AR_XACT_F W_GL_ACCOUNT_D)*/
But before doing this they have to follow the below instructions:
Instructions:
In the CUSTOM folder:
1) Go to the Flow tab of the yellow interface:PLP_ARIncrementalActivityLoad%
2) Navigate to properties of the IKM.Go to OBI_HINT_NESTED and add #HINT1 in expression editor.Save
3) Regenerate the scenario.
4) Select #HINT1 when the checkbox shows up during scenario regeneration.
5) Now go to the Load Plan component and pass the HINT1 value as mentioned above.
No comments:
Post a Comment