| In Oracle : Ad Controller in Oracle APPs 11i | |||||||||||||||||||
|
|
|||||||||||||||||||
| |||||||||||||||||||
|
|
|||||||||||||||||||
|
In-Oracle.com -> Oracle Applications (apps) -> 11i -> Ad Controller in Oracle APPs 11i
Ad Controller in Oracle APPs 11i
1. What is AD controller used for ? 2. How to run the AD Controller ? 3. Which is the status of the workers ? 4. Which is the meaning of each worker status ?
5. Database Processing Phases concept 7. Restarting a Failed Patch Process 8. Determine if a process is Hanging or not 9. Restarting a Hanging Worker Process 10. Restart an AD utility after a Node Crash
1. What is AD controller used for ?
AD Controller is used to monitor/ control the workers execution.
Here are the AD Controller actions which can be done by AD Controller:
2. How to run the AD Controller ?
After source the APPS tier, run the adctl in another window. An adadmin, adpatch or AutoUpgrade session must be running.
[oracle@APPS
~]$ . /APPS/visappl/APPSORA.env
Feature
Active? APPLTOP Data model
Flags
3. Which is the status of the workers ?
One time adctrl was started, we have to choose the first option "Show worker status".
If there is no session which use the workers, the following message will appear:
Error:
The FND_INSTALL_PROCESSES table does not exist.
This is because the FND_INSTALL_PROCESSES table is created when AD parallel jobs start (not the AD utility) and is dropped when the task is completed.
4. Which is the meaning of each worker status ?
5. Database Processing Phases concept
When a database patch/ operation will run the tasks are divided in function of the kind of modification. This is done by Oracle when the patch is created. Supposing a patch must create 4 tables and 4 sequences. In this case the patch driver contains 2 phases (these phases in many cases are related, so, are ordered): one for tables creation and one for sequences creation. Because the sequences could be created in the same time this will be done in parallel by using more workers.
Here are some Database Processing Phases:
seq = create sequence tab = create tables, synonyms, grants privileges on tables pls = create package specification plb = create package body vw = create views
When a job fails for the 1st time, the job is deferred at the end of the phase and another job is assigned to that worker.
If the job fails the 2nd time, - if the run time of the job was < 10 min => the job is deferred at the end of the phase and another job is assigned to that worker. - if the run time of the job was >= 10 min => the job status will be "Failed".
If the job fails the 3nd time => the job status will be "Failed".
To review the worker log information you have to check into $APPL_TOP/admin/<SID>/log/adworkNNN.log
Example: adwork001.log will be the log file for the worker number 1.
One time the error is fixed we have to start (if is not already started) AD Controller and to use the option 2 "Tell worker to restart a failed job". When prompted we have to specify the worker which must be restarted. If all the workers are failed, we can type all to restart all the workers.
7. Restarting a Failed Patch Process
During a patch process (or adadmin process) if a job fails and cannot be restarted the patch must be restarted.
Here are the steps for doing this:
NOTE: When the patch will restart all the information in the database about this session must be accurate !
8. Determine if a process is Hanging or not
a) Check the log file to see if some information is added or not to the log file
b) Determine if the worker process (supposing for the worker 3) is consuming CPU: $ ps -eo pcpu,pid,user,args | grep workerid
In this case the CPU is used 0.1%, so the process is working.
e) Check if there are any child processes which are consuming CPU:
$ ps -eo pcpu,pid,ppid,user,args | grep 20348 | grep -v grep 20348 = the parent process (Find for the worker 3 if there are any child processes)
d) Test if the worker is doing some Database tasks:
SELECT s.sid,s.serial#, s.osuser, p.PID, p.SPID, s.program, s.terminal from v$session s, v$process pwhere s.paddr = p.addr and SPID = 20348 ; -- OS PID
If so, V$SESSION view can be used to gather more information.
9. Restarting a Hanging Worker Process
a) kill at the OS level the processes associated with the Hanging Worker Process. $ kill -9 ProcesssNumber
b) fix the problem
c) Restart the worker (or the job)
10. Restart an AD utility after a Node Crash
a) Start AD Controller
b) Choose "4. Tell manager that a worker failed its job"
c) Choose "2. Tell worker to restart a failed job"
d) Restart the AD utility that was running when the node crashed.
a) Start AD Controller
b) Choose "3. Tell worker to quit"
c) Verify that no worker processes are running
d) The manager (AD utility) will be shut down when all the workers will be shutdown.
In-Oracle.com -> Oracle Applications (apps) -> 11i -> Ad Controller in Oracle APPs 11i |
||||||||||||||||||
|
|||||||||||||||||||
|
|
Find related information on Google:
Custom Search
|
Copyright (c) 2011-2012 www.in-oracle.com | Disclaimer: The views expressed on this web site are my own and do not reflect the views of Oracle Corporation. You may use the information from this site only at your risk.