Tuesday, September 10, 2013

Oracle Concurrent Manager

The concurrent managers in the Oracle e-Business suite serve several important administrative functions. Foremost, 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.

User interaction with oracle application data can be conducted using with HTML application or more traditional form based application. How ever there are also reporting programs and data updating programs that runs periodically or an ad-hoc basis.

These programs will run in background to user continue there work on other tasks. Concurrent processing is an oracle application future that allows these non-interactive and potentially long running functions to be continued. A process that runs on concurrent processing server is call concurrent request.

When you submit a request through the html or form based application a row is inserted into the database table specifying a program to be run. Then concurrent manager reads the request from the table and starts the associate concurrent program. Acting as job scheduling and execution system concurrent manager will run in its own operating system process this operating system is call target process(often called workers) each worker can start one concurrent program at a time.

Whats a Concurrent Program
A program that implements a business functionality and needs to be executed again and again at regular interval or as per business needs is called concurrent program. They can be implement in PL/SQL, Shell Script, C/C++ etc..

Concurrent Manager
Now when a concurrent program is written, it needs to be executed daily at particular time. If we do it manual, there might be chances of delays or it might happen that two different people run the same program at the same time which might lead problems. So we need a manager which can do all this tasks for us. might lead problems. So we need a manager which can do all this tasks for us. Manager, which ensures that each concurrent program can run successfully without any conflicts. They also ensures that the applications are not overwhelmed with requests. They also manages the batch processing and report generation.
The default installation of Oracle Applications comes with a number of pre defined concurrent managers however you can create your custom concurrent managers to spread out the load of your job processing. Apart from taking care of the load of your jobs the concurrent managers can also schedule the jobs periodically. Also we can assign specific priority and specific times to the different programs, so that the concurrent managers can run them in specific workshifts.
Concurrent managers also allows you to tweak the number of concurrent process that it can handle concurrently. If any request exceed this prescribed limit they are automatically put on pending state. The processing of a request takes place based on the time of request submission and priority of the request submitted.

The Oracle e-Business suite has three important master Concurrent Managers:

Internal Concurrent Manager:

The master manager is called the Internal Concurrent Manager (ICM) because 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
Another important master Concurrent Manager is called the Standard Manager (SM). The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager. Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.

Conflict Resolution Manager
The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.

When a concurrent program is incompatible with another program, the two programs cannot access or update the same data simultaneously.When you define a concurrent program, you can list those programs you want it to be incompatible with. You can also list the program as incompatible with itself, which means that two instances of the program cannot run simultaneously. You can also make a program incompatible with all other concurrent programs by defining the program to be run-alone.
There are two types of program incompatibilities, "Global" incompatibilities, and "Domain-specific" incompatibilities.
Incompatibility rules is used to govern your request set so that the request set does not run at the same time as other reports or concurrent programs.When you list a program as incompatible with your request set, the program will not run simultaneously within the same conflict domain as the request set or any of the reports within the set.

Transaction Manager
Apart from these three concurrent manages there is another type of concurrent manager known as the Transaction Manager also exists. The transaction manager is responsible for taking the load off the concurrent request table for pooling the request submitted by the user.The transaction manager takes care of these requests and sends it to standard manager directly.In a RACenvironment the Transaction manager is required to be activated on each node of the RAC environment.

From the front end you could view the status of your concurrent manager by logging with the System Administration responsibility and going to the Concurrent Manager administer screen.

Concurrent Manager Processes
The concurrent managers are like other process which run on the oracle applications executable FNDLIBR. The FNDLIBR executable is located at $FND_TOP/bin.

You could also grep the FNDLIBR executable to check if any concurrent manager process are running
$ ps -ef|grep FNDLIBR
The $FND_TOP/sql/afcmstat.sql script gives you a list of concurrent managers and their respective status.

All Concurrent Mangers log files are located in the $APPLCSF/$APPLLOG location.The following bellow options are available to get the latest log files.

Log in R12:/maildata_test/mcgm/R12/apptier/apps/rdb_mailserver2/logs/appl/conc/log

Different Ways to start Concurrent Manager

1)adcmctl.sh--$COMMON_TOP/admin/scripts/ (11i) ,$INST_TOP/admin/scripts(R12)
2)stratmgr.sh --$FND_TOP/bin

Different ways to stop Concurrent Manager

1)adcmctl.sh
2)by using concsub utility, fro the opertating system we can kill the process by checking with FNDLIBR


In Administer concurrent manager form there are two columns labeled as actual and target 

Target:
Target column lists the number of processes that are running for each manager for this particular shift.
Actual:
Actual column list the number processes that are actually running

1 comment:

  1. Lucky Club Casino Site - Casino Review | Lucky Club.live
    Read our Lucky Club Casino Review for the best Casino luckyclub.live games, The Lucky Club welcome bonus is available for new players, with no deposit and no

    ReplyDelete