AD Controller
Usage:
adctrl
- By using the AD Controller utility, you can determine the status of AutoUpgrade, AutoPatch(adpatch) , adop or AD Administration(adadmin) workers.
- You can also use it to and restart failed tasks.
- With AD Controller you can:
Review worker status
Restart a failed worker
Restart a terminated worker
Shutdown a worker
Skip the job with the help of hidden option
Quit a worker - The command to start AD Controller is adctrl
- AD Controller gathers worker status information from the FND_INSTALL_PROCESSES table.
This table is created by the AD utility when jobs are run in parallel and dropped once the task is complete. - Learn more about FND_INSTALL_PROCESSES
How FND_INSTALL_PROCESSES created ,used and dropped
Adctrl Query
set linesize 1000 column context format a20 column filename format a10 select worker_id,control_code, context,filename,status from fnd_install_processes;
Mostly used options in adctrl
Option 1 is used to see the status of all the jobs
Option 2 is used to restart the failed job..
Hidden Option 8 is used to skip the failed job
How to use the mostly used options
Many times , we need to either restart the failed worker in adpatch or skip the job .This is performed through the AD utility adctrl .I will demonstrate this below
Start adctrl
It will prompt for apps username and password and will display below menu
press [Return] to go back to the menu :
AD Controller Menu
- Show worker status
-
Tell worker to restart a failed job
-
Tell worker to quit
-
Tell manager that a worker failed its job
-
Tell manager that a worker acknowledges quit
-
Restart a worker on the current machine
-
Exit
Enter your choice [1] :
To display the status of the Job, Press 1
Enter your choice [1] : 1
Control
Worker Code Context Filename Status
1 Run AutoPatch R120 apcardwu21.sql FAILED
2 Run AutoPatch R120 apcardwu21.sql FAILED
3 Run AutoPatch R120 apcardwu21.sql FAILED
4 Run AutoPatch R120 apcardwu21.sql FAILED
5 Run AutoPatch R120 Wait
6 Run AutoPatch R120 apcardwu21.sql FAILED
7 Run AutoPatch R120 apcardwu21.sql FAILED
8 Run AutoPatch R120 apcardwu21.sql FAILED
9 Run AutoPatch R120 Wait
10 Run AutoPatch R120 apcardwu21.sql FAILED
11 Run AutoPatch R120 apcardwu21.sql FAILED
12 Run AutoPatch R120 apcardwu21.sql FAILED
13 Run AutoPatch R120 apcardwu21.sql FAILED
14 Run AutoPatch R120 apcardwu21.sql FAILED
15 Run AutoPatch R120 apcardwu21.sql FAILED
16 Run AutoPatch R120 apcardwu21.sql FAILED
17 Run AutoPatch R120 apcardwu21.sql FAILED
18 Run AutoPatch R120 apcardwu21.sql FAILED
19 Run AutoPatch R120 apcardwu21.sql FAILED
20 Run AutoPatch R120 Wait
Review the messages above, then press [Return] to continue.
AD Controller Menu
- Show worker status
-
Tell worker to restart a failed job
-
Tell worker to quit
-
Tell manager that a worker failed its job
-
Tell manager that a worker acknowledges quit
-
Restart a worker on the current machine
-
Exit
To restart the failed worker, press 2
Enter your choice [1] : 2
Enter the worker number(s)/range(s) or ‘all’ for all workers,
or press [Return] to go back to the menu : 1,2,3,4,6,7,8,10,11,12,13,14,15,16,17,18,19
Status changed to ‘Fixed, restart’ for worker 1.
Status changed to ‘Fixed, restart’ for worker 2.
Status changed to ‘Fixed, restart’ for worker 3.
Status changed to ‘Fixed, restart’ for worker 4.
Status changed to ‘Fixed, restart’ for worker 6.
Status changed to ‘Fixed, restart’ for worker 7.
Status changed to ‘Fixed, restart’ for worker 8.
Status changed to ‘Fixed, restart’ for worker 10.
Status changed to ‘Fixed, restart’ for worker 11.
Status changed to ‘Fixed, restart’ for worker 12.
Status changed to ‘Fixed, restart’ for worker 13.
Status changed to ‘Fixed, restart’ for worker 14.
Status changed to ‘Fixed, restart’ for worker 15.
Status changed to ‘Fixed, restart’ for worker 16.
Status changed to ‘Fixed, restart’ for worker 17.
Status changed to ‘Fixed, restart’ for worker 18.
Status changed to ‘Fixed, restart’ for worker 19.
Review the messages above, then press [Return] to continue.
AD Controller Menu
- Show worker status
-
Tell worker to restart a failed job
-
Tell worker to quit
-
Tell manager that a worker failed its job
-
Tell manager that a worker acknowledges quit
-
Restart a worker on the current machine
-
Exit
Enter your choice [1] : 1
Control
Worker Code Context Filename Status
1 Run AutoPatch R120 Wait
2 Run AutoPatch R120 Wait
3 Run AutoPatch R120 Wait
4 Run AutoPatch R120 Wait
5 Run AutoPatch R120 Wait
6 Run AutoPatch R120 Wait
7 Run AutoPatch R120 Wait
8 Run AutoPatch R120 Wait
9 Run AutoPatch R120 Wait
10 Run AutoPatch R120 Wait
11 Run AutoPatch R120 Wait
12 Run AutoPatch R120 Wait
13 Run AutoPatch R120 Wait
14 Run AutoPatch R120 Wait
15 Run AutoPatch R120 Wait
16 Run AutoPatch R120 Wait
17 Run AutoPatch R120 Wait
18 Run AutoPatch R120 apcardwu21.sql Failed
19 Run AutoPatch R120 Wait
20 Run AutoPatch R120 Wait
Review the messages above, then press [Return] to continue.
Review the messages above, then press [Return] to continue.
AD Controller Menu
- Show worker status
-
Tell worker to restart a failed job
-
Tell worker to quit
-
Tell manager that a worker failed its job
-
Tell manager that a worker acknowledges quit
-
Restart a worker on the current machine
-
Exit
Enter your choice [1] : 1
To skip the job, enter the hidden option 8
Enter the worker number(s)/range(s) or ‘all’ for all workers,
or press [Return] to go back to the menu : 8
Status changed to ‘skipped, restart’ for worker 8.
If you run adctrl when no adpatch is running , You will below error
Enter your choice [1] :
Error: The FND_INSTALL_PROCESSES table does not exist.
This table is used for communication with the
worker processes, and if it does not exist, it
means that the workers are not running,because
the ad utility has not started them yet.
You should check the file
adctrl.log
for errors.
Adctrl usage in Distributed AD
About Distributed AD
Distributed AD is a special parallel processing feature that can be employed to decrease the time needed for patch application (and other tasks) by allocating the associated worker processes to multiple application tier nodes. AD Administration and AutoPatch (adop) run on one node, and direct workers running both on that node and on other nodes in the system.
Note: You must have a shared application tier file system to use Distributed AD.
adop or adpatch session is started on the primary node .it start the workers on the primary node also
The secondary node workers are started using the command
adctrl distributed=y
and then specifying the worker range
Adctrl usage in Non-interactive manner
we can run AD Controller without user intervention by creating a defaults file, which captures information we supply at the interactive prompts in a file that you can later use to run AD Controller without user intervention. Creating a defaults file and running AD Controller non-interactively works in much the same way as it does for AD
Administration
adctrl interactive=n defaults_file=$APPL_TOP/admin/prod/ctrldefs.txt logfile=adctrl.log menu_option=SHOW_STATUS |
Following menu_option are available
Using any menu option on the command line, except for SHOW_STATUS, requires that you also use the worker_ range=<range> option.
Related articles on Apps Patching
Oracle patching: Adpatch Complete Overview
40 Adpatch question every DBA should know
How to restore any Apps executable ( FNDLIBR/ADADMIN/ADCTRL/ADPATCH)