11
Concurrent Manager FAQs What is Concurrent Processing Server? The reporting programs and data updating programs that need to run either periodically, or on an ad hoc basis. These programs, which run in the background while users continue to work on other tasks, may require a large number of data-intensive computations, and are run using the Concurrent Processing architecture. What is Concurrent Manager? Concurrent managers are fundamental to concurrent processing. Acting as a job scheduling and execution system, a concurrent manager: Is an executable that is registered as a program library within Oracle E-Business Suite, and which runs in its own operating system process Runs operating system processes called target processes (often referred to as workers),each of which can start one concurrent program at a time Can optionally run an immediate program that runs as part of the concurrent manager's own operating system process Can be allowed to run any concurrent program, or be specialized to run certain programs Operates during the days and times defined by a work shift How can I check to see if a concurrent manager is running? One way to see if a manager is running is to use the 'Administer Concurrent Managers' form. Navigate to Concurrent->Managers->Administer. You will see two columns labeled 'Actual' and 'Target'. The Target column lists the number of processes that should be running for each manager for this particular workshift. The Actual column lists the number of processes that are actually running. If the Actual column is zero, there are no processes running for this manager. If the Target column is zero, then either a workshift has not been assigned to this manager, or the current workshift does not specify any target processes. If the target column is not zero, then the manager processes have either failed to start up, or gone down. You should check the manager's logfile and the ICM logfile. You can also search for OS processes using the 'ps' command.

Concurrent Manager FAQs

Embed Size (px)

Citation preview

Page 1: Concurrent Manager FAQs

Concurrent Manager FAQs What is Concurrent Processing Server?The reporting programs and data updating programs that need to run either periodically, or on an ad hoc basis. These programs, which run in the background while users continue to work on other tasks, may require a large number of data-intensive computations, and are run using the Concurrent Processing architecture. What is Concurrent Manager?Concurrent managers are fundamental to concurrent processing. Acting as a job scheduling and execution system, a concurrent manager: 

       Is an executable that is registered as a program library within Oracle E-Business Suite, and which runs in its own operating system process

       Runs operating system processes called target processes (often referred to as workers),each of which can start one concurrent program at a time

       Can optionally run an immediate program that runs as part of the concurrent  manager's own operating system process

       Can be allowed to run any concurrent program, or be specialized to run certain programs

       Operates during the days and times defined by a work shift  How can I check to see if a concurrent manager is running?One way to see if a manager is running is to use the 'Administer Concurrent Managers' form. Navigate to Concurrent->Managers->Administer. You will see two columns labeled 'Actual' and 'Target'.  The Target column lists the number of processes that should be running for each manager for this particular workshift.  The Actual column lists the number of processes that are actually running. If the Actual column is zero, there are no processes running for this manager. If the Target column is zero, then either a workshift has not been assigned to this manager, or the current workshift does not specify any target processes.  If the target column is not zero, then the manager processes have either failed to start up, or gone down. You should check the manager's logfile and the ICM logfile. You can also search for OS processes using the 'ps' command.

Page 2: Concurrent Manager FAQs

 

When you need to bounce (stop and restart) the Concurrent Manager?When you modify the Printer Driver you have to restart the Manager which runs the request which is attached to that Printer Driver, however, if you do not know which managers then you have to restart the internal manager because the printer driver can be used by multiple managers and multiple requests.  

If only a concurrent program definition is modified, running a verify on the Internal Manager will pick up the changes without the need for bouncing the manager.

 

Page 3: Concurrent Manager FAQs

 

Can I delete a concurrent manager?You can disable the manager by checking the 'Enabled' checkbox, or you can simply terminate the manager and it will not run again unless you reactivate it. If it is really necessary, you can query the manager in the 'Define Manager' form, and delete the row. (It is recommended that you DO NOT do this) What is Concurrent Request/Program?A concurrent program is an executable file that runs simultaneously with other concurrent programs and with online operations. Typically a concurrent program is a long-running data-intensive task such as generating a report. A concurrent request is a request that you submit to run a concurrent program as a concurrent process.  What is Concurrent Request Set?A request set is a collection of reports and/or programs that you group together. You can submit the reports and/or programs in a request set all at once using a single transaction. 

Page 4: Concurrent Manager FAQs

What is Internal Concurrent Manager (ICM)?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. What is Conflict Resolution Manager (CRM)?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. Concurrent managers read requests to start concurrent programs running.  The Conflict Resolution Manager checks concurrent program definitions for incompatibility rules.  If a program is identified as Run Alone, then the Conflict Resolution Manager prevents the concurrent managers from starting other programs in the same conflict domain. When a program lists other programs as being incompatible with it, the Conflict Resolution Manager prevents the program from starting until any incompatible programs in the same domain have completed running. What is 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.  Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager. What is Transaction Manager?Transaction Managers support synchronous request processing, whereby a pool of server processes responds to requests from client programs. Instead of polling the concurrent requests table to obtain instructions, a transaction manager waits to be signaled by a client. An example is approval of an order, where execution of the request must take place quickly.  What is the Internal Monitor Manager?This manager/service is used to implement Distributed Concurrent Processing. It monitors whether the ICM is still running, and if the ICM crashes, it will restart it on another node. You do not need to run this manager/service unless you are using Distributed Concurrent Processing. How can we delete a Concurrent Program which is already registered?There is no option directly supported by Oracle from front end. You can disable the concurrent program (Navigation: Concurrent Program Define Enabled) You can delete from backend Begin fnd_program.delete_program('SHORTNAME','APPLICATION');fnd_program.delete_executable('SHORTNAME','APPLICATION');end; Note: It is recommended that you DO NOT do this. How to schedule the concurrent programs from Back end?

Page 5: Concurrent Manager FAQs

Concurrent request/program can be submitted through Submit Request from front end or the following can be used in PL/SQL code to submit from backend directly. fnd.request.submit_request(Concurrent_program_name,      application_short_name      description,      parameters)

 

Does the Internal manager schedule requests?The ICM really does not have any such scheduling responsibilities. It has NOTHING to do with scheduling requests, or deciding which manager will run a particular request. Its function is only to run 'queue control' requests, which are requests to startup or shutdown, other managers.  It is responsible for startup and shutdown of the whole concurrent processing facility, and it also monitors the other managers periodically, and restarts them if they should go down. It can also take over the Conflict Resolution manager's job, and resolve incompatibilities. If the ICM itself should go down, requests will continue to run normally, except for 'queue control' requests. You can restart it with ‘startmgr’; you do not need to kill the other managers first.  Where do concurrent request or manager logfiles and output files go?It places log files in $APPLCSF/$APPLLOG, output files go in $APPLCSF/$APPLOUT So for example, if you have this environment set:         $APPLCSF = /u01/appl/common        $APPLLOG = log        $APPLOUT = out The concurrent manager will place           log files in /u01/appl/common/log, and           output files in /u01/appl/common/out Note that $APPLCSF must be a full, absolute path, and the other two are directory names. If $APPLCSF is not set, it places the files under the product top of the application associated with the request.  For example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT Logfiles go to:  /u01/appl/po/9.0/logOutput files to: /u01/appl/po/9.0/outAll these directories must exist and have the correct permissions. What are the logfile and output file naming conventions?Request logfiles: l<request id>.req Output files: If $APPCPNAM is not set:  <username>.<request id> If $APPCPNAM = REQID:     o<request id>.out If $APPCPNAM = USER:      <username>.out

Page 6: Concurrent Manager FAQs

     Where: <request id> = The request id of the concurrent requestAnd: <username> = The id of the user that submitted the request  Manager logfiles: ICM logfile: Default is std.mgr, can be changed with the mgrname startup parameter Concurrent manager log:        w<XXXXXX>.mgrTransaction manager log:       t<XXXXXX>.mgrConflict Resolution manager log:        c<XXXXXX>.mgr  Where: <XXXXXX> is the concurrent process id of the manager How do I check/set the PMON method? To check the PMON method: 1) cd $FND_TOP/sql2) sqlplus apps/apps @afimchk.sql

 

This will tell whether the internal manager is running, what the PMON method is, and where the log file is. To set the PMON method: 1) First shut the concurrent managers down2) cd $FND_TOP/sql3) sqlplus apps/apps @afimpmon.sql LOCK  (or RDBMS) 

Page 7: Concurrent Manager FAQs

How do I enable/disable the Conflict Resolution Manager?Use the system profile option 'Concurrent: Use ICM'. Setting this to 'No' (which is the default) allows the CRM to be started. Setting it to 'Yes' cause the CRM to be shutdown and the Internal Manager (ICM) will take over the conflict resolution duties. If the CRM will not start (it is started automatically by the ICM), check this profile option. Note that using the ICM to resolve conflicts is not recommended.  The CRM's sole purpose is to resolve conflicts, while the ICM has other functions to perform as well. Only set this option to 'YES' if you have a good reason to do so.  How do I clean out the Concurrent Manager tables?Cleaning out the tables is a useful method of making sure that there  are no invalid statuses that can prevent the managers from starting. Previously, this has been done by truncating fnd_concurrent_processes and/or fnd_concurrent_requests. Truncation of the tables is a little drastic, and can cause problems later when trying to purge requests,  not to mention losing all of the request information. Run the script, cmclean.sql, article note 134007.1 CMCLEAN.SQL - Non  Destructive Script to Clean Concurrent Manager Tables  It will make sure the relevant status codes are valid withoutdeleting any information. How do I tell concurrent manager processes apart at the OS level? Use: pf -ef | grep FNDLIBR 

This will produce output like:

The process, # 25933, shows 'FNDLIBR FND CPMGR', this one is the Internal Manager (ICM). Notice that it gives some of the parameters it was started with; the other processes showing 'Concurrent_Processor' are Standard manager processes.  The Conflict Resolution manager will look like:

Page 8: Concurrent Manager FAQs

$ ps -ef | grep FNDCRM

I hit the Restart button to start the Standard manager, but it still did not start? Telling a manager to restart just sets the status to Restart, The ICM will start it the next process monitor session or the next time the ICM starts. Use Activate to start a manager immediately. When a manager is deactivated manually, the ICM will not restart it, you will need to set it to Restart, or activate it manually. How many rows are in FND_CONCURRENT_REQUESTS and FND_CONCURRENT_PROCESSES tables? Depending on the specification of the system it has been seen that when tables reach above 3000-4000 rows, the performance begins to diminish, however, there could be 30000-40000 rows in the tale before the performance begins to degrade.

You may want to run the Purge Concurrent Request and/or Manager Data on a regular basis, dependant on the amount of requests being run. The Purge Concurrent Requests job can be used to purge: Requests, Mgr logs, and All requests depending on what is chosen. Use the following options: Enter = All, Mode = AGE, Mode Value = 15  The std.mgr log continuously grows where it may good to archive it regularly.  Any processes pending in Internal or Conflict Resolution Manager?Best course of action before starting the Concurrent Managers is to cancel any "Deactivate" or "Verify" jobs pending in the Internal Manager and place any other pending jobs on hold.   How do I turn on transaction manager diagnostics?Set the profile option 'Concurrent:Debug Flags' to 'TCTM1' at the site level. This will cause transactions to make debug entries in the  FND_CONCURRENT_DEBUG_INFO table. Truncate this table before running a  tranasction, then select the entries from the table. Starting the managers with diag=Y will also produce more information in the transaction manager logfile. 

Page 9: Concurrent Manager FAQs

Problem.... When you try to submit a request like Active users or Active responsibilities, request gets submitted. When we view the help requests, you find that it is inactive / nomanager. Within 12 to 15 seconds, you refresh-it gets completed. Initially, you could find only inactive and we look at the diagnostic- the concurrent manager assigned is not   picking up. There is no specialization rules in any managers except the include program this source. Solution.... Most often when this occurs where a request goes "inactive/no manager" and is then processed a short time later, the solution is to either increase the cache size for your Standard manger, or increase the actual number of Standard manager processes. Cache Size is set on the CONCURRENT/MANAGER/DEFINE form.  Basically, this regulates how many requests a manager will pick up for each sleep cycle. How do I process more concurrent requests concurrently?The Concurrent Manager parameters, (Query the concurrent manager by Login as Sysadmin, navigate -> Concurrent -> Manager -> Define and Query for the relevant concurrent manager), should be modified to handle more concurrent requests concurrently, this can be done in two steps:     (i) Increase the Number of Target processes for the manager     (ii) Change the cache size of the concurrent manager as this determines how many requests will be evaluated by a manager at a time and should match the target (process) value as set above. How to run a concurrent request through a Self-Service Page? Self-Service Page does not deliver any concurrent requests. You have to use the Professional User Interface only. How to Re-create Concurrent Manager Views? FNDLIBR FND FNDCPBWV apps/<passwd> SYSADMIN 'System Administrator'  SYSADMIN