Adadmin Utilities
This is an interactive menu available to you to maintain several aspects of your Oracle Applications environment.
The menu divides into two categories: Database and File maintenance.
The database screen gives you options for creating or maintaining database structures, data, or privileges. Most of
these activities are encountered during installation or upgrades. You can run many of these without adverse affect --
but you should seek the help of Oracle Support if you are not familiar with these. Be VERY careful not to
inadvertently run the Multi-Org option unless you really mean it! Some of these options cannot be run unless your
database is NOT in archivelog mode (intended for the installation or upgrade process). You SHOULD be running in
archivelog mode if this is your production instance. Many of these menu options can be run standalone by the
corresponding utility in $AD_TOP/bin or $FND_TOP/bin.
The file maintenance screen does not manipulate the database structure nor data -- just operating system files. Most
of these options were intended for the installation or upgrade process. You should be able to run all of these
operations without consequence -- yet, I wouldn't advise it unless you are sure of the ramifications and your needs.
Again, many of these menu options can be run standalone from the corresponding programs in $AD_TOP/bin or
$FND_TOP/bin.
When I go to a new client, two of the utilities that I would like to run from adadmin are 1) Verify that all files exist
(including extras), and 2) Verify all database objects. Note: This second option to verify database objects no longer
exists past version 10.5, but there are other ways to do this.
The file report looks at the installation driver files and reports any missing files that are expected to be found
somewhere in $APPL_TOP. I look for missing files and verify that we have a good, complete installation. I also
look at the extra files to find opportunities for cleanup and customizations! I'll speak more on customizations, but I
am particularly interested in whether or not the customizations are done according to Oracle's guidelines.
The database object report would show missing, extra, and modified database objects. It would compare the objects
to the *.odf files in the application top directories using the odfcmp utilities. Since 10.6, this functionality is gone.
You can manually run these reports using the adodfcmp utility in $AD_TOP/bin. Type in adodfcmp by itself to get
the parameters, or look in the installation manual to get more information on this utility (and many, many more).
There is a caveat to keep in mind when reviewing these reports, though. Finding discrepancies from these utilities
doesn't necessarily mean that something is wrong. What you are looking at is comparisons to the base installation.
Patches (or customizations) can be reasons why there are differences. While I've seen some patches upgrade the
driver files, many do not. So, you will have to scrutinize the differences. Still, these can be some very beneficial
tools in maintaining your environment.
Installation and Upgrade Utilities
This is an advanced topic, so I do not want to spend much time, here. Yet, I do want to draw attention to the popular
utilities -- many of which overlap the adadmin utilities.
The installation starts with unloading the software from the media with the adunload utility (actually, you run a script
file which runs adunload for you to get the base utilities -- but you can do a manual unload yourself with this tool).
Trivia: Ever wonder where the *.inp files went under $FND_TOP/forms? They were actually downloaded to your
system by adunload in the installation process. When autoinstall generated your forms, it deleted the *.inp source
files for the $FND_TOP/forms -- and only these forms. Why? Because you're not supposed to be messing with
these files! However, if you ever delete the FND form executables, you can run the adunload utility to get the *.inp
files from the base installation media.
After adunload gets your source code to the $APPL_TOP directories, you will eventually proceed with the
installation or upgrade process using the adaimgr (autoinstall) utility. This is a menu driven utility which will ask
you several setup questions. Eventually you will get to the "upgrade database objects" step in autoinstall. When this
starts, it will read the necessary driver files (*.drv) which then calls several other utilities in the proper sequence,
depending upon the products you have purchased and your answers to the adaimgr setup menu questions. These
installation processes are run by the adworker background processes. You monitor these processes via the adctrl
program.
The Adctrl Utility
The adctrl utility is one that you will use with adpatch, as well as autoinstall. In the newer versions of Oracle, the
patches can now be multiplexed -- multiple processes running concurrently. A temporary table called
fnd_install_processes is created to keep track of the drivers, sequencing, and statuses. Through adctrl you can
manage or view the status of these jobs. When the patch completes successfully, the fnd_install_processes table will
be dropped. However, if one or more of the drivers fail, the status will be shown and you will be required to resolve
the problem. You now go to the corresponding adworker log file.
Adworker Log Files
The adworker log files are found in $APPL_TOP/install/log. They will be numbered as adworker01.log -
adworkernn.log, depending on how many concurrent processes you specified at the prompt. Find the log
corresponding to the process(es) flagged as "failed" in the adctrl menu. Go to the bottom of the log file, find the
error, and resolve the problem.
If you were able to resolve it, go back into adctrl. If you were able to resolve the problem before the remainder of
the other adworkers became dependent upon the failed adworker(s), then you can use the menu options to change the
status to "fixed" and restart the failed adworker(s). The process continues until it finishes or encounters more
problems requiring you to follow the same procedures mentioned above.
However, if all the workers failed or came to a point where it could not proceed until the dependent failed
adworker(s) were resolved, the adpatch (or adaimgr) process may have shut down. In this case you will need to
restart the process.
Restarting Adadmin Utilities
Some utilities such as adrelink, adaimgr, and adpatch may abort or shutdown prior to completing all of their steps.
In this case, you need to refer to the adworker log files to determine the problems and resolve them. If you were able
to resolve them, simply reinitiate the utility, like adpatch. Upon startup, it will check both the restart files found in
$APPL_TOP/install/restart and for the presence and contents of the fnd_install_processes table. If the failed
workers now have a status of "fixed, restart", the appropriate adworkers are reinitiated and resume progress as
tracked in the restart files.
If you decide to completely abort the process and start over (careful, this could have adverse affects), then answer the
prompts when restarting the utility that you do NOT want to resume the previous unfinished run. (As a safety guard,
you will also be prompted to answer the question again phrased in opposite logic.) You may then see an error where
the process cannot start because it found the presence of the fnd_install_processes table, hence it could not create it
and the job fails. That's okay. Login to sqlplus as applsys and manually drop the fnd_install_processes table.
Please refer to your utility and installation manuals for more complete instructions on how to use these programs.
These are mentioned here to illustrate that the application installation, maintenance, and patching procedures are not
magic. Rather, they are logical procedures which call upon several utilities within the $AD_TOP/bin and
$FND_TOP/bin directories. Become familiar with them. Here's a recap on important utilities and programs...
Important Utilities and Tools
You should become familiar with the following tools and utilities. Adadmin tools including the adadmin menu for
both database and $APPL_TOP file maintenance tasks. Important tools under $AD_TOP/bin include adaimgr,
adunload, adpatch, adrelink, adctrl, adfrmgen, and adodfcmp. Other directories of interest include $FND_TOP/<bin,
sql>, and $AD_TOP/sql.
The scripts under $AD_TOP/sql are interesting, too, but I'll give the same disclaimer as issued for the
$FND_TOP/sql scripts: CAUTION: Do not blindly run these scripts without analyzing their purpose, impact, and
possibly consulting with Oracle Support! Test them in your development environment, first.
Most of these AD*.sql scripts are your basic DBA tuning and reporting scripts. There are two scripts, though, which
alter your database. Let's look at these.
ADXANLYZ.sql creates another script which does an "analyze table estimate statistics sample 20%". Now, the
Oracle Financials database MUST be set to RULE base optimization in the init.ora file. I am speculating the
following hypothesis: The Oracle Applications originally evolved prior to COST base optimization. Hence, the
code was originally tuned with RULE optimization in mind. However, as the Applications mature we are seeing
more and more stored procedures and code (just look at how the system tablespace expands) and the use of HINTS.
Some of these hints override RULE based optimization. In order for some code to take the best optimization path,
you need the data statistics.
I do not recommend running this script "carte blanche" without evaluating the benefits or consequences. I have
found that some applications improve, while others suffer from the statistics. Also, many developers assume that
they should be writing code to a RULE based database, as it is configured in the init.ora. Bottom line: Use sparingly
and run explain plan to see the best options. I have found a combination of both works -- some code needs the
statistics deleted. If you do analyze your tables, remember that you are now taking on a process which needs to be
updated on a regular basis to be of benefit.
The Oracle Applications also suggest pinning your procedures (again, more and more code is in the form of stored
procedures). The ADXGNPIN.sql script generates an all inclusive pinning script for every database object.
ADXCKPIN.sql reports the pinned objects and execution statistics.
In order to use this correctly, you need to monitor and adjust your shared_pool accordingly. I would advise altering
the script to pin the large and popular packages, only. Again, this must be monitored and tuned within your
shared_pool and shared_pool_reserved SGA parameters.
************* Start of AD Administration session *************
AD Administration version: 11.5.0
AD Administration started at: Mon Feb 09 2009 11:18:26
APPL_TOP is set to /mewga/MEWGA_PRODUCT/usr01/app1154/mewgaappl
NLS_LANG value from the environment is : American_America.JA16EUC
NLS_LANG value for this AD utility run is : AMERICAN_AMERICA.JA16EUC
You can be notified by email if a failure occurs.
Do you wish to activate this feature [No] ? No
Please enter the batchsize [1000] : 1000
Please enter the name of the Oracle Applications System that this
APPL_TOP belongs to.
The Applications System name must be unique across all Oracle
Applications Systems at your site, must be from 1 to 30 characters
long, may only contain alphanumeric and underscore characters,
and must start with a letter.
Sample Applications System names are: "prod", "test", "demo" and
"Development_2".
Applications System Name [MEWGA] : MEWGA *
NOTE: If you do not currently have certain types of files installed
in this APPL_TOP, you may not be able to perform certain tasks.
Example 1: If you don't have files used for installing or upgrading
the database installed in this area, you cannot install or upgrade
the database from this APPL_TOP.
Example 2: If you don't have forms files installed in this area, you cannot
generate them or run them from this APPL_TOP.
Example 3: If you don't have concurrent program files installed in this area,
you cannot relink concurrent programs or generate reports from this APPL_TOP.
Do you currently have files used for installing or upgrading the database
installed in this APPL_TOP [YES] ? YES *
Do you currently have Java and HTML files for HTML-based functionality
installed in this APPL_TOP [YES] ? YES *
Do you currently have Oracle Applications forms files installed
in this APPL_TOP [YES] ? YES *
Do you currently have concurrent program files installed
in this APPL_TOP [YES] ? YES *
Please enter the name Oracle Applications will use to identify this APPL_TOP.
The APPL_TOP name you select must be unique within an Oracle Applications
System, must be from 1 to 30 characters long, may only contain
alphanumeric and underscore characters, and must start with a letter.
Sample APPL_TOP Names are: "prod_all", "demo3_forms2", and "forms1".
APPL_TOP Name [TSS2] : TSS2 *
You are about to use or modify Oracle Applications product tables
in your ORACLE database 'MEWGA'
using ORACLE executables in '/mewga/MEWGA_PRODUCT/usr01/app1154/mewgaora/8.0.6_UP'.
Is this the correct database [Yes] ? Yes
AD Administration needs the password for your 'SYSTEM' ORACLE schema
in order to determine your installation configuration.
Enter the password for your 'SYSTEM' ORACLE schema: *****
Connecting to SYSTEM......Connected successfully.
The ORACLE username specified below for Application Object Library
uniquely identifies your existing product group: APPLSYS
Enter the ORACLE password of Application Object Library [APPS] : *****
AD Administration is verifying your username/password.
Connecting to APPLSYS......Connected successfully.
The status of various features in this run of AD Administration 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
Connecting to SYSTEM......Connected successfully.
Connecting to APPLSYS......Connected successfully.
Identifier for the current session is 2661
Reading product information from file...
Reading language and territory information from file...
Reading language information from applUS.txt ...
Reading database to see what industry is currently installed.
Reading FND_LANGUAGES to see what is currently installed.
Currently, the following languages are installed:
Code Language Status
---- --------------------------------------- ---------
US American English Base
JA Japanese Install
Reading language information from applJA.txt ...
Your base language will be AMERICAN.
Your other languages to install are: JAPANESE
Setting up module information.
Reading database for information about the modules.
Saving module information.
Reading database for information about the products.
Connecting to SYSTEM......Connected successfully.
Connecting to APPLSYS......Connected successfully.
Connecting to SYSTEM......Connected successfully.
Reading database for information about how products depend on each other.
Connecting to APPLSYS......Connected successfully.
Reading topfile.txt ...
Saving product information.
Connecting to SYSTEM......Connected successfully.
Connecting to APPLSYS......Connected successfully.
AD code level : [11i.AD.I.4]
Connecting to SYSTEM......Connected successfully.
Connecting to APPS......Connected successfully.
Connecting to APPLSYS......Connected successfully.
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 4
Maintain Applications Database Entities
---------------------------------------------------
1. Validate APPS schema
2. Re-create grants and synonyms for APPS schema
3. Maintain multi-lingual tables
4. Check DUAL table
5. Convert to Multiple Reporting Currencies
6. Return to Main Menu
Enter your choice [6] : 4
Connecting to APPS......Connected successfully.
Connecting to SYSTEM......Connected successfully.
SYS.DUAL has the correct number of rows.
Granting privileges on SYS.DUAL ...
GRANT ALL ON SYS.DUAL TO PUBLIC
Connecting to APPS......Connected successfully.
Review the messages above, then press [Return] to continue.
Time is: Mon Feb 09 2009 11:19:23
Backing up restart files, if any......Done.
Connecting to APPLSYS......Connected successfully.
Maintain Applications Database Entities
---------------------------------------------------
1. Validate APPS schema
2. Re-create grants and synonyms for APPS schema
3. Maintain multi-lingual tables
4. Check DUAL table
5. Convert to Multiple Reporting Currencies
6. Return to Main Menu
Enter your choice [6] : 5
Connecting to APPS......Connected successfully.
Connecting to SYSTEM......Connected successfully.
Connecting to APPS......Connected successfully.
AD utilities can support a maximum of 999 workers. Your
current database configuration supports a maximum of 108 workers.
Oracle recommends that you use between 8 and 16 workers.
Enter the number of workers [8] : 8
Connecting to APPLSYS......Connected successfully.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Your current code level does not require an MRC schema for MRC functionality.
Because of this, no MRC schema maintenance has been performed.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Connecting to APPS......Connected successfully.
Review the messages above, then press [Return] to continue.
Time is: Mon Feb 09 2009 11:21:36
Backing up restart files, if any......Done.
Connecting to APPLSYS......Connected successfully.
Maintain Applications Database Entities
---------------------------------------------------
1. Validate APPS schema
2. Re-create grants and synonyms for APPS schema
3. Maintain multi-lingual tables
4. Check DUAL table
5. Convert to Multiple Reporting Currencies
6. Return to Main Menu
Enter your choice [6] : 6
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 3
Compile/Reload Applications Database Entities
---------------------------------------------------
1. Compile APPS schema
2. Compile menu information
3. Compile flexfields
4. Reload JAR files to database
5. Return to Main Menu
Enter your choice [5] : 5
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 2
Connecting to APPS......Connected successfully.
Maintain Applications Files
----------------------------------------
1. Relink Applications programs
2. Create Applications environment file
3. Copy files to destinations
4. Convert character set
5. Maintain snapshot information
6. Check for missing files
7. Return to Main Menu
Enter your choice [7] : 7
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 4
Maintain Applications Database Entities
---------------------------------------------------
1. Validate APPS schema
2. Re-create grants and synonyms for APPS schema
3. Maintain multi-lingual tables
4. Check DUAL table
5. Convert to Multiple Reporting Currencies
6. Return to Main Menu
Enter your choice [6] : 6
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 5
Connecting to APPS......Connected successfully.
Change Maintenance Mode
----------------------------------------
Maintenance Mode is currently: [Disabled].
Maintenance mode should normally be enabled when patching
Oracle Applications and disabled when users are logged on
to the system. See the Oracle Applications Maintenance
Utilities manual for more information about maintenance mode.
Please select an option:
1. Enable Maintenance Mode
2. Disable Maintenance Mode
3. Return to Main Menu
Enter your choice [3] : 3
AD Administration Main Menu
--------------------------------------------------
1. Generate Applications Files menu
2. Maintain Applications Files menu
3. Compile/Reload Applications Database Entities menu
4. Maintain Applications Database Entities menu
5. Change Maintenance Mode
6. Exit AD Administration
Enter your choice [6] : 6
Time is: Mon Feb 09 2009 11:25:42
Backing up restart files, if any......Done.
Time is: Mon Feb 09 2009 11:25:42
There is no timing information available for the current session.
AD Administration is complete.
Errors and warnings are listed in the log file
/mewga/MEWGA_PRODUCT/usr01/app1154/mewgaappl/admin/MEWGA/log/koushik.log
and in other log files in the same directory.