APPLIES TO:
Oracle Concurrent Processing - Version 11.5.0 to 12.2.5 [Release 11.5 to 12.2]Oracle Application Object Library - Version 12.1.3 to 12.1.3 [Release 12.1]
Oracle Concurrent Processing - Version 12.2.6 to 12.2.6 [Release 12.2]
Information in this document applies to any platform.
PURPOSE
Provide the best practices to achieve better performance for concurrent manager in Oracle E-Business Suite.
Please also visit the Concurrent Processing Product Information Center (Note 1304305.1) for the latest in CP recommendations and solutions.
SCOPE
Applications DBAs, System Administrators involved in configuration and administration of Oracle E-Business Suite.
DETAILS
Best Practices for Performance for Concurrent Managers in E-Business Suite
This Document contains 5 topics
1. Generic Tips
2. Transaction Manager (TM).
3. Parallel Concurrent Processing (PCP) Environment.
4. Tuning Output Post Processor (OPP).
5. Concurrent Processing Server Tuning.
Tip: During peak time, when the number of requests submitted is expected to be high, Set the sleep time to a reasonable wait time(e.g. 30 seconds) dependent on the average run time and to prevent backlog. Otherwise set the sleep time to a high number (e.g. 2 minutes). This avoids constant polls to check for new requests.
For example, if a manager's work shift has 1 target process and a cache value of 3, it will read three requests, and try to run those three requests before reading any new requests
This is only guidance and a balance needs to struck in tuning the cache, so with fast jobs you need to cache to get enough work for a few minutes. With slow jobs, a small queue helps should you need to reprioritize requests.
4) To maximize throughput consider reducing the sleep time of the Conflict Resolution Manager (CRM). The default value is 60 seconds. You can consider setting to 5 or 10 seconds.
5) Avoid enabling an excessive number of standard or specialized managers. It can degrade the performance due polling on queue tables (FND_CONCURRENT_REQUESTS...). You need to create specialized managers only if there is a real need.
6) Set the system profile option "Concurrent: Force Local Output File Mode" to "Yes" if required . You need to apply Patch 7530490 for R12 (or) Patch 7834670 for 11i to get this profile.
Refer to Note 822368.1 - 'Purge Concurrent Request FNDCPPUR Does Not Delete Files From File System or Slow performance'.
Note:- The profile option "Concurrent: Force Local Output File Mode" is set to "No" by default. After applying the patch, set the profile option to YES will cause FNDCPPUR to always access files on the local file system, hence FNDCPPUR will remove the OS files faster.To enable this feature, All Concurrent Manager nodes must be able to access the output file location via the local filesystem.
7) Truncate the reports.log file in log directory. Refer to Note 844976.1 for more details.
Truncation of file "reports.log" is a regular maintenance work of Application DBA. Make sure that reports log file size should not increase to its maximum limit of 2 GB. There is no purge program to truncate file "reports.log". This maintenance needs to be done manually and regularly depending on number of concurrent program which uses "reports.log". You can safely truncate "reports.log".
The "reports.log" file can be located under $APPLCSF/$APPLLOG.
- Run the job in hours with low workload. Doing this after hours will lessen the contention on the tables from running against your daily processing.
- To get the requests under control, run the FNDCPPUR program with Age=20 or Age=18 would be a good method. That means, all requests older than 18 or 20 days will be purged.
- Once the requests are under control, run the FNDCPPUR program with Age=7 to maintain an efficient process. This would solely depend on the level of processing that is performed at your site
In the event that it does not remove the log/out files, over a period of time it will slow down the performance. Please refer to the following note which suggests the patch which fixes it.
- Note 822368.1 - 'Purge Concurrent Request FNDCPPUR Does Not Delete Files From File System or Slow performance'.
- Note 1616827.1 Managing Concurrent Manager Log and Out Directories
- FND_CONCURRENT_REQUESTS
- FND_CONCURRENT_PROCESSES
- FND_CRM_HISTORY
- FND_ENV_CONTEXT
- FND_TEMP_FILES
- FND_CONFLICTS_DOMAIN
HOW TO DEFRAGMENT
10.1) alter table <owner>.<table_name> move;
10.2)Note that, some indexes might become unusable after table is moved, check the index status from dba_indexes for the table moved and rebuild them too as explained in next bullet.
select owner, index_name, status from dba_indexes
where table_owner = upper('&OWNER') and
table_name = upper('&SEGMENT_NAME');
10.3) alter index <owner>.<index_name> rebuild online;
Note:
Ensure Concurrent Manager is down before you defragment.
Ensure the tablespace in which the object currently exists has got sufficient space before you move/defragment.
Always take backup of the tables before moving the data. It is recommended to perform ths action on Test instance initially then test it thoroughly before performing it on Production instance.
10.4) You will need to re-collect the statistics for the tables.
For example:
exec fnd_stats.gather_table_stats ('APPLSYS','FND_CONCURRENT_REQUESTS',PERCENT=>99);
Performance
- Note 1615981.1 - Java Concurrent Managers Are Running Slower In Newer Servers Due To Lack Of Entropy In The System
- Note 1075684.1 - 'Concurrent Managers are consuming high CPU and memory'
- Note 1492893.1 - 'R12: Performance Issue When Standard Managers Waiting for "enq: TX - row lock contention" Held By ICM'
- Note 1360118.1 - 'Performance: Concurrent Requests Hang in Pending Status For Long Time'
- Note 1541526.1 - 'Performance: Concurrent Requests Hang in Pending Standby Status For Long Time'
- Patch 10065439 When multiple JVMs run as in Concurrent Program can affect the performance
Dead Lock
- Note 1060736.1 - 'Deadlock Error During Concurrent Request Termination'
- Note 866298.1 - 'Concurrent Processing - ORA-00060: Deadlock Detected - UPDATE FND_CONCURRENT_QUEUES'
Availablity
- Note 1604300.1 Concurrent Manager FNDCRM Down / Crashed All Scheduled Concurrent Programs Are Stuck Pending/Scheduled Pending/Standby
- Note 1577982.1 Concurrent Manager FNDSM intermittently Crashes / Shutting Down Abnormally When a Concurrent Request is Cancelled
- Note 1567057.1 Request Submitted By Custom Responsibility Associated With Custom Data Group Causes FNDLIBR To Coredump
- Note 1506643.1 Concurrent Manager Crashes FNDLIBR or INVLIBR Core dumps Continuously and get Terminated
- Note 1601174.1 Concurrent Manager Standard Manager Crashes / Terminated ; FNDLIBR Segfault In Operating System Log
- Note 1457414.1 Faulting application FNDLIBR.exe, version 0.0.0.0, faulting module oranls10.dll
- Note 1542216.1 Concurrent Requests fail Due to FNDSM Log File Size Grows 2 GB ; SQL*Loader-101: Invalid Argument for username/password
- Note 1413393.1 12.1.3 PO Document Approval Manager (POXCON), Receiving Transaction Manager (RCVOLTM) and INV Remote Procedure Manager (INCTM) Do Not Start / Die After Restart
Latest Performance Patches (RDBMS)
- RDBMS Patches Patch 20355502 (OR) Patch 22521733 should be applied based on the RDBMS version to resolve issues with fnd_concurrent_worker_requests view and/or screen FNDCPVCM Administer Concurrent Manager
- Reference Note 2106106.1 - 12.2 E-Business Suite Conflict Resolution Concurrent Manager Not Picking Up Requests Due To FND_CONCURRENT_CRM_REQUESTS View Performance Issue (Doc ID 2106106.1)
Transaction Manager(TM)
12 ) Profile Concurrent:Wait for Available TM - Total time to wait for a TM before switchover to next available TM. Consider setting this to 1 (second).
13) Ensure enough TMs exist to service the incoming request load.
14) When the load is high, set the following profile to optimum values to achieve better results.
PO: Approval Timeout Value - Total time for workflow call (When initiated from Forms) to time out.
15) Set the sleep time on the Transaction Manager to a high number (e.g. 10 minutes), this avoids constant polls to check for shutdown requests.
Parallel Concurrent Processing (PCP) Environment
- Kernel parameters (Find the analogous parameter for your platform)
tcp_keepalive_intvl
tcp_keepalive_probes
tcp_keepalive_time ( Do not set this value to low; since it will then use up your network resources with unnecessary traffic)
- DCD (Dead connection detection); To setup update sqlnet.ora from the Database Tier.
sqlnet.expire_time
- Set the environment Variable at Concurrent Manager Tier.
FDCPTRW
- Check PMON Cycle & Sleep Intervals for ICM (internal Concurrent Manager) setup.
Navigation OAM -> SiteMap -> Monitoring -> Internal Concurrent Manager Link(Under Availability) -> "View Status" -> "Edit ICM Runtime Parameters"
- Tune Failover Processes.
In the case of node failover, the maximum number of processes that the work shift can run simultaneously.
Nodes can become overloaded when a middle-tier node fails and service instances on that node failover to their secondary nodes. The Failover Processes value should be smaller than the normal Processes value, to lessen the impact on the existing resources allocated on a secondary node. When failover occurs, the ICM uses the Failover Processes value in place of the normal running processes value as it iterates through service instances to perform queue sizing.
Navigation System Administration > Concurrent Managers > Standard Manager > Edit > Failover Processes
System Administration > Concurrent Managers > Output Post Processor > Edit > Failover Processes
- Enable Reviver.
What is FNDREVIVER and How Is It Set? Note 466752.1
- Ensure Internal Monitor is up and running on all the PCP Nodes. Ensure it has a valid workshift.
Concurrent > Manager > Define > Query "Internal Monitor" > workshift
Note:- The sole job of an Internal Monitor Process is to monitor the Internal Concurrent Manager and to restart that manager should it fail. The first Internal Monitor Process to detect that the Internal Concurrent Manager has failed restarts that manager on its own node.
NOTE: Multiple active managers are capable of processing the same jobs and can be defined to run at the same time.
How To Run a Concurrent Program Against a Specific RAC Instance with PCP/RAC Setup? (Note 1129203.1)
How to Activate Parallel Concurrent Processing - Background Facts and Setup Steps (Note 602899.1)
Tuning Output Post Processor (OPP)
In order to tune the OPP to improve performance refer the below Note. It discusses How to monitor the workload of OPP and Suggests you how to tune Output Post Processor (OPP) to improve performance and avoid java.lang.OutOfMemoryError exception.
Note 1399454.1 - 'Tuning Output Post Processor (OPP) to Improve Performance'.
Concurrent Processing Server Tuning
1. Any Concurrent Processing (CP) server tuning or load balancing needs are to be addressed by Oracle Consulting. There are way too many site specific factors that needs to be considered for optimum CP throughput: from machine hardware, to user request volume, to required Work Shifts, to programs run time characteristics (long / short running)--not to mention also testing and benchmarking. Such a tasks, is beyond the scope of ATG Support.ATG support would be glad to investigate a failing manager or program issue; however, CP performance issues due to increased concurrent request volume or due to a new installation needs to be addressed by Oracle Consulting.
2. The "Tuning Concurrent Processing" chapter of the white paper "A Holistic Approach To Performance Tuning Oracle Applications Systems Release 11 and 11i" Note 69565.1 may provide some basic insight. Also reference the "Defining Concurrent Managers" and the "Setting Up and Starting Concurrent Managers" chapters of the "Oracle Applications System Administrator's Guide - Configuration".
3. As per Note 69565.1 "A Holistic Approach to Performance Tuning Oracle Applications Systems", "50% of concurrent processing performance tuning is in the business!"
4. Visit the Concurrent Processing Product Information Center (PIC) Note 1304305.1 for additional performance and setup documentation.
Information Center, Diagnostics, & Community
- E-Business Concurrent Processing Information Center Note 1304305.1
Please reference this document regularly to review current offerings for Concurrent Processing needs. Diagnostics
Note 179661.1 for 11i or Note 421245.1 for Rel 12.x
For additional help, please refer to one of the following documents on diagnostics to address current needs. Providing diagnostic output on an issue for support when logging a service request is very helpful.
Core Concurrent Processing Community
Visit the Core Concurrent Processing community for help from industry experts or to share knowledge.
REFERENCES
NOTE:1360118.1 - Performance: Concurrent Requests Hang in Pending Status For Long TimeNOTE:1060736.1 - Deadlock Error During Concurrent Request Termination
NOTE:1492893.1 - Performance Issue When Standard Managers Waiting for "enq: TX - row lock contention" Held By ICM
NOTE:866298.1 - Concurrent Processing - ORA-00060: Deadlock Detected - UPDATE FND_CONCURRENT_QUEUES
NOTE:1399454.1 - Tuning Output Post Processor (OPP) to Improve Performance
NOTE:1616827.1 - Managing Concurrent Manager Log and Out Directories
NOTE:844976.1 - Concurrent Processing - Concurrent Reports Failing With Errors REP-0004,REP-0082 and REP-0104
NOTE:466752.1 - Concurrent Processing - What is FNDREVIVER and How Is It Set?
NOTE:551895.1 - Concurrent Processing - Failover Of Concurrent Manager Processes Takes More than 30 Minutes
NOTE:1389261.1 - PCP Concurrent Manager Failover/Failback Does Not Work When Application Listener is Down On Primary Node
NOTE:822368.1 - Concurrent Processing - How To Run the Purge Concurrent Request FNDCPPUR, Which Tables Are Purged, And Known Issues Like Files Are Not Deleted From File System
NOTE:104452.1 - Concurrent Processing - Troubleshooting Concurrent Manager Issues (Unix specific)
NOTE:1060707.1 - Purge Concurrent Requests/Manager Data, FNDCPPUR, Not Removing Files From Filesystem
NOTE:1075684.1 - Concurrent Managers are consuming high CPU and memory
NOTE:1615981.1 - Java Programs Are Running Slower In Newer Servers Due To Lack Of Entropy In The System
No comments:
Post a Comment