Monday, 24 June 2013

Concurrent Program and Concurrent Manager


There are  many programs are running while we start the oracle Application from the back ground and these programs are help to make our Apps up and running for 24 hours and make our work .

Concurrent Programs are the main programs that are running behind the scene in the Oracle Apps and try to make the things simple for the end users.

Concurrent Manager are the simple executable files which are used to do a specific task for example posting a journal entry and generating the reports.

and all these concurrent programs are mainly handles by the concurrent manager.

What is Concurrent Manager?

Concurrent Manager it self is a concurrent program which handles all other concurrent program.

The concurrent managers in the Oracle e-Business suite serve several important administrative functions. 

In a same time users are sending so many request to oracle Apps to access their demand and think if there is no manager  present then  who will going to handle and process all these request and the oracle apps become overwhelmed with the request set.

NOTE: The above request send by the user to the Oracle Apps are called the concurrent request.

Concurrent request are the parallel request send by the user to process a task . And mainly these request are handled by the concurrent manager.

In Oracle Application a user can do two types of activities 1. Online Transaction transfer (OLTP)and 2. batch processing


The concurrent managers ensure that the applications are not overwhelmed with requests, and the second areas of functions are the management of batch processing and report generation. 

Don't think there is only a master concurrent  manager which is handling all the concurrent request ,but your assumption is wrong . 

There are many Concurrent Managers, each governing flow within each Oracle Apps areas. In addition there are "super" Concurrent Managers whose job is to govern the behavior of the slave Concurrent Managers. The Oracle e-Business suite has three important master Concurrent Managers:

Internal Concurrent Manager: 

It controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated. The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one them has a failure. 

Standard Manager:

It accepts any and all request.It has no predefined rules and activate is all the time. And we should not add any kind of predefined rules to the standard  manager as it can cause problems.


Conflict Resolution Manager

Responsible for finding out the solution if there is any conflict arises such as request incompatibilities. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.

Transaction Manager 
Responsible for  the online transaction (ex. inventory transaction)

How do you stop/start Concurrent Manager

Login to Oracle Applications.
Switch to System Administrator Responsibility.
Navigate to Administer Concurrent Manager Screen.
Concurrent->
Manager->
Administer-> 


http://onlineappsdba.com/wp-content/uploads/2009/09/cm_11.JPG

How to check the concurrent manager is running or not?
Just follow the above steps and when we click on the concurrent link it will show a window which displaying all the managers an Oracle E_BS has.

Now have a glance into the processes column if the target and actual column equal the same number (above 0) this means the manager is up and running.


 

Tuning the Concurrent Manager

1.  To maximize the throughput for jobs which spawn parallel workers ( i.e auto invoice and payroll) , consider reduce the sleep time of the Conflict Resolution Manager(CRM).
Default is 60 secs, take into 5 or 10 seconds into accounts so that make active whenever there will be any conflict arises in the process.

2.  Increase the cache size (number of request cached) to at lease twice the number of target processes.

3.  Purge the FND tables on a regular basis using the 'purge concurrent request and manager data program'.

      Workload Management.

4.  Trim the FAT .  Review and eliminate the jobs that are not required or not used by your users.
5.  Avoid enabling an excessive number of standard or specialized managers.

6  Use specialization rules and work shifts to bind specific jobs  to specific time windows

7  Helps avoid scheduling resource intensive batch requests during peak activity

8  Reschedule some programs to run when the concurrent managers have excess capacity and

9  Add more queues if all queues are running at maximum
   capacity only if resources permit.
Transaction Management.

10. As above mentioned it is mainly used for the transaction activities i.e (Inventory Transaction) .

11. Set the profile “Concurrent:Wait for Available TM” to 1 (second).

12 Set the sleep time on the TMs to a high number (e.g. 10 minutes).
  
Concurrent Reports
 
13. Ensure users provide selective parameters to the Reports.
14.  SQL Trace can be generated for slow reports .

SQL Tracing & PL/SQL Profiling
 
Program Level 

 Enable the trace/profiling option in the concurrent program
definition form

Request Level 

Use the Debug Options button in the Request Submission Form

• The profile “Concurrent: Allow Debugging” should be set to
‘Yes’

Analyzing Oracle Apps Dictionary Tables for High Performance
It is also very important to run the request Gather Table Statistics on these tables:
  • FND_CONCURRENT_PROCESSES
     
  • FND_CONCURRENT_PROGRAMS
     
  • FND_CONCURRENT_REQUESTS
     
  • FND_CONCURRENT_QUEUES. 
     
Excited to know where the log files of the Concurrent Manager are present.



 How to start and stop the concurrent manager?
  
It's a common dilemma in every DBA  beginners   that how can i start my concurrent manager and where is the location of this CM.


The syntax to start the concurrent managers from the command line:

adcmctl.sh start apps/apps

You stop the concurrent managers from the command line:

adcmctl.sh stop apps/apps 


  Now the answers for what is the location where the CM is located:

It mainly depends upon whether $APPLCSF is set or not.

The CM logfiles can be present either of the location.

1. If the environment variable $APPLCSF is set, the default location is $APPLCSF/$APPLLOG

2. If the environment variable $APPLCSF is not set, the logs go to $FND_TOP/$APPLLOG

The default name of the concurrent manager log files is std.mgr


How  do you check the status of the manager from the OS.?

From UNIX environment you can use below  command in your command line interface

$ ps -ef | grep LIB 









 

No comments:

Post a Comment