You are on page 1of 2

Lets discuss the very basics of Concurrent Managers, again the very basics for the beginners that

read
http://getappstraining.blogspot.com
Two things are obvious:-
1. Concurrent Manager is related to Concurrent Programs
2. Concurrent manager manages the concurrent(oops I mean parallel) execution of concurrent
programs.

So what's left to explain?.....Well nothing much, but I gave a commitment to one of my readers
that I shall write something about concurrent managers today. And now when I begin to write, I
realize it is worth writing something in plain English on this topic.


Lets explain this with some Q&A
Question : How to run a concurrent program?
Answer: In oracle apps you have a concurrent program submission screen. You can submit the
concurrent program from that screen.

Question: What happens when you submit a concurrent program?
Answer: There is something known as Concurrent Manager that runs in the background all the
time. This background process, called Concurrent Manager ideally will be running 24x7.
As the name suggests, purpose of a concurrent manager is to manage the submitted concurrent
programs.

Question: When I submit a concurrent program( or call it concurrent request), how does
concurrent manager pick this up?
Answer: Concurrent manager will be running in the background waiting for a concurrent
program to be submitted. As soon as a concurrent program is submitted, it then gets put in an
execution queue by concurrent manager.

Question: Why does the Concurrent manager put a concurrent program into a queue? Why
doesn't the manager simply let the program run?
Answer: Because at any given point in time a concurrent manager can run no more than say 10
programs concurrently. This figure of 10 is configurable of course. First the manager puts a
submitted program into a queue, next the manager checks if there is a slot available (i.e. Less
than 10 programs are currently running). If a slot is found available, the concurrent manager
then runs the program, or else it keeps the concurrent program in a queue with status Pending.

Question: If we have two concurrent programs, that must never run in parallel(oops I mean
concurrently)....can concurrent manager manage such scenarios?
Answer: Of course it can. When you define a concurrent program, you can specify if there are
any incompatible programs. If incompatible concurrent programs exist, then concurrent manager
will wait for the incompatible program to complete.

Question: Is that all what concurrent manager does?
Answer: Much more, if interested, then read on.

Concurrent manager is responsible for below things too..

Managing the printer:-
An Oracle Report is registered as a concurrent program too. During submission or during the
definition of concurrent program, we can specify the printer where report gets printed.
Concurrent manager will send the output of the program to that printer.

Managing the programs completion status-
For example a pl/sql concurrent program can set retcode=2 to make a program complete with
warning. Hence concurrent manager not just executes the program, but it manages the
completion status of the program too.

Classpath of a java program:-
A concurrent program can be of type java too. If for this specific concurrent program you wish to
use a set of java libraries, then you can specify the path of that library in concurrent program
definition. Concurrent manager will amend the CLASSPATH to reflect the path of the java library.

Interaction with host concurrent program-
When running a host concurrent program, the concurrent manager passes the apps password as
a parameter to the unix script

Tracing a concurrent program
Concurrent manager enable the session trace for the concurrent program, if enable trace
checkbox is checked in program definition. You can then go to user dump directory and do tkprof
on the file.

Optimization options:-
The concurrent program definition provides an option to specify optimization mode, like choose,
fist rows,all rows, rule based etc. The concurrent manager will alter the optimization mode of the
session before the submission of the program. Obviously this option has no relevance to Host
type concurrent program.

More? ...well I am bored with concurrent managers now, I guess you too are by now....

You might also like