Showing posts with label APPS 11I. Show all posts
Showing posts with label APPS 11I. Show all posts

Wednesday, February 26, 2014

Oracle responsibility not visible in R12

From 12.1.1 you do not have to run the Synchronize WF Local Tables any more - all of the user roles and changes via the functional process - is processed by a business event in WF Java Deferred. The Workflow Agent listeners process them and all of the user role information is stored in the Workflow Directory Services tables now.

Execute the concurrent program “Workflow Directory Services User/Role Validation” with below parameters:
p_BatchSize – 10000 (Default Value 10000)
p_Check_Dangling – Yes (Default value No)
Add missing user/role assignments – Yes (Default Value No)
Update WHO columns in WF tables – No (Default Value No)
This concurrent program syncs all the user and role related WF tables with latest information viz., WF_LOCAL_ROLES, WF_LOCAL_USER_ROLES, WF_USER_ROLE_ASSIGNMENTS etc..
If after that the problem is not solved yet, then it’s possible to use the System Administrator responsibility: Workflow -> Oracle Applications Manager -> Workflow Manager
Selecting ‘Service Components’ and starting the following listeners:- Workflow Deferred Notification Agent Listener
- Workflow Error Agent Listener
- Workflow Java Deferred Agent Listener
- Workflow Java Error Agent Listener

How to Enable Automatic Compilation of JSP pages in R12

1. Login into E-Business suite and select System Administrator responsibility

2. Select function AutoConfig (under Oracle Applications Manager)
For each web tier server perform the following:
Click on pencil icon under Edit Parameters
Select tab System
Expand section jtff_server

3. Change value for the entry s_jsp_main_mode from justrun to recompile
Confirm the change by clicking Save button

4. Run AutoConfig to propagate the changes to the configuration files
Verify that the $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml  has the following:

Check param-name "main_mode" under init-param variables
Its changed into "recompile"

5. Restart the web tier services

Wednesday, March 20, 2013

New YouTube Channel for Oracle E-Business Suite


New YouTube Channel for Oracle E-Business Suite

By Steven Chan (Oracle Development) on Mar 12, 2013
We've just launched a new YouTube channel for Oracle E-Business Suite.  The videos on this YouTube channel have a strategic and functional focus, so it's an excellent business-oriented complement to this blog's technology stack and DBA-oriented material and our ATG Live Webcasts.
Cliff Godwin, Senior Vice President, has just posted a new video discussing the E-Business Suite's latest Strategy and Roadmap:
EBS YouTube channel screenshot
This video covers some of the highlights of Cliff's presentation at conferences such as Oracle OpenWorld, OAUG Collaborate, and other international events.
You and your business users can subscribe to this channel to get updates on a variety of functionally-oriented EBS topics.
Related Articles

Applying patch to Oracle EBS 11i/R12 Applications


Applying patch to  Oracle EBS 11i/R12 Applications:
Below are the steps which I follow to apply patch to Oracle EBS 11i/R12,in the below scenario I'm using Oracle EBS 11i applications,but the same steps can be use for Oracle EBS R12 applications also

Step 1: Before applying patch:(check invalid objects in DB):

SQL> select name from v$database;

NAME
---------
DEVDB

SQL> select owner,count(*) from dba_objects where status='INVALID' group by owner;

OWNER                            COUNT(*)
------------------------------ ----------
SYS                                     1
DEV_USER1                     2
DEV_USER2                     5
APPS                                  23

Step 2:Enable Maintainance mode

 ebsdev:applmgr::/home/applmgr>echo $TWO_TASK
DEVDB
Use 'adadmin' to enable maintainance mode before patching.

 5.    Change Maintenance Mode

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

Maintenance Mode is currently: [Enabled].

Backing up restart files, if any......Done.

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

Maintenance Mode is currently: [Enabled].


Step 3:Applying patch using 'adpatch'(auto patch utility):
=====================================================

 Use: adpatch by going to patch directory

Go to the patch top directory,where all driver and required ldt files are present with the application
filesystem owner,makes sure all files have read,write and execute permission.
As described below:

Note:It is very important to review the readme.txt in unix vi editor before applying applying patch and follow the instruction as given in the readme.txt file and apply any pre-requistics patch if required.autoconfig run also not required unless it is specified after patch installation in readme.txt file.


ebsdev:applmgr::/stage/patches/5522470>ls -altr
total 12432
-rwxrwxrwx    1 applmgr  dba            2931 Oct 29 2007  u5522470.drv
-rwxrwxrwx    1 applmgr  dba            1173 Oct 29 2007  f5522470.ldt
-rwxrwxrwx    1 applmgr  dba         6323692 Oct 29 2007  b5522470.ldt
-rwxrwxrwx    1 applmgr  dba              37 Oct 29 2007  marker1.txt
-rwxrwxrwx    1 applmgr  dba            2852 Oct 29 2007  README.txt
-rwxrwxrwx    1 applmgr  dba            5502 Oct 29 2007  README.html
drwxrwxrwx    5 applmgr  dba             256 Feb 21 01:21 po
drwxrwxrwx   54 root     dba           12288 Feb 21 01:21 ..
drwxr-xr-x    3 applmgr  dba             256 Feb 21 01:21 .
ebsdev:applmgr::/stage/patches/5522470>adpatch

Review the README for pre-requisite information.

Your default directory is '/d21/DEVDB/apps/appl'.
Is this the correct APPL_TOP [Yes] ?

Verify the log file after applying patch

Step 4: Disable Maintainance mode again by using 'adadmin' utility:
=======================================================

Backing up restart files, if any......Done.

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

Maintenance Mode is currently: [Disabled].


Step 5: Bounce application after applying patch :
===================================================


Step a:Stop listener using adalnctl.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adalnctl.sh stop

adalnctl.sh version 115.17

Shutting down listener process APPS_DEVDB.

adalnctl.sh: exiting with status 0

Step b:Stop applications using adstpall.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adstpall.sh

You are running adstpall.sh version 115.22


Enter the APPS username: apps

Step c:Start listener using adalnctl.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adalnctl.sh start

adalnctl.sh version 115.17

Starting up listener process APPS_DEVDB.

adalnctl.sh: exiting with status 0

Step d:Start applications using adstrtal.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adstrtal.sh

You are running adstrtal.sh version 115.22

Step 6:After applying PATCH:
========================


Step a:Verify the patch is applied successfully:

SQL> select name from v$database;

NAME
---------
DEVDB

SQL> select bug_number,creation_date from ad_bugs where bug_number='5522470';

BUG_NUMBER                     CREATION_DATE
------------------------------ ---------------
5549427                        12-FEB-13

Step b:Run cmclean.sql
Run cmclean.sql from application node by going to $COMMON_TOP/admin/scipts/DEVDB_ebsdev in 11i,where as in R12 goto $ADMIN_SCRIPTS_HOME or $INST_TOP/admin/scripts
commit;
Note:We run cmclean after clonning also to make sure the node name is updated in the FND_NODES Table correctly

SQL> select owner,count(*) from dba_objects where status='INVALID' group by owner;

OWNER                            COUNT(*)
------------------------------ ----------
SYS                                     1
DEV_USER1                    2
DEV_USER2                    5
APPS                                 22

Step c:Check the file versions got changed successfully after applying patch:

strings -a POXWARMB.pls|grep Header =>Can be used to check the file version.

ebsdev:applmgr::/d21/DEVDB/apps/appl/po/11.5.0/sql>strings -a POXWARMB.pls|grep Header
 strings -a POXWARMB.pls|grep Header
/* $Header: POXWARMB.pls 115.27.11510.7 2009/02/11 11:08:59 krsethur ship $*/
/* $Header: POXWARMB.pls 115.27.11510.7 2009/02/11 11:08:59 krsethur ship $*/

Step d:Do the Health Check of Oracle EBS Application

Login DEVDB application by using Home page URL

Note :We can get HOME page URL by using below query:
SQL>Select Home_URL from icx_parameter;

 http://oradev.oracle.com:8000   with sysadmin/admin123

Health check completed successfully by submitting active user Concurrent request REQUEST ID 28758820.

Step e:Intimate end User 

Friday, October 31, 2008

Checking the techstack components and versions present in e-business application

There is a good utility for checking all the techstack components and there versions present in e-business application. This is applicable to both 11i and R12 environments.

There is a script $FND_TOP/patch/115/bin/txkInventory.pl on apps side which is going to fetch the versions of all components on apps side. This script can be run by giving input to $FND_TOP/patch/115/bin/TXKScript.pl script. TXKScript.pl script takes 2 mandatory arguments, one is the script to run and another is the directory for storing log file and out file. Other then these arguments you must give context file name and location and apps password as well. Also you need to give outfile where it will create report of techstack components.

Login to apps side of your application and source the environment. Run the below command

(appmgr06) appmgr - -bash $ perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$OA_HTML/techstack_info.html
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** STDOUT = /slot06/appmgr/scmc2mq0comn/rgf/scmc2mq0/TXK/txkInventory_Fri_May_16_04_01_03_2008_stdout.log
Reportfile /slot06/appmgr/scmc2mq0comn/html/techstack_info.html generated successfully.

You can access the above report file using http://(hostname.domain):(port)/OA_HTML/techstack_info.html

The report will look like this.

The report will have following information.

* Summary of environment details
* Inventory of HTTP Server Node
* Inventory of Forms Server Node
* Inventory of Concurrent Processing Server Node
* Inventory of Administration Server Node

Similarly you can check on DB side as well

(oracle06) scmc2mq0 - -bash $ perl $ORACLE_HOME/appsutil/bin/TXKScript.pl -script=$ORACLE_HOME/appsutil/bin/txkInventory.pl -txktop=$ORACLE_HOME/appsutil/temp -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$ORACLE_HOME/appsutil/temp/master_db.html

How to Change IP Address in an Oracle Applications Environment

How to Change IP Address in an Oracle Applications Environment

1. Change the IP Address in the Server;

2. Verify the current ip address setup in the Oracle Applications environment. Connect as apps user into SQL*Plus and run:

select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from fnd_nodes where node_name = upper(’hostname’);

3. Run the following command to remove the old ip address from the Oracle Applications tables:

perl $AD_TOP/bin/adgentns.pl appspass=apps contextfile=$APPL_TOP/admin/_hostname.xml -removeserver

replace _hostname.xml for the context file name under the $APPL_TOP/admin directory;

then connect to SQL*Plus as apps user and run:

begin
FND_NET_SERVICES.remove_server(’’, ‘’);
end;
/
commit;
/

replace by the SID of the environment and by the hostname in the environment. Both must be entered in upper case.

4. Run autoconfig to populate the values using the new IP Address.

5. Confirm the ip address has been changed to the new value changed in the step 1:

select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from fnd_nodes where node_name = upper(’hostname’);

Thursday, September 18, 2008

COMPILE INVALID OBJECTS

Applying Patches can create invalid objects. To get a quick count of the number of existing invalids (if any), use the following select statement :
SELECT COUNT(*)
FROM DBA_OBJECTS
WHERE STATUS = ‘INVALID’;

For a more detailed query, use the following script :
SELECT OWNER, OBJECT_TYPE, COUNT(*)
FROM DBA_OBJECTS
WHERE STATUS = ‘INVALID’
GROUP BY OWNER, OBJECT_TYPE;

To recompile an individual object, connect to SQL*PLUS as the owner of the object (generally apps) and use one of the following depending on the object type :
alter package compile; (package specification)
alter package compile body; (package body)
alter view compile; (view)

If the object compiles with warnings, use either of the following to see the errors that caused the warnings :

show errors

OR
select * from user_errors where name = '';

Another way to correct invalid objects is to run the adadmin utility as follows:

UNIX OPERATING PLATFORM

1. Log in as APPS User : /

2. Start the adadmin-Utility from the Unix prompt with this command :
adadmin

The utility will then ask you a series of questions.

3. Under the Maintain Applications Database Objects Menu, select Compile APPS schema(s)

This task spawns parallel workers to compile invalid database objects in your APPS schema(s). It uses the same parallel phases as AutoInstall.

Also try running $ORACLE_HOME/rdbms/admin/utlrp.sql ( as sysdba )

Within Applications, there is a script to compile INVALID objects - called ADCOMPSC.pls

Arguments for ADCOMPSC.pls :

1 - Schema to run in
2 - Password for schema
3 - Check errors for objects starting with #3

NOTE: The order in which to compile Invalid Objects in schemas is SYS, SYSTEM, APPS and then all others. APPS_DDL and APPS_ARRAY_DDL should exist in all schema’s. In case of an ORA-1555 error while running adcompsc.pls, restart the script.

The script can be run as followed :
cd $AD_TOP/sql
sqlplus @adcompsc.pls SCHEMA_NAME SCHEMA_PASSWORD %

Example : SQL> @adcompsc.pls apps apps %

After the script completes, check for invalid objects again. If the number has decreased, but invalid objects still exist, run adcompsc.pls again. Keep running adcompsc.pls until number of invalid objects stops decreasing.

If there are any objects still left INVALID, verify them by using the script ‘aderrchk.sql’ to record the remaining INVALID objects. ‘Aderrchk.sql’ uses the same syntax as ‘adcompsc.pls’. This script is also supplied with the Applications. Send the aderrchk.sql to a file using the spool command in sqlplus.
e.g. sqlplus x/y @aderrchk.sql SCHEMA_NAME SCHEMA_PASSWORD %

For objects which will not compile, try the following :
select text
from user_source
where name = ‘OBJECTNAME’
and text like ‘%Header%’;

This script will provide the script that creates the packages/recreates the packages.
SQL>@packageheader
SQL>@packagebody

If recreating the package does not make the package valid, analyze the user_errors table to determine the cause of the invalid package :
select text
from user_errors
where name = ‘’;

UTILITY TO CHECK TECHSTACK COMPONENTS-APPS

There is a good utility for checking all the techstack components and there versions present in e-business application. This is applicable to both 11i and R12 environments.

There is a script $FND_TOP/patch/115/bin/txkInventory.pl on apps side which is going to fetch the versions of all components on apps side. This script can be run by giving input to $FND_TOP/patch/115/bin/TXKScript.pl script. TXKScript.pl script takes 2 mandatory arguments, one is the script to run and another is the directory for storing log file and out file. Other then these arguments you must give context file name and location and apps password as well. Also you need to give outfile where it will create report of techstack components.

Login to apps side of your application and source the environment. Run the below command

(appmgr06) appmgr - -bash $ perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$OA_HTML/techstack_info.html
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** STDOUT = /slot06/appmgr/scmc2mq0comn/rgf/scmc2mq0/TXK/txkInventory_Fri_May_16_04_01_03_2008_stdout.log
Reportfile /slot06/appmgr/scmc2mq0comn/html/techstack_info.html generated successfully.

You can access the above report file using http://(hostname.domain):(port)/OA_HTML/techstack_info.html

The report will look like this.

The report will have following information.

* Summary of environment details
* Inventory of HTTP Server Node
* Inventory of Forms Server Node
* Inventory of Concurrent Processing Server Node
* Inventory of Administration Server Node

Similarly you can check on DB side as well

(oracle06) scmc2mq0 - -bash $ perl $ORACLE_HOME/appsutil/bin/TXKScript.pl -script=$ORACLE_HOME/appsutil/bin/txkInventory.pl -txktop=$ORACLE_HOME/appsutil/temp -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$ORACLE_HOME/appsutil/temp/master_db.html

Thursday, June 19, 2008

MULTI NODE TO SINGLE NODE CLONING

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

Saturday, June 14, 2008

CONFIGURING SINGLE SIGN ON WITH ORACLE APPLICATION (Linux AS)

Configuring Single Sign On With Oracle Application (Linux AS)

In my last post i has discussed about Single Sign On in Oracle Applications, This post focuses on detail step by step instructions for configuring single Sign On With an existing Oracle Applications Instance.
This is assuming that you already have a Oracle Applications instance and a 10 G Application Server instance installed.

System Overview

Oracle Applications
Version 11.5.10.2
OS: Redhat Linux
Type: Single Node instance (Node A)
Applications OS User: applsam
Database OS User : orasam
Instance SID: SAM
Host: Node A
Port Pool: 23

10g Application Server
Version: 10.1.2.0
OS: Redhat Linux
Infrastructure with the following configured components
OracleAS Metadata Repository
Oracle HTTP Server
OracleAS Containers for J2EE
Oracle Internet Directory
OracleAS Single Sign-On
OracleAS Delegated Administration Service
OracleAS Directory Integration and Provisioning
OS user for infrastructure: saminf
ORACLE_HOME: /u01/sam/saminf/OraHome
ORACLE SID: SAMAS
Host: Node B

Task: To implement SSO with Oracle Applications.

Pre requisite for Oracle Applications

Check the Apache version of your Oracle Applications on Node A

Log in as the applications user 'applsam'
$cd $IAS_ORACLE_HOME/Apache/Apache/bin
$./httpd -v
Server version: Oracle HTTP Server Powered by Apache/1.3.19 (Unix)
Server built: Feb 22 2005 18:51:19 (iAS 1.0.2.2.2 rollup 5)

If the version reported is less that 1.3.19 then you must apply Oracle9i Application Server Release 1.0.2.2.2 CD Pack.

Autoconfig

Make sure that your Oracle Applications is autoconfig enabled

DBMS_LDAP on E-Business Suite

Check if the DBMS_LDAP package is installed in your applications database.
Login is as the database user 'orasam'
$sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Fri Nov 3 10:23:38 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> desc DBMS_LDAP;

If the package does not exist create it using the catldap.sql located in $ORACLE_HOME/rdbms/admin/ as SYSDBA

Pre requisite for Oracle Application Server 10g

Release 10.1.2

If the version of Applications server is not 10.1.2 you must upgrade your 10 g application server to 10.1.2.0

Test OIDDAS

Log into to OIDDAS as orcladmin user and create a test user to test the working of your application server installation.

http://.:/oiddas

Implementing SSO

E-Business Suite SSO 10g Integration Patch

Apply the E-Business Suite SSO 10g Integration Patch (4775907) to your Oracle Applications using adapatch. Before applying the above patch make sure that all the pre requisite patches specified in the patch readme are applied.

Execute the SSO registration script in Oracle Applications.

The SSO registration script is a perl script and registers your E-Business Suite with SSO and OID. It prompts for a list of parameters which you should have ready.

Parameter List

Hostname of 10g AS: samlnx03.appsdbablog.com
Port Of Application Server DB : 1521
Application Server Database : samas
OID LDAP Port : 3060
APPS user password : apps
Password for the ORASSO User : I0ds305V

(You can use the ldapsearch script located in the $ORACLE_HOME/bin/ of your Application Server 10g instance or from your Oracle Directory Manager client software, i use the client as its easy)

Password for the SYSTEM user of Oracle Application DB : manager
Password for the 'SSOSDK' on your Oracle Applications DB : SSOSDK

(The user will be created if it does not exist)

Password for the OID admin user orcladmin : admin123
Password with which you wish to register your E-Business Suite with OID :admin123
A valid Provisioning Profile Template : The default is ProvBiDirection.tmp,you can find additional templates at $FND_TOP/admin/template/

The SSO registration script by default uses a ProvBiDirection.tmp provisioning profile which is a BI directional Provisioning template, you can also provide a different provisioning template.

Additionally you must ensure that the perl from your IAS_ORACLE_HOME is in your application users profile and the version is 5.005 or higher.
$ which perl
~/samora/iAS/Apache/perl/bin/perl
$ perl -v
This is perl, version 5.005_03 built for i686-linux
Copyright 1987-1999, Larry Wall

Execute the txkrun.pl script

$ txkrun.pl -script=SetSSOReg
Enter the host name where Oracle iAS Infrastructure database is installed ? hcslnx03.satyam.com
Enter the Oracle iAS Infrastructure database port number ? 1521
Enter the Oracle iAS Infrastructure database SID ? samas
Enter the LDAP Port on Oracle Internet Directory server ? 3060
Enter Oracle E-Business apps database user password ? apps
Enter Oracle iAS Infrastructure database ORASSO schema password ? I0ds305V
Enter Oracle E-Business SYSTEM database user password ? manager
Enter E-Business Suite existing SSOSDK schema password or choose a password to use with the new SSOSDK schema if the schema does not exist ? ssosdk
Enter the Oracle Internet Directory Administrator (orcladmin) Bind password ? admin123
Enter the instance password that you would like to register this application instance with ? admin123
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** Log File = /u02/sam/applsam/samcomn/rgf/SAM_hcslnx08/sso/txkSetSSOReg_Fri_Nov_3_15_27_47_2006.log
Program : /u02/sam/applsam/samappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl started @ Fri Nov 3 15:29:53 2006
*** Log File = /u02/sam/applsam/samcomn/rgf/SAM_hcslnx08/sso/txkSetSSOReg_Fri_Nov_3_15_27_47_2006.log
######################## WARNING
This application works with SSOSDK version 9.0.2 or higher. If lower version
(3.0.9) of SSOSDK was installed in your system and you have a registered
partner application, this process will remove the 3.0.9 version of the SSOSDK
schema and install the 9.0.2 version.
######################## WARNING
Beginning input parameter validation for SSO registration.
Beginning loading SSO SDK into database if necessary.
Loading of SSO SDK into database completed successfully.
Input parameter validation for SSO registration completed.
Beginning input parameter validation for OID registration.
Input parameters validation for OID registration completed.
BEGIN SSO REGISTRATION:
Beginning to register partner application.
Partner application has been registered successfully.
Single Sign-On partner application registered successfully.
BEGIN OID REGISTRATION:
Beginning to register Application and Service containers if necessary.
Application and Service containers were created successfully.
Beginning to register application in Oracle Internet Directory.
Registration of application in Oracle Internet Directory completed successfully.
Beginning to register instance password in Oracle Internet Directory.
Registration of instance password in Oracle Internet Directory completed successfully.
Beginning to test application registration in Oracle Internet Directory.
Testing of application registration in Oracle Internet Directory completed successfully.
Beginning to register provisioning profile in Oracle Internet Directory.
Registration of provisioning profile in Oracle Internet Directory completed successfully.
Application is now registered successfully with provisioning in Oracle Internet Directory.
End of /u02/sam/applsam/samappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl : No Errors encountered

Add your 10g AS to the list of trusted nodes in your E-Business Suite

With 11.5.10 and higher you need to add the 10 G application server mode as a trusted node withing your E-Business suite You can do this through your Oracle Applications Manager Oracle Applications Manager=>Applications Dashboard=>Security=>Manage Security Options. You need to run autoconfig after this and bounce your database listener.

Restart your HTTP listener.

Restart your Apache HTTP listener to have your SSO registration take effect.

You may need to apply additional patches based on the E-Business Suite products installed.

Adding an Additional Node to an existing Oracle Applications Instance.

Adding an Additional Node to an existing Oracle Applications Instance.

Coming to the advanced configurations in ebusiness suite, today my current post will talk about introducing a new node to an already existing ebusiness suite.

Current configuration
A single node instance of 11.5.10.2 on Linux This is referred as Node A in the rest of the post.

Task
Plan to introduce a new Linux node (referred as Node B) for the web and the forms server and split the instance into a two node configuration.

Node A Configuration

Application User: applsam
Home Dir: /u02/sam/applsam
Oracle User: orasam
Home Dir: /u02/sam/orasam
Instance SID: SAM

The task can be accomplished either by implementing a SHARED APPL_TOP concept or by using rapidclone. I am using rapidclone in my current post here.

The brief outline of steps to be performed to accomplish this task are.

* Running Pre Clone on Node A.
* Copying the Application Tier Files to Node B.
* Running Post Clone on Node A DB Tier and Apps Tier.
* Running post clone on Node B Apps Tier.
* Adding the additional node script on Node A.

Running Rapid Clone on Node A Database Tier and Applications Tier.

Pre-Clone on database Tier Of Node A

Login to Node A as the database owner and set the environment

# su - orasam
$ cd samdb
$ cd 9.2.0/
$ . ./Sam_Node_A.env
$cd $ORACLE_HOME/appsutil/scripts/Sam
$ perl adpreclone.pl dbTier

Pre-clone on Node A application tier

Login to to Node A which is also our source system as the applications user and set the environment.

# su - applsam
$ cd samappl
$ . ./APPSORA.env
$ cd $COMMON_TOP/admin/scripts/sam
$ perl adpreclone.pl appsTier

Disable security option

In Oracle Applications 11.5.10 the SQL*NET restricted security option is enabled by default. As a result your new node Node_B will not be able to connect to the database. You must either disable this security option or the better way is to add Node_B is the list of trusted nodes through OAM.

Oracle Applications Manager -> Security ->Disable Restricted Sectrity Option.

After this you must run Autoconfig on the database Tier and restart your listener.

# su - orasam
$ cd $ORACLE_HOME/appsutil/scripts/SAM_NOde_A
$ ./adautocfg.sh

Restart your listener.

$ ./addlnctl.sh stop sam

$ ./addlnctl.sh start sam

Preparing the new node (Node B) to copy the application tier file system.

On Node B make the following dir structure

# cd /u02
# mkdir sam
# chmod -R 777 sam

Copy the files across to Node B

Shutdown on Application and Database services on Node A
tar -cf - applsam | ssh Node_B tar -xf - -C /u02/sam/

Post Clone on Node A Database Tier

Now you must run your post clone (adcfgclone.pl) on the database tier of Node A preserving the original values

# su - orasam
$ cd samdb/9.2.0/appsutil/clone/bin
$ perl adcfgclone.pl dbTier

Post Clone on Node A Applications Tier

Now you run your post clone (adcfgclone.pl) on Node A applications Tier. you must remember to configure the services you require on tiis node in our case the CM and the Admin Node.

$ perl adcfgclone.pl appsTier

Once completed sucessfully this will start the specified services only in our source Node Node A.

Running Post clone On Node B

Next you run your post clone on the Node B again specifying the services you like to configure which in our case were forms server and the web server.

$ perl adcfgclone.pl appsTier

Execute the Add Node script on Node A

After sourcing your environment file you must run the adaddnode.pl script on node A

#su - applsam
$ cd $COMMON_TOP/clone/bin
$ perl adaddnode.pl

The script will promt you for your APPS user and password and do the required new node entries to the database FND tables.

You can check the details of this new node and status through Oracle Applications Manager.

References.
Advanced Configurations and Topologies for Enterprise Deployments of E-Business Suite 11i Note Id 217368.1
Cloning Oracle Applications Release 11i with Rapid Clone Note Id 230672.1

Oracle Applications File System

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.

Autoconfig

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 database 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

AD Admin

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 applications 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.

Oracle Jinitiator

Oracle Jinitiator

Oracle Applications is based upon a thin client architecture. On the desktop Tier you need almost nothing.. Well almost, it does require a certified web browser and the Oracle Jinitiator.

Oracle Jinitiator is a software that provides the JVM to run oracle form based products which run in the form of a form client applet.The oracle Jinitiator uses its own JVM instead of the browsers JVM.It is isntalled as a plugin ( as in the case of mozilla, Netscape or firefox) or as an Active X component (in case of Internet Explorer).

When Oracle Applications is accessed for the first time from a client PC the Jinitiator is downloaded and installed on the client PC.It is not used for Self Service Web Applications, The JInitiator is invoked only upon clicking a form based application.

After Jinitiator is installed it downloads the form client applet along with the commonly used JAR files, this is done to reduce the network traffic to download JAR files form the server every time.

Jinitiator also performs JAR caching, applet caching and incremental JAR loading to improve applications performance.
These JAR files are commonly stored under the users profile directory with a folder named Oracle Jar Cache.

The Oracle Jinitiator executable is stored on the location $OA_HTML/oajinit.exe

Oracle Jinitiator allows only trusted JAR files to run within its JVM. This trust is established by using digital signatures. In the current version of Oracle Applications the JAR files are automatically signed with the digital signatures during the install of Oracle Applications using rapidwiz. However you can still change your digital signature and repackage your oajinit.exe for security reasons.

During the installation process rapidwiz automatically creates a file in the applmgr user $HOME directory called identitydb.obj, this file has a reference to the SID of the database instance.

If there is a mismatch between this file on the server and that on the clinet PC it often results in the yellow bar problem.

The following files are created automatically by rapidwiz in the current version of Oracle Applications

$APPL_TOP/admin/appltop.cer

$APPL_TOP/admin/adsign.txt

$HOME(applmgr)/identitydb.obj

To create a new digital certificate you can use the adjkey command, while the adjbuild.sh is used to repackage your jinitiator exe.You can also regenerate your JAR files using ADADMIN.

A Jinitiator package should typically contain the certificate and the obj file along with the executable.

In previous versions of Oracle Applications (earlier to 11.5.9) an unsigned JAR file would result in a yellow bar problem, but in the current release of Oracle Application attempting to load a forms with an unsigned JAR file would fail with an a java security exception error.

The latest certified versions of Oracle Jinitiator is 1.3.1.26 to run with Oracle E-business Suite 11.5.10, the least certified version is 1.1.8.16 which is used with release 11, though you can use version 1.1.8.X to access your 11i applications it is recommended that you upgrade your Jinitiator to the latest supported version 1.3.1.X.

You can follow the metalink note id 124606.1 to upgrade your Jinitiator.

An important fact to remember is that any patch applied through adpatch which contains JAR files, these new JAR files are not signed with the digital signature, after the patch is applied adpatch will regenerate all the JAR files and these new JAR files will be signed and trusted to run within the Jinitiator.

To see a list of supported browsers that are certified to access E-Business Suite reffer to metalink Note id 285218.1.

AD Splicer

AD Splicer

Oracle Applications provides quite a few utilities which are aimed at effective maintenance and monitoring an Oracle Applications instance. In my next posts i will talk about these UNIX utilities which are also referred to as AD utilities.

Today i used AD Splicer so i will start with this one.

AD Splicer is a utility used to add an off-cycle product into Oracle Applications.

Products which have been released between the base releases of 11i are referred to an off-cycle product. Once AD Splicer is used to splice these off-cycle products into Oracle Applications they are recognized by other AD utilities like AD Patch as a valid Oracle Applications product for a given release.

In a multi node environment adsplicer should be used on all the APPL_TOPs.It is recommended to run AD Splice on the Admin node first.

Before using AD Splice you are required to add the new tablespace for the new products that are going to be added. In case you have migrated to the Oracle Applications new tablespace model you would require to create a new tablespace APPS_TS_TOOLs manually before using AD Splicer.

Ad Splicer makes use of the following control files to add the new off-cycle product into oracle applications.

[prod]prod.txt : This is a product definition file which contains the language independent information about the product.

[prod]terr.txt : This is also a product definition file containing language-specific information about the new product.

Both these product definition files should not be edited manually.

For example the product definition files for the off-cycle product Web ADI are bneterr.txt and bneprod.txt

newprods.txt : This file is also know as the product configuration file. You can edit this file optionally.
This file acts as a template for configuring the new product that would be added. It comprises of a list of parameters which include

product- The product being added eg.bne .This must not be changed.

base_product_top - This is the base path where the files for the new product will be places using the Oracle applications filesystem architecture. the default value for this is APPL_TOP.

oracle_schema - This parameter refer to the oracle schema which is the owner of the new product to be added.

sizing_factor - The sizing factor which is to be followed for table and index creation.

main_tspace - The tablespace for product tables

index_tspace - The tablespace for product indexes

temp_tspace - The tablespace for Oracle schema’s temporary segments

default_tspace - This refers to the default table space for the of the Oracle Schema owning the product.

All the above mentioned control files namely the prod.txt,terr.txt and newprods.txt must be placed in $APPL_TOP/admin so that adsplce is able to read them.

Like other Ad utilities AD Splice will also require to make a connection to your database instance using SYSTEM and APPLSYS accounts as a result your database and listener must be running while using AD Splice.

An important fact to note is that products that are added through AD Splice are visible to other AD Utilites except autoupgrade.

The metalink Note 76708.1 contains further details and instructions on using AD Splice

Sunday, June 8, 2008

Archiving Oracle Applications

In my current post i will be touching upon one of the least talked about but extremely vital topic of data archiving in Oracle Applications. This post will talk about the need to archive and the pit falls of not archiving a production environment.
We will also briefly touch upon the various methods available to implement a effective archival policy for oracle applications.

Why Archive?
After an implementation of Oracle Application which has been around from some years, you would see a substantial growth in the database size.
As your Oracle Application continues to grow and upgrade the database also grows with it. A lot of data which resides in this database would no longer be needed to be updated and a significat amount of this data would rarely be used for any kind of Reporting. Nevertheless we cannot simply go ahead and purge or trash this data for obvious compliance and regulatory reasons. Another added advantage of archiving is that you can implement data masking in your non production environment while in the process of archiving, this reduces the risks from exposing your production data after subsequent clones.

There are many challenges associated with a large growing database like

* Increase in storage costs.
* Decrease in system responsiveness.
* Increase in times taken to complete cloning cycles.
* Increase in recovery times in cases of system failures.


What to archive ?
This is the most difficult when it came to implement an archive policy. Fortunately most of the archive solutions available in the market came with an out of box solution for Oracle Applications which made sure to preserve the referential integrity of the data. since data in an application is in its normalized form its important to ensure that the archived data is valid enough to be reported from when required. To ensure this a meta data repository is bundled along with the solution which defines the rules for archiving and the associated constraints.

Archiving Options
when it came to archiving options available with the ebusiness suite. these were quite a few of them available. Most of these solutions adopted a similar approach to archiving.
After going through the popular ones solutions available i can categorize them in the following groups.

* Proprietary File Type Based Solutions.
* Archive Database Based Solutions.

Proprietary File Type Based Solutions
Under these kinds of archiving solution the data is archived from Oracle Applications and stored in a flat file system which is generally in a proprietary format. The main and the biggest advantage of adopting such kind of the solution is that the need to maintain a large database is reduced. Also the archived data in the file system can be further compressed further to
shrink the size.
The major disadvantage of this approach is that you loose the capacity to do a seemless reporting from within your application. That is in order to be able to report from your archived data you would need to be depended on the proprietary reporting tool, rather than being able to do so from with oracle applications.

Archive Database Solutions
In the archive database based solutions, the archived data is stored in a separate database as opposed to a file system. This archive database could reside on a low cost second tire storage system. The main advantage in this structure is that you have the ability to a get to your archive data from within the application itself, in other words you do not need any third party
tools to access your data.
One of the disadvantages of this approach is that, this would result in atleast one more database to maintain apart from the production system despite of the fact that this database would be on a lost cost second tier storage.

Limitations.
One of the main limitations that most of these archiving solutions had that, although most of them were able to archive the data from your application they failed to do a database reorg.
After the archiving cycle the database would need to be reorged manually to reclaim the space and see an increase in the system performance.
Also in the even of applications upgrade when the structure of your database tables changed the process of propagating the changes in the archives, though available was a complex process.

Wednesday, May 14, 2008

Change Hostname or Domain Name On Apps Server

You sometime have to change hostname or domainname of your Apps Instance , today’s post list various options & things you need to note while changing hostname on your existing Apps Instance.

Use cloning for changing hostname or domainname
I am sure you might be surprised to see how cloning can change hostname or domainname , yes you are right cloning will not change host or domain name but cloning can be used to change pointers to old hostname or domainname in Apps Instance after changing hostname/domainname by operating system commands. Steps you have to do is

Run adpreclone on Instance where you want to change hostname/domainname
Release Unix/Linux machine to sysadmin for changing hostname
Run postclone with new hostname/domain with same SID to change new name into effect

Above method is easy & best which I can think .

Use Autoconfig to change hostname or domainname of machine hosting apps Instance
If Machine on which you want to change hostname/domainname is on application tier then you just change entries in $CONTEXT_NAME.xml
Change hostname or domainname using operating system commands
execute autoconfig on that Instance so that application tier register new hostname/domainname

If machine on which you want to change host/domain name also host Database Tier then you also need to Deregister database tier from Net Service Topology Model & Reregister it with new hostname settings.
If you want to learn more about Net Service Topology Model follow Metalink Note # 218089.1 Autoconfig FAQ Under Section Net Services Question 28 to 41

For exact steps on how to change hostname using Autoconfig follow Metalink Note # 338003.1 How to change the hostname and/or port of the Database Tier using AutoConfig

Monday, May 12, 2008

Installation Of Oracle Application Server 11.5.10.2(Multi Node )

Installation Instructions for Oracle Application Server 11.5.10.2 on Redhat Linux AS 4.0 (Multi Node )

Environment Name: REDHAT AS4 Machine:

Configuration of machines and OS
Configuration of Machines :-

2 GB RAM
150 GB HDD
Pantium IV 3 GHZ
DVD Rom

Operation Systems :-

Machine 1 :- apps01
Windows 2000 professional (50 GB, Primary Partition FAT32 *)
REDHAT Linx AS 4 (100 GB)

Machine 2 :- apps02
REDHAT Linx AS 4 (150 GB)



Installation of OS

Machine 1 :- apps01

Windows 2000 professional

- Install windows 2000 professional and create primary partition FAT32 so that you can mount on linux.
- Apply service pack 4.0


Redhat Linux AS 4.0

- Create Mount points as follows

Mount File system Size
/ Ext3 1GB
/boot Ext3 122MB
/ebis Ext3 79GB
/home Ext3 1GB
/opt Ext3 1GB
/var Ext3 1GB
/tmp Ext3 2G
/swap Ext3 4GB
/usr Ext3 10GB

- Select everything in custom selection of packages.

Machine 2 :- apps02


- Create Mount points as follows

Mount File system Size
/ Ext3 5GB
/boot Ext3 122MB
/ebis Ext3 114GB
/home Ext3 6GB
/opt Ext3 1GB
/var Ext3 2GB
/tmp Ext3 4G
/swap Ext3 4GB
/usr Ext3 10GB


- Select everything in custom selection of packages during linux installations



Prerequisite
Staging on Windows 2000 professional – Machine 01

1. Prerequisite

- Install and configure IIS 5.0 or above. It is prerequisite to run perl
- Download perl 5.8.8.8.7 from www.perl.com and install it. This is prerequisite for staging.
- Check the following DVD’s
 Oracle Application 11i Start Here Disk 1
 Oracle Application Rapid Install RDBMS Disk1
 Oracle Application Rapid Install Database Disk1 to Disk4
 Oracle Application Rapid Install Tools Disk1
 Oracle Application Rapid Install Appl_Top Disk 1 & Disk2

2. Insert Oracle Application 11i Start Here Disk 1 in DVD ROM drive

3. execute perl < DVDdrive>\mnt\cdrom\disk1\rapidwiz\adautostg.pl

4. Setup the stage Area Direcoty

At the prompt for the stage directory, enter the name of the system top-level
directory. The Rapid wizard stage11i directory will be created in this path.
5. When the script prompts select 1 (Oracle Applications) .
6. Insert the correct DVD’s as prompted by script
7. Staging will take approximately 25GB



Staging on Redhat Linux 4.0 AS– Machine 02

1. Check the following DVD’s
• Oracle Application 11i Start Here Disk 1
• Oracle Application Rapid Install RDBMS Disk1
• Oracle Application Rapid Install Database Disk1 to Disk4
• Oracle Application Rapid Install Tools Disk1
• Oracle Application Rapid Install Appl_Top Disk 1 & Disk2

2. Log in as Root and Check the current version of the perl installed

perl –v

it should be 5.8.5 or later
3. Mount the dvd rom

mount /dev/dvd /mnt/dvdrom

4. execute perl < DVDdrive>/dev/dvd/mnt/cdrom/disk1/rapidwiz/adautostg.pl
Setup the stage area At the prompt for the stage directory, enter the name of the system top-level directory. The Rapid wizard stage11i directory will be created in this path.
5. When the scripts prompts select 1 (Oracle Applications)
6. Insert the CD’s as prompted by the script
(Note : even Automount enabled DVD has to be unmounted from and remounted

umount /mnt/dvdrom
umount /dev/dvd

mount /dev/dvd /mnt/dvdrom and press enter


Pre-Installation Steps
Preparing the Operating systems for Oracle 11.5.10.2

Check the following packages

Required RPMS Installed RPMS
• compat-db-4.1.25-9
• compat-gcc-32-3.2.3-47.3
• compat-gcc-32-c++-3.2.3-47.3
• compat-oracle-rhel4-1.0-5
• compat-libcwait-2.0-2
• compat-libgcc-296-2.96-132.7.2
• compat-libstdc++-296-2.96-132.7.2
• compat-libstdc++-33-3.2.3-47.3
• xorg-x11-deprecated-libs-devel-6.8.1-23.EL
• xorg-x11-deprecated-libs-6.8.1-23.EL
• openmotif21-2.1.30-11.RHEL4.4
• libaio-0.3.102-1
• libaio-devel-0.3.102-1 • compat-db-4.1.25-9
• compat-gcc-32-3.2.3-47.3
• compat-gcc-32-c++-3.2.3-47.3
• compat-oracle-rhel4-1.0-5
• compat-libcwait-2.0-2
• compat-libgcc-296-2.96-132.7.2
• compat-libstdc++-296-2.96-132.7.2
• compat-libstdc++-33-3.2.3-47.3
• xorg-x11-deprecated-libs-devel-6.8.1-23.EL
• xorg-x11-deprecated-libs-6.8.1-23.EL
• openmotif-2.2.3-6.RHEL4.2
• libaio-0.3.102-1
• libaio-devel-0.3.102-1


The libaio components are available on Disk 3 of the RHEL4.0 media. For information on downloading the openmotif component, see the instructions at the following URL:
https://rhn.redhat.com/errata/RHSA-2005-412.html

1.1. After installing these patches, run ldconfig -v.
(Note : ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib). The cache is used by the run-time linker, ld.so or ld-linux.so. ldconfig checks the header and file names of the libraries it encounters when determining which versions should have their links updated )

1.2. Verify minimum Kernel Requirements with uname and rpm command,




[root@vision ~]# uname -r
2.6.9-5.ELsmp
[root@vision ~]# rpm -q glibc
glibc-2.3.4-2

1.3. Domain Name System (DNS) Resolver Parameters
Edit the following file /etc/resolv.conf and set the following parameters as below,
options attempts:5
options timeout:15

(Note : The resolv.conf file resides in the /etc directory and contains the IPs of domain name servers that you will probably need if you are going to do anything on the internet.
options :Allows certain internal resolver variables to be modified. The syntax is where option is one of the following
timeout: n (IN SECONDS)
sets the amount of time the resolver will wait for a response from a remote name server before retrying the query via a different name server.
attempts: n
sets the number of times the resolver will send a query to its name servers before giving up and returning an error to the calling application).


1.4. Host names

1.4.1. The format of hosts /etc/hosts file must be formatted as follows :

127.0.0.1 localhost.localdomain
.
(In apps01 hosts file make this entry and there should be entry for the other nodes which hosts the servers)

192.9.200.149 apps01.oneapps.com local_host
192.9.200.146 apps02.oneapps.com

(In apps02 the following entries to the /etc/hosts file has to be added )

192.9.200.146 apps02.oneapps.com local_host
192.9.200.149 apps01.oneapps.com

Ping the remote machine with and hostname and check
Comment the first line in the /etc/hosts file

1.4.2. Verify that the /etc/sysconfig/network file is formatted as follows :
HOSTNAME=.

Exi : HOSTNAME=apps01.oneapps.com

( Note : Make sure that your machines has static ip address)



1.5. If the /etc/sysconfig/networking/profiles/default/network file exists, remove it.

Note: If you changed any files in the previous steps, reboot the system.

1.6. Modify number of open descriptors: in file /etc/security/limits.conf add the following lines:
hard nofile 65535
soft nofile 4096

(.You can protect against certain types of denial of service attacks by modifying /etc/security/limits.conf. This file sets limits on system resources for each user.. The above setting limits the maximum number of files open)

1.7. Change port range value : /etc/sysctl.config add the following line,

net.ipv4.ip_local_port_range = 1024 65000

1.8. Set LD_ASSUME_KERNEL in file /etc/profile

LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL

1.9. Apply one of these OS library patches: 4198954 (for Red Hat 4.0), you can download it from metalink.

 The above patch contains compat_libcwait-2.0-2.i386.rpm, compat-oracle-rhel4-1.0.-5.i386.rpm
 After applying the compat-libcwait-2.0-2.i386.rpm move the libcwait.so - library from /usr/lib to /lib and modify the path in /etc/ld.so.preload

2.0 Create a goup and two users one owner of database and other owner of oracle application

groupadd dba
useradd –g dba –G dba oracle
useradd –g dba –G dba applmgr
passwd oracle
passwd applmgr


Installation Steps
Installation of database server
Machine :- apps01

 Go to the following directory in your staging
/ebis/Stage11i/startCD/Disk1/rapidwiz

./rapidwiz

Press next for welcome screen

Select Installation option

Install Oracle Applications E-Business 11i

Load Configuration

No

Install Type

Multinode

Node Information

Database :- apps01
Administration :- apps01
Concurrent Manager :- apps01
Application :- apps02
Web:- apps02

Define Database type

Fresh Database ( PROD)

Database install information( Folder or Mount point)
/ebis
Database install information
Oracle OS User :- oracle
Oracle OS Group :- dba
Base Install Directory :- /ebis
Select Licensing Type
E-business Suite Licensing
Select Language
American English
Character Set
Default
Port Pool
Default
Configuration File path.
/tmp/config.txt

Follow the installation step upto completion of installation.

Application Server Installation.
Machine :- apps02
 Copy the configuration file from apps01.

ssh apps01.oneapps.com cat /tmp/config.txt > /tmp /config.txt

 Go to the following directory in your staging
/ebis/Stage11i/startCD/Disk1/rapidwiz

./rapidwiz

Press next for welcome screen

Select Installation option

Install Oracle Applications E-Business 11i

Load Configuration

Yes

Install Type

Multinode

Node Information

Database :- apps01
Administration :- apps01
Concurrent Manager :- apps01
Application :- apps02
Web:- apps02

Define Database type

Fresh Database ( PROD)

Database install information( Folder or Mount point)
/ebis
Database install information
Oracle OS User :- oracle
Oracle OS Group :- dba
Base Install Directory :- /ebis
Select Licensing Type
E-business Suite Licensing
Select Language
American English
Character Set
Default
Port Pool
Default
Configuration File path.
/tmp/config.txt

Follow the installation step upto completion of installation.

Include a subset of test steps that will confirm that the customization has been installed properly.


Post- Installation Steps

Apply patch 4632932 to all the application tiers, then re-source the applications environment file to refresh the environment variables. This patch is required for setting the values for LD_ASSUME_KERNEL and LD_PRELOAD.
Steps to Apply this patch

1. Connect as user applmgr on Application server
2. download patch 4632932 from metalink
3. Create a directory called patch in /ebis and unzip downloaded patch in this directory
4. Run adadmin utility and put the database into maintenance mode (type adadmin at shell prompt and it will guide you to put the application in maintenance mode .
5. Apply the patch using adpatch utility
6. After applying the patch disable the maintenance mode
7. Repeat the same on the host where the Database server installed

Apply ADI-6 Patch

Apply ADI-6 Patch


Download patch 6502082

Open read me 233044.1

Check for pre requisites

• Before apply patch down the apps server and enable maintenance mode

To check weather maintenance mode enabled

select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;


Before apply patch check for system requirements

• Perl executable
You must have the Perl executable (5.004 minimum; 5.005 perferred) in your PATH before you apply this minipack. You should have already installed Perl as part of your iAS ORACLE_HOME. See http://www.cpan.org for information on obtaining Perl.
• FNDLOAD executable
Ensure all application tier server nodes contain the FNDLOAD executable in the $FND_TOP/bin directory

Unzip apps.zip under $JAVA_TOP on all application tier nodes, if you have not done so already.

Convert to Multiple Organizations
Oracle Applications strongly recommends that you convert to Multi-Org as soon as possible so that you will be prepared for improvements to performance across the E-Business Suite as well as support for Multi-Org Access Control.
see Release 11i Use of Multiple Organizations in Oracle Applications (OracleMetaLink Document 210193.1). related doc284046 and 2451368


Apply the Minipack
Adpatch driver=.drv logfile=.log

Check for invalid objects before applying patch and check after apply patch by using following command
--To check the Invalid Objects
SELECT count(1) FROM dba_objects WHERE status='INVALID';

$FND_TOP /patch/115/sql/afoppool.sql (for compile queue objects)

--To Recompile Invalid Objects
EXEC SYS.UTL_RECOMP.RECOMP_PARALLEL(8);


Post-minipack Steps

Step 1: Grant privileges and create PL/SQL profiler objects
Run the adgrants.sql script as a user that can connect as SYSDBA to grant privileges to selected SYS objects and create PL/SQL profiler objects.
1. Create $ORACLE_HOME/appsutil/admin on the database server.
2. Copy adgrants.sql (UNIX) from $APPL_TOP/admin to $ORACLE_HOME/appsutil/admin. Or, copy adgrants_nt.sql (Windows) from %APPL_TOP%\admin to %ORACLE_HOME%\appsutil\admin.
3. Set the environment to point to ORACLE_HOME on the database server.
4. Use SQL*Plus to run the script:

UNIX:
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql
Windows:
C:\> sqlplus /nolog
SQL> connect / as sysdba
SQL> @%ORACLE_HOME%\appsutil\admin\adgrants_nt.sql



Step 2: Unzip apps.zip under $JAVA_TOP (conditionally required)
If you have already unzipped apps.zip, go on to Step 3.
Verify whether apps.zip has been unzipped. If the file exists in your $JAVA_TOP directory, it has not been unzipped. If it doesn't exist in $JAVA_TOP, it has already been unzipped.
Step 3: Run AutoConfig