Oracle Apps Configuration Tutorial - Concurrent Manager

Here we will see in details how we can define concurrent manager in oracle R12. As you are aware a concurrent manager itself is a concurrent program which runs other concurrent manager. So, lets see how we can define this manager.

The following steps are involved during defining a concurrent manager.
1. Assignation of predefined library of concurrent programs with the new concurrent program.
2. Assigning the work shift with new concurrent manager which determines the work time of the manager.
3. maximum number of OS processes need to be attached with the work shifts.
4. Define some specialization rules to read only some specific requests.

There are two predefined manager with Oracle apps R12.

1. Internal concurrent manager
2. Standard manager = This concurrent manager is up and running all the time and has no specialization rule.

Transaction Manager
While normal concurrent manager runs the conc program in asynchronous mode[it may not run the request on immediate basis], but, the transaction manager runs conc request in synchronous mode that means while a client request comes, it executes immediately.

Defining Work shifts [System administrator > Concurrent > Manager > workshifts]
For defining the conc manager you need to first define the work shift which defines when a conc program will run. If there are overlap of workshifts time, then priority will be given as per the following rule.
Priority Work Shift Definition
1 Specific date and range of times
2 Specific date and no range of times
3 Range of days and range of times
4 Range of days and no range of times
5 Range of times and no date and no range of days
6 Standard work shift. No date, days, or time defined.
If there are still overlap in same priority level, workshifts with largest target processes will be selected.

Creating or defining a new Concurrent Manager
System administrator > Concurrent > Manager > Define
The important field definition in this form is as follows.
Cache size = If the cache size is 4 and workshift process is 2, then it will read 4 reqs but run only 2 reqs at once.

Rules field during defining a concurrent manager
Rules are used to run only certain types of requests.

[For more specific details about "Define Conc Manager" and "workshifts" form check R12 chapter 7 in "System administrator's Guide Configuration" ]


The following commands are used to control internal concurrent manager from OS level.
Activate concurrent manager = STARTMGR (syntax may vary with platform)
Verify concurrent manager status = CONCSUB FND VERIFY
Deactivate concurrent manager = CONCSUB FND DEACTIVATE
Terminate requests and deactivate manager = CONCSUB FND ABORT

As an example, the following command can be used to start the internal concurrent manager.
$ startmgr sysmgr="/" mgrname="std"
printer="printer1" mailto="myname" restart="N"
logfile="mgrlog" sleep="100" pmon="6" quesiz="10"
The CONSUB utility is used to shutdown the managers. This OS based utility is useful if we need to schedule the shutdown of conc manager from OS level at certain time.


Parallel Concurrent Manager
Since Internal Conc Manager requires high fault tolerance, in parallel conc processing Internal Monitor Process is used. Internal Monitor Process runs on every node, if any IMP notices that internal conc manger has failed, it starts the ICM in its own node.


Important Screens for Concurrent Manager
System administrator > Concurrent > Administrator = This form is used to check the status details of conc manager and control the manager
System administrator > Concurrent > Define = Used to define a new manager
System administrator > Concurrent > Workshifts = Used to define the workshifts

Most of the fields of the above forms are self explanatory. For any confusion, check page 240-265 of R12 "System administrator's Guide Configuration".


Starting the Concurrent Manager from OS level
Use the following command to start conc manager after setting applmgr env file.
$ startmgr \
sysmgr="/" \
mgrname="" \
mailto="" \
restart="N|" \
logfile="" \
sleep="" \
pmon="" \
quesiz="" \
restart = the number of minutes the manager waits before restrt after abnormal termination. The default value is "N" which means it will not restart automatically after abnormal termination.
sleep = The number of seconds internal conc manager waits between checking the ques for status of conc requests.
pmon=Number of sleep cycle internal conc manager waits to check if conc manager have failed.
quesiz=Number of pmon cycles (integer) the internal concurrent manager waits between times it checks for normal changes in concurrent manager operation.
diag=whether to turn on or off diagonistic logs.

Concurrent Manager Log files location and name
All the conc manager log files are located in the dir $APPLCSF/$APPLLOG. The following are the specific log file names.
ICM log = .mgr
Concurrent Manager Log = w.mgr
Request Log = l.req
Request Output = o.out

No comments :