Wednesday, August 29, 2012

Concurrent Manager


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. The responsibility for execution of concurrent programs is given to Concurrent 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.
There are many pre-configured 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 — 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.
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 RAC environment the Transaction manager is required to be activated on each node of the RAC environment.
 
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.
Below is the list of Most of the Concurrent manager processes.
FNDLIBR manages following Managers
  • Marketing Data Mining Manager
  • Transportation Manager
  • Session History Cleanup
  • UWQ Worklist Items Release for Crashed session
  • Collections Manager
  • OAM Metrics Collection Manager
  • Contracts Core Concurrent Manager
  • Standard Manager
  • WMS Task Archiving Manager
  • Oracle Provisioning Manager
INVLIBR manages following Managers
  • Inventory Manager
MRCLIB manages following Managers
  • MRP Manager
PALIBR manages following Managers
  • PA Streamline Manager
FNDSM The Generic Service Management Framework Process
  • FNDSM is executable and core component in GSM ( Generic Service Management Framework discussed above). You start FNDSM services via application listener on all Nodes in Application Tier in E-Business Suite.

Concurrent Manager Scripts
Oracle supplies several useful scripts, (located in $FND_TOP/sql directory), for monitoring the concurrent managers:

afcmstat.sql
Displays all the defined managers, their maximum capacity, pids, and their status.
afimchk.sql
Displays the status of ICM and PMON method in effect, the ICM's log file, and determines if the concurrent manger monitor is running.

afcmcreq.sql
Displays the concurrent manager and the name of its log file that processed a request.
afrqwait.sql
Displays the requests that are pending, held, and scheduled.
afrqstat.sql
Displays of summary of concurrent request execution time and status since a particular date.
afqpmrid.sql
Displays the operating system process id of the FNDLIBR process based on a concurrent request id. The process id can then be used with the ORADEBUG utility.
afimlock.sql
Displays the process id, terminal, and process id that may be causing locks that the ICM and CRM are waiting to get. You should run this script if there are long delays when submitting jobs, or if you suspect the ICM is in a gridlock with another oracle process.


1.     Types Of Concurrent Managers and Concurrent Processes
Different Types of Concurrent Managers
===============================

Internal Concurrent Manager — The Internal Concurrent Manager (ICM) controls the other managers. 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.

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.

Standard Manager — The Standard Manager functions to run any reports and batch jobs that have not been defined to run in any specific product manager.

Product Specific Concurrent Manager — There are many product specific Concurrent Managers. The list includes Inventory, MRP, and Projects, as well as anyUser-defined managers. These managers are specialized to perform Concurrent Processing specifically for those products for which they are built. Utilizing these managers can help you off-load some of the processing from the

Scheduler Manager — Scheduler Manager, assists the ICM and the CRM in scheduling and conflict resolution.

Transaction Managers — A Transaction Manager is owned by an application and associated with a data group. Due to this association, and the fact that it runs immediate programs, the Transaction Manager can only run programs contained within its program Library.

Service Manager — Service Manager acts on behalf of the ICM, allowing the ICM to monitor and control service processes on that host. Services such as the Oracle Forms Listener, Oracle Reports Server, Apache Web listener, and Oracle Workflow Mailer can be run under Service Management. Generic Service Management (GSM) provides a fault tolerant system. If a service process exits unexpectedly, the ICM will automatically attempt to restart the process. If a host fails, the ICM may start the affected service processes on a secondary host. The ICM itself is monitored and kept alive by Internal Monitor processes located on various hosts.

The Internal Monitor — The IM is used in a PCP environment and monitors the Internal Concurrent Manager, and restarts any failed ICM on the local node. During a node failure in a PCP environment the IM will restart the ICM on a surviving node (multiple ICM's may be started on multiple nodes, but only the first ICM started will eventually remain active, all others will gracefully terminate). There should be an Internal Monitor defined on each node where the ICM may migrate.


Concurrent Manager Processes
=======================


FNDLIBR manages following Managers

Marketing Data Mining Manager
Transportation Manager
Session History Cleanup
UWQ Worklist Items Release for Crashed session
Collections Manager
OAM Metrics Collection Manager
Contracts Core Concurrent Manager
Standard Manager
WMS Task Archiving Manager
Oracle Provisioning Manager

INVLIBR is the process for the following Managers

Inventory Manager

MRCLIB is the process for the following Managers

MRP Manager

PALIBR is the process for the following Managers

PA Streamline Manager

FNDSM is the process for the Service Manager

We need to configure GSM and start the Apps Listener in order to start GSM Service on all Nodes in Application Tier in E-Business Suite.
Generic Service Management
Traditionally, application tier processes such as Forms listeners, HTTP servers, and concurrent managers had to be started and monitored individually by system administrators, a time-consuming and potentially error-prone exercise. With the transition to web-based applications, the number of application tier processes required for Oracle E-Business Suite products has increased significantly, with many Oracle E-Business Suite products making use of multiple application tier services to support one or more processes.
Service processes are similar to concurrent manager and transaction manager processes, and must be kept running on an application tier for the proper functioning of their associated products. Management of the services is complicated by the fact that they may be distributed across multiple host machines.
The Generic Service Management (GSM) feature simplifies management of these generic service processes, by providing a fault-tolerant framework with a central management console built into Oracle Applications Manager. With Generic Service Management, the Internal Concurrent Manager (ICM) manages the various service processes across multiple hosts. On each host, a Service Manager acts on behalf of the ICM, allowing the ICM to monitor and control service processes on that host.
System administrators can configure, monitor, and control services though Oracle Applications Manager, which communicates with the ICM. Generic Service Management provides a fault-tolerant system: if a service process exits unexpectedly, the ICM will automatically attempt to restart the process. If a host fails, the ICM may start the relevant service processes on a secondary host. The ICM itself is monitored and kept alive by Internal Monitor processes located on various hosts.
This new application tier service management infrastructure has several benefits:
  • The service processes no longer need to be manually and individually started and monitored by Oracle E-Business Suite system administrators
  • Administrators can configure and control the services through Oracle Applications Manager
  • As with concurrent manager processes, system administrators can use work shifts to determine the number of processes that will be active for a service on a given node for a given time period
  • Services can take advantage of the process distribution and fault tolerance capabilities that have been developed for concurrent processing
Generic Service Management is available out of the box with Oracle E-Business Suite Release 12, and can also be used with other AutoConfig-enabled releases.

1 comment:

Unknown said...

Getting below Error while trying to migrate AOL object to target machine . please help .

System unable to set NLS SORT.