Thursday, September 28, 2006

Update

Last few days I have been busy trying to get a new location for my blog, The feedback and the response to this blog has been overwhelming and I thank you , the readers for that.

The good news is I have a new fresh, cleaner and a sleek looking blog coming up. Now I am in the process of transferring the old entries to their new home. I am working hard to get it released this weekend so please bear with me for a little while more.

Also my sincere apologies to Yury Atul Fadi among others who have left their feedback but I was unable to respond to. I promise to be back soon.

Sam

Monday, September 25, 2006

Upgrading JDK to 1.5 and configuring Jconsole.

In my earlier post i had talked about JVMs in Oracle Applications. Also i had mentioned about the jconsole tool that could be used for real time monitoring of your middle tier JVM usage.

The latest certified version of JDK supported with Oracle Applications is JDK 1.5. The version of JDK that is shipped with 11.5.10.2 is JDK 1.4.

Oracle recommends you to upgrade your JDK to 1.5 and one of the advantages of going for this upgrade is the ability to use Jconsole.

In my current i am detailing out step by step instructions for upgrading your middle tier JDK from 1.4 to 1.5 and the configuring jconsole for a real time monitoring of your JVM.


Upgrading JDK to 1.5

Downloading JDK 1.5

At the start you would require to get the J2SE1.5 software from the sun site

http://java.sun.com/j2se/1.5.0/download.jsp

Choose the J2SE 1.5 update 8 rpm file for Linux the file would be in the form of *.rpm.bin

Installing JDK 1.5

You must install the J2SE1.5 software on all the application middle tier nodes.

After you have FTPed the file to you application server change the permissions and execute the .bin file as the root user

# chmod 755 jdk-1_5_0_08-linux-i586-rpm.bin
# ./jdk-1_5_0_08-linux-i586-rpm.bin

This will present you with a binary license agreement agreeing to which will do the rpm installation for you.

Do you agree to the above license terms? [yes or no]
yes
Unpacking...
Checksumming...
0
0
Extracting...
UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-1_5_0_08-linux-i586.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]

Done.

Make a note of the J2SE installation directory which i refer as JDK50_TOP, in my case it was /usr/java/jdk1.5.0_08.

Verify the java version

Verify the version of java installed

# ./java -version
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Server VM (build 1.5.0_08-b03, mixed mode)

The following steps are to be performed as the applications user.

Apply Inter operability patches

Apply the following Oracle Applications 11.5.10.2 J2SE1.5 inter operability patches using adpatch.

Patch 4372996
Patch 5372210

I did a shutdown of my application tier process before applying these.

$ adstpall.sh apps/apps
$ cd 4372996
$ adpatch options=hotpatch

Note: In case you have not applied the CU2 that is you are not on 11.5.10.2 you must apply TXK AutoConfig Template Rollup
patch 4367673.


Execute the J2SE 5.0 Upgrade Script to Update Configuration Files

$ txkrun.pl -script=SetJDKCfg -contextfile=$CONTEXT_FILE -runautoconfig=Yes -appspass=apps -jdktop=/usr/java/jdk1.5.0_08

This will update you configuration files and run autoconfig at the end.

Verifying java on the application tiers

Execute the applications environment script again and check the JAVA in path

$ . ./APPSORA.env
$ which java
/usr/java/jdk1.5.0_08/bin/java

Testing Applications

Navigate to the following page

http://[yourhost.domain]:[port]/OA_HTML/jsp/fnd/aoljtest.jsp


this will prompt you for your apps user, password, hostname and port. After the test is complete verify the following files are in the new JDK1.5 home.

/usr/java/jdk1.5.0_08/lib/dt.jar
/usr/java/jdk1.5.0_08/lib/tools.jar
/usr/java/jdk1.5.0_08/jre/lib/rt.jar
/usr/java/jdk1.5.0_08/jre/lib/charsets.jar

Verify adovars.env file on your application tier.

$APPL_TOP/admin/adovars.env

Check the new JDK1.5 home has been updated.

OA_JRE_TOP="/usr/java/jdk1.5.0_08"
export OA_JRE_TOP

AF_JRE_TOP="/usr/java/jdk1.5.0_08"
export AF_JRE_TOP

CLASSPATH="/usr/java/jdk1.5.0_08/jre/lib/rt.jar:/usr/java/jdk1.5.0_08/lib/dt.jar:/usr/java/jdk1.5.0_08/lib/tools.jar:/usr/jav
a/jdk1.5.0_08/jre/lib/charsets.jar:/u05/sam/applsam/samcomn/java/appsborg2.zip:/u05/sam/applsam/samora/8.0.6/forms60/java:/u0
5/sam/applsam/samcomn/java"
export CLASSPATH

AF_CLASSPATH="/usr/java/jdk1.5.0_08/jre/lib/rt.jar:/usr/java/jdk1.5.0_08/lib/dt.jar:/usr/java/jdk1.5.0_08/lib/tools.jar:/usr/
java/jdk1.5.0_08/jre/lib/charsets.jar:/u05/sam/applsam/samcomn/java/appsborg2.zip:/u05/sam/applsam/samora/8.0.6/forms60/java:
/u05/sam/applsam/samcomn/java"
export AF_CLASSPATH

Additional Check.

You can log into Oracle Applications as the sysadmin user and run a concurrent request and view the output to check the working of applications.


Configuring JCONSOLE
The jconsole executable comes within your jdk 1.5 software.You can either run it from the application middle tier server itself or connect remotely. In our case we will configure jconsole to run from the application tier server itself.

You would need to have the following two parameters in your jserv.properties file

wrapper.bin.parameters=-Dcom.sun.management.jmxremote
wrapper.bin.parameters=-Dcom.sun.management.jmxremote.ssl=false
Adding Parameters To The Custom Template File
Since the seeded autoconfig template files do not have these parameters you have to create a custom template file to intoduce these additional parameters

First you have to find out the template file corresponding to the jserv.properties file.
You could do this by running the adtmplreport.sh script at $AD_TOP/bin

$AD_TOP/bin/adtmplreport.sh contextfile=$CONTEXT_FILE target=/u05/sam/applsam/samora/iAS/Apache/Jserv/etc/jserv.properties

TEMPLATE FILE : /u05/sam/applsam/samappl/fnd/11.5.0/admin/template/jserv_ux_ias1022.properties
TARGET FILE : /u05/sam/applsam/samora/iAS/Apache/Jserv/etc/jserv.properties

Create a directory for your template file.

mkdir $FND_TOP/admin/template/custom

Copy the existing template file here

cd $FND_TOP/admin/template/custom
cp - i /u05/sam/applsam/samappl/fnd/11.5.0/admin/template/jserv_ux_ias1022.properties

.

edit this template file and introduce the following line here

wrapper.bin.parameters=-Dcom.sun.management.jmxremote
wrapper.bin.parameters=-Dcom.sun.management.jmxremote.ssl=false

Check the custom template file
Check that the custom template file is OK by running the
$AD_TOP/bin
adchkcfg.sh contextfile= appspass=
adchkcfg.sh contextfile=$CONTEXT_FILE appspass=apps

Run autoconfig and verify in the values have been written into the jserv.properties.

Restart you Oracle application tier services

$ cd $COMMON_TOP/admin/scripts/[context_name]/adstpall.sh apps/apps
$ cd $COMMON_TOP/admin/scripts/[context_name]/adstrtal.sh apps/apps

You can now launch jconsole from JDK50_TOP/bin

$ ./jconsole


As you see the configuration take place automatically when you launch jconsole from the application server itself.You just need to click on connect.



The first screen shows you a sumary of the JVM usage and garbage collection.






The next screen is more fun, this show you the real time JVM usage in a graphical format.





References
Using J2SE Version 5.0 with Oracle E-Business Suite 11i Note:304099.1Using AutoConfig to Manage System Configurations with Oracle Applications 11i Note:165195.1
Using Jconsole with Apps 11i by Steven Chan

Version Information
Oracle Applications:11.5.10.2
JDK:1.5
OS: Redhat Linux AS 4

Thursday, September 21, 2006

Installing Oracle Applications 11.5.10.2 on Linux AS 4

In today’s post i will describe the steps to install oracle Application on linux. This is a simple single node installation.

Conventions
# prompt refers to my root prompt.
$ prompt refer to my user account prompts.
All OS commands are in italics as usual.

Verify OS version

The fist step would be however to verify your Linux installation. You could check the version of the Linux installed by the
command

# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)

Operating System utilities Check

Perl Software

You must have perl 5.0053 or higher installed to be able to create the staging area using the perl script adautostg.pl

Java Requirement

On 11.5.10, Rapidwiz, installs the J2SE 1.4.2 automatically for systems running on Sun Solaris, Linux, or Windows Operating Systems.

Additional Patches

For Redhat linux 4 you must apply patch 4198954

This will installt the OS packages

compat-oracle-rhel4-1.0-5.i386.rpm
compat-libcwait-2.1-1.i386.rpm

Create directories to hold your Oracle Applications

# mkdir sam
# ls -l
total 24
drwx------ 2 root root 16384 Aug 30 14:41 lost+found
drwxr-xr-x 2 root root 4096 Sep 21 11:55 sam
# chmod -R 777 sam

I am following a unix multi user installation so you need to create two OS user accounts,orasam for the database and applsam for the applications.

# useradd -g dba -d /u05/sam/orasam orasam
# useradd -g dba -d /u05/sam/applsam applsam

Xhost client settings

If you are installing using a Remote XServer you may need execute the following command

# xhost +
access control disabled,clients can connect from any host

Set umask 022 for both the user accounts

Setting umask to 022 ensures that group and others have read and execute permissions,
but not write permission.

# su - orasam
$ vi .bash_profile
add the line at the end
umask 002

# su - applsam
$ vi .bash_profile
add the line at the end
umask 002

Modify the orainventory for your new installation

# vi /etc/oraInst.loc

inventory_loc=/u05/sam/oraInventory
inst_group=dba

Set the LD_ASSUME_KERNEL parameter for both the user accounts orasam
and applsam

# su - orasam
$ vi .bash_profile
add the lines at the end
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL

# su - applsam
$ vi .bash_profile
add the lines at the end
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL

Starting the installation

You start the installation as the root user by running the rapidwiz executable from

# cd /u02/stage11i102/startCD/Disk1/rapidwiz
# ./rapidwiz


The first which you see screen is the rapid install welcome screen.








In the next screen you see,It presents you with choices either to do a fresh installation or perform an upgrade of an existing instance, I choose the first oiption.





In case you have a configuration file you can browse and choose the file here. This option is useful while doing multi node installation. Since this is a fresh install I choose NO.


The next screen is used to decide if you wish to do a single node or a multi node installation, we chose a single node installation here.







In this screen you sepcify your database OS user account and its base directory.







The following screen prompts to choose the kind of licensing we wish to have for our e business suite (in case of Vision installations you will not see this screen)






This screen is used to choose the country specific functionalities or localizations which might be required.







The next screen is used to select any additional language which we might want to install with ebusiness suite. You must have staged the appropriate language CD before selecting the language.






You must now select the character set for your database and applications, I used UTF8 to allow me to add additional languages in the future.






In this screen you specify your OS application user account and the base directory for it. You can click on advanced to further edit the directory structure.






Now you specify your domain name, and port pool. Your port pool is used to assign the ports for your various oracle application process without causing a conflict






You can specify a location to save the configuration information you have entered so far. In case of a multi node installation this config file is used to do the installation on the other nodes.






The installer will now perform a check for all the OS utilities disk space permissions port availability and display the results.







You will be prompted to start the installation of oracle applications in the next screen.







After the installation is completed a post installation sheck will be done to ensure that all the services are working as desired.

The installtion described above was single node installation of PROD instance of Oracle Applications on a Linux environment.

Wednesday, September 20, 2006

Multi Node to Single Node Cloning

With Oracle Applications 11.5.10 the ability to clone from a multi node to a single node system using rapid clone has now been certified.

This is accomplished by the Shared APPL_TOP and Merging APPL_TOP features.

In this post i am listing out the steps to perform a multi note to a single node cloning from scratch. The information mentioned here is the steps which i have used and found them to be successful for a more elaborate explanation you might want to refer to the metalink note Sharing the Application Tier File System in Oracle E-Business Suite 11i (233428.1)

Source System here refers to the multi node system to be cloned
Target System refers to the newly to be created single node system
Applications Version 11.5.10
Operating System Linux ES 4

The following Steps are required to be performed on the source system

1. Apply application tier patches using adpatch

Apply patch 4038964
Apply patch 4175764

Both the above patches are include in the consolidated update 2 or CU2 so in case you are on 11.5.10.2 or later you can ignore this step.

2. Maintain snapshot information

Log in as the applications user on each application tier node and run 'Maintain Snapshot Information' by using adadmin.

3. Merge existing APPL_TOPs

Log in to the primary node of your application tier as the application user user and run:

$ cd [COMMON_TOP]/admin/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl appsTier merge

This will prompt you with option to merge secondary nodes

Now log in as the applications user to each of the secondary application tier nodes being merged and run:

$ cd [COMMON_TOP]/admin/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl appltop merge

4. Prepare the source system database tier.

Log on to the database tier of the source system as the oracle user and run the following commands:

$ cd [RDBMS ORACLE_HOME]/appsutil/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl dbTier

With this all the pre clone tasks on the source system have been completed.

The next set of tasks are required to be carried out on the target system that is the system on which you wish to place the merged single node instance.

1. Create OS user accounts

Create a OS user account for your applications

$ useradd -g dba -d [home_directory] -p password username

Similarly create a OS user account for your database

2. Modify the orainventory to reflect the new location

$ vi /etc/oraInst.loc

3. Copy the following application tier directories

Copy the following application tier directories from the primary node of your source system to the target application tier node, retaining the original directory structure:

– [APPL_TOP]
– [OA_HTML]
– [OA_JAVA]
– [COMMON_TOP/util]
– [COMMON_TOP/clone>
– [806 ORACLE_HOME]
– [iAS ORACLE_HOME]


4. Copy the required files for merging

Log in as the applications user to each of the secondary source nodes and recursively copy:

directory [COMMON_TOP]/clone/appl
- to -
directory [COMMMON_TOP]/clone/appl on the target system node

Before proceeding with the next steps you must shutdown your oracle applications services and the database on the source system

5. Copy the database tier file system

Log on to the source system as the database user

Copy the database (DBF) files from the source to the target system
Copy the source database ORACLE_HOME to the target system

After this you can now startup the database and applications services on your source system and release it for use.

6. Configure the target system database server



Log on to the target system as the database user and type the following commands to configure and start the database:

$ cd [RDBMS ORACLE_HOME]/appsutil/clone/bin
$ perl adcfgclone.pl dbTier

This will prompt for new ORACLE_SID,ORACLE_HOME,Port Pool,JAVA_TOP and DATA_TOP give the appropriate values matching your target system

Once successful this should start your database and listener

7. Configure the application tier server nodes

The database and its listener should remain up before executing the next set of commands.
Log in to the merged APPL_TOP node as the applications user and execute the following commands:

$ cd [COMMON_TOP]/clone/bin
$ perl adcfgclone.pl appsTier

This will prompt you new port pool for applictaion tier services as well as new APPLTOP,COMMON_TOP,ORACLE_HOME and IAS_TOP

Successful completion of this task will bring up your application tier services on the target or the cloned node.

8. Post Clone Tasks

Log in to the target system application tier node as the APPLMGR user.
Run the following tasks in adadmin for all products:
o generate JAR files
o generate message files
o relink executables
o copy files to destination


9. Clean up of the target system

Remove the temporary directory [COMMON_TOP]/clone/appl to reduce disk space usage.

Note: The version of Oracle Applications used is 11.5.10 and the operating system is Linux ES 4

Thursday, September 14, 2006

JVM

JVM or the Java Virtual Machine in Oracle Applications is the core where all java requests are handled. These request can be generated either from the self service web application page, from the Oracle Applications manager console or through a java based concurrent request.

The default version of JDK that comes with the latest release of Applications 11.5.10.2 is JDK 1.4.2, although JDK 1.5 has also been certified with 11.5.10 now.

The mod_jserv component of the Oracle Applications Server is responsible for processing all java requests.

The mod_jserv automatically creates a JVM during the startup of Oracle HTTP server (OHS),this JVM will handle all the servlets coming from within a browser.This is done using $IAS_ORACLE_HOME/Apache/Apache/bin/java.sh file.

mod_jserv uses the Apache JServ Protocol (AJP) to communicate between the HTTPD process and the JVM for processing the Java requests.

The jserv.conf file and the jserv.properties file control the behavior of the mod_jserv process and the JVM.

Some of the significant parameters which influence jservr performance are

The ApJServManual parameter in the jserv.conf file is used here to specify if the JVM will be allocated automatically at the startup of the OHS.

The wrapper.bin.parameters=-verbose:gc –Xmx2048M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB in the jserv.properties

Verbose:gc means JVM is configured to print output when garbage collector runs
–Xmx2048M specifies the maximum memory heap size
-Xms128M specifies the minimum amount of memory required

According to Oracle, we can increase the maximum heap memory to over 4GB based on the available RAM.

The ApJServVMTimeout in jserv.conf is used to specify the amount of time allocated for the JVM to startup or shutdown ,this value should be sufficient to ensure thata garbage collector finishs its job.

An improper of an insufficient JVM allocation often results in java errors like the java.lang.OutOfMemoryError and java.lang.NoClassDefFoundError

In autoconfig enabled Oracle Applications systems the configuration and behavior of JVM can be maintained thought the context file. These can be changed though the Oracle Applications Manager or by using the context editor.

You can also get a summary of the Jserv usage from OAM by using the Jserv Usage Summary screen from OAM.

You can also use JConsole a utility provided by Sun Microsystems to have a graphical real time monitoring of your JVM usage.

The following article provides details on using jconsole.

http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html

Additionally in oracle applications the jVM usage is catorgorised in the following groups

OACoreGroup This is the core group for handeling Java requests
DiscoGroup Ths is the JVM groups reserverd for your Discoverer requests
FormsGroup This is the JVM that is used in case you have configured your forms server to run in servlet mode
XmlSvcsGroup This is the JVM that is used for your XML services like XML gateway.

You can increase the number of JVMs for each of these groups through OAM. Each of these JVM will listen on a TCP port from the port range specified in the java.sh file.

You can check the status of your jvm though

http://[host][domain]:[port]/servlets/IsItWorking or by using Oracle Diagnostics

Wednesday, September 13, 2006

AD Admin


Continuing our discussions on ad utilities today i will discuss about the most commonly used ad utility adadmin. Adadmin is a utility that performs a number of tasks required from maintaing and administering an Oracle Applications instance.

On a broad level the tasks performed by adadmin can be categorized into database activities and Applications filesystem management tasks.

In addition to these, adadmin in 11.5.10 onwards you can use adadmin to put the system in Maintenance Mode also. Maintenance mode is special mode introducted to facilitate maintenance tasks like patch application.

Before you run adadmin you must ensure the following.

Set your applications environment
Ensure that you have sufficient space in tmp disk.
For certain adadmin task you may require to shutdown your concurrent managers

You can run adadmin by typing adadmin at the command pront afdter seeting the environment.

$adadmin

At the time of execution adadmin prompts you to verify and enter several information pertaining to your applications installation like APPL_TOP location ,ORACLE_HOME.adadmin log file name,batch size etc.

Adadmin can also be run in a non interactive mode. This is accomplished by creating a defaults file.The defaults file must be place at the location $APPL_TOP/admin/[sid]/

You can create the defaults file with the following syntax

$adadmin deafultsfile=$APPL_TOP/admin/[sid]/samtask.txt

Next time you can run adadmin for the same task by specifying the interactive=no option.

adadmin \
defaultsfile=APPL_TOP/admin/vis/samtask.txt \
logfile=adadmin_091306.log workers=9 \
interactive=no

If your previous session of adadmin had encountred with problems adadmin promts you to either continue with your old session or start with a frest session as show below

Your previous AD Administration session did not run to completion.
Do you wish to continue with your previous AD Administration session [Yes] ?


The main menu of adadmin presents you with the following six choices

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

First two options are related to maintaining applicvations file system the second twop options relate to database activities ,the fifth option here is used to put the system in maintenance mode and bring it back from maintenance mode.


Under the Generate Applications Files Menu you can perform the following tasks

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


Under the Maintain Applications Files menu you can perform the following tasks

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


Under the Compile/Reload Applications Database Entities menu you can perform the following tasks

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


Under the Maintain Applications Database Entities menu you can perform the following tasks

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. Maintain Multiple Reporting Currencies schema

6. Return to Main Menu

Under the Change Maintenance Mode you can do the following

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

If you noitice the message this menu selection also shows the maintenance status (disabled in our case) of the system.

You can also forcefully exit adadmin at any point of time by typing 'abort',This will however result in a unclean exit of adadmin and the next time when you run adadmin you will be prompted with the option to start fresh or continue with the previous session as described earlier

To know more about the individual tasks performed by admin refer to the 'Maintaining Oracle Applications Documentation Set' at the applications documentation library.

Tuesday, September 12, 2006

Autoconfig

An Oracle Applications instance has its configuration details that are stored and used in multiple files. Managing these configurations manually would have been a night mare without autoconfig. My friends who have worked with 11.0.3 and earlier versions would understand the pain better than anyone else. Though in 11.0.3 the number of configuration files were numbered and could be tracked with a little effort.

But not so in the case of 11i.Thankfully we have autoconfig to do up the messy job for us now.

Autoconfig is a utility which is shipped with the latest releases of Oracle Applications that manages all the configuration files in oracle Applications.

Autoconfig has been defined by oracle 'as a tool which that simplifies and standardizes configuration management tasks in an Oracle Applications environment'.

But where does autoconfig get the configuration information from? For this autoconfig relies on a file called the context file.

The context file is an XML file in the format [sid]_[hostname].xml.This xml file stores all the configuration details of your oracle applications system like the web port number, database names etc.

There are separate context files for the database tier and the applications tier.

The [context_name] variable used here is an equivalent of [sid]_[hostname]

The location of the context file on the application tier is

$APPL_TOP/admin/[context_name].xml

The location of the context file for the databse tier is

$ORACLE_HOME/appsutil/[context_name].xml

Additionally if the applications is spread across multiple nodes each node will have its separate context file.

Autoconfig reads the information that is present in theses context files and updates the corresponding configuration files like appsweb.cfg, jserv.conf to name a couple.

But how do these context files get the information from? in previous versions of Oracle Applications we had a utility called the context editor which was used to update the context files. This has now been replaced by the Oracle Applications Manager.

Context files should now be edited only through OAM and never manually.

In case the context file is lost, you can regenerate your context file using the adbldxml.pl script

Once a particular context value is updated in OAM and saved, the changes are not propagated across the configuration files till you run autoconfig.

Apart form the context file autoconfig also makes use of the template files. Each configuration files that is going to be updated by autoconfig had a corresponding template file. Autoconfig compares the value from the context file with the template file before writing into the corresponding configuration file.

Driver files are also used by autoconfig, the driver files contain specific commands that may be required to be executed to update certain values at the database level.

Autoconfig is run by executing the shell script adautocfg.sh which in turn calls for the adconfig.sh which calls the perl script adconfig.pl.

The applications environment must be set before executing autoconfig, also since autoconfig will require a connection to your database you must ensure that the database and listener is up before running autoconfig.

Autoconfig is enabled in all latest releases of 11i,in case you want to implement autoconfig to an earlier 11i instance you can follow the instructions given in metalink note 165195.1

Monday, September 11, 2006

Oracle Applications File System.

A proper understanding of the file system that Oracle Applications implements is critical for efficiently working with and managing Oracle Applications.

The below discussion only a brief overview of the Applications file system and directory structures and does not include shared application tier file system.

The final structure your application file system takes depends upon the input parameters that you give while executing rapidinstall, it is carried across multiple nodes with the help of the config.txt which stores these parameters.

The [dbname] in this blog refer to your database name and generally the SID of your database which is also specified at the time of executing rapidinstall for installing oracle applications.

Since the installation start with the DB node first we will first talk about the DB Tier.

On the DB tier there two main top level directories which are [dbname]DATA and [dbname]DB.

The [dbname]DATA is also reffred as the DATA_TOP contains all the datafiles (.dbf) for the various tablespaces of your database. These include your System tablespace, Applications Tablespace, Temporary table Space etc. All the datafiles must reside within the DATA_TOP.It is however possible to have multiple DATA_TOPs within a Oracle Applications Instance, this is
particularly useful for spreading across your datafiles across multiple mount points or disks.

The second important top level directory of the database tier is [dbname]DB. This contains your 9i ORACLE_HOME (as in the case of 11.5.10).That is under this directory all the files need to run and maintain you database reside.any database upgrade like upgrading your applications database to 10g would involve upgrading this ORACLE_HOME.

Coming to the Applications Tier there are three important top level directories.

[dbname]APPL,[dbname]COMN and [dbname]ORA

The [dbname]APPL is also know as your APPL_TOP. The APPL_TOP contains the core technology files required for Oracle Applications it also contains individual subdirectories for all oracle applications products. For eg under the [dbname]APPL or the APPL_TOP you would find directories for AD,FND,GL etc. These product directories are also know as PRODUCT_TOPs like AD_TOP,GL_TOP etc. Each of the product directories have the sub directories like admin, driver, import, odf, sql, bin, forms,reports etc.

The second TOP level directory under the applications tier is the [dbname]COMN. This is also referred to as your COMMON_TOP.The

COMMON_TOP contains files that are commonly used by different Oracle applications products as well as any third party applications that may have been integrated with Oracle applications.

The COMMON_TOP contains sub following sub directories.
  • admin which holds the place for concurrent manager log and out files in the log and out sub directories respectively. Also it contains a scripts subdirectory.
  • html which is also referred by the environment variable OA_HTML contains the HTML files, JSP,CSS and Java scripts that are used by Oracle Applications.
  • java subdirectory which holds the jar files, this is also referred to as the JAVA_TOP.
  • scripts subdirectory that contains the machine admin scripts like the adstpall.sh
  • util subdirectory contains third party utilities that are used in oracle applications like JRE from sun microsystems
  • Temp subdirectory used for caching
  • Portal subdirectory used to delivery rapid install portal pages.

The third top level directory under application tier is the [dbname]ORA directory.This contains the IAS ORACLE HOME and the 8.0.6 ORACLE HOME.

Apart from the Database ORACLE_HOME 11i uses two other ORACLE_HOMES.The first is the 8.0.6 ORACLE HOME.This is used for developer 6i products which are forms reports and graphics. The applications executables also link with the 8.0.6 libraries.

IAS ORACLE HOME is the ORACLE HOME used by the 9iAS application server which is the primary web server for Oracle Applications.

Friday, September 08, 2006

Oracle Diagnostics.

Oracle diagnostics is one of the tools that aim at achieving enhanced supportability for your Oracle Applications instance.

Oracle diagnostics provides a series of predefined test that can be run against your ebusiness suite to determine any performance or configuration bottlenecks. The diagnostics tests are divided into various categories ranging form technical and functional areas. Separate test groups are created for each application with oracle applications like General Ledger, Applications DBA etc. For each product the tests are further categorized into problem areas like installation issues, data issues customizations etc.

A periodic execution of these test is recommended by oracle to check the sanity of your Oracle Applications instance over a period of time.

Oracle diagnostics test are mostly written in JSP,JAVA or PLS/SQL with the user interface mostly being web based in the form of HTML or JSP.(Though there is also a command line interface available).

The web based interface for Oracle diagnostics can either be launched from Oracle Applications Manager or via the CRM administrators console (http:///OA_HTML/jtflogin.jsp).

The web base interface can be launched either as standalone HTML user via the URL http://:/OA_HTML/jtfqalgn.htm or as an administrative -level user through the CRM administrators console or Oracle Applications Manager Console.

The command line interface can be used by the following command

java -DJTFDBCFILE= -Dframework.Logging.system.filename=
-Dservice.Logging.common.filename= oracle.apps.jtf.regress.qatool.QAConsole

Apart from the predefined test Oracle diagnostics also allows for creating custom test and unit test cases. You can also create most of these test using user Interface also that is without any coding involved.

Oracle diagnostics tools are come as a product within Oracle Applications with the product name IZU. In case your Oracle Applications instances does not have this product, you must first install this product using AD Splicer.

The results of the diagnostics test can be viewed as a report in a web based user interface for a particular diagnostics test session. This output can be saved to the local PC and uploaded to metalink for further support. The diagnostics test results and the associated statistics are also available at the database level in the following tables JTF_DIAGNOSTIC_LOG and JTF_DIAGNOSTIC_STATS.

Further you can also use Oracle Applications Manager to schedule automatic execution of diagnostics tests.

Since the results of the diagnostics test might contain potentially sensitive data segregated diagnostic roles are available to restrict the type of test available to a particular user. Diagnostic roles include Super User, Application User, End User and Anonymous user.

The latest release of Oracle diagnostics is 2.4,once you have installed/available IZU in Oracle Applications you can apply the latest Oracle diagnostics 2.4 test using adpatch. However its important to note that Oracle Diagnostics can be installed only on systems 11.5.4 and higher. Also JDK 1.3.1 or higher is recommend to use oracle diagnostics.

This current version of Oracle diagnostics tools are launched directly within Oracle applications. Once you have completed the installation of Oracle diagnostics you can assign the seeded responsibility 'Oracle Diagnostics Tool' to any valid ebusiness suite user.

You can refer to metalink note 358831.1 for details instructions on doing this.

Complete reference on Oracle Diagnostics is also available in the Oracle Applications Supportability Guide in the applications documentation CD.

Tuesday, September 05, 2006

XML Gateway

It feels good to be back in business that is back to blogging. A huge backlog of mails kept me occupied yesterday, today i will talk briefly about Oracle XML Gateway as component of Oracle Applications. This is only indented to be a conceptual introduction and for the complete details you must refer to the user guide or appropriate metalink note.

XML Gateway is a tool that facilitates the communication between the Oracle E business suite and third party applications or trading partners in the form of well formatted XML messages.

XML Gateway ensures that both business to business (B2B) and Application to Application(A2A) requirements are met. Further XML Gateway ensures that the messages that are generated or consumed are compliant with the standards set by the Open
Applications Group. You can find more information on these standards at http://www.openapplications.org

Oracle XML Gateway works with Oracle Workflow to consume events raised and generate XML messages. These messages are further propagated using Oracle Advanced queuing technology and Oracle Transport agent(OTA).

Inbound and outbound messages are managed in queue table using Oracle Advanced Queuing.

The OTA is used to deliver messages to a trading partner over HTTP or HTTPs. An OTA servlet running with Oracle Applications is also responsible for receiving inbound documents sent by the trading partner.

Oracle XML gateway can be considered as a form of EDI, whereas in a normal EDI transaction the operation happens in a batch in case of XML gateway the message are more real time as they are based of events.

Oracle XML gateway makes use of the uses Web Services Description Language (WSDL) to facilitate trading partners to communicate with Oracle Applications. Trading partners can use third party web service tools to call the web services publish by your Oracle Applications.

It also uses the Java Messaging Service(JMS) to send messages between Oracle Applications and trading partners.

At the core of Oracle XML Gateway lies the execution engine, this is responsible for interacting with other oracle technologies like Oracle Workflow etc to consume and generate messages between trading partners as in the case of a B2B communication.

Oracle XML Gateway supports the SMTP, HTTP, HTTPS, JMS transport protocols for message delivery and consumption.

Oracle XML Gateway uses the Message Designer to define message maps, message maps are required to specify the data source and data target for the document. You can also use Map creation wizards that are provided for this purpose.

The message designer and wizard is a client software which is required to be installed separately on the client PCs.

Message map files have a .xgm extension. Message maps that are created on the loacle /client system have to be loaded to the middle tier APPL_TOP.

The java LoadMap and java DeleteMap are used to load and delet message maps on the middle tier server.

Its important to note that before you crate your message maps for your document you must ensure that the document conforms to the Document Type Definition(DTD).Pre defined DTD are installed and loaded in the $APPLTOP of the middle Tier. You can however load custom DTD that you can define using the Oracle Message Designer to the middle tier as well as modify existing DTD and delete existing DTD.

The DTD files are created with the .dtd extension.

The java DeleteDTDFromClob and java LoadDTDToClob are used for deleting and loading DTDs respectively.For complete syntax and example to load and delet DTDs refer to the Oracle XML Gateway users guide.

You can use the Oracle Applications responsibility 'XML Gateway Responsibility' to define trading partners and transactions.

In releases 11.5.7 onwards XML gateway is distributed as a part of AOL and does not require to be licensed or installed separately. For prior releases XML Gateway can be installed by applying patch 2440710.

The metalink note 152775.1 contains full instructions for installing and configuring Oracle XML Gateway.

You can verify your XML gateway installation byu executing the following sql script

SQL> $ECX_TOP/patch/115/sql/ECXTEST.sql

this will create a OUTnnn.xml if the installation and configuration of XML Gateway is successful.