Streamlining Oracle eBusiness suite maintenance provides opportunities to reduce system downtime and opportunities for human error.
Those who are responsible for maintaining an Oracle eBusiness Suite environment will be familiar with the adpatch, adadmin and adctrl tools. Any patching or maintenance activities on the Oracle eBusiness Suite application tier will usually require running these tools at some point during the maintenance activities.
Running these tools will also present the usual familiar prompts that require the same keystrokes every single time. This can become a fairly tedious exercise even if you have a single APPL_TOP let alone an environment with multiple application tiers and no shared APPL_TOP.
Our recent project engagements have required us to squeeze every bit of spare time out of the Oracle eBusiness Suite 11i to R12 upgrade process. One way we have done this is to use the AD tools in command line mode to save a considerable amount of time and effort having to key in responses to the tools’ prompts.
What I will cover here are some basic setup tasks that are common for each tool and then take a look at a few options for adpatch, adamin and adctrl that you can deploy into your project or operational environment.
The common starting point to start using these tools in a less interactive way is to create a defaults file. The defaults file stores the prompts that you will see when running the tools. Typical input parameters are APPLSYS username, APPS password, SYSTEM password etc.
To setup the defaults file is straight forward, just supply the defaultsfile= parameter when calling one of the tools. I usually start with adpatch as that captures many of the input parameters that the other tools use as well:
If you don’t have an existing defaults file you will be prompted for the username, password, number of workers etc as usual when adpatch runs. Note that input parameters that are variable between runs will not be stored. Examples of these are patch log file names, patch location, and patch driver names.
The defaults file can now be used across the ad tools. All that needs to be done is to include the ‘defaultsfile=’ parameter when calling adpatch, adadmin, adctrl etc. This addition to your standard maintenance procedures can result in some considerable time savings having to enter the same parameters to the tools over and over.
Passing the defaults file command line parameter to adpatch will reduce most of the input required when running a patch. The adpatch tool will still ask for patch log file names, patch locations and patch driver file names as they are not stored in the defaults file.
You may also wish to modify the number of workers for a particular patch or have the patch tool set maintenance mode as a part of the patch application.
To see what options are available to be passed to adpatch just run adpatch help=y from the command line. Some of the parameters that are particularly useful for reducing manual work are:
logfile= workers= patchtop= driver=
Most of the time we run with standard options unless explicitly requested not to in the patch read me. One option that has been particularly useful is the maintenancemode option which instructs the adpatch tool to enable maintenance mode at the start of the patch and disable maintenance mode on the completion of the patch.
This is handy as it saves you having to enter adadmin and set the maintenance mode manually (ideally we would be setting maintenance mode via a command line parameter to adadmin if we are unable to set maintenance mode from within adpatch). Adding all this together we get an adpatch command line that looks as follows:
adpatch defaultsfile=$APPL_TOP/admin/$TWO_TASK/defaults.txt options=maintenancemode logfile= workers= patchtop= driver=
With one command line you have performed all of the input required to apply a patch.
The adadmin tool also provides a command line interface to call the required function without having to navigate through the menu structure.
This can be helpful if you find you need to perform compilation or generation of application or database objects, enable and disable maintenance mode, relink executables as a part of your standard maintenance.
Running adadmin help=y will display the parameter options available with adadmin. To enable maintenance mode using a single command line you can run the following:
adadmin defaultsfile=$APPL_TOP/admin/$TWO_TASK/defaults.txt menu_option=ENABLE_MAINT_MODE
The adctrl utility is used during patch application to control the adworkers applying the actions from the patch driver. This tool is the primary interface to viewing the status of workers when running a patch or performing admin functions. Running adctrl help=y will show us what the options are for this utility. We can also use our defaults file created earlier to supply the parameters to the various prompts of the adctrl tool.
The following command line will display the status of any adworkers that are running:
adctrl defaultsfile=$APPL_TOP/admin/$TWO_TASK/defaults.txt menu_option=SHOW_STATUS worker_range=ALL
The following command line will restart any workers that have failed:
adctrl defaultsfile=$APPL_TOP/admin/$TWO_TASK/defaults.txt menu_option=RESTART_JOB worker_range=ALL
Note: it’s ok to pass the worker range parameter as ALL, only the failed workers will restart.
How you use each of these tools will determine where the various parameters may come in handy. I have discussed the commands that I see run most often but if you have a look at the options for each tool there are quite a few useful combinations that can be scripted together to automate commonly performed maintenance tasks.