How can you licence a product after installation ?

on Thursday 24 May 2012

How can you licence a product after installation ?

You can use ad utility adlicmgr to licence product in Oracle Apps.
 

What is adsplice utility ?

on

What is adsplice utility ?
adsplice in oracle apps is utility to add a new product.

Can you apply patch without putting Applications 11i in Maintenance mode ?

on

Can you apply patch without putting Applications 11i in Maintenance mode ?

Yes, use options=hotpatch as mentioned above with adpatch.

Important Tables For ADPATCH :

on

 Important Tables For ADPATCH :
AD_APPL_TOPS
AD_APPLIED_PATCHES
AD_BUGS
AD_PATCH_DRIVERS
AD_FILE_VERSIONS
AD_FILES
AD_PATCH_DRIVER_LANGS
AD_PATCH_DRIVER_MINIPKS
AD_PATCH_RUN_BUG_ACTIONS
AD_PATCH_RUN_BUGS
AD_PATCH_RUNS
AD_RELEASES
AD_PATCH_COMMON_ACTIONS

How you put Applications 11i in Maintenance mode ?

on

How you put Applications 11i in Maintenance mode ?
[applmgr@srvr33 appltop]$ . APPSdb4_srvr33.env
[applmgr@srvr33 appltop]$ adadmin

 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

Change Maintenance Mode
   ----------------------------------------

Maintenance Mode is currently: [Enabled].


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

Here  internally call bellow Script
@$AD_TOP/patch/115/sql/adsetmmd.sql 

You can also put your application in maintencemode from backend :
Enable Maintenance mode :
SQL> @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
SQL> select fnd_profile.value(‘APPS_MAINTENANCE_MODE’) from dual; –> to check

Disable Maintenance mode :
SQL> @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE
SQL> select fnd_profile.value(‘APPS_MAINTENANCE_MODE’) from dual; –> to check

How to find log files locations in 11i and R12

on Wednesday 23 May 2012

How to find log files locations in 11i and R12


The following log files location could help you to find-out issues and errors from your application 11i instance.

Database Tier Logs are

Alert Log File location:
$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log

Trace file location:
$ORACLE_HOME/admin/SID_Hostname/udump

Application Tier Logs

Start/Stop script log files location:
$COMMON_TOP/admin/log/CONTEXT_NAME/

OPMN log file location
$ORACLE_HOME/opmn/logs/ipm.log

Apache, Jserv, JVM log files locations:
$IAS_ORACLE_HOME/Apache/Apache/logs/ssl_engine_log
$IAS_ORACLE_HOME/Apache/Apache/logs/ssl_request_log
$IAS_ORACLE_HOME/Apache/Apache/logs/access_log
$IAS_ORACLE_HOME/Apache/Apache/logs/error_log
$IAS_ORACLE_HOME/Apache/JServ/logs

Concurrent log file location:
$APPL_TOP/admin/PROD/log or $APPLLOG/$APPLCSF

Patch log file location:
$APPL_TOP/admin/PROD/log

Worker Log file location:
$APPL_TOP/admin/PROD/log

AutoConfig log files location:
Application Tier:
$APPL_TOP/admin/SID_Hostname/log//DDMMTime/adconfig.log

Database Tier:
$ORACLE_HOME/appsutil/log/SID_Hostname/DDMMTime/adconfig.log

Error log file location:
Application Tier:
$APPL_TOP/admin/PROD/log

Database Tier :
$ORACLE_HOME/appsutil/log/SID_Hostname




In Oracle Applications R12, the log files are located in $LOG_HOME (which translates to $INST_TOP/logs)
Below list of log file locations could be helpful for you:

Concurrent Reqeust related logs
$LOG_HOME/appl/conc - > location for concurrent requests log and out files
$LOG_HOME/appl/admin - > location for mid tier startup scripts log files

Apache Logs (10.1.3 Oracle Home which is equivalent to iAS Oracle Home - Apache, OC4J and OPMN)
$LOG_HOME/ora/10.1.3/Apache - > Location for Apache Error and Access log files
$LOG_HOME/ora/10.1.3/j2ee - > location for j2ee related log files
$LOG_HOME/ora/10.1.3/opmn - > location for opmn related log files

Forms & Reports related logs (10.1.2 Oracle home which is equivalent to 806 Oracle Home)
$LOG_HOME/ora/10.1.2/forms
$LOG_HOME/ora/10.1.2/reports

Startup/Shutdown Log files location:
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log

Patch log files location:
$APPL_TOP/admin/$SID/log/

Clone and AutoConfig log files location in Oracle E-Business Suite Release 12 

Logs for the adpreclone.pl are located: 
On the database tier: 
RDBMS $ORACLE_HOME/appsutil/log/< context >/StageDBTier_< timestamp >.log

On the application tier: 
$INST_TOP/admin/log/StageAppsTier_< timestamp >.log

Where the logs for the admkappsutil.pl are located? 
On the application tier: 
$INST_TOP/admin/log/MakeAppsUtil_< timestamp >.log

Logs for the adcfgclone.pl are located:


On the database tier: 
RDBMS $ORACLE_HOME/appsutil/log/< context >/ApplyDBTier_< timestamp >.log

On the application tier: 
$INST_TOP/admin/log/ApplyAppsTier_< timestamp >.log
.
Logs for the adconfig are located: 

On the database tier: 
RDBMS $ORACLE_HOME/appsutil/log/< context >/< timestamp >/adconfig.log
RDBMS $ORACLE_HOME/appsutil/log/< context >/< timestamp >/NetServiceHandler.log

On the application tier: 
$INST_TOP/admin/log/< timestamp >/adconfig.log
$INST_TOP/admin/log/< timestamp >/NetServiceHandler.log


What is the Location of Autoconfig logfile ?

on

What is the Location of Autoconfig  logfile ?


Autoconfig log files will be stored in this directory
$APPL_TOP/admin/$CONTEXTFILE/<timestamp>/log/adconfig.log.log


Eg: $APPL_TOP/admin/SID_Hostname/log//DDMMTime/adconfig.log

Can C driver in apps patch create Invalid Object in database ?

on Monday 21 May 2012

Can C driver in apps patch create Invalid Object in database ?
No , C driver only copies files in File System. Database Object might be invalidated during D driver when these objects are created/dropped/modified.

When you apply C driver patch does it require database to be Up & Why ?

on

When you apply C driver patch does it require database to be Up & Why ?
Yes , database & db listener should be Up when you apply any driver patch in apps. even if driver is not updating any database object connection is required to validate apps & other schema and to upload patch history information in database tables.

What are the AutoPatch Restart files?

on

What are the AutoPatch Restart files?
Restart files store information about completed processing in the event of a patch or system failure. They allow AutoPatch, AutoUpgrade, and AD Administration to continue processing at the point where they stopped.
Its location is $APPL_TOP/admin/<SID>/restart

How do you know the product versions, patchset levels?

on

How do you know the product versions, patchset levels?

$AD_TOP/sql/ adutconf. lst
(or)
Query PRODUCT_COMPONENT_ VERSION table.

What is the use of the InterOperability Patch?

on

What is the use of the InterOperability Patch?
We apply this patch for the compatability between OS and Oracle.

what is the Location of Patch History files?

on

what is the Location of Patch History files?

$APPL_TOP/admin/ SID/javaupdates<timestamp>.txt (for java related files)
$APPL_TOP/admin/ SID/adpsv<timestamp>.txt (non-java related files )

How do you find out which drivers have been applied?

on

How do you find out which drivers have been applied?

From the following query you can find the applied dtriver name
Query the ad_patch_drivers;

While applying the Apps patch using adpatch, if you want to hide the apps password, how will that be possible?

on

While applying the Apps patch using adpatch, if you want to hide the apps password, how will that be possible?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system password being displayed on Users Screen.

What do you do if the patch fails?

on

What do you do if the patch fails?

  • Review log file(s) to determine the cause of the error
  • Fix the cause of the error
  • Restart adpatch
  • when adpatch asks if you want to continue the previous session
  • Adpatch will skip already completed jobs, and pick up from where it left off.

Where to find the adpatch log files ?

on

Where to find the adpatch log files ?


Patch log files will be stored in this directory
$APPL_TOP/admin/$SID/log like adpatchXXX.log

How to check if a patch is applied or not ?

on

How to check if a patch is applied or not ?

Patch information in 11i is stored in AD_BUGS & AD_APPLIED_PATCHES table . You can query like:

SQL> select bug_number from AD_BUGS where bug_number =’&patch_no’;

Alternatively you can check patch information from OAM (Oracle Application Manager).

Modes of the Patching?

on

Modes of the Patching?

  • Test mode (apply=n), With the Test mode, we can see the effects applying the patch will have on your system before applying the patch.
  • Pre-install mode (preinstall= y), Pre-install mode of Autopatch is used when the version of Oracle Applications AutoPatch works with is different than the version of Oracle Applications in the database. We use this mode during upgrade process.
  • Non-interactive mode (adpatch defaultsfile= $APPL_TOP/ admin/<SID>/log)

What are the drivers present in patching?

on

What are the drivers present in patching?

  • C driver copies the files and links executables
  • D driver runs the SQL scripts and programs that updates the database
  • G driver generates the forms, reports and message files
  • U driver is a consolidated driver containing all copy, database, and generate files

Contents of a Patch?

on

Contents of a Patch?

  • Readme files
  • Driver files
  • Metadata files
  • Replacement files

Naming conventions of Oracle Apps Patches?

on

Naming conventions of Oracle Apps Patches?

Minipack naming convention?

11i.<prod>.A, 11i.<prod>.B For example: 11i.AD.G, 11i.AD.H

Maintenance pack naming convention?

11.5.1, 11.5.2, 11.5.3


Family pack naming convention?

11i.<prod family name>.<letter> For example: 11i.HR_PF.C

RMAN Cross check Commands

on

RMAN Cross check Commands

Crosscheck is needed when an archivelog or file is manually removed i.e., not deleted by RMAN.  This command ensures the data about backups in recovery catalog or controlfile is synchronized with corresponding data on disk

The crosscheck command does not delete any file that is unable to find out, but updates their repository records to expired

Use the crosscheck command to synchronize the physical reality of backups and copies with their logical records in the RMAN repository

For example

            RMAN> crosscheck backupset 326;

                       You will get O/P as backup piece found it to be available, which confirms that the backup files exist and are usable.

Validate Commands for RMAN

on

Validate Commands for RMAN 

The validate commands helps you ensure that the backed-up files exist in the proper location and they are readable and free from any logical and physical corruption for exampme

            RMAN> validate backupset 9

                        The following command doesn’t restore any data files.  It only validates the contents of the backup sets are restorable

             RMAN> run {

                                    Allocate channel d1 type disk;

                                    Restore database validate;

                                    }

             The “finished restore” message indicates database can be recovered if necessary

Reports commands for RMAN

on

Reports commands for RMAN 

Use the report commands to answer for the following question
  1. which files need a backup?
  2. which files or backups are obsolete and can be deleted
  3. which files have not been backed up recently and etc….
  •  if you have retention policy configured, then you can just run report need backup to determine which files need backups
            RMAN> report need backup
  • To report the database structure at a specified point in time
             RMAN> report schema
  •  Which backup can be delete (obsolete)
                RMAN> report obsolete
  •  Which files are not recoverable
              RMAN> report unrecoverable
  •  To delete obsolete backup
              RMAN> delete obsolete

RMAN List commands

on

RMAN List commands

The primary purpose of list command is to determine which backups or copies are available
  • To list backup sets, backup pieces and proxy copies
             RMAN> list backup
  •  To list backups by file
             RMAN> list backup by file
  •  To list backups in summary mode
             RMAN> list backup summary
  •  To list backups of all files in database
             RMAN> list backup of database;
  •  To list copy of specified datafile
              RMAN> list copy of datafile ‘/disk1/oradata/tbs_1.f ’;
  •  To list specified backup set
               RMAN> list backupset 213
  •  To list a backup by tag
               RMAN> list backup TAG ‘weekly _full_db_bk’
  •  To list archivelog files
              RMAN> list archivelog all;

RMAN-Show commands

on

RMAN-Show commands

  •  To show all RMAN configuration settings
              RMAN> show all;
  •  To show retention policy configuration settings
              RMAN> show retention policy
  •  To show the automatic channel settings
              RMAN> show channel
  •  To show the default device type
             RMAN> show default device type
  •  To show the number of identical copies of each backup
             RMAN> show archivelog backup copies
             RMAN> show datafile copies
  •  To show the maximum size for RMAN backup sets
              RMAN> show maxsetsize
  •  To show the snapshot controlfile filename
              RMAN> show snapshot controlfile;

Steps for RMAN CLONING

on

Steps for RMAN CLONING

Step – 1

 Create a new init.ora(parameter file) file for the auxiliary database.  Create physical directories like udump, cdump, bdump.  If your target db datafiles and log files directories are different from source then mention following converters in parameter file

             . DB_file_name_convert

            . LOG_file_name_convert

 Step – 2

 Start the auxiliary db instance in nomount stage.  Target should be in mount or open stage

             Sql> startup nomount

 Step – 3

 Create network files.  Create listener at auxiliary side and tns at catalog

 Step – 4

 Connect to recovery catalog to target database and auxiliary database

             RMAN> connect catalog rman/rman target sys/sys@to-target auxiliary sys/sys@to-auxiliary

 Step – 5

After connecting all three databases take a backup of target database

            RMAN> backup database plus archivelog;

Step – 6

 Issue the RMAN duplicate command OS follows

             RMAN> duplicate target database to AUX (dbname)

 If you use above command, the files are restored to the target database, after which an incomplete recovery is performed and new database is opened with resetlogs command.

Analyzing the Oracle Apps 11i JVM logs

on Sunday 20 May 2012

Analyzing the Oracle Apps 11i JVM logs

 In order to analyze Oracle apps 11i JVM, lets open stdout file for one of Group, I have selected OACoreGroup here,  log file ($IAS_ORACLE_HOME/Apache/Jserv/logs/jvm), open file like OACoreGroup.X.stdout you should see output like below if GC(Grabage Collector) is set in Verbose mode.

48561.624: [GC 325980K->170382K(519168K), 0.2751056 secs]
49307.880: [GC 334862K->179171K(519168K), 0.2660486 secs]
50236.662: [GC 343651K->187797K(519168K), 0.2518720 secs]
50515.494: [Full GC[Unloading class sun. reflect. Generated Method Accessor 143]
[Unloading class sun. reflect. GeneratedMethodAccessor136]
[Unloading class sun. reflect. GeneratedMethodAccessor74]

Here first entry is time since JVM was started so each time you bounce Apache it will be reset to 0. So difference between two entries is seconds after which GC (Garbage Collector) was executed. First entry in bracket [ is Heap Size at start of GC & Second entry is Heap Size after GC was executed. Number mentioned in round bracket () is heap size currently attocated in K. If you see GC running very frequently , you can start thinking of increasing JVM heap size
First three entries were for Minor Garbage Collector & fourth one is FULL GC is for Full Garbage Collector.

Where to find the Apps 11i JVM logs ?

on

Where to find the Apps 11i JVM logs ?

JVM log location is defined in java.sh ( found in $IAS_ORACLE_HOME/Apache/Apache/bin) Oracle Apps 11i JVM log file directory is defined by parameter JVMLOGDIR ( $IAS_ORACLE_HOME/Apache/Jserv/logs/jvm ) and log file are defined by STDOUTLOG & STDERRLOG. Example of JVM log files are

    OACoreGroup.0.stderr ,OACoreGroup.0.stdout, DiscoGroup.0.stdout, DiscoGroup.0.stderr, XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout

- where 0 denotes first JVM & if  1 denotes second JVM. stderr records error encountered in JVM & stdout records other information like GC(Gargbage Collecter).

How to increase the No. Of JVM’s

on

How to increase the No. Of JVM’s



Since you know the place where number of JVM’s are stored in Apps 11i in Context File , so you can change them as per your requirement. There are basically following Groups with their own JVM’s.

    OACoreGroup, where most of Java request goes
    DiscoGroup, which serve your Discoverer related requests
    FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again)
    XmlSvcsGroup, for XML Services

In Context File

disco_nprocs oa_var=”s_disco_nprocs” osd=”Solaris” 1 /disco_nprocs Sets 1 JVM Process for Discoverer.

oacore_nprocs oa_var=”s_oacore_nprocs” 1 /oacore_nprocs Sets 1 JVM for for OACoreGroup

Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services resp.

     These Groups are defined in configuration file for Jserv i.e. jserv.conf under $IAS_ORA/Apache/Jserv/conf ; like
    ApJServGroup OACoreGroup
    ApJServGroup DiscoGroup
    ApJServGroup FormsGroup
    ApJServGroup XmlSvcsGrp

How & Where to check JVM related configuration in Oracle Apps 11i?

on Saturday 19 May 2012

How & Where to check JVM related configuration in Oracle Apps 11i?


Open CONTEXT file under $APPL_TOP/admin (xml file) which is of pattern $SID_$HOSTNAME.xml
There are two important lines in CONTEXT file which will help you in understanding JVM
    jvm_options oa_var=”s_jvm_options” osd=”Solaris” -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB /jvm_options

- Verbose:gc means JVM is configured to print output when gc(Garbage Collector) runs.
- Xmx is maximum memory allocated to JVM in above example its 512 MB.
- Xms is JVM will start with this much memory i.e. 128 MB.

 Now Check another line in 11i Context file like

    oacore_nprocs oa_var=”s_oacore_nprocs”2/oacore_nprocs
    Which means that there are two JVM’s for OACore Group. Usually default its 1 JVM in my Instance I changed it to 2, to cater huge Self Service users in my case.

What is JVM ?

on

What is JVM ?


 JVM acronym for Java Virtual Machine which executes instructions generated by Java compiler . So user click on any Self Service Request or any program which uses Java, then Apache forwards this request to mod_jserv (mod_oc4j in 10g AS) & mod_jserv caters this request with help of JVM.

What is *.dbc file and what is the location of dbc file ?

on

What is *.dbc file and what is the location of dbc file ?



 DBC as name stands for is database connect descriptor file used to connect to database.

DBC file is quite important as whenever Java or any other program like forms want to connect to database it uses DBC file.

This file by default located in $FND_TOP/secure directory also called as $FND_SECURE directory.

Typical entry in DBC file is:

GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST

Whats is the location of access_log file ?

on

Whats is the location of access_log file ?


access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs. Location of this file is defined in httpd.conf by patameter CustomLog or TransferLog.

What is the difference between AD_BUGS and AD_APPLID_PATCHES ?

on Friday 18 May 2012

What is the difference between AD_BUGS and AD_APPLID_PATCHES ?

AD_BUGS holds information about the various Oracle Applications bugs whose fixes have been applied (ie. patched) in the Oracle Applications installation.

AD_APPLIED_PATCHES holds information about the “distinct” Oracle Applications patches that have been applied. If 2 patches happen to have the same name but are different in content (eg. “merged” patches), then they are considered distinct and this table will therefore hold 2 records.


What are the restart files? and its location?

on

What are the restart files? and its location?


 These files contains the previous session info about AD utilities like... adadmin.. Location is $APPL_TOP\admin\sid\restart\*.rf9

Which two tables created at start of application Patch and drops at end of Patch?

on

Which two tables created at start of application Patch and drops at end of Patch?

FND_INSTALLED_PROCESS and AD_DEFFERED_JOBS are the tables that get updated while applying a patch mainly d or unified driver.

Where is appsweb.cfg or appsweb_$CONTEXT.cfg files are stored and why it’s used?

on

Where is  appsweb.cfg or appsweb_$CONTEXT.cfg files are stored and why it’s used?



 This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is usually in directory $OA_HTML/bin on forms tier.

This file is used by any forms client session. When a user try to access forms, f60webmx picks up this file and based on this configuration file creates a forms session to user/client.

What are things you do to reduce the patch timing?

on

What are things you do to reduce the patch timing?
To Reduce the Patch timing in apps , defaults file, nocompilejsp , nocompiledb , merge patch 



 You can take advantage of following :
# Merging patches via admrgpch
# Use various adpatch options like nocompiledb or nocompilejsp
# Use defaults file
# Staged APPL_TOP during upgrades
# Increase batch size (Might result into negative )


Reduce the Patching Downtime in Oracle Applications



Following are the various ways to reduce Oracle Application patching downtime.

1. Consolidate Patches
Using AD Merge Patch to merge multiple patches into a single patch that eliminates the time it takes to start a new AutoPatch session.

2. Apply Patches in Non-interactive Mode
You can automate much of the patching process by applying patches in non-interactive mode. In this mode,we store the responses to the patching prompts in a defaults file, and then specify the name of this default file when we run AutoPatch.

3. Skip Database Tasks
We can use AutoPatch options=nocompiledb, nomaintainmrc to skip tasks such as “Compile APPS schema” and “Maintain MRC” until all patches have been applied successfully. Normally AutoPatch automatically compiles the APPS schema and maintains the MRC schema during the patching application of standard patches.

4. Skip upload of Patch Information
Normally AutoPatch uploads patch history information to the database automatically each time it successfully applies a patch. The time required for the upload may be more depending on the size of the patch. We can skip this task during the AutoPatch session and upload the patch history information later.
We will use options=phtofile during the downtime patching session to skip the information upload. After a successfully patch,we will run AutoPatch again with the argument uploadph=y to upload the patch history information from the patch history files to your database. AutoPatch performs the upload and then it quits.
5. Apply patch on a Test System First
To analyze the effects of applying a patch, we should apply it first to a test system. We will check for long-running jobs and phases, which take the longest time in the timing statistics report ($APPL_TOP/admin//out/adt.lst).

6. Implement Shared Application Tier File System
Implementing a multi-node system with a shared application tier file system saves patching time because we apply patches only once, on the primary node.

7. Use Distributed AD
Distributed AD is a parallel processing feature that reduces downtime by efficiently utilizing all the available server resources on a shared application file system.

8. Reduce Resource Related Issues
We should modify rollback segment sizing and temporary segment space to optimize resources during patch application.

9. Impact analysis
We can perform an impact analysis on a patch, without affecting system, by running AutoPatch with the command line option apply=no.
Some patches include only file system changes. Most of the Applications patches do not include database changes.

10. Use AutoPatch options efficiently
Using certain AutoPatch command line options and managing the number of workers can minimize patch application time. We can use options like norevcache, nogenform, nogenrep etc to reduce patching downtime.

11. Merge NLS (Translation) Patches and Apply Them During Uptime
If we have multiple patches for multiple languages, merge all US patches into a single patch. Then, merge the NLS translation patches for each active language in our system into a single patch for each language. Apply the US patches first during downtime. Then, we can apply the merged NLS translation patches during uptime.
12. ADJREOPTS and ADJRIOPTS Paramter
One other small thing which makes a considerable difference is ADJREOPTS and ADJRIOPTS Environment Variable.
During any Patching there are several Framework XML Files, Jar Files etc... which are loaded into the Database using adjava Command, Even Jar Generation Phase of Copy Driver uses ADJREOPTS and ADJRIOPTS Parameters. By Default these Parameters are set to 256Mb or 512Mb Memory, but if i am not wrong during any Production Upgrade, these Systems have tremendous Horsepower in terms of CPU and Memory
You can increase this Parameter to 1Gig HeapSize Comfortably for better patching performance. This Parameter can be fixed in Autoconfig XML File and Run Autoconfig. The two tags are s_adjreopts and s_adjriopts.




You can use defaults file like

adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no

so if you don’t want adpatch to compile database & jsp with each execution of adpatch you can use options nocompiledb & nocompilejsp

adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt options=nocompilejsp,nocompiledb logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no

Once your patching is complete and you have applied all patches you can compile jsp & database once.

How to compile database objetcs ?
Use adadmin compile database option else
Use utlrp.sql script on database tier at $ORACLE_HOME/rdbms/admin

How to compile JSP in Apps ?
Use perl script ojspCompile.pl under $JTF_TOP/admin/scripts like
perl ojspCompile.pl –compile

Merge Patches to reduce patch timing

Another option to reduce patch timing is to use ad tool admrgpch, so lets say you have 10 patches to apply you can merge 10 patches & create single patch and apply that single patch. ( Sometime applying patches after merging may fail because of conflict in driver file so check first on test server)

create a directory lets say source_directory & put all patches which you want to merge in that & create another directory where your final single patch will come lets say destination_directory then use

admrgpch source_directory destination_directory
If there is any error in merging patch by default it will be in directory from where you are initiating admrgpch by name admrgpch.log
Apply patch from target directory via normal adpatch way.

If you are Upgrading your apps instance lets say from 11.5.8 or 11.5.9 to 11.5.10 you can use stagged APPL_TOP (ddifferent from shared APPL_TOP)



Activate extended SQL trace for a given session

on Thursday 17 May 2012

Activate extended SQL trace for a given session 



Enable extended SQL trace since they had already found the session id. Here are the steps for activating extended SQL trace as given in the book, Optimizing Oracle Performance by Cary Milsap:

There are several ways to activate extended SQL tracing for a given session. Two such ways are shown in Example 6-5 and Example 6-6. Oracle encourages you to use the DBMS_SUPPORT package instead of DBMS_SYSTEM if you have a choice (Oracle MetaLink note 62294.1). However, Oracle does not ship dbmssupp.sql and prvtsupp.plb with some software distributions. If you cannot find DBMS_SUPPORT on your system, don't despair. My colleagues and I have used DBMS_SYSTEM.SET_EV in hundreds of performance improvement projects without negative incident. Friends in Oracle Support have informed me that the DBMS_SUPPORT.START_TRACE_IN_SESSION procedure is implemented as a call to SET_EV anyway.

The safety of using START_TRACE_IN_SESSION is that you're not susceptible to typographical errors in specifying event 10046. Accidentally typing the wrong event number could obviously lead to catastrophe.

Example 6-5. Activating extended SQL trace at level 8 with START_TRACE_IN_SESSION for a session identified by :sid and :serial
sys.dbms_support.start_trace_in_session(:sid, :serial,waits=>true, binds=>false)
/* code to be traced executes during this time window */
sys.dbms_support.stop_trace_in_session(:sid, :serial)

Do not use DBMS_SYSTEM.START_SQL_TRACE_IN_SESSION to activate extended SQL trace, because this procedure can activate SQL tracing only at level 1. You cannot activate extended SQL tracing with START_SQL_TRACE_IN_SESSION.

Example 6-6. Activating extended SQL trace at level 8 with SET_EV for a session identified by :sid and :serial
sys.dbms_system.set_ev(:sid, :serial, 10046, 8, '')
/* code to be traced executes during this time window */
sys.dbms_system.set_ev(:sid, :serial, 10046, 0, '')

You may also refer to Metalink Note: 376422.1 which describes recommended methods for getting extended trace:

Subject: Recommended Method for Obtaining 10046 trace for Tuning
Doc ID: Note:376442.1 Type: FAQ
Last Revision Date: 19-FEB-2008 Status: PUBLISHED
PURPOSE

Outline how to effectively gather 10046 trace for use with tuning issues.

SCOPE & APPLICATION

DBAs, Developers and Support personnel

Gathering 10046 trace

Event 10046 is the standard method of gathering extended sql_trace information for Oracle sessions.
For details of the event see:

Note 21154.1 EVENT: 10046 "enable SQL statement tracing (including binds/waits)"

For Tuning issues the typical need is to record wait and bind variable infrormation which is achieved using level 12.
The following examples outline how to set the event in various scenarios:

    Session Tracing
    Tracing a process after it has started
    Instance wide tracing
    Initialisation parameter setting
    Tracing sessions via a logon trigger

Event 10046 tracing will produce a trace file in the for user processes and for background processes.
To show the loaction of the user_dump_dest, the following command can be used:


show parameter user_dump_dest


Note that some examples include setting a 'tracefile_identifier' to assist with finding the resultant trace output.

    Session Tracing

    This tracing can be used where the session is accessible to the user prior to the start of the statement(s) to be traced.
    To gather 10046 trace at the session level:


    alter session set tracefile_identifier='10046';

    alter session set timed_statistics = true;
    alter session set statistics_level=all;
    alter session set max_dump_file_size = unlimited;

    alter session set events '10046 trace name context forever,level 12';

    -- Execute the queries or operations to be traced here --

    select * from dual;
    exit;
   

    If the session is not exited then the trace can be disabled using:


    alter session set events '10046 trace name context off';
   

    Note that if the session is not closed cleanly and tracing is disabled, then important trace information may be missing from the trace file.

    Tracing a process after it has started

    If trace from an existing session is required then oradebug can be used to attach to the session and initiate 10046 tracing.

        The first step is to identify the session to be traced by some means:

        For example, in SQL*Plus, start a session to find the OS process id (spid) for the target session:


        select p.PID,p.SPID,s.SID
        from v$process p,v$session s
        where s.paddr = p.addr
        and s.sid = &SESSION_ID
        /
       

        SPID is the operating system Process identifier (os pid)
        PID is the Oracle Process identifier (ora pid)

        Once the OS process id for the process has been determined then the trace can be initialised as follows:

        Lets assume that the process to be traced has an os pid of 9834.
        Login to SQL*Plus as a dba and execute the following:


        connect / as sysdba
        oradebug setospid 9834
        oradebug unlimit
        oradebug event 10046 trace name context forever,level 12
       

        Remember to replace the example '9834' value with the actual os pid.
    Note that it is also possible to attach to a session via oradebug using the 'setorapid'.
    In this case the PID (Oracle Process identifier ) would be used (rather than the 'SPID') and the oradebug text would change to:


    connect / as sysdba
    oradebug setorapid 9834
    oradebug unlimit
    oradebug event 10046 trace name context forever,level 12
   

    Remember to replace the example '9834' value with the actual ora pid.

    To disable oradebug tracing once tracing is finished:


    oradebug event 10046 trace name context off
   

    Alternatively you can use the DBMS_SUPPORT package to trace sessions.
    To install the DBMS_SUPPORT package see: Note 377204.1 How to Install the DBMS_SUPPORT Package

    To set session tracing using the DBMS_SUPPORT package:


    exec DBMS_SUPPORT.START_TRACE_IN_SESSION( &SID, &Serial, waits=>true, binds=>true )
   

    SID is the Oracle Session ID for the session that is to be traced.
    To disable the tracing use:


    exec DBMS_SUPPORT.STOP_TRACE_IN_SESSION( &SID , null )
   

    Instance wide tracing

    This setting will trace every session that is created after the parameter is set. Existing sessions will not be traced.

    Setting system-wide 10046 tracing can be useful for scenarios where a problem session is known to occur but cannot be identified in advance.
    In this situation, tracing can be enabled for a short period of time, the problem can then be reproduced and tracing disabled and the resultant traces searched for evidence of the problem.

    System-wide tracing can be enabled as follows:


    alter system set events '10046 trace name context forever,level 12';
   

    The setting can be disabled in all sessions by using the following command:


    alter system set events '10046 trace name context off';
   

    Initialisation parameter setting

    This setting will trace every session in the instance when it is restarted.


    event="10046 trace name context forever,level 12"
   

    The setting can be disabled by removing the parameter and restarting the instance or by using an alter system command as follows:


    alter system set events '10046 trace name context off';
   

    Via a Logon Trigger

    There may be some situations where it is necessary to trace the activity of a specific user. In this case a logon trigger could be used.
    An example is provided below:


    CREATE OR REPLACE TRIGGER SYS.set_trace
    AFTER LOGON ON DATABASE
    WHEN (USER like  '&USERNAME')
    DECLARE
        lcommand varchar(200);
    BEGIN
        EXECUTE IMMEDIATE 'alter session set statistics_level=ALL';
        EXECUTE IMMEDIATE 'alter session set max_dump_file_size=UNLIMITED';
        EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12''';
    END set_trace;
    /


RELATED DOCUMENTS

Note 41634.1 TKPROF and Problem Solving
Note 214106.1 Using TKProf to compare actual and predicted row counts
Note 32951.1 Tkprof Interpretation
Note 75713.1 Important Customer information about using Numeric Events
Note 21154.1 EVENT: 10046 "enable SQL statement tracing (including binds/waits)"
Note 258418.1 Getting 10046 Trace for Export and Import:
Note 242374.1 Tracing PX session with a 10046 event or sql_trace
Note 171647.1 Tracing Oracle Applications using Event 10046
Note 1058210.6 How to Enable SQL_TRACE for Another Session Using Oradebug
Note 224270.1 Trace Analyzer TRCANLZR - Interpreting Raw SQL Traces with Binds and/or Waits generated by EVENT 10046
Note 377204.1 How to Install the DBMS_SUPPORT Package
Note 62294.1 The DBMS_SUPPORT Package.
Note 62160.1 Tracing Sessions in Oracle


How to start trace of an existing session in 10g

on

How to start trace of an existing session in 10g


10g has a new package called DBMS_MONITOR

EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(&sid,&serial,waits=>true, binds=>false);

To disable
EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(&sid,&serial)

My old article on tracing

http://appstier.blogspot.in/2012/05/activate-extended-sql-trace-for-given.html

Where is OA_HTML defined in R12

on

Where is OA_HTML defined in R12

OA_HTML is defined in R12 is
 $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/config/oc4j.properties 

what is the naming conventions for concurrent request log,out files and manager log files

on Wednesday 16 May 2012

What is the naming conventions for concurrent request log,out files and manager log files


Log file :
                l<request id>.req


Output files:

                 o<request id>.out


Where are the managers logfiles goes:

Similar to concurrent requset output and log,
the concurrent manager does also generate some files and typical naming convention are as below:

ICM logfile: Default is std.mgr, can be changed with the mgrname

    Concurrent manager log: w<XXXXXX>.mgr
    Transaction manager log: t<XXXXXX>.mgr
    Conflict Resolution manager log: c<XXXXXX>.mgr

Where: <XXXXXX> is the concurrent process id of the manager.




If APPLCSF is not set where is the location of concurrent Requests ?

on

If APPLCSF is not set where is the location of concurrent Requests ?

If we not set the APPLCSF location for concurrent Requests . Here it will store in Product top

i.e $PRODUCT_TOP/log/


Where is the location of log file of ICM if APPLCSF is not set.

$FND_TOP/log/


How can we find the log & out files of concurrent Requests?

on


How can we find the log & out files of concurrent Requests?
or
 what is the location of log & out files of concurrent Requests?

From Back end :
Log file Locations:  $APPLCSF/$APPLLOG
Out File Locations: $APPLCSF/$APPLOUT

Each log file and out file related to each request is identified with that request id.

From Front End:
Navigate to System Administrator --> Concurrent-->Requests-->find [button]
Log file: Click on view log button
Out file : Click on view output button

Using SQL:
Connect to sqlplus as 'apps' user
SQL>@$FNS_TOP/sql/afcmcreq.sql

Then it will promts for the request id . By using this we can view only log files.


Concurrent Manager FAQs

on Tuesday 8 May 2012

Concurrent Manager FAQs

Which Concurrent Managers (CCMs) are supported by the Sysadmin team?


    Internal Concurrent Manager (ICM)
    Standard Manager
    Conflict Resolution Manager  (CRM)

The setup of product-specific managers related issues should

be directed to the associated product group, i.e. the Inventory manager

Q: Where do the concurrent request output and log files reside?

A: $APPLCSF/out or $Product_Top/out for output files

$APPLCSF/log or $Product_Top/log for log files

Q: Where are temporary files located?

A: Temporary files reside in:

$APPLPTMP$APPLTMP

$REPORTS25_TMP (Release 11.0)

$REPORTS60_TMP (Release 11.5)

Q: How to change PMON  method to LOCK.

To check the process monitor (PMON) method status:

Connect as database user “APPS”.

SELECT profile_option_value

FROM fnd_profile_option_values

WHERE level_id = 10001

AND level_value = 0

AND application_id = 0

AND profile_option_id =

(SELECT profile_option_id

FROM fnd_profile_options

WHERE profile_option_name = ‘CONC_PMON_METHOD’);

This should return one row with a value of ‘LOCK’

If the value is ‘RDBMS’ or ‘OS’ run the following script:

$FND_TOP/sql/AFIMPMON.SQL – this will set the PMON method to LOCK instead of RDBMS.

Bounce the database. If running on NT, restart the NT Server completely.

Within 11.5 Applications, the only PMON method is LOCK.

Q: How to start and shutdown the CCM on Unix as APPS

A:  To Start:

STARTMGR sysmgr=APPS/passwd

To Shutdown:

concsub apps/<APPS password> sysadmin ‘System Administrator’ SYSADMIN CONCURRENT FND ABORT

11.5 => 11.5.4

adcmctl.sh apps/passwd start/stop prod

11.5.5 =>

adcmctl.sh start/stop apps/passwd prod

Q: How to terminate a concurrent request that cannot be cancelled?

A: Identify the request number to terminate. Shut down the concurrent managers and issue the following sql command as applsys:

update fnd_concurrent_requests

set status_code = ‘E’, phase_code = ‘C’

where Request_id = <reqnum>; (reqnum = request number)

Q: A Manager is not activating.

A: Check the count in sys.dual, system.dual, & apps.fnd_dual. There should only be one (1) row for each. If the count is greater, change to one only. This can be done from sqlplus as  follows:

As user apps:

select *

from SYS.DUAL;

Any extra rows should be deleted.

delete rownum

from SYS.DUAL;

(rownum = the row number to delete)

Any extra rows for apps.fnd_dual must be removed by performing the following SQL command:

delete from fnd_dual

where rownum < (select max(rownum) from fnd_dual);

Bounce the Concurrent Managers.

Q: Internal Concurrent Manager.

A: If the ICM should go down, requests will continue to run normally, except for ‘queue control’ requests.

If the ICM should go down, you can restart it with ‘startmgr’. There is no need to shut down the other managers first.

Q: How to purge requests that are in Pending status.

A: The Purge Concurrent Requests program will only purge requests that are in Completed status. Set the status of the Pending requests  to Completed

before purging them. The Internal Manager Must be DOWN!

Using sqlplus as APPLSYS perform the following:

UPDATE fnd_concurrent_requests

SET phase_code = ‘C’

WHERE phase_code = ‘P’.


Troubleshooting CM

on

Lets classify how to start troubleshooting CM

Issues related to startup/shutdown of CM
If you try to start CM using adcmctl.sh or adstrtall.sh script & you encounter problem in starting CM then check for log files. All information related to why Concurrent Manager not coming up is recorder in log file at $APPLCSF/$APPLLOG with default name as $SID_$DD ( where DD is date on which you started Concurrent Manager ). This Concurrent Manager naming convention will be listed in file adcmctl.sh file (Concurrent Manager startup file). If $APPLCSF is not set then you can look for this file in $FND_TOP$APPLLOG

ICM is Up but some managers are still down
As you know adcmctl.sh script starts ICM (Internal Concurrent Manager) and its duty of ICM to start other Managers. If you see ICM is up with some other managers & Issue is with only Particular Managers then look for log files of these managers .

Concurrent -> Manager -> Administer -> Select manager which is not starting -> Click on "Processes" -> Click on "Manager Log" to find out error message.
These individual manager log file, you can access under $APPLCSF/$APPLLOG directory as well.

If you error message is not enough to find out cause of problem then you can enable debug on CM log files . You can enable diagnostics by changing DIAG_PARAM="" to DIAG_PARAM="Y" in adcmctl.sh (CM Startup script file)

Other things you can try for CM startup Issues :
Try to bounce CM & see all FNDLIBR processes are cleared before restrarting CM. You can run cmclean.sql command to clear any Invalid State against any request or manager. Check for any messages in log file. Check status of Manager from administer Concurrent Manager Window.
Concurrent -> Manager -> Administer (Login as System Administrator Responsibility)

Concurrent Manager(CM) Trouble shooting

on Sunday 6 May 2012

Concurrent Manager(CM) Trouble shooting :


For Concurrent manager(CM) trouble shooting

1. First check the CM is up or not by using below any one procedure.
      i. ps –ef|grep FNDLIBR
     ii. adcmctl.sh status apps/<appsPWD>
    iii. Login as system administrator responsibilities go to the below navigation Concurrent -> manager -> Administer -> see the  Actual and target for all the managers

2. If CM in down check the internal manager Logfile in $APPLCSF/APPLLOG location for errors.
3. If any errors related to FNDFS then check the Application listener STATUS , if it is not running start it.
4. If CM is up/running then log file and output file are not able see the user from the front end then check the Application listener is status if it is not running then start it.

5. If any user is complained some request is running long time then

   i. First check the CM status and ICM status.
  ii. Check any Locks on DB particularly related to that program.
 iii. Check any INVALID objects related to that program.
 iv. Check any incompatible requests/programs are running for that program.
Login as system administrator responsibility and query the long running request /program. Navigate to concurrent program define query that long running request in the same form select incompatible requests .
If any incompatible request is running then find the user name who is running that program inform them regarding the incompatibilities.



Concurrent Manager not starting after Cloning ?

on

Concurrent Manager not starting after Cloning ?
CM not starting after Cloning ?


Once after doing Rapid cloning some of concurrent managers were not starting.
The issue was that the node was wrongly defined as source node in Administer Manager screen.
Then i checked in the FND_NODES table which wrongly had the source nodes as well apart from the target nodes.

I performed the following action plan which resolved the issue->

* Shutdown the apps services
* EXEC FND_CONC_CLONE.SETUP_CLEAN;
   COMMIT;
   EXIT;

* Ran AutoConfig on all tiers, firstly on the DB tier and then the APPS tiers.
* Start the apps services.

Actually FND_CONC_CLONE.SETUP_CLEAN clears up the tables with nodes information and when we run autoconfig, it repopulates these tables with correct node information.

Installation of Oracle Application 11i

on Saturday 5 May 2012

Installation  of Oracle Application 11i
Oracle Apps 11i Installation 

Actually there are 2 types of instalations


1. Single Node
2. Multi Node
Again Multi Node is classified into 3 types


1. Distributed Appl Top.
2. Shared Appl Top(Appltop, Common Top).
3. Shared Apps Tier(806,ias,Appltop, Common Top).

1.  Single Node
===============

STEPS
========

1.  Create the required directories.

[root@srvr33 ~]# mkdir -p /m01/abc/rdbms   <----  ORACLE_HOME
[root@srvr33 ~]# mkdir -p /m02/abc/{806,ias} <--- DEVELOPER,IAS
[root@srvr33 ~]# mkdir -p /m02/abc/{appltop,commtop}
[root@srvr33 ~]# mkdir -p /m01/abc/oradata

[root@srvr33 ~]# chown -R oracle:dba /m01/abc
[root@srvr33 ~]# chown -R applmgr:dba /m02/abc
[root@srvr33 ~]# chmod -R 777 /m01/abc
[root@srvr33 ~]# chmod -R 777 /m02/abc
2.  Install the software.

[root@srvr33 ~]# cd /stage/1159/startCD/Disk1/rapidwiz
                         ./rapidwiz

----------------------------------------------------------------------------

2. Multi Node 
===================

1. Distributed Appl Top ( 11.5.9 onwards)
=======================

STEPS
=======

1.  Create the required directories.

[root@srvr33 ~]# mkdir -p /m01/abc/rdbms   <----  ORACLE_HOME
        [root@srvr33 ~]# mkdir -p /m02/abc/{806,ias}
[root@srvr33 ~]# mkdir -p /m02/abc/distd/{appltop,commtop}
[root@srvr33 ~]# mkdir -p /m01/abc/oradata

[root@srvr33 ~]# chown -R oracle:dba /m01/abc
[root@srvr33 ~]# chown -R applmgr:dba /m02/abc

[root@srvr33 ~]# chmod -R 777 /m02/abc
[root@srvr33 ~]# chmod -R 777 /m01/abc
        
[root@srvr34 ~]# mkdir -p /m01/m01/{806,ias}
[root@srvr44 ~]# mkdir -p /m02/abc/distd/{appltop,commtop}
[root@srvr44 ~]# chown -R applmgr:dba /m02/abc
[root@srvr44 ~]# chmod -R 777 /m02/abc

2.  Install the software 

follow the stadard procedure for the installation on srvr33.
        Copy the config file to srvr44, complete the installation 
        using the config file.  
    

3.  Apply the interoperability patch

4.  Apply ADX.F on the Admin server first followed by Autoconfig.Then apply
    Apply ADX.F on other nodes,and run Autoconfig on web_server node atlast.
    

5.  Prepare both he servers for preclone
    a) Run preclone for dbTier on srvr33,Run preclone for appsTier on srvr33 
       srvr44.
    b) Run cfgclone for dbTier on srvr33,Run cfgclone for appsTier on srvr33 
       srvr44.

2. Shared Appl Top (11.5.10)
============================

STEPS
======

1.  Create the required directories.

[root@srvr33 ~]# mkdir -p /m01/abc/rdbms   <----  ORACLE_HOME
[root@srvr33 ~]# mkdir -p /m02/abc/{806,ias} <--- DEVELOPER,IAS
[root@srvr33 ~]# mkdir -p /m02/abc/shared/{appltop,commtop}
[root@srvr33 ~]# mkdir -p /m01/abc/oradata

[root@srvr33 ~]# chown -R oracle:dba /m01/abc
[root@srvr33 ~]# chown -R applmgr:dba /m02/abc

[root@srvr33 ~]# chmod -R 777 /m01/abc
[root@srvr33 ~]# chmod -R 777 /m02/abc

        
[root@srvr44 ~]# mkdir -p /m02/abc/{806,ias}
[root@srvr44 ~]# chown -R applmgr:dba /m02/abc
[root@srvr44 ~]# chmod -R 777 /m02/abc

NFS  settings
--------------
    Go to application > system settings > server setting > nfs

Basic   : select /m03 mountpoint and provide server name,read write

General 
Options : Sync write operations on request
 force sync of write operations immediately.
User 
Access  : Treat remote root user as loca root. 

[root@srvr33 ~]# service nfs start
The appltop and commn top directory 
        /m03/db1/shared/{appltop,commtop}  of srvr33  have to be mounted
on srvr44 server so that the appltop and common top will be shared
by both the servers.Create /m03 directory in srvr44.
        [root@srvr44 ~]#service nfs start
        mount -t nfs srvr33:/m03  /m03 -o nolock

2.  Install the software 

follow the stadard procedure for the installation on srvr33.
        Copy the config file to srvr44, complete the installation 
        using the config file.

3.  Mount the  /m03 directory  on the  srvr44
srvr44 : mount -t srvr33:/m03 /m03 -o nolock


ADCTRL Options

on Friday 4 May 2012

ADCTRL Options



[applmgr@srvr33 appltop]$ . APPSdb4_srvr33.env
[applmgr@srvr33 appltop]$ adctrl

                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

ADADMIN Options

on

ADADMIN Options


[applmgr@srvr33 appltop]$ . APPSdb4_srvr33.env
[applmgr@srvr33 appltop]$ adadmin

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

         Generate Applications Files
   ----------------------------------------

   1.    Generate message files

   2.    Generate form files

   3.    Generate report files

   4.    Generate graphics files

   5.    Generate product JAR files

   6.    Return to Main Menu

Enter your choice [6] : 2

         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 [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 [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.    Convert to Multi-Org

   7.    Return to Main Menu

Enter your choice [6] : 5

             Change Maintenance Mode
   ----------------------------------------

Maintenance Mode is currently: [Enabled].


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

Directory Structure and File Locations

on

Some of the Directory Structure and File Locations


Directories
-----------

APPL_TOP    :  Where the  Apps files reside.
                 (/m03/db1/appltop)
COMMON_TOP  :  Where the  common files  resides
       (/m03/db1/commontop)
806    :  Forms , Reports run time engine
(/m02/db1/806)
IAS         :  Webserver and Front-end connectivity enginge
(/m02/db1/ias)


Environment Variables
----------------------

DB TIER
-------

[oracle@srvr33 bin]$ echo $ORACLE_HOME
/m01/db2/rdbms

APPS TIER
----------
[applmgr@srvr33 db2]$ echo $APPL_TOP
/m03/db2/appltop
[applmgr@srvr33 db2]$ echo $COMMON_TOP
/m03/db2/commtop

[applmgr@srvr33 appltop]$ echo $ORACLE_HOME
/m02/db2/806
[applmgr@srvr33 appltop]$ echo $IAS_ORACLE_HOME
/m02/db2/ias

[applmgr@srvr33 appltop]$ echo $JAVA_TOP
/m03/db2/commtop/java
[applmgr@srvr33 appltop]$ echo $APPLCSF
/m03/db2/commtop/admin

[applmgr@srvr33 appltop]$ echo $AD_TOP
/m03/db2/appltop/ad/11.5.0
[applmgr@srvr33 appltop]$ echo $FND_TOP
/m03/db2/appltop/fnd/11.5.0

Apps Version  DB version
-------------  ----------
11.5.9    9.2.0.3
11.5.10.0  9.2.0.5
11.5.10.2  9.2.0.6
12.0.0.0  10g

Admin  Scripts Location
------------------------

Apps Tier
---------

/m03/db2/commtop/admin/scripts/db2_srvr33
ls -l|awk '{print $9}'

adalnctl.sh
adautocfg.sh
adcmctl.sh
addisctl.sh
adexecsql.pl
adpreclone.pl
adrepctl.sh
adstpall.sh
adstrtal.sh
gsmstart.sh

DB Tier
-------

/m01/db2/rdbms/appsutil/scripts/db2_srvr33
  ls -l|awk '{print $9}'

adautocfg.sh
adchknls.pl
addbctl.sh
addlnctl.sh
adexecsql.pl
adlsnodes.sh
adpreclone.pl
adstopdb.sql
adstrtdb.sql