Upload
khangminh22
View
0
Download
0
Embed Size (px)
Citation preview
2© 2009 Oracle Corporation – Proprietary and Confidential
Day, Date, 2004time p.m. ET
Teleconference Access:North America: xxxxInternational: xxxxPassword: Advisor
Wed, October 6, 201011:00 am ET / 9:00 am MT / 8:00 am PT
North America:
(866)627-3315
International:
+1-706-679-4880Doc Id: 1148600.1
Conference ID: 81945800
Upcoming Demantra Solutions Community Webcasts:Nov 3, 2010: Planned, Siebel Demantra Integration
Dec 1, 2010: Demantra Hardware Sizing
Jan 5, 2011: TBA
Feb 2, 2011: Worksheet Design and Best Practices
For complete details on Demantra Solution Webcast Events, please see Note 800030.1.
For complete details on All Other upcoming Oracle Advisor Webcast Events, please Note 398884.1.
Do you have any requests for future Demantra Solutions Advisor Webcast Events? Please email your suggestions to [email protected], subject: Topics of Interest.
Demantra Performance Best Practices and Performance Solutions
3© 2010 Oracle Corporation – Proprietary and Confidential
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Safe Harbor Statement
<Insert Picture Here>
Demantra Performance Best Practices and Performance SolutionsJeff Goulette, Oracle Principal Technical Support EngineerCenter of Expertise
5© 2010 Oracle Corporation – Proprietary and Confidential
SR Template Master Doc IDDoc 1203175.1
WorksheetDoc 1201743.1
Data Load
into StagingDoc TBD
Data Load into
Demantra Schema
– EPLOADDoc TBD
Demantra Database Objects
Doc 1203035.1
Parameter ConfigurationDoc ID 1201774.1
General DiscussionDoc 1157173.1
- Sponsored by DEV
Caching Doc ID 871392.1
Java Memory Client Server Doc 1201833.1
Partitions Doc 137293.1
Statistics Info Doc TDB
Reorder TableDoc 1085012.1
Reorder Table
Doc 1085012.1
Demantra SR Performance Template Resolution Flow
Client Server Doc ID TBD
6© 2010 Oracle Corporation – Proprietary and Confidential
Demantra SR Performance Template Information Flow – Worksheet
1. First, the client side memory should be configured appropriately. If this is a large worksheet then by all means the Java Console configuration must match the required memory. I would start there.
2. Second, review the amount of data being loaded by the worksheet, the amount of combinations loaded, the structure of the crosstab can be modified, the series which are included in the worksheet, the amount of views presented for the worksheet on screen and any options for further filtering of the worksheet.
3. How many cells are in the crosstab? Sample configuration:
• If the worksheet has 1487 combinations and all are in the crosstab. There are 13 visible series in the worksheet, so assume there are at least 20 series overall, including hidden.
• 20 series x 52 buckets x 1487 cominations = 1,546,480
• cells in the crosstab. That is a large number. This worksheet is big in terms of memory consumption, network traffic and since all combinations are included in the crosstab it would be slow.
7© 2010 Oracle Corporation – Proprietary and Confidential
For supporting document please see document 1201743.1.
1) How many levels is the worksheet in question?
2) Are you displaying levels in the page item section of the worksheet? If not, please explain.
3) Are the worksheet level in order of the hierarchy top-to-bottom? If not, please explain.
4) Have you implemented an index on mdp_matrix? If so, did you analyze the impact using trace with explain plan?
5) Are you using 'open with' functionality in the worksheet? ** Add explanation to 1201743.1
6) Are you using General Level worksheets? If so, is ApprovalProcessScope set to 1?
7) Have you implemented "Program Permissions” to prevent worksheet manipulation?
8) Have you disabled the summary lines in the problematic worksheet?
9) How many cells are in the crosstab?
10) How often are the logs cleaned using clean_log_tables? DEV recommendation: Weekly.
Demantra SR Performance Template Information Flow - Worksheet
8© 2010 Oracle Corporation – Proprietary and Confidential
11) Are you running audit trail?
12) are you using custom levels?
13) Have you manipulated any hierarchy?
14) Are you using worksheet caching? Please see <document > for detailed explanation.
15) Are you using filters?
16) Would you like details concerning the following Java memory questions? <document 1201833.1>
On the workstation, please provide the following:
- Java Console log when running out of memory.
- A screenshot of the Java Console screen where the -Xmx is configured.
- The memory settings (-Xmx).
- What is the version of JRE?
17) Please provide the servlet raw data:
The servlet will return the raw data as it is returned by the Application Server before manipulation by the client.
Demantra SR Performance Template Information Flow – Worksheet cont
9© 2010 Oracle Corporation – Proprietary and Confidential
For supporting document please see document Oracle Demantra Documentation Library Document ID 443969.1. Then click on Oracle Demantra Implementation Guide Release 7.3 Part No. E05136-10
See also New Parameters for Demantra - Release 7.1.1.2 and 7.2.0.3 Document ID 793039.1
1) Are the Demantra objects created with large extents including an initial extent that should contain all of the data from a typical load?
2) Do you have data collection trace files with explain plan from the source while collections is running? If so, is there evidence of full table scans?
3) Do you have an AWR produced at the source while collections is running? We do not want to neglect IO stats at the source.
4) Do you have the Demantra temporary segments in a separate tablespace that was created with nologging?
Example of source selects when running the load:
1. select count(*) from MSD_DEM_PRL_FROM_SOURCE_V ;
2. select distinct price_list_name from MSD_DEM_PRL_FROM_SOURCE_V ;
3. select text from all_views where view_name like
'MSD_DEM_PRL_FROM_SOURCE_V' ;
Demantra SR Performance Template Information Flow – Data Load
10© 2010 Oracle Corporation – Proprietary and Confidential
Oracle Demantra Documentation Library Document ID 443969.1, Oracle® Demantra Implementation Guide Release 7.3 Part No. E05136-10
Ep_Load_Mdp_LevelUseParallelDML
Description If you run DML statements, any objects with a parallel degree configured will be run in parallel.Individual parallel hints setting will supersede this setting.
Values TRUE - LOAD_MDP_LEVEL should use PARALLEL DML on objects that are set as parallel.
FALSE - LOAD_MDP_LEVEL should not use PARALLEL DML on objects that are set as parallel.
Default Value FALSE
See Also
Ep_Load_Mdp_LevelUseParallel
Ep_Load_Mdp_LevelUseOneCommit
Ep_Load_Mdp_LevelSetProp_Changes
Plus More
Demantra SR Performance Template Information Flow – Data Load
11© 2010 Oracle Corporation – Proprietary and Confidential
EP_LOAD_ITEMS
The EP_LOAD_ITEMS procedure is the main method by which items are loaded into Demantra internal tables. The procedure validates item hierarchy compliance and uploads all item dimension information into internal tables.
Ep_Load_ItemsUseParallelDML
Description If you run DML statements, any objects with a parallel degree configured will be run in
parallel. Individual parallel hints setting will supersede this setting.
Values
Default Value FALSE
See Also
Ep_Load_ItemsUseParallel
Ep_Load_ItemsUseOneCommit
DBHintEp_Load_ItemsMergeMDP
Ep_Load_ItemsDisableEnableMDPIndexes
Plus More
Demantra SR Performance Template Information Flow – Data Load
12© 2010 Oracle Corporation – Proprietary and Confidential
EP_LOAD_LOCATIONS
The EP_LOAD_LOCATIONS procedure is the main method by which locations are loaded into Demantra internal tables. The procedure validates location hierarchy compliance and uploads all Location Dimension information into internal tables
Ep_Load_LocationsUseParallelDML
Description If you run DML statements, any objects with a parallel degree configured will be run in
parallel. Individual parallel hints setting will supersede this setting.
Values
TRUE - EP_LOAD_LOCATIONS should use PARALLEL DML on objects that are set as parallel.
FALSE - EP_LOAD_LOCATIONS should not use PARALLEL DML on objects that are set as parallel.
Default Value FALSE
See Also
Ep_Load_LocationsUseParallel
Ep_Load_LocationsUseOneCommit
DBHintEp_Load_LocationsMergeMDP
Plus more
Demantra SR Performance Template Information Flow – Data Load
13© 2010 Oracle Corporation – Proprietary and Confidential
EP_LOAD_SALES
•The EP_LOAD_SALES procedure loads lowest level time-dependant information into the Demantra SALES_DATA table. This information includes historical data as well as other time-varying information such as price, booking, and shipments.
DBHintEp_Load_SalesUseParallelDML
Description If you run DML statements, any objects with a parallel degree configured will be run in
parallel.Individual parallel hints setting will supersede this setting.
Values TRUE - LOAD_MDP_LEVEL will use PARALLEL DML on objects that are set as parallel.
FALSE - LOAD_MDP_LEVEL will not use PARALLEL DML on objects that are set as parallel.
Default Value FALSE
See Also
DBHintEp_Load_SalesUseParallel
DBHintEp_Load_SalesInsertErr
DBHintEp_Load_SalesInsertLd
Plus More
Demantra SR Performance Template Information Flow – Data Load
14© 2010 Oracle Corporation – Proprietary and Confidential
MDP_ADD
•The MDP_ADD procedure is the main method by which Item/Location combinations are created in Demantra.
•Combinations are created and maintained based on Item/Location combinations existing in the SALES_DATA table.
•MDP_ADD also populates and maintains hierarchy information which is stored on MDP_MATRIX and executes the PROPORT procedure.
There are many procedures available. See also
Mdp_AddUpdateIs_Linked
Mdp_AddDeleteUnlinkedMdp_Matrix
DBHintMdp_AddUseParallelDML
Plus More
Demantra SR Performance Template Information Flow – Data Load
15© 2010 Oracle Corporation – Proprietary and Confidential
For supporting document please see document 137293.1
1) Are you using partitioning? If not, please supply the row counts for the following objects:
a) SALES_DATA
b) MDP_MATRIX
c) PROMOTION_DATA
d) T_EP_ITEMS
e) T_EP_EBS_CPN_CODE
f) T_DP_SITE
g) T_DP_ORGANIZATION
2) See example of a hot tablespace from the AWR report.
Demantra SR Performance Template Information Flow – Partitions
16© 2010 Oracle Corporation – Proprietary and Confidential
1) Set larger percent increase.
2) Increase the throughput by experimenting with PGA SGA sizes.
3) Use more database buffers to reduce the need for Disk I/O.
4) Organize objects that are heavily accesses such that they are on separate disks.
5) Separate indexes from tables, place into different tablespaces and split these tablespaces onto different disks.
6) Stripe heavily accessed objects over multiple disks.
7) Separate redo logs onto a lightly loaded disk drive.
**Note: Raid 5 based disks are NOT a good location for redo logs!**
8) Place rollback segments in to separate tablespaces and then by the listing order in the init.ora interleaf the access between the two tablespaces.
9) Use the Explain plan utility to check the most common SQL statements that are used. From this it may be possible to utilize indexes that will prevent sorting and hence reduce I/O to the temporary tablespace.
10) Add partitioning.
Demantra SR Performance Template Information Flow – Partitions
17© 2010 Oracle Corporation – Proprietary and Confidential
Demantra SR Performance Template Information Flow – Partitions
TS1 TS5TS4TS3TS2
TableA P1 TableA P5TableA P4TableA P3TableA P2
Tablespaces
Partitions
Disks
Disk 1 Disk 2 Disk 3 Disk 4 Disk 5
Disk Array
18© 2010 Oracle Corporation – Proprietary and Confidential
Hardware Additional Ideas
The hardware can be made more scalable by:
1) Converting to solid state disks
2) Increasing Server memory
3) Increasing the Java memory on the workstation and Application Server
4) Adding raid. For example, minimum 8 disks at RAID level 5 should work very well.
5) Increase CPU threading. Adjust Demantra to utilize as many threads as possible, within performance tolerance ranges.
6) Install the SAN/Net application storage systems. The CoE recommends at least 8-10 disks and possibly more depending on your I/O needs. We are trying to prevent I/O bottlenecks.
Demantra SR Performance Template Information Flow – Hardware
19© 2010 Oracle Corporation – Proprietary and Confidential
Would you like details concerning the following database questions? <document 1203035.1>
5) When was the last analyze performed?
6) What is your chosen analyze method?
7) Are you using Oracle SYSTEM_STATS?
8) What is the cursor_sharing setting?
9) What is the buffer hit ratio while running Demantra?
10) Do you have the Demantra temporary segments in a separate tablespace that was created with nologging?
11) On 11g? What is the setting of the following 2 parameters?
* OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES, * OPTIMIZER_USE_SQL_PLAN_BASELINES
12) What is the percent free of the major Demantra objects?
13) How many disks are allocated exclusively to Demantra?
Statistics Questions. Please provide the following for your top 5 large Demantra tables.
14) Fragmentation %
15) Order Sequence ratio
16) Chained Row count
Demantra SR Performance Template Information Flow – Database Objects
20© 2010 Oracle Corporation – Proprietary and Confidential
•The following client server attributes have an impact on the worksheet performance.•It has been observed that use of newer versions of JRE improves performance. 1.6.x or 1.5.x demonstrates improved performance over 1.4.x. •It is suggested that the maximum JRE heap size parameter be set greater than 64k (default) by setting the -Xmx parameter. Setting this parameter prevents the Java out of memory error and could improve performance. •All of the Client Machine’s JRE heap size parameter can be set to a default common value by following the steps outlined below:Set the parameter CLIENT.JREMAXMEMORY to the desired setting in the appserver.properties file
Once this is set up, each of the client machines JRE heap size parameter can be adjusted to the above setting by visiting this page from the client machine one time. http://<web_root_url>/portal/configureEnv.jsp (web_root_url is the root url for a given deployment)
Java, Set the -Xmx parameter via the Java control panel. This will increase available memory used to load the worksheet. One can use the Java console commands:
'm' - Prints Total memory and Free memory. total - free = usage. 'g' - Asks the JVM to garbage collect (equivalent to System.gc() call). This is only a suggestion to the JVM, butmit is usually performed. It also prints the same data as 'm' after the collection completes Windows Performance Monitor.
If you want to know which parameters are currently configured you can press 's' in the Java console, and look up these parameters. So in order to check the current memory of the client application: press 'g' 3 times, in order to make sure a full garbage collection did occur. Then calculate Total Memory - Free Memory = Used Memory. The actual memory consumption percentage is thus: (Used Memory / MAX Memory)*100
Note: Sometimes Plug-in Console Window is not accessible from the System Tray. In such a case it is possible to view the plug-in log file directly. Go to $USER_HOME/Application Data/Sun/Java/Deployment/log directory and open pluginXXX_XX.trace file that matches your Java version.
Demantra SR Performance Template Information Flow – Client Server
21© 2010 Oracle Corporation – Proprietary and Confidential
Application ServerAn ample amount of memory is recommended for growth. There are parameters and 3rd party versions to control performance.
There are multiple parameters in the application server property files which need to be reviewed but the following are extremely important as they are very much dependent on the customer environment.– threadpool.query_run.per_user– threadpool.query_run.size– worksheet.full.load– client.worksheet.calcSummaryExpression
For a detailed explanation of Application Server parameters:See document Oracle Demantra Documentation Library Document ID 443969.1. Then click on Oracle Demantra Implementation Guide Release 7.3 Part No. E05136-10
Demantra SR Performance Template Information Flow – Client Server
22© 2010 Oracle Corporation – Proprietary and Confidential
Demantra SR Performance Template Information Flow – Client Server
Configuring the Oracle Demantra Web Platform ServerYou may need to adjust the settings of parameters used by the Web Platform Server. Parameter Recommended Setting and Notes MaxDBConnnections Number of concurrent users multiplied by 2 DBIdleTimeOut 300000 (5 minutes)
This setting frees up unused database connections more quickly, because they overstress the database.
threadpool.update_data Use a size that is less than MaxDBConnections and that also leaves space for other system processes
threadpool.level_method.size Use a size that is less than MaxDBConnections and that also leaves space for other system processes
threadpood.copy_paste.size Use a size that is less than MaxDBConnections and that also leaves space for other system processes
threadpool.query_run.size Use a size that is less than MaxDBConnections and that also leaves space for other system processes
threadpool.level_method.timeout 300000 (5 minutes) This setting frees up unused threads.To edit these parameters, use the Business Modeler. See Oracle Demantra Implementation Guide.
23© 2010 Oracle Corporation – Proprietary and Confidential
Application Server Sample for Large ImplementationThe following changes were made to the model: 1. threadpool.query_run.per_user=16 (seems optimal to their environment and yields the fastest response time for paged worksheets) 2. worksheet.full.load=1 (used when using cross tab worksheets) 3. client.worksheet.calcSummaryExpressions=0
Demantra SR Performance Template Information Flow – Client Server
24© 2010 Oracle Corporation – Proprietary and Confidential
Application ServerAps paramsclient.uilimitations.maxcombs.ws : 100000client.uilimitations.maxcells.ws : 400000client.uilimitations.maxcells : 400000worksheet.data.comb.block_size : 1 (was upped to 20 but brought back to 1)client.worksheet.calcSummaryExpressions : 0threadpool.query_run.size : 200threadpool.query_run.timeout : 1200000threadpool.query_run.per_user : 20threadpool.update.timeout : 1200000MaxDBConnections : 400
sys paramsThreadMode : TRUEApprovalProcessScope : 1
We also set up the worksheet to cache with context. The caching helps open the worksheet sooner.
Demantra SR Performance Template Information Flow – Client Server
25© 2010 Oracle Corporation – Proprietary and Confidential
Would you like details concerning the following parameters questions? <document 1201774.1>
Please provide the values of the following parameters:
1) threadpool.query_run.per_user
2) threadpool.query_run.size
3) worksheet.data.comb.block_size
4) client.worksheet.calcSummaryExpressions
5) ApprovalProcessScope
6) What is your MaxAvailableFilterMembers
7) What is the setting of threadpool.query_run.per_user?
8) Are you using cross tabs? What is the setting of worksheet.full.load?
Demantra SR Performance Template Information Flow – Parameters
26© 2010 Oracle Corporation – Proprietary and Confidential
• Enable Incremental Load• Extend EP_LOAD_PROCESS to run in parallel modeOracle Demantra Documentation Library Document ID 443969.1
Oracle® DemantraImplementation GuideRelease 7.3Part No. E05136-10
Demantra SR Performance Template Information Flow – Data Load
27© 2010 Oracle Corporation – Proprietary and Confidential
• Demantra Performance Overview and Recommendations High Impact Discussion Points Document 1162795.1.
1. Solid State Disks dramatically improve I/O performance. The following two mount points were tested:- SALES_DATA, MDP_MATRIX, SALES_PROMOTION, etc. Large tables, partitions, local indexes and indexes- Redo logs, TEMP tablespace, undo tablespace2. Run worksheets with multiple CPUs in parallel.- Multiple processor threads.- Generally indexes should have a degree of 1. This will avoid unexpected CBO behavior.- Set SALES_DATA and perhaps MDP_MATRIX to a degree of 8. This will increase CPU utilization when running the worksheet. - If the SALES_DATA table is set to a parallel degree of 8, 8 processes will execute the parallel query.
3. Partitioning improves performance. Partitioning reduces physical reads by using partition pruning for SELECT statements. Partitioning also allows for parallel updates. If an update involves multiple partitions parallel execution is enabled. I would start with monthly partitions and progress to weekly if needed on SALES_DATA.
MDP_MATRIX can be partitioned in any manner you prefer. I have seen 300 locations per partition.
4. Changing multiblock_read_count from 8 to 32, as recommended, will result in faster I/O during full object scans.
5. Load Programs Performance.alter session enable parallel_dml;Loads that cross partitions will cause normal update statements to work in parallel.
6. Oracle Memory Allocation.This should be tested at 70% SGA / 30% PGA and again with 60% SGA / 40% PGA. The point is to allow the SGA to store program code in the PGA and data blocks in the buffer.
7. Reorganizing Large Tables.Large tables most likely require a soundness check. Performance can be enhanced by ordering SALES_DATA, MDP_MATRIX,PROMOTION_DATA, etc. See Reordering Columns in Oracle For Demantra Performance <document 1085012.1>
Demantra SR Performance Template Information Flow
<Insert Picture Here>
The EBS-Demantra Integration: Installation, Overview, and DiagramErick Evans, Oracle Principal Technical Support Engineer Jeff Goulette, Oracle Principal Technical Support Engineer
31© 2009 Oracle Corporation – Proprietary and Confidential
Collaborate with a large network of your industry peers, support professionals, and Oracle experts to exchange information, ask questions & get answers. Find out how your peers are using Oracle technologies and services to better meet their support and business needs.
• Exchange Knowledge
• Resolve Issues
• Gain Expertise
Visit My Oracle Communities
Visit the Demantra Solutions Support Community now!!
1. Log into My Oracle Support.
2. Select the Community link.
3. Select the Enter Here button.
4. Select the Demantra Solutions link under the E-Business Suite section of the My Communities Menu on the left side of the window.
32© 2009 Oracle Corporation – Proprietary and Confidential
Demantra Solutions Advisor Webcast Calendar (Note:800030.1)
33© 2009 Oracle Corporation – Proprietary and Confidential
Demand Management Product Information Center (Doc Id 1157065.1)
• A Product Information Center (PIC) is a one-stop shop providing customers with links to the important support information that they need.
• Proactively delivers breaking news and current information
• Information is collected in one location
• Support’s most recommended docs
• Maintained frequently by top Support engineers
• Product specific
• Check Out Doc Id 1157065.1
34© 2009 Oracle Corporation – Proprietary and Confidential
Please let us know how we are doing by providing the following:
1. Based on the webcast description, how did your learning experience compare to what you expected when you began the webcast?
2. Would you recommend the recording for this webcast to your colleagues?
3. What topics specifically would you like to see covered in the Demantra Solutions Webcasts?
4. Will you attend future Advisor Webcasts?
Email your feedback to
• [email protected] or
Feedback