Tuesday, May 17, 2011

When Oracle first came out with ERP package it was all character based and basically was a centralized computing architecture. In apps release 10.7, the character release of Applications primarily had the database and it’s end-user forms defined in character based forms. The database was Oracle 7.3.2, and forms version was “SQL forms 3″ (character forms). The users had to telnet to the server to be able to access the applications. After connecting to the server they had to issue the command ‘found’ to be able to invoke the form that used to connect them to the server. The client machines used to connect to the server were primarily dumb terminals. e.g. VT100 etc.
In Release 10.7 there were three options:
1. The original char based 2. Smart Client (which was basically client-server architecture) 3. NCA (Network Computing Architecture)In a Smart Client Install of 10.7, the database was Oracle 7.3.2 and the front end constituted of Developer 1.3.1 or 1.3.2. The clients used to connect to the server with the help of the named service or TCP/IP link made in the file tnsnames.ora. The SQL*Net protocol or the Net80 protocol was used for connectivity.
In NCA oracle apps was finally available in “The Three Tier Architecture”. There were three distinct “Tiers” now and client side could be much lighter (generally a java enabled browser). This architecture has been taken into release 11 and 11i, and from what I hear and read about release 12, there will not be any major change in this architecture.
The three disctinct “Tiers” in Oracle apps 11i (11.5.10.2 is the latest as of now) are:
1. Desktop Tier 2. Application Tier 3. Database TierThe following image taken from Oracle Applications Concepts illustrates the three tiers:
[Image]
Lets talk breifly about these tiers individaully:
1. Deskptop Tier: Its is nothing but a simple web browser (Internet explorer or Netscape etc) from which end-user logs into the application. Important thing to remember is that browser has to be java enabled. The componants required on the desktop tier are Forms Client Applet and Oracle Jinitiator.
a. Forms Client Applet:Most of the Oracle Applications is based on Oracle Forms and Reports (Oracle Developer) and to display oracle forms on a client’s browser an applet is used. This forms client applet displays Oracle Applications screens and support field level validation, multiple windows and list of values (LOVs). The forms client applet is paclaged as Java Archive (JAR) files that contain all java classes for forms applet. These jar files are downoaded from Web server at the beginning of the client’s session and remains in the cache known as Jcache.
b. Oracle Jinitiator:The Forms Client Applet must run within a Java Virtual Machine (JVM) on the client machine. For Oracle Apps the JVM is provided by Oracle Jinitiator which acts as a plug-in (Active X componant in IE) in the web browser. Please note that for Oracle apps we do not use other JVMs e.g. Microsoft JVM, Sun JVM etc..
When end-user enters the desired Oracle Applications signon URL withing the web browser, the browser will execute the Oracle Jinitiator. If Jinitiator has not been previously installed, end user will be prompted to download the necessary installation executable to the desktop. Once Jinitiator is installed, the forms client applet is started and Oracle Forms sessions is opened.
2. Application Tier : The application Tier, as the name suggest is nothing, but location of application servers. This Tier is sometimes referred to as middle tier and provided business logic and code processing. There are five servers in Applications tier:
a. HTTP server (powered by Oracle Apache) b. Forms server (This host all you Oracle forms) c. Concurrent Processing Server d. Reports Server (host all the Oracle reports) e. Admin Server3. Database Tier : The database tier contains the Data Server and holds all the data stored and maintained by Oracle Applications system. There are basically two types of database objests: Data Objects like Oracle apps Tables, Indexes, sequences etc.. and Code Objects like Stored Procedures, Packages, functions,triggers etc..
Important thing to remember is that database tier does not directly communicates with desktop tier, but rather with servers on the middle tier which in turn provides the end-users with the information as required in interface which is more user friendly. Hence almost all the processing is handled at Applications and Database Tier (which are much bigger machines) leaving client machines free of any processing.
At this point you must be having a basic understanding of Oracle Applications Architecture. I suggest that for deeper understaning of the various componants of Oracle Applications, one should carefully read chapter 1 (Applications Architecture) of Oracle Applications Concept Manual (Oracle Applications Concept)Posted in 5 Apps Archiecture | 20 Comments »How to Become Oracle Apps DBAPosted by Navdeep Saini on December 7, 2006“How do I become an Oracle apps DBA” I have been asked this question lots of time. Well my answer is always, “To start with, you should be an Oracle DBA”. Oracle DBA skills are must to learn anything about apps dba. You can also be a good apps developer and still become an Oracle Apps DBA (There are developer there who asked me this question !!), but route is same, learn Oracle DBA.
There are many ways to learn Oracle DBA, however for newbie’s I would suggest to start with OCP DBA(Oracle Certified Professional) learning. To learn more about OCP see:
OCP Link (Under Job Role look for Database Administrator certifications.)
Once you are good at Oracle DBA you can start learning apps stuff. Good place to start is to read Oracle Applications Concepts manual. You can find Oracle apps documentation at:
11i (11.5.10.2+ virtual) Documentation Library
You should devote time to understand oracle applications architecture. Understanding oracle apps architecture is as important as learning to walk before you run. You can read more about Oracle Applications Architecture in my Blog entry under Categories > Beginner’s Guide > 4 Apps Architecture, or simply click on:
Apps Architecture
Rest of the stuff in concepts manual (apart from chapter 1, apps archi) will be OHT (Over-head Transmission) for the beginners [Image] . Dont worry and just keep on reading (If you find it interesting). Believe me, I could comprehend just 20% of the manual when I first read it.
As you move on everything will start falling into its place and you will understand the concepts.
Next thing will be to learn installation. Its pretty simple and most of it is java GUI based. Installation manual is the first one in the Apps Document Doc link that I mentioned above. I will also discuss installation in my blog entry here :
Apps Installation
At this point you would have learned two important topics in apps dba. Other things that you will have to learn as apps DBA e.g. AD Utilities like Patching and Cloning etc, Upgrade and more. (For complete list of topics please see my blog post:Main Topics)
These are covered under different Blog categories that I have created. I will keep on posting in them in future… so keep on checking my blogs……….and happy learning.

Apps Architecture

 

When Oracle first came out with ERP package it was all character based and basically was a centralized computing architecture. In apps release 10.7, the character release of Applications primarily had the database and it’s end-user forms defined in character based forms. The database was Oracle 7.3.2, and forms version was “SQL forms 3″ (character forms). The users had to telnet to the server to be able to access the applications. After connecting to the server they had to issue the command ‘found’ to be able to invoke the form that used to connect them to the server. The client machines used to connect to the server were primarily dumb terminals. e.g. VT100 etc.
In Release 10.7 there were three options:
    1. The original char based 2. Smart Client (which was basically client-server architecture) 3. NCA (Network Computing Architecture)
In a Smart Client Install of 10.7, the database was Oracle 7.3.2 and the front end constituted of Developer 1.3.1 or 1.3.2. The clients used to connect to the server with the help of the named service or TCP/IP link made in the file tnsnames.ora. The SQL*Net protocol or the Net80 protocol was used for connectivity.
In NCA oracle apps was finally available in “The Three Tier Architecture”. There were three distinct “Tiers” now and client side could be much lighter (generally a java enabled browser). This architecture has been taken into release 11 and 11i, and from what I hear and read about release 12, there will not be any major change in this architecture.
The three disctinct “Tiers” in Oracle apps 11i (11.5.10.2 is the latest as of now) are:
    1. Desktop Tier 2. Application Tier 3. Database Tier
The following image taken from Oracle Applications Concepts illustrates the three tiers:
Three Tier Apps Architecture
Lets talk breifly about these tiers individaully:
1. Deskptop Tier: Its is nothing but a simple web browser (Internet explorer or Netscape etc) from which end-user logs into the application. Important thing to remember is that browser has to be java enabled. The componants required on the desktop tier are Forms Client Applet and Oracle Jinitiator.
    a. Forms Client Applet:
Most of the Oracle Applications is based on Oracle Forms and Reports (Oracle Developer) and to display oracle forms on a client’s browser an applet is used. This forms client applet displays Oracle Applications screens and support field level validation, multiple windows and list of values (LOVs). The forms client applet is paclaged as Java Archive (JAR) files that contain all java classes for forms applet. These jar files are downoaded from Web server at the beginning of the client’s session and remains in the cache known as Jcache.
    b. Oracle Jinitiator:
The Forms Client Applet must run within a Java Virtual Machine (JVM) on the client machine. For Oracle Apps the JVM is provided by Oracle Jinitiator which acts as a plug-in (Active X componant in IE) in the web browser. Please note that for Oracle apps we do not use other JVMs e.g. Microsoft JVM, Sun JVM etc..
When end-user enters the desired Oracle Applications signon URL withing the web browser, the browser will execute the Oracle Jinitiator. If Jinitiator has not been previously installed, end user will be prompted to download the necessary installation executable to the desktop. Once Jinitiator is installed, the forms client applet is started and Oracle Forms sessions is opened.
2. Application Tier : The application Tier, as the name suggest is nothing, but location of application servers. This Tier is sometimes referred to as middle tier and provided business logic and code processing. There are five servers in Applications tier:
    a. HTTP server (powered by Oracle Apache) b. Forms server (This host all you Oracle forms) c. Concurrent Processing Server d. Reports Server (host all the Oracle reports) e. Admin Server
3. Database Tier : The database tier contains the Data Server and holds all the data stored and maintained by Oracle Applications system. There are basically two types of database objests: Data Objects like Oracle apps Tables, Indexes, sequences etc.. and Code Objects like Stored Procedures, Packages, functions,triggers etc..
Important thing to remember is that database tier does not directly communicates with desktop tier, but rather with servers on the middle tier which in turn provides the end-users with the information as required in interface which is more user friendly. Hence almost all the processing is handled at Applications and Database Tier (which are much bigger machines) leaving client machines free of any processing.
At this point you must be having a basic understanding of Oracle Applications Architecture. I suggest that for deeper understaning of the various componants of Oracle Applications, one should carefully read chapter 1 (Applications Architecture) of Oracle Applications Concept Manual (Oracle Applications Concept)

How to Become Oracle Apps DBA

Posted by Navdeep Saini on December 7, 2006
“How do I become an Oracle apps DBA” I have been asked this question lots of time. Well my answer is always, “To start with, you should be an Oracle DBA”. Oracle DBA skills are must to learn anything about apps dba. You can also be a good apps developer and still become an Oracle Apps DBA (There are developer there who asked me this question !!), but route is same, learn Oracle DBA.
There are many ways to learn Oracle DBA, however for newbie’s I would suggest to start with OCP DBA(Oracle Certified Professional) learning. To learn more about OCP see:
OCP Link (Under Job Role look for Database Administrator certifications.)
Once you are good at Oracle DBA you can start learning apps stuff. Good place to start is to read Oracle Applications Concepts manual. You can find Oracle apps documentation at:
11i (11.5.10.2+ virtual) Documentation Library
You should devote time to understand oracle applications architecture. Understanding oracle apps architecture is as important as learning to walk before you run. You can read more about Oracle Applications Architecture in my Blog entry under Categories > Beginner’s Guide > 4 Apps Architecture, or simply click on:
Apps Architecture
Rest of the stuff in concepts manual (apart from chapter 1, apps archi) will be OHT (Over-head Transmission) for the beginners ;-) . Dont worry and just keep on reading (If you find it interesting). Believe me, I could comprehend just 20% of the manual when I first read it.
As you move on everything will start falling into its place and you will understand the concepts.
Next thing will be to learn installation. Its pretty simple and most of it is java GUI based. Installation manual is the first one in the Apps Document Doc link that I mentioned above. I will also discuss installation in my blog entry here :
Apps Installation
At this point you would have learned two important topics in apps dba. Other things that you will have to learn as apps DBA e.g. AD Utilities like Patching and Cloning etc, Upgrade and more. (For complete list of topics please see my blog post:Main Topics)
These are covered under different Blog categories that I have created. I will keep on posting in them in future… so keep on checking my blogs……….and happy learning.

LDT File Format

Loader Data File in Oracle Applications Environment



LDT is a file extension for a data file used with Oracle  applications. LDT stands for Loader DaTa files. LDT files contain entity definitions, parent-child relationships, input parameters and data. LDT files to an LCT file which is used for the configuration. LDT files can be exported from the Oracle database using the FNDLOAD function.
LDT files can be opened and edited in a text editor, although doing so is not recommended.

Details of Adpreclone and Adcfgclone

Details of Adpreclone and Adcfgclone

(Interview Ques: What happens internally when you run adpreclone and adcfgclone)

I am covering the Internal Cloning Process which you will not get eaily on the net. Generally you find the steps for cloning like run adpreclone on apps and db tier then copy the file sytem to Target then run adcfgclone on apps tier and db Tier.

What happens when you run adpreclone and adcfgclone. The below steps give you better understanding and enhance your troubleshooting skills.

When you run this commnad adpreclone.pl dbTier . This will run in two steps Techstack and database.

Techstack:
It will create following directories in the ORACLE_HOME/appsutil/clone
Jlib, db, data where “Jlib” relates to libraries “db” will contain the techstack information, “data” will contain the information related to datafiles and required for cloning.
Creates driver files at ORACLE_HOME/appsutil/driver/instconf.drv

Converts inventory from binary to xml, the xml file is located at $ORACLE_HOME/appsutil/clone/context/db/Sid_context.xml

Prepare database for cloning:
This includes creating datbase control file script and datafile location information file at
$ORACLE_HOME/appsutil/template
adcrdbclone.sql, dbfinfo.lst

Generates database creation driver file at ORACLE_HOME/appsutil/clone/data/driver
data.drv

Copy JDBC Libraries at ORACLE_HOME/appsutil/clone/jlib/classes12.jar and appsoui

When Running adpreclone appsTier

This will create stage directory at $COMMON_TOP/clone. This also run in two steps.

Techstack:Creates template files for
Oracle_iAS_Home/appsutil/template
Oracle_806_Home/appsutil/template

Creates Techstack driver files for
IAS_ORACLE_HOME/appsutil/driver/instconf.drv
806_ORACLE_HOME/appsutil/driver/instconf.drv

APPL_TOP preparation:
-It will create application top driver file$COMMON_TOP/clone/appl/driver/appl.drv
-Copy JDBC libraries$COMMON_TOP/clone/jlib/classes111.zip

Now Shutdown all the services of Application and database for Copy the file System to target location

Configuring the target systemOnce it is done . Run as below adcfclone.pl for apps Tier and dbTier.

On database side:cd $ORACLE_HOME/appsutils/clone/binperl adcfgclone.pl dbTier pwd=apps
This will use the templates and driver files those were created while running adpreclone.pl on source system and has been copied to target system.

Following scripts are run by adcfgclone.pl dbTier for configuring techstack

adchkutl.sh — This will check the system for ld, ar, cc, and make versions.
adclonectx.pl — This will clone the context file. This will ceate a new context file as per the details of this instance.
runInstallConfigDriver — located in $Oracle_Home/appsutil/driver/instconf.drv
Relinking $Oracle_Home/appsutil/install/adlnkoh.sh — This will relink ORACLE_HOME

For data on database side, following scripts are run
Driver file $Oracle_Home/appsutil/clone/context/data/driver/data.drv
Create database adcrdb.zip
Autoconfig is run
Control file creation adcrdbclone.sql

On Application Side:COMMON_TOP/clone/bin/perl adcfgclone.pl appsTier pwd=apps
Following scripts are run by adcfgclone.pl
Creates context file for target adclonectx.pl

Run driver files
$ORACLE_HOME/appsutil/driver/instconf.drv
$IAS_ORACLE_HOME/appsutil/driver/instconf.drv

Relinking of Oracle Home$ORACLE_HOME/bin/adlnk806.sh$IAS_ORACLE_HOME/bin/adlnkiAS.sh
At the end it will run the driver file $COMMON_TOP/clone/appl/driver/appl.drv and then runs autoconfig.

APPS R12 Architecture

APPS R12 Architecture

on Tuesday, September 7, 2010
Buzz It
R12 file system has come up with new model – Code, Data, Configurations are segregated nicely to have easy maintenance, to avert NFS mount issues on shared appl tier configuration systems. Auto-config will not write anything in APPL_TOP, COMMON_TOP area in R12. All instance specific configurations, log files are written in INST_TOP area. Instance Home provides the ability to share Applications and technology stack code among multiple instances.

Tech  Stack  Components
DB_TIER
  • 10.2.0.2 RDBMS ORACLE_HOME
APPL-TIER
  • 10.1.2 C ORACLE_HOME / FORMS ORACLE_HOME (8.0.6 ORACLE HOME equivalence)‏
  • 10.1.3 Java ORACLE_HOME/OC4J ORACLE_HOME (iAS ORACLE_HOME equivalence)‏
  • INSTANCE_TOP : Each application tier has a unique Instance Home file system associated

R12  e-Biz & Application Server 10g

Application Server Releases and versions
There are two versions of Oracle Application server 10g (oAS10g) used,
  • Oracle 10gAS R2: 10.1.2 – 10.1.2.2.0
  • Oracle 10gAS R3: 10.1.3.0 – 10.1.3.3
In R12, 10.1.2 AS and 10.1.3 AS Homes are newly introduced in lieu of 8.0.6 and iAS(1.0.2.2) – 11i Architecture.

Why do we have 10.1.2. AS and 10.1.3 AS?
  • 10.1.2 AS installation will be supporting forms based applications. It is Standalone 10.1.2 forms/reports server installation. Other components are not included.
  • 10.1.3 AS tech-stack will be used by java based applications. 10.1.3 AS instance brings latest OC4J code which is successor of 10.1.2 AS. 10.1.3 AS release doesn’t contain forms/reports products.
Hence to take advantage of latest oc4j code 10.1.3 AS got introduced. But to support ebiz forms applications 10.1.2 AS introduced.

Directory  Structure

Below Image describes the complete directory structure for complete e-biz installation i.e. DB_TOP, APPL_TOP and new INST_TOP. If you dig into the INST_TOP you will find that it only contains all the configuration files, start-stop scripts, log files, certificate files, pid files etc.., so as to make DB_TOP and APPL_TOP untouched for any instance specific changes. So you can also make DB_TOP and APPL_TOP read only.

INSTANCE TOP
Instance home is the top-level directory for an Applications Instance which is known as Instance Home and is denoted the environment variable $INST_TOP. This contains all the config files, log files, SSL certificates etc.

Advantages of new INSTANCE HOME
  • The additional Instance Home makes the middle tier more easy to manage and organized since the data is kept separate from the config files.
  • The Instance Home also has the ability to share the Applications and Technology stack code across multiple instances.
  • Another advantage of the Instance Home is that the Autoconfig writes only in INST_TOP so APPL_TOP and ORACLE_HOME can also be made read only file system if required.
  • To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and NFS Mount the middle tier


INSTANCE TOP – STRUCTURE
$INST_TOP      : $APPS_BASE/inst/apps/$CONTEXT_NAME/
/admin /scripts :  ADMIN_SCRIPTS_HOME: Find all AD scripts here
/appl              :  APPL_CONFIG_HOME. For standalone envs, this is set to $APPL_TOP
/fnd/12.0.0/secure : FND_SECURE: dbc files here
/admin             : All Env Config files here
/certs               : SSL Certificates go here
/logs                : LOG_HOME: Central log file location. All log files are placed here (except adconfig)
/ora                 : ORA_CONFIG_HOME
/10.1.2             : ‘C’ Oracle home config, Contains tnsnames and forms listener servlet config files
/10.1.3             : Apache & OC4J config home, Apache, OC4J and opmn
                         This is the ‘Java’ oracle home configuration for OPMN, Apache and OC4J
/pids                : Apache/Forms server PID files here
/portal              : Apache’s DocumentRoot folder

Shared Application Tier File System

We can configure multiple application node machines working with a single E-Business Suite database node. This creation of a “multi-node” E-Business Suite instance is frequently done to lower cost of ownership (many small machines are cheaper than one big one), increase fault tolerance (one machine fails, others do not), or scale the instance (support more users and a greater load).

When configuring Oracle E-Business Suite to use a shared application tier file system, the application tier node can be configured to perform any of the standard application tier services, such as Forms, Web, and Concurrent Processing (Batch).
Note the following definitions:

Node
A node/server/instance is a logical set of processes running on one hardware machine. In a single-node installation of Oracle E-Business Suite, all the Applications processes (including the database processes) run on one node, whereas in a multi-node installation, the processes are distributed across multiple nodes.
A multi-node installation of Release 12 supports both shared and non-shared application tier file systems. An application tier file system consists of:
  • APPL_TOP file system (APPL_TOP and COMMON_TOP directories).
  • Application tier technology stack file system (OracleAS 10.1.2 and 10.1.3 Oracle Homes).
  • Instance Home (INST_TOP) file system. Each application tier has a unique Instance Home file system associated with it.
Service
A service is a functional set of Oracle E-Business Suite application processes running on one or more nodes. Where applicable, the term ’service’ is replacing the more traditional term of ’server’.

Application Tier Services
The following are the major application tier services:
  • Root services
  • Web Entry Point services
  • Web Application services
  • Batch Processing services
  • Other services
So if you have two nodes,one will serve as Primary Node and other will serve as Secondry Node. You can configure both the Application tier node as follows:

Primary Application Tier Node
A primary application tier node is the first application tier node where the APPL_TOP, COMMON_TOP, OracleAS 10.1.2 Oracle Home and OracleAS 10.1.3 Oracle Home are installed and configured.

Secondary Application Tier Node
A secondary application tier node is an application tier node where APPL_TOP, COMMON_TOP, 10.1.2 Oracle Home and 10.1.3 Oracle Home are visible and configured. The APPL_TOP, COMMON_TOP, OracleAS 10.1.2 Oracle Home and OracleAS 10.1.3 Oracle Home file system is mounted to this node from the primary application tier node, or from an NFS server.
Instance Home

Note :  In a shared file system, each application tier will have a unique Instance Home, which should be located on the local file system.

Shared Application Tier File System Architecture
In a shared file system, all application tier files (with the specific exception of the Instance Home file system) are installed on a shared disk resource, which is mounted on each application tier node. Any application tier node can be configured to perform any of the standard application tier services, such as Forms, Web and Concurrent Processing (Batch) services. All changes made to the shared file system are immediately accessible to all application tier nodes.



Shared Application Tier File System Layout
When configuring Oracle E-Business Suite to use a shared application tier file system, an application tier node can be configured to perform any of the standard application tier services, such as Forms, Web, or Concurrent Processing (Batch) services. An application tier will have a unique Instance Home associated with it that cannot be shared with other application tiers. You can configure the services running on an application tier node to match the node’s intended role

Example Shared File System
The following is an example of mount points shared on each application tier node:
  • COMMON_TOP: /ebiz/oracle/VIS/apps/apps_st/comn
  • APPL_TOP: /ebiz/oracle/VIS/apps/apps_st/appl
  • OracleAS 10.1.2 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.2
  • OracleAS 10.1.3 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.3
In the figure shown below, entitled “Shared Application Tier File System”, Server-appl_node1 is the primary application tier node, and uses the file systems “/ebiz/oracle/VIS” and “/ebiz/oracle/inst”. The file system “/ebiz/oracle/inst” contains the Instance Home, and “/ ebiz/oracle/VIS ” contains the APPL_TOP, COMMON_TOP, OracleAS 10.1.2 and 10.1.3 Oracle Home.

Server-appl_node2 is the secondary application tier node, and the shared file system “/ebiz/oracle/VIS” is also mounted on this node. The file systems “/ebiz/oracle/inst/apps/VIS_appl_node1″ and “/ebiz/oracle/inst/apps/VIS_appl_node2″ are only visible on the respective nodes.