35

© 2009 Oracle Corporation – Proprietary and Confidential

Embed Size (px)

Citation preview

1© 2009 Oracle Corporation – Proprietary and Confidential

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

29© 2009 Oracle Corporation – Proprietary and Confidential

D E M O N S T R A T I O N

30

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

[email protected].

Feedback

35© 2010 Oracle Corporation – Proprietary and Confidential

THANK YOU