How to restart and skip the job from AD Controller ( ADCTRL)



Last updated on April 15th, 2017 at 08:08 am

AD Controller

Usage:
adctrl

  • By using the AD Controller utility, you can determine the status of AutoUpgrade, AutoPatch,adop  or AD Administration 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

For R12.2 If adop is run in hotpatch mode, you should run adctrl from the run file system. Otherwise, run adctrl from the patch file system.

Status Description
adctrl

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
—————————————————

1. Show worker status

2. Tell worker to restart a failed job

3. Tell worker to quit

4. Tell manager that a worker failed its job

5. Tell manager that a worker acknowledges quit

6. Restart a worker on the current machine

7. 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
—————————————————

1. Show worker status

2. Tell worker to restart a failed job

3. Tell worker to quit

4. Tell manager that a worker failed its job

5. Tell manager that a worker acknowledges quit

6. Restart a worker on the current machine

7. 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
—————————————————

1. Show worker status

2. Tell worker to restart a failed job

3. Tell worker to quit

4. Tell manager that a worker failed its job

5. Tell manager that a worker acknowledges quit

6. Restart a worker on the current machine

7. 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
—————————————————

1. Show worker status

2. Tell worker to restart a failed job

3. Tell worker to quit

4. Tell manager that a worker failed its job

5. Tell manager that a worker acknowledges quit

6. Restart a worker on the current machine

7. 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

Learn more about Distributed AD below

Distributed AD

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

adctrl

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 

Autopatch PART I

Autopatch PART II

Autopatch(Driver files) PART -4

40 Adpatch question every DBA should know

 


Leave a Reply