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
Thursday, September 14, 2006
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.
- 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.
Posted by
Sam
at
6:05 AM
3
comments
Labels: Technology Features
Monday, August 07, 2006
NLS/MLS in Oracle Applications.
With the globalization of business the NLS/MLS feature in Oracle Applications has come into use quite extensively.
NLS (National Language Support) refers to the ability to run an Oracle Applications instance in any one of the supported languages other than American English.
This includes the user Interface that is the customer facing forms reports etc.
The base langue (that’s is the underlying logic for the instance)continues to remain American English, though this can also be changed.
MLS (Multi Language Support)should not be confused to be different from NLS it is infact an extension of NLS. MLS refers to the ability to run a single instance of Oracle Applications in more than one supported language apart for the American English.
MLS enabled applications store the seeded data in both the base language and the translated language.
Also most applications with Oracle Applications are MLS supported.
Your base language will be represented with the 'B' flag and other installed language with 'I' Flag.
>SELECT LANGUAGE_SHORT_NAME, INSTALLED_FLAG
FROM FND_LANGUAGES
Before implementing NLS/MLS it is important to make sure that your database character set will support your additional language.
The metalink note 333785.1 contains a table of all the supported languages and the langues that are planned to be supported along with their supported database character sets.
If you are implementing multiple languages or planning to install additional languages you can choose UTF8 as your database character set.
You can install the additional language during the installation of Oracle Applications (in this case you would have to stage the NLS software along with the Oracle Applications Software) or you can add an additional language after you have setup and installed Oracle Applications. You should must however apply translations for any paths that you may have applied after the installation of Oracle Applications and before the implementation of the additional language.
If you are installing the language after the installation of Oracle Applications it includes a series of steps starting from Licensing your language, updating your multilingual tables and using auto patch to install the NLS patch.
NLS release notes for 11.5.10.2(215868.1) contains the details steps of installing additional languages
At the database level once NLS/MLS is implemented Oracle Applications stores language specific attributes in a separate table know as the translation table, where as the language independent attributes are stored in the base table. As a result it is important to consider additional space requirements as far as the database sizing is considered before implementing NLS/MLS
Oracle Applications currently does not support the uninstalling of the languages once they are installed. You can manually update the FND_LANGUAGES table, though this method is also not supported by Oracle.
To print from Oracle Applications while using UTF8 to support NLS/MLS you must use PASTA (FNDPSTAX) utility which is shipped with Oracle Applications. This uses the pasta.cfg file for various print options.The file is located at $FND_TOP/resource.
There are various seed printer drivers that can used with PSATA printing like PASTA_LANDSCAPE, PASTA_PORTRAIT, PASTA_LANDWIDE and PASTA_DYNAMIC.
Posted by
Sam
at
2:03 AM
2
comments
Labels: Technology Features
Thursday, August 03, 2006
Shared APPL_TOP and Application Tier Filesystem
In the Shared APPL_TOP feature introduced by Oracle in E-Business 11i, Oracle allows multiple nodes to share a single APPL_TOP .In a shared APPL_TOP configuration, the APPL_TOP and COMN_TOP file systems can be installed on a single shared disk. The shared disk resource can then be shared via various network file protocols across multiple nodes to provide standard application tier services such as forms, web and concurrent processing. A shared APPL_TOP also significantly simplifies the patching or upgrade process since it has to be performed only once and changes made are immediately visible to all the nodes.
Here it is important to note that there is a difference between a Shared APPL_TOP and a Shared Application Tier File system. In a Shared APPL_TOP though the APPL_TOP(APPL_TOP and the COMMON_TOP ) is shared across different nodes, each nodes still have their individual ORACLE_HOME. In a Shared Application Tier FileSystem both the APPL_TOP and the ORACLE_HOME (ORA_TOP) reside on the shared disk.
The Shared APPL_TOP architecture was introduced in 2003 however with the release of 11.5.10 Oracle has extended this feature to share the entire application tier filesystem thereby further reducing disk space and bring down maintenance tasks.This is what is referred to now as the Shared Application Tier File System.
This feature i found to be particularly useful if your oracle applications environment uses multiple languages. Using the Shares APPL_TOP feature i do not now have to apply the translation on all the application Tier nodes but just to the Shared APPL_TOP.
In both the cases any changes on the shared TOPs like for example patch application is immediately visible to all the nodes of the application tier.
Another important factor to be kept in mind is that SHARED APPL_TOPS will not work if different nodes are on different Operating systems. So its mandatory that the different nodes of the application tier run on a same operating system or in other words the different nodes must be binary compatible.
Also as of now the SHARED APPL_TOP feature is not available for the windows version of Oracle Applications.
Apart from reducing maintenance tasks a shared APPL_TOP/Shared Application Tier Filesystem also improves scalability of the system as it less complex to bring in an additional node to improve performance.
There are various methods by with you can implement shared APPL_TOP like using Rapid Install or by merging existing APPL_TOPs
It is mandatory for you to have implemented autoconfig before you can proceed with the implementation of a Shared APPL_TOP
The metalink note Sharing the Application Tier File System in Oracle Applications 11i 233428.1 talks about implementing shared APPL_TOP under different Scenarios
While patching a shared APP_TOP you can just apply the path to any of the nodes and it will become visible to all the nodes, in case of applying a patch to 8.0.6 home or IAS_HOME you need to apply the patch only once but to a primary node.
Shared APPL_TOP and Shared Application Files system concepts are different from a Staged APPL_TOP. A Staged APPL_TOP is implemented to reduce your patching related downtimes by creating a exact clone of your production system, patching that system and synchronizing your cloned at database and application level to the production system.
This approach significantly reduced your patching downtime.
To knopw more about a Staged APPL_TOP refer to metalink note 242480.1
Posted by
Sam
at
5:14 AM
4
comments
Labels: Technology Features
Tuesday, August 01, 2006
Oracle Applications Framework
The Oracle Applications Framework 11.5.10 was one of the exciting features that i found in the latest release of Oracle Applications 11.5.10
Oracle Applications Framework is also referred as OA Framework. OA Framework is a Java framework that excels at creating 3-tier web-based applications that link to an 11i Oracle Applications instance while maintaining all the security features of that 11i instance.

OA Framework makes a connection to the database using JDBC drivers.
An important significance of the OA framework model is that it facilitates the customization of existing out of box i modules as well as it allows development of new Self Service Web Application modules.
As a result the OA Framework provides with benefits of Productivity, Scalability, and Customizability etc.
Though the OA Framework is J2EE based, it also used various industry standards like HTML, XML, Java, JSP, SQL and Web Services.
The OA Framework Architecture is based on the J2EE MVC design pattern. The MVC architecture is a component-based design pattern with clean interfaces between the Model, View, and Controller. The Model is where the application implements its business logic. The View is where the application implements its user interface and the Controller is where the application handles user interaction and directs business flow.
Additionally OA framework also contain extensions to Oracle 9I JDeveloper called Oracle Applications Extension or the OA Extension. The Jdeveloper is a IDE client which allows you to do customizations and additions to the OA Framework.
The metalink note 275878.1 contains FAQ to use JDeveloper with the OA Framework
To know maore about OAF profile options reffer to note 275876.1
You can test your OAF by go through a series of tests which are accessible from the following URL
http://
Note: use your hostname and port identifier
The latest release of OA Framework is 11.5.10, if you are on 11.5.9 or any prior release you can user matalink note 275874.1 to upgrade and configure your OA Framework to 11.5.10.
You must also upgrade your JDK to 1.3 before proceeding with this, The metalink note 130091.1 will be helpful for upgrading JDK to 1.3
Another good note which might be useful is Oracle Application Framework Troubleshooting Note:275875.1
Extensive literature regarding OA framework has been published in the OA Framework Developers Guide
Posted by
Sam
at
5:09 AM
7
comments
Labels: Technology Features
Monday, July 31, 2006
Generic Service Management
This will be my first post.. I thought of talking about some kind of 11i architecture of basics but decided to blog about GSM. GSM stands for Generic Service Management a new feature introduced from version 11.5.7 onwards..
The basic idea behind GSM is provide a framework to centrally manage various Oracle Application process spread across different nodes.
Oracle describes the GSM as an extension of concurrent processing.
So how does it work ? With invent of GSM , the Internal Concurrent Manager (ICM) which traditionally was responsible to manage the concurrent mangers now extents itself to the role of managing and monitoring various applications services across various nodes. These services include Oracle Forms Listener, Oracle Reports Server, Apache Web listener, Oracle Workflow Mailer etc.
Apart from managing and monitoring the services GSM provides a fault tolerance by attempting to start any services that have exited unexpectedly
GSM Setup
Manual setup of GSM is required only if you are using Oracle Applications prior to 11.5.7, in the later releases GSM is already setup though you can choose to disable it.
Information about the nodes is started at the database level in a table FND_NODES.
GSM uses the ping command to check the availability of the nodes so its essential to have the Oracle applications user like applmgr to be able ping to the various application nodes for GSM to function.
The Metalink Note 210062.1 talks about GSM configuring and trouble shooting in an Oracle Applications environment.
Posted by
Sam
at
12:25 AM
1 comments
Labels: Technology Features