In Oracle : Ad Controller in Oracle APPs 11i

Oracle Applications EBS 11i, R12      Oracle Database      Data Warehouse & BI      Oracle Middleware      PL/SQL      Linux ...

Oracle Applications EBS

Oracle Apps 11i DBA (I) Oracle Apps 11i DBA (II) Oracle Apps 11i DBA (III) Oracle Apps 11i Sys Admin UPGRADE 11i Apps to R12 Oracle Apps R12 DBA

The last articles in the site (HOT)

The most visited articles in the site

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

6.   Fixing a "Failed" worker

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

11. Shutting down the Manager

 

 

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:

 

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
[oracle@APPS ~]$ adctrl

Copyright (c) 2002 Oracle Corporation
Redwood Shores, California, USA

AD Controller

Version 11.5.0

NOTE: You may not use this utility for custom development
unless you have written permission from Oracle Corporation.


Attention: AD Controller no longer checks for unapplied pre-requisite patches.
You must use OAM Patch Wizard for this feature. Alternatively, you can
review the README for pre-requisite information.
 


Your default directory is '/APPS/visappl'.
Is this the correct APPL_TOP [Yes] ?

AD Controller records your AD Controller session in a text file
you specify. Enter your AD Controller log file name or press [Return]
to accept the default file name shown in brackets.

Filename [adctrl.log] :

************* Start of AD Controller session *************
AD Controller version: 11.5.0
AD Controller started at: Sun Mar 23 2008 15:29:30

APPL_TOP is set to /APPS/visappl

Reading product information from file...

Reading language and territory information from file...

Reading language information from applUS.txt ...

Enter the ORACLE username of Application Object Library [APPLSYS] :

Enter the ORACLE password of Application Object Library [APPS] :


AD Controller is verifying your username/password.
The status of various features in this run of AD Controller is:

                                                                  <-Feature version in->   

Feature                               Active?    APPLTOP   Data model   Flags
------------------------------      -------        --------        -----------       ----------------------
CHECKFILE                         Yes           1                1                   Y N N Y N Y
PREREQ                               Yes           6                6                   Y N N Y N Y
CONCURRENT_SESSIONS No            2                 2                   Y Y N Y Y N
PATCH_TIMING                  Yes          2                 2                   Y N N Y N Y
PATCH_HIST_IN_DB           Yes          6                6                   Y N N Y N Y
SCHEMA_SWAP                   Yes         1                 1                    Y N N Y Y Y


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] :

 

3. Which is the status of the workers ?

 

One time adctrl was started, we have to choose the first option "Show worker status".

Ad Controller

 

 

If there is no session which use the workers, the following message will appear:

 

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.

 

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 ?

 

STATUS  Description
Waiting The worker is idle.
Assigned A job was assigned by the manager to a worker but the worker didn't start the job.
Running The worker is running a job.
Failed The job failed due to an error. 
Fixed, Restart When a jobs restart after the error has been fixed (during this time the worker run the failed job).
Restarted After the error has been fixed, the worker will have the status "Fixed, Restart" and after that "Restarted". (The status will not change to "Running")
Completed The job was completed and the manager did not yet assigned another job to that worker.

 

 

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

 

 

6. Fixing a "Failed" worker 

 

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:

  • 3. Tell worker to quit        (for all workers)                 => to manually shutdown/ quit the workers 

  • 4. Tell manager that a worker failed its job                 

  • 5. Tell manager that a worker acknowledges quit    => the manager will stop, the AutoPatch will stop. 

  • restart the patch

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 

 

       Ad Controller

 

       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)

 

      Ad Controller

    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 p

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

 

 

11. Shutting down the Manager

 

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

Oracle Applications EBS 11i, R12      Oracle Database      Data Warehouse & BI      Oracle Middleware      PL/SQL      Linux ...

 

     Copyright (c) 2011-2015  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.