Tuesday, September 9, 2008

APPS R12 SCRIPTS & LOG FILE LOCATIONS

Log files are useful in troubleshooting issues in Oracle Applications. Here is the list of Log file location in Oracle Applications for Startup/Shutdown, Cloning, Patching, DB & Apps Listener and various components in Apps R12/12i:




A. Startup/Shutdown Log files for Application Tier in R12


Instance Top is new TOP added in R12 (to read more click here)

–Startup/Shutdown error message text files like adapcctl.txt, adcmctl.txt…
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log


–Startup/Shutdown error message related to tech stack (10.1.2, 10.1.3 forms/reports/web)

$INST_TOP/apps/$CONTEXT_NAME/logs/ora/ (10.1.2 & 10.1.3)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/Apache/error_log[timestamp]
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/opmn/ (OC4J~…, oa*, opmn.log)$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.2/network/ (listener log)
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/conc/log (CM log files)



B. Log files related to cloning in R12


Preclone log files in source instance

i) Database Tier - /$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)


ii) Application Tier - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ (StageAppsTier_MMDDHHMM.log)


Clone log files in target instance


Database Tier - $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTier_.log
Apps Tier - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ApplyAppsTier_.log



—–
If your clone on DB Tier fails while running txkConfigDBOcm.pl (Check metalink note - 415020.1)
During clone step on DB Tier it prompts for “Target System base directory for source homes” and during this you have to give like /base_install_dir like ../../r12 and not oracle home like ../../r12/db/tech_st_10.2.0
—–



C. Patching related log files in R12


i) Application Tier adpatch log - $APPL_TOP/admin/$SID/log/

ii) Developer (Developer/Forms & Reports 10.1.2) Patch - $ORACLE_HOME/.patch_storage

iii) Web Server (Apache) patch - $IAS_ORACLE_HOME/.patch_storage

iv) Database Tier opatch log - $ORACLE_HOME/.patch_storage


D. Autoconfig related log files in R12

i) Database Tier Autoconfig log :

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/adconfig.log
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/NetServiceHandler.log


ii) Application Tier Autoconfig log - $INST_TOP/apps/$CONTEXT_NAME/admin/log/$MMDDHHMM/adconfig.log

Autoconfig context file location in R12 - $INST_TOP/apps/$CONTEXT_NAME/appl/admin/$CONTEXT_NAME.xml


E. Other log files in R12

1) Database Tier

1.1) Relink Log files :

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /MMDDHHMM/ make_$MMDDHHMM.log


1.2) Alert Log Files :

$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log


1.3) Network Logs :

$ORACLE_HOME/network/admin/$SID.log


1.4) OUI Logs :

OUI Inventory Logs :

$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs


2) Application Tier

$ORACLE_HOME/j2ee/DevSuite/log
$ORACLE_HOME/opmn/logs
$ORACLE_HOME/network/logs


Tech Stack Patch 10.1.3 (Web/HTTP Server)
$IAS_ORACLE_HOME/j2ee/forms/logs
$IAS_ORACLE_HOME/j2ee/oafm/logs
$IAS_ORACLE_HOME/j2ee/oacore/logs
$IAS_ORACLE_HOME/opmn/logs
$IAS_ORACLE_HOME/network/log
$INST_TOP/logs/ora/10.1.2
$INST_TOP/logs/ora/10.1.3
$INST_TOP/logs/appl/conc/log
$INST_TOP/logs/appl/admin/log

Tuesday, August 5, 2008

CREATE CUSTOM TOP IN R12

CREATE CUSTOM TOP IN R12



SCHEMA NAME : XXRLT
TOP NAME : XXRLT_TOP
Application : XXRLT Custom Application
Data Group : XXRLTGroup
Request Group : XXRLT Request Group
Menu : XXRLT_CUSTOM_MENU
Responsibility : XXRLT Custom

1) Make the directory structure for your custom application files.

cd $APPL_TOP
mkdir xxrlt
mkdir xxrlt/12.0.0
mkdir xxrlt/12.0.0/admin
mkdir xxrlt/12.0.0/admin/sql
mkdir xxrlt/12.0.0/admin/odf
mkdir xxrlt/12.0.0/sql
mkdir xxrlt/12.0.0/bin
mkdir xxrlt/12.0.0/reports
mkdir xxrlt/12.0.0/reports/US
mkdir xxrlt/12.0.0/forms
mkdir xxrlt/12.0.0/forms/US
mkdir xxrlt/12.0.0/lib
mkdir xxrlt/12.0.0/out
mkdir xxrlt/12.0.0/log



2) Add the custom module into the environment

cd $APPL_TOP

vi customPROD_app01.env
XXRLT_TOP=/sandb1/oracle/PROD/apps/apps_st/appl/xxrlt/12.0.0
export XXRLT_TOP
source the environment file ( /sandb1/oracle/PROD/apps/apps_st/appl/APPSPROD_pkgprod.env )

Make entry to context file

/sandb1/oracle/PROD/inst/apps/PROD_pkgprod/appl/admin/PROD_pkgprod.xml

/sandb1/oracle/PROD/apps/apps_st/appl/xxrlt/12.0.0

cd $INST_TOP/admin/install
sh adgentopfile.sh

Open new session, source environment file, and stop middle tier services, run autoconfig
Open new session, source environment file, check for custom top in topfile.txt in $APPL_TOP/admin, start the middle tier services.

3) create tablespace XXRLT datafile '/sandb1/oracle/PROD/db/apps_st/data/xxrlt01.dbf' size 500M

4) create user xxrlt identified by xxrlt
default tablespace xxrlt
temporary tablespace temp1
quota unlimited on xxrlt
grant connect, resource to xxrlt;

5) Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = XXRLT Custom Application
Short Name = XXRLT
Basepath = XXRLT_TOP
Description = XXRLT Custom Application

6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = XXRLT
Password = XXRLT
Privilege = Enabled
Install Group = 0
Description = XXRLT Custom Application User

7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = XXRLTGroup
Description = XXRLT Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = XXRLT Custom
Oracle ID = APPS
Description = XXRLT Custom Application



8) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security-->responsbility-->Request
Group = XXRLT Request Group
Application = XXRLT Custom
Code = XXRLT
Description = XXRLT Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.

9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage). We will create

two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu = XXRLT_CUSTOM_MENU
User Menu Name = XXRLT Custom Application
Menu Type =
Description = XXRLT Custom Application Menu
Seq = 100
Prompt = View Requests
Submenu =
Function = View All Concurrent Requests
Description = View Requests

Seq = 110
Prompt = Run Requests
Submenu =
Function = Requests: Submit
Description = Submit Requests

Menu = XXRLT_CUSTOM_MENU_SSWA
User Menu Name = XXRLT Custom Application SSWA
Menu Type =
Description = XXRLT Custom Application Menu for SSWA


10) Create new responsibility. One for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = XXRLT Custom
Application = XXRLT Custom
Responsibility Key = XXRLTCUSTOM
Description = XXRLT Custom Responsibility
Available From = Oracle Applications
Data Group Name = XXRLTGroup
Data Group Application = XXRLT Custom
Menu = XXRLT Custom Application
Request Group Name = XXRLT Request Group

Responsibility Name = XXRLT Custom SSWA
Application = XXRLT Custom
Responsibility Key = XXRLTCUSTOMSSWA
Description = XXRLT Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = XXRLTGroup
Data Group Application = XXRLT Custom
Menu = XXRLT Custom Application SSWA
Request Group Name = XXRLT Request Group

11) Add responsibility to user
Navigate to Security-->User-->Define
Add XXRLT Custom responsibility to users as required.

12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc

Create the source code files in the XXRLT_TOP directory appropriate for the type of object. For example forms would be located in $XXRLT_TOP/forms/US or

package source code in $XXRLT_TOP/admin/sql for example.

Database Objects, such as tables, indexes and sequences should be created in the XXRLT schema, and then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as XXRLT user
grant all privileges on myTable to apps;

b) Create a synonym in APPS for each custom data object
For example : logged in as APPS user
create synonym myTable for XXRLT.myTable;

13) Login to sysadmin, Application Developer Responsibility

Application > Form ( Register the form )
Application > Funtion ( Add the form to a function )
Application > Menu ( Attach the function to a menu )

Menu that is added to a particular responsbility is given to specific user
Security > User > Define

Friday, July 18, 2008

11I INSTALLATION(11.5.10.2 on Redhat Linux AS 4.0 (Multi Node ))

11I INSTALLATION(11.5.10.2 on Redhat Linux AS 4.0 (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.11 apps01.apps.com local_host
192.9.200.12 apps02.apps.com

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

192.9.200.146 apps02.apps.com local_host
192.9.200.149 apps01.apps.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.apps.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

Tuesday, July 15, 2008

Configure Oracle HTTP Server To Run For Port 80

Configure Oracle HTTP Server To Run For Port 80


1.Stop Oracle HTTP Server using Application Server Control, or with the following opmn command, as the oracle user (not root):

# opmnctl stopall


2.Issue the following command as root: Log in as root.



3. Run the following commands in the middle-tier Oracle home:

# cd ORACLE_HOME/Apache/Apache/bin
# chown root .apachectl
# chmod 6750 .apachectl

(Be sure to now leave the root login)


3. Update the Application Server Control Console with the new port number:

Edit the following file : as the oracle user (not root)

ORACLE_HOME/Apache/Apache/conf/httpd.conf
Take a backup of httpd.config
cp httpd.conf httpd.conf_old_chg80
vi httpd.config
replace 7777 with 80
Save and close the file.


4. Restart the HTTP Server, as the oracle user (not root)

# opmnctl startall

5. Ensure that Oracle HTTP Server starts and uses the desired port 80.

Replacing Jinitiator with JRE for Oracle Apps 11i

Applies to:

Oracle Applications 11i


Goal:

PLATFORM : Red Hat Linux AS4
DB : 9.2.0.8
APPS : 11.5.10.2
JINITIATOR : 1.3.1.21


UPGRADING TO : JRE 1.6_05


Solution:


Download Interoperability patch 6863618


Download the Java Runtime Environment (JRE) 6 plug-in at, http://java.sun.com/javase/downloads/index.jsp


Downloaded JRE Native plug-in file from jre-6_uX-windows-i586-p.exe and rename to j2se160x.exe

(Where X = the version number. Using jre-6u5 as an example this would be j2se16005.exe)



Move the j2se1600X.exe file to the web application tier and place it in

[COMMON_TOP]/util/jinitiator


Apply Developer 6i Patchset 18 ( 4948577 )


unzip patch to $ORACLE_HOME

cd $ORACLE_HOME/developer6i_patch18

./patch_install.sh 2>&1 | tee patch_install_p18.log


cd $ORACLE_HOME/procbuilder60/lib; make -f ins_procbuilder.mk install
cd $ORACLE_HOME/forms60/lib; make -f ins_forms60w.mk install
cd $ORACLE_HOME/graphics60/lib; make -f ins_graphics60w.mk install
cd $ORACLE_HOME/reports60/lib; make -f ins_reports60w.mk install


cp developer6i_patch18/bin/genshlib $ORACLE_HOME/bin



Additional Patches:


5713544

sh patch.sh
adrelink.sh force=y "fnd f60webmx"


4261542

cd $ORACLE_HOME
unzip p4261542_600_GENERIC.zip


cp -r $ORACLE_HOME/forms60/java/oracle/forms/handler/AlertDialog.class

$ORACLE_HOME/forms60/java/oracle/forms/handler/AlertDialog.class.PRE_BUG4261542

cp -r $ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class

$ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class.PRE_BUG4261542


cd $ORACLE_HOME/4261542/oracle/forms/engine

cp Main.class $ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class

cd $ORACLE_HOME/4261542/oracle/forms/handler

cp AlertDialog.class

$ORACLE_HOME/forms60/java/oracle/forms/handler/AlertDialog.class




Generate Product JAR Files ( adadmin )

5216496
sh patch.sh


5753922
sh patch.sh
adrelink.sh force=y "fnd f60webmx"



6195758

cd $ORACLE_HOME

unzip p6195758_600_GENERIC.zip

cp -r $ORACLE_HOME/forms60/java/oracle/forms/handler/UICommon.class

$ORACLE_HOME/forms60/java/oracle/forms/handler/UICommon.class.PRE_BUG6195758

cp -r $ORACLE_HOME/forms60/java/oracle/forms/handler/ComponentItem.class

$ORACLE_HOME/forms60/java/oracle/forms/handler/ComponentItem.class.PRE_BUG6195758

cd $ORACLE_HOME/6195758/oracle/forms/handler

cp UICommon.class $ORACLE_HOME/forms60/java/oracle/forms/handler/UICommon.class

cp ComponentItem.class $ORACLE_HOME/forms60/java/oracle/forms/handler/ComponentItem.class

Generate Product JAR Files ( adadmin )


5938515
sh patch.sh
adrelink.sh force=y "fnd f60webmx"


3830807
sh patch.sh


4586086
cd $ORACLE_HOME

unzip .zip

cd $ORACLE_HOME/forms60/lib

mv env_forms60.mk env_forms60.mk.PRE_BUG4586086

cp $ORACLE_HOME/bug4586086/env_forms60.mk $ORACLE_HOME/forms60/lib

cd $ORACLE_HOME/forms60/lib

make -f cus_forms60w.mk libso_install

adrelink.sh force=y "fnd f60webmx"


relink – adadmin

select 'Maintain Applications Files Menu' and then select 'Relink Applications Program'
Enter list of products to link ('all' for all products)[all] : fnd

Generate specific executables for each selected product [No] ? Y

Relink with debug information [No] ? N

Enter executables to relink, or enter 'all' [all] : f60webmx ar60run ar60runb ar60rund *

4888294 (adpatch )


5884875


cd $ORACLE_HOME

unzip p5884875_600_GENERIC.zip

cp -r $ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class

$ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class.PRE_BUG5884875

cp -r $ORACLE_HOME/forms60/java/oracle/forms/handler/AlertDialog.class

$ORACLE_HOME/forms60/java/oracle/forms/handler/AlertDialog.class.PRE_BUG5884875

cd $ORACLE_HOME/5884875/oracle/forms/engine

cp Main.class $ORACLE_HOME/forms60/java/oracle/forms/engine/Main.class

cd $ORACLE_HOME/5884875/oracle/forms/handler

cp AlertDialog.class

$ORACLE_HOME/forms60/java/oracle/forms/engine/AlertDialog.class

Run adadmin "Generate JAR Files"



(6863618)
-------------

Apply the Patch Driver using adpatch

Run the txkSetPlugin.sh script from the /6863618/fnd/bin/


txkSetPlugin.sh 16005



Start Oracle Applicatons 11.5.10.2 and start using Java instead of Jinititor for Applets

Checking Product Versions & Locations in Oracle Applications

One of the things that you come across quite frequently when you work with oracle support is to need to tell them the product versions or the platform versions which run your oracle applications.


The version information which are commonly asked by during a service request.


I am categorizing this post into three sections

1)Oracle Applications Components
2)Oracle Database Components
3)Operating System and Utilities


1)Oracle Applications Components


a)Oracle Applications version:


You may never need this but in case you are looking at a new environment then the simplest way to figure out your application version is by navigating to
Help-> About Oracle Applications from any of the forms sessions.


b)Version of a Oracle Applications Form (fmx) or report:


To find the version of any oracle applications files
strings -a ICQTYED.fmx | grep Header   
alternatively you can also use the adident command


c)Version of a Java class File:


To find the version of a java class file
$ strings | grep '$Header'


d)JDBC version:


In your middle tier, edit the jserv.properties file located in the IAS_ ORACLE_HOME/Apache/Jserv/etc directory
Locate the wrapper.classpath that is pointing to the jdbc zip file
/u01/applsam/samcomn/java/jdbc14.zip


e)How to find the Apache version?

Go to the $iAS/Apache/Apache/bin directory and enter the following command:
$ httpd -version



f)Version Of The OA Framework:


To find out the version of your Oracle appplication Framework
http://[host].[domain]:[portnumber]/OA_HTML/OAInfo.jsp
OA Framework Version Information
OA Framework Version 11.5.10.2CU.
MDS Version 9.0.5.4.81 (build 481)
UIX Version 2.2.18
BC4J Version 9.0.3.13.51


g)Oracle Application Product Version or Patch Set Level:

One of the most common things you will asked by your support engineer is the version or commonly known as the patch set level of your Oracle Applications product, while or after raising your service request. You can query this by logging on to your application database as the apps user.
select patch_level from fnd_product_installations where patch_level like '%AD%';


h)OJSP Version:


Log in to the application server as the applmgr user
cd $OA_HTML
edit the jtflogin.jsp file to add the following line
OJSP Version: <%= application.getAttribute("oracle.jsp.versionNumber") %>
clear your cache and bounce your apache server
source the jtflogin.jsp from your browser
http://hcslnx03.satyam.com:8002/OA_HTML/jtflogin.jsp
OJSP Version: 1.1.3.5.2


i)XML Parser Version:


You can find out the version of your XML Parser using the following query

SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION
  2  from sys.dual;
XML_VERSION
--------------------------------------------------------------------------------
Oracle XDK Java      9.0.4.0.0      Production


j)XML Publisher Version:


To check weather XML publisher is installed or not you can query the FND_PRODUCT_INSTALLATIONS table or you can lookup the  
reports in Oracle Applications Manager. You can find out the version for your XML publisher from the output of your report or  from MetaInfo.class file.
$OA_JAVA/oracle/apps/xdo/common/MetaInfo.class.


k)Workflow Version:


You can find out the version of your workflow using the following query

SQL> select TEXT Version from WF_RESOURCES
  2  where  TYPE = 'WFTKN' and NAME = 'WF_VERSION';
VERSION
--------------------------------------------------------------------------------
2.6.0






2)Oracle Database Components



a)Oracle RDBMS Version:


You can query the version of your database user the dynamic view V$VERSION

SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
PL/SQL Release 9.2.0.6.0 - Production
CORE    9.2.0.6.0       Production
TNS for Solaris: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 – Production


b)Version of OPATCH:


$ perl $ORACLE_HOME/OPatch/opatch.pl version
/oracle/product/v9.2.0.6_doeb10s/OPatch/opatch.pl version: 1.0.0.0.51



c)Listener Version:


$ lsnrctl version
LSNRCTL for Solaris: Version 9.2.0.6.0 - Production on 06-JUL-2007 09:34:53
Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=samsolx)(PORT=1527))
TNSLSNR for Solaris: Version 9.2.0.6.0 - Production
        TNS for Solaris: Version 9.2.0.6.0 - Production
        Unix Domain Socket IPC NT Protocol Adaptor for Solaris: Version 9.2.0.6.0 - Production
        Oracle Bequeath NT Protocol Adapter for Solaris: Version 9.2.0.6.0 - Production
        TCP/IP NT Protocol Adapter for Solaris: Version 9.2.0.6.0 - Production,,
The command completed successfully





3)Operating Systems and Utilities



a)Sun Solaris Version:


To check the version of you Solaris you can use the following file.

$ cat /etc/release
                Solaris 8 2/02 Fujitsu_3 s28s_u7fjsv3wos_04 SPARC
           Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
                           Assembled 08 December 2002


b)RedHat Linux Version:


You can check the version and release of Linux from the following file
view /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)


c)Perl Version:


You can use the perl -v or the perl - version command to find out the version of perl on your environment.

$ perl -version
This is perl, version 5.005_03 built for sun4-solaris
Copyright 1987-1999, Larry Wall



d)Java Version:


To fine the version of Java used
$ java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)


e)Version of Installed packages on Solaris


To find the version of the packages on Solaris
$ pkginfo -i|grep perl
application MCperl584            PERL 5.8.4 with Modules 64bit with Threads
optional    VRTSperl             Perl 5.8.6 for VERITAS


f)Version of Installed packages on Linux:


To find the version of the packages on linux
rpm -qa|grep


g)Kernel Version of Unix:


You can find the version of your kernel on UNIX by the following command
uname -a


h)Bit of Operating System:


You can check the bit size of your OS by using the following command
$ isainfo -b
64


Bit of your Oracle Software

To check if your Oracle Binary is 32 bit or 64 bit you can use the file command on any of the oracle executables like
$ file $ORACLE_HOME/bin/oracle
/oracle/product/v9.2.0.6_doeb10s/bin/oracle:    ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped


Files where kernel settings and security limits are stored

/etc/sysctl.conf /etc/security/limits.conf

Apply INDIA LOCALIZATION Patch

India Localization Patch Application Tool ( Discrete and OPM )



Required Patches:




6491231 ( REF : 6059025 - MULTINODE : PATCH TOOL ENHANCED TO HADLE, OA FRAMEWORK AND XMLP )

5498551 ( REF : 5219225 - CUMULATIVE PATCHSET - IN60107 )

6167056 ( ENH : HANDLING SECONDARY AND HIGHER EDUCATION CESS)


Installation(Installing patch tool):



1.Download patch 6059025.

2.mv 6059025.zip $JA_TOP/.

3.unzip 6059025.zip

4 Cd inpatch

5 run command :

perl install.pl appspwd=apps japwd=ja





INDIA LOCALIZATION CUMULATIVE PATCHSET IN60107


Download patch 5498551


Mv 5498551.zip $JA_TOP
Unzip 5498551.zip
Cd 5498551



1.check the pre-requisites:



find the patchset level using: (FND patchset C or above)


select patch_level, application_name from fnd_product_installations fpi, fnd_application_tl fat where patch_level is not null and fpi.application_id = fat.application_id and patch_level like '%FND%' ;

( FND – G )




2.Take a backup of database.



Download patch 5498551 ( REF : 5219225 - CUMULATIVE PATCHSET - IN60107 )


This localization patchset files: 70 MB disk space
Check df –h


Check the datafile has atleast 100M free space
First find related tablespace using
Cd erpp/erppappl/admin/scripts/ERPP1_erpp1/
Sh adstpall apps/apps



Run adadmin

Put in maintenance mode.


Check invalid objects

Sqlplus “/ as sysdba”

Exec UTL_RECOMP.RECOMP_PARALLEL(8);

(note the invalid objects).

select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where USERNAME='JA'; 


Tablespace – ja

The datafile for ja tablespace should have 100MB free space.
select TABLESPACE_NAME from dba_indexes where owner='JA'; 

Tablespace – jx

The datafile for should have 50MB free space.
Rollback segment should have 30MB free space.
Get the undo tablespace name using:


Show parameter undo_tablespace;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string APPS_UNDOTS1

Check the free space
SELECT Total.name "Tablespace Name", nvl(Free_space, 0) Free_space, nvl(total_space-Free_space, 0) Used_space, total_space FROM (select tablespace_name, sum(bytes/1024/1024) Free_Space from sys.dba_free_space group by tablespace_name) Free, (select b.name, sum(bytes/1024/1024) TOTAL_SPACE from sys.v_$datafile a, sys.v_$tablespace B where a.ts# = b.ts# group by b.name) Total WHERE Free.Tablespace_name(+) = Total.name ORDER BY Total.name


ALTER DATABASE DATAFILE '/erpp/erppdata/jad01.dbf' RESIZE 100M;


Check if DBMS_SUPPORT package is present in your APPS schema by using the below query in APPS schema :


select object_name, object_type from all_objects where object_name = 'DBMS_SUPPORT' and object_type like 'PACKAGE%' ;
---------------------
DBMS_SUPPORT
PACKAGE

DBMS_SUPPORT
PACKAGE BODY


Run sqlplus apps/apps@ja_chk_stat.sql



Continue if only no issues in prechecks_5498551.log


Check 'JA_IN_INSTALL_CHECK_INFO_D does not exist in apps schema



select owner, table_name from all_tables where table_name = 'JA_IN_INSTALL_CHECK_INFO_D' and owner = 'APPS' ;



object does not exist.


Run….check for errors

select descriptive_flexfield_name, application_column_name, descriptive_flex_context_code from fnd_descr_flex_column_usages where descriptive_flexfield_name in ('AP_INVOICES') ;


Patching:



perl /erpp/erppappl/ja/11.5.0/inpatch/indpatch.pl drvr_file=5498551.drv fnd_patchset=G logfile=first.log test=y appspwd=apps japwd=ja mode=FCD systempwd=manager



perl /erpp/erppappl/ja/11.5.0/inpatch/indpatch.pl drvr_file=5498551.drv fnd_patchset=G logfile=org.log test=n appspwd=apps japwd=ja mode=FCD systempwd=manager



open another session and check log file


cd $JA_TOP/5498551
tail –f org.log
And also check the patching status running


select * from jai_applied_patches where patch_number = '5498551’;



Error:
Cannot copy---------to /erpp/erppappl/ar/11.5.0/JAINBOER.rdf permission denied
Cannot copy---------to /erpp/erppappl/ar/11.5.0/JAINARE1.rdf permission denied



chmod 775 /erpp/erppappl/ar/11.5.0/reports/US

cp /erpp/erppappl/ja/5498551/reports/US/ JAINBOER.rdf /erpp/erppappl/ar/11.5.0/JAINBOER.rdf

cp /erpp/erppappl/ja/5498551/reports/US/ JAINBOER.rdf /erpp/erppappl/ar/11.5.0/JAINARE1.rdf



Rerun

perl /erpp/erppappl/ja/11.5.0/inpatch/indpatch.pl drvr_file=5498551.drv fnd_patchset=G logfile=org.log test=n appspwd=apps japwd=ja mode=FCD systempwd=manager



And check log file for errors.




Run adadmin

Disable maintenance mode.


Go to

Cd erpp/erppappl/admin/scripts/ERPP1_erpp1/

Sh adstrtal.sh apps/apps


Login through front page and select Application



DeveloperFlexfielddescriptiveSegments



Press f11 and search “Oracle Payables” in Application and press ctrl+f11 and Title should be “Invoices”



Then uncheck the Freeze flexfield definition. Press “ok”



Click codeGlobal data elements then clickSegments


Just click last column

Note down the information of the segments attached to Attributes 1-5,14 and 15 and delete them.Then re-create them with the same information but with free attributes not in (1-5, 14, 15). And rename the window promt name to previous values.



Save and make “tick” in Freeze flexfield Definition. Then press “compile” and click “ok”.




POST-PATCH APPLICATION STEPS


(Migration should be done with the help of FUNCTIONAL user)


Run this script


sqlplus apps/apps @jai_rcv_chk_pending_delivery.sql



1.View the old Threshold Data:


SELECT DISTINCT a.vendor_id, a.vendor_site_id, b.vendor_name,
DECODE(a.vendor_site_id, 0 , 'Null Site', c.vendor_site_code) "Vendor Site Code", a.tds_section, a.tds_amount, decode(a.invoice_tds_flag, 'P', 'Per Invoice', 'A', 'All Invoices') FROM ja.ja_in_vendor_tds_info_dtl a, po_vendors b, po_vendor_sites_all c
WHERE a.vendor_id = b.vendor_id AND b.vendor_id = c.vendor_id
AND (a.vendor_site_id = c.vendor_site_id OR a.vendor_site_id = 0)


Cd /erpp/erppl/ja/5498551/misc/

sqlplus apps/apps@jai_ap_3841637_migrate_pkg_t.sql


2.PAN Number validation:


SELECT DISTINCT a.vendor_id, a.vendor_site_id, b.vendor_name,
DECODE(a.vendor_site_id, 0 , 'Null Site', c.vendor_site_code) "Vendor Site Code", a.pan_no, jai_ap_3841637_migrate_pkg_t.check_valid(a.pan_no, 10) PAN_NO_STATUS,
DECODE(a.vendor_site_id, 0, a.confirm_pan_flag, NULL) PAN_CONFIRM_FLAG
FROM ja_in_vendor_tds_info_hdr a, po_vendors b, po_vendor_sites_all c WHERE a.vendor_id = b.vendor_id
AND b.vendor_id = c.vendor_id AND (a.vendor_site_id = c.vendor_site_id OR a.vendor_site_id = 0)


4.Execute in apps schema:


DROP PACKAGE JAI_AP_3841637_MIGRATE_PKG_T ;


Do steps 5,6 only if any discrepancies in PAN No and PAN Confirm Flag as a result of output of step 3


5. UPDATE ja_in_vendor_tds_info_hdr
SET pan_no = '&New_PAN_NO'
WHERE vendor_id = &vendor_id
AND vendor_site_id = NVL(&vendor_Site_ID, vendor_site_id);



6. UPDATE ja_in_vendor_tds_info_hdr
SET confirm_pan_flag = '&Confirm_PAN_FLAG_Y_N'
WHERE vendor_id = NVL(&vendor_id_NULL_for_all_vendors, vendor_id);




1.Migration script for generating ETDS flat file:



Take "TDS 2.244% Sec. 194(C)" tax and assume that the total tds rate given is : 2.244% which includes 10% surcharge and 2% cess. And if the user had already entered the value: 2.244 in the field 'Percentage' and no value in the field 'Surcharge %age',Then he should query that particular tax code and give the value 0.244 in the
'Surcharge %age' field.


2.Run scripts present in the "misc" folder:



a. sqlplus apps/ @jai_ap_etds_4353842_mig1_apps.sql



b. SELECT tax_id , tax_name , tax_Rate , surcharge_rate
FROM JA_IN_TAX_CODE_APP;
Based on the above data, you might want to delete some taxes (as discussed with functional user) which do not contain cess in the tax rate.

DELETE JA_IN_TAX_CODE_APP
WHERE tax_id = &relevant_tax_id_from_query_above



c. sqlplus apps/ @jai_ap_etds_4353842_mig2_apps.sql

RG1 - Source Migration for Shipment / Manual AR Invoice Records :



Sqlplus apps/apps@ jai_mig_4346220.sql


output has 40>0
output iv has some value >

select * from ja_in_localization_errors where application_id = '4346220'


Select * from ja_in_rg_i where register_id = < register_id from above>
shipment transaction,


UPDATE ja_in_rg_i SET cess_amount = ( SELECT sum(func_tax_amount) FROM
ja_in_so_picking_lines jspl , ja_in_so_picking_tax_lines jsptl ,
ja_in_tax_codes jtc WHERE jspl.delivery_detail_id = jsptl.delivery_detail_id AND jspl.delivery_detail_id = <&reference_no from RG1 balance screen> AND jspl.organization_id = &organization_id AND jspl.location_id= &location_id AND jspl.inventory_item_id = &inventory_item_id AND jspl.quantity = &rg1_qty AND jtc.tax_id = jsptl.tax_id AND upper(jtc.tax_type) IN ('EXCISE_EDUCATION_CESS','CVD_EDUCATION_CESS')), source = 'WSH',
last_update_date = sysdate, last_updated_by = -4346220
WHERE register_id = ®ister_id;

commit;




AR Receivable transaction:


UPDATE ja_in_rg_i SET cess_amount = ( SELECT sum(func_tax_amount)
FROM ja_in_ra_customer_trx jrct, ja_in_ra_customer_trx_lines jrctl,
ja_in_ra_cust_trx_tax_lines jrcttl , ja_in_tax_codes jtc WHERE
jrct.customer_trx_id = jrctl.customer_trx_id AND jrct.customer_trx_id = <&reference_no from RG1 balance screen>
AND jrctl.customer_trx_line_id = jrcttl.link_to_cust_trx_line_id
AND jrct.organization_id = &organization_id AND jrct.location_id = &location_id AND jrctl.inventory_item_id = inventory_item_id AND jtc.tax_id = jrcttl.tax_id AND upper(jtc.tax_type) IN ('EXCISE_EDUCATION_CESS','CVD_EDUCATION_CESS')
source = 'AR', last_update_date = sysdate ,
last_updated_by = -4346220 WHERE register_id = ®ister_id;

commit;




perl compile_il_apps_obj.pl appspwd=apps



Go to "Application Developer" Responsibility
- Open View -> Requests
- Click on "Submit New Request"
- Click on "Single Request"
- Enter "Generate Messages" in Name field
- Enter the following parameters
Language : US
Application : Asia/Pacific Localizations
Mode : DB_TO_RUNTIME
- Click Ok and then Submit the request, ensure that request completes successfully
Logout and Relogin



Conn po/po


create index ja_in_rcv_shipment_headers_n1 on
rcv_shipment_headers(receipt_num);


create index ja_in_rcv_transactions_n1 on rcv_transactions (rma_reference);


Conn ar/ar

create index ja_in_ra_customer_trx_all_n1 on
ra_customer_trx_all(interface_header_attribute1, interface_header_attribute6);


conn inv/inv

create index ja_in_mtl_transactions_n1 on
mtl_material_transactions(rcv_transaction_id);





CUSTOM.pll on $AU_TOP/resource.


Cp /erpp/erppappl/ja/5498551/patch/backup/resource/CUSTOM.pll /erpp/erppappl/au/11.5.0/resource/CUSTOM.pll


f60gen module=CUSTOM userid=apps/apps module_type=LIBRARY


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


6167056 ( ENH : HANDLING SECONDARY AND HIGHER EDUCATION CESS)

1.Download patch 6167056

2.mv 6167056.zip $JA_TOP

3.unzip 6167056.zip

4.cd 6167056
5.

adadminchange maintenance mode  enable maintenance mode.

perl /erpp/erppappl/ja/11.5.0/inpatch/indpatch.pl drvr_file= 6167056.drv fnd_patchset=G logfile=first.log test=y appspwd=apps japwd=ja mode=FCD systempwd=manager


perl /erpp/erppappl/ja/11.5.0/inpatch/indpatch.pl drvr_file=6167056.drv fnd_patchset=G logfile=org.log test=n appspwd=apps japwd=ja mode=FCD systempwd=manager


tail –f org.log


check logfile for any issues.


And also check patching status

select * from jai_applied_patches where patch_number = '6167056’;


1.View the old Threshold Data:


SELECT DISTINCT a.vendor_id, a.vendor_site_id, b.vendor_name,
DECODE(a.vendor_site_id, 0 , 'Null Site', c.vendor_site_code) "Vendor Site Code", a.tds_section, a.tds_amount, decode(a.invoice_tds_flag, 'P', 'Per Invoice', 'A', 'All Invoices') FROM ja.ja_in_vendor_tds_info_dtl a, po_vendors b, po_vendor_sites_all c
WHERE a.vendor_id = b.vendor_id AND b.vendor_id = c.vendor_id
AND (a.vendor_site_id = c.vendor_site_id OR a.vendor_site_id = 0)



Cd /erpp/erppl/ja/5498551/misc/

sqlplus apps/apps@jai_ap_3841637_migrate_pkg_t.sql


2.PAN Number validation:


SELECT DISTINCT a.vendor_id, a.vendor_site_id, b.vendor_name,
DECODE(a.vendor_site_id, 0 , 'Null Site', c.vendor_site_code) "Vendor Site Code", a.pan_no, jai_ap_3841637_migrate_pkg_t.check_valid(a.pan_no, 10) PAN_NO_STATUS,
DECODE(a.vendor_site_id, 0, a.confirm_pan_flag, NULL) PAN_CONFIRM_FLAG
FROM ja_in_vendor_tds_info_hdr a, po_vendors b, po_vendor_sites_all c WHERE a.vendor_id = b.vendor_id
AND b.vendor_id = c.vendor_id AND (a.vendor_site_id = c.vendor_site_id OR a.vendor_site_id = 0)


4.Execute in apps schema:


DROP PACKAGE JAI_AP_3841637_MIGRATE_PKG_T ;


Do steps 5,6 only if any discrepancies in PAN No and PAN Confirm Flag as a result of output of step 3


5. UPDATE ja_in_vendor_tds_info_hdr
SET pan_no = '&New_PAN_NO'
WHERE vendor_id = &vendor_id
AND vendor_site_id = NVL(&vendor_Site_ID, vendor_site_id);


6. UPDATE ja_in_vendor_tds_info_hdr
SET confirm_pan_flag = '&Confirm_PAN_FLAG_Y_N'
WHERE vendor_id = NVL(&vendor_id_NULL_for_all_vendors, vendor_id);



1.Migration script for generating ETDS flat file:


Take "TDS 2.244% Sec. 194(C)" tax and assume that the total tds rate given is : 2.244% which includes 10% surcharge and 2% cess. And if the user had already entered the value: 2.244 in the field 'Percentage' and no value in the field 'Surcharge %age',Then he should query that particular tax code and give the value 0.244 in the
'Surcharge %age' field.


2.Run scripts present in the "misc" folder:


a. sqlplus apps/ @jai_ap_etds_4353842_mig1_apps.sql

b. SELECT tax_id , tax_name , tax_Rate , surcharge_rate
FROM JA_IN_TAX_CODE_APP;
Based on the above data, you might want to delete some taxes (as discussed with functional user) which do not contain cess in the tax rate.


DELETE JA_IN_TAX_CODE_APP
WHERE tax_id = &relevant_tax_id_from_query_above


c.sqlplus apps/ @jai_ap_etds_4353842_mig2_apps.sql
ci.

RG1 - Source Migration for Shipment / Manual AR Invoice Records :

Sqlplus apps/apps@ jai_mig_4346220.sql


output has 40>0
output iv has some value >

select * from ja_in_localization_errors where application_id = '4346220'


Select * from ja_in_rg_i where register_id = < register_id from above>
shipment transaction,


UPDATE ja_in_rg_i SET cess_amount = ( SELECT sum(func_tax_amount) FROM
ja_in_so_picking_lines jspl , ja_in_so_picking_tax_lines jsptl ,
ja_in_tax_codes jtc WHERE jspl.delivery_detail_id = jsptl.delivery_detail_id AND jspl.delivery_detail_id = <&reference_no from RG1 balance screen> AND jspl.organization_id = &organization_id AND jspl.location_id= &location_id AND jspl.inventory_item_id = &inventory_item_id AND jspl.quantity = &rg1_qty AND jtc.tax_id = jsptl.tax_id AND upper(jtc.tax_type) IN ('EXCISE_EDUCATION_CESS','CVD_EDUCATION_CESS')), source = 'WSH',
last_update_date = sysdate, last_updated_by = -4346220
WHERE register_id = ®ister_id;

commit;



AR Receivable transaction:

UPDATE ja_in_rg_i SET cess_amount = ( SELECT sum(func_tax_amount)
FROM ja_in_ra_customer_trx jrct, ja_in_ra_customer_trx_lines jrctl,
ja_in_ra_cust_trx_tax_lines jrcttl , ja_in_tax_codes jtc WHERE
jrct.customer_trx_id = jrctl.customer_trx_id AND jrct.customer_trx_id = <&reference_no from RG1 balance screen>
AND jrctl.customer_trx_line_id = jrcttl.link_to_cust_trx_line_id
AND jrct.organization_id = &organization_id AND jrct.location_id = &location_id AND jrctl.inventory_item_id = inventory_item_id AND jtc.tax_id = jrcttl.tax_id AND upper(jtc.tax_type) IN ('EXCISE_EDUCATION_CESS','CVD_EDUCATION_CESS')
source = 'AR', last_update_date = sysdate ,
last_updated_by = -4346220 WHERE register_id = ®ister_id;

commit;





perl compile_il_apps_obj.pl appspwd=apps


Go to "Application Developer" Responsibility
- Open View -> Requests
- Click on "Submit New Request"
- Click on "Single Request"
- Enter "Generate Messages" in Name field
- Enter the following parameters
Language : US
Application : Asia/Pacific Localizations
Mode : DB_TO_RUNTIME
- Click Ok and then Submit the request, ensure that request completes successfully
- Logout and Relogin




CUSTOM.pll on $AU_TOP/resource.

Cp /erpp/erppappl/ja/5498551/patch/backup/resource/CUSTOM.pll /erpp/erppappl/au/11.5.0/resource/CUSTOM.pll

f60gen module=CUSTOM userid=apps/apps module_type=LIBRARY





adadminchange maintenance mode Disable maintenance mode


sqlplus apps/apps


EXEC SYS.UTL_RECOMP.RECOMP_PARALLEL(8);

Start the application server.

How To Apply 11i.ATG_PF.H.RUP6

5903765--> 11i.ATG_PF.H.RUP6



DOC-ID--> 444524.1



PREREQUISTE:


Step 1 Upgrade the RDBMS to Oracle 9iR2/10g or higher (Required)


Step 2 Apply the AD minipack. (Conditionally Required)


PATCH 6502082=Patch 11i.AD.I.6


Step 3 Run the Technology Stack Validation Utility. (Required)


# From the location where this patch was unzipped, change directory to fnd/patch/115/bin.

cd 5903765

# Run the utility as follows:


./txkprepatchcheck.pl -script=ValidateRollup -outfile=$APPLTMP/txkValidateRollup.html -appspass=apps


enable maintainance mode



adpatch driver=u5903765.drv logfile=5903765.log




check the invalid objects=36524

(wheather patch hanged check tablespace fnd_install_processes)



workers failed 1and4,
bneint.ldt
bneparamlist.ldt


preinstallation patch=3218526(before this apply 4252319)



docid=287080.1

PATCH=4252319


adpatch driver=u4252319.drv

compile apps schema

Compile flexfield data in AOL tables

Restart Oracle Webserver Middle Tier environments


5903765 (adpatch driver=u5903765.drv logfile=5903765.log)


FAILED:

file ademusr.sql on worker 1 for product ad username APPLSYS.


Completed:

file aftcm049.sql on worker 3 for product
fnd username APPLSYS.



ATTENTION: All workers either have failed or are waiting:


FAILED: file ademusr.sql
on worker 1.



ATTENTION: Please fix the above failed worker(s) so the manager can continue.



429498.1(Fails on ademusr.sql )



patch=5989593---(REVOKE ALL FROM PUBLIC" From adgrants.sql as pre-requisite.)




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 the patchtop(5989593)/admin directory to

$ORACLE_HOME/appsutil/admin. Or, copy adgrants_nt.sql (Windows) from

patchtop(5989593)\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>



PATCH 3865683=RELEASE 11.5.10 PRODUCTS NAME PATCH

How To 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

Saturday, June 28, 2008

Creating a Duplicate Database on a New Host Using RMAN

For Oracle Server Enterprise Edition: 9.X,10.X

Goal:

How To Create A Production Duplicate On a New Host using RMAN

Solution:



Primary Database SID: ORCL

Duplicate Database SID: AUX

RMAN Catalog SID: RMAN




Backup of the primary database.


Host A (Target)


# export ORACLE_SID=ORCL


# rman target=/ catalog=rman/rman@ORCL


RMAN> run {
allocate channel d1 type disk;
backup format '/backups/PROD/df_t%t_s%s_p%p' database;
sql 'alter system archive log current';
backup format '/backups/PROD/al_t%t_s%s_p%p' archivelog all;
release channel d1;
}


This command will perform a full database backup including archivelogs and the current controlfile.



Host B (Aux)


Making the backup available for the duplicate process.


If your backup resides on disk you will need to copy this back up from host A to host B.

Ensure you place it in the same directory as where it was created.

RMAN> list backup;


Create same directory of host b and give appropriate permissions for the oracle user



Create the pfile [initAUX.ora] parameter file in the $ORACLE_HOME/dbs directory for

the auxiliary database.
---------------------------------------------------------------

db_name = aux
db_block_size = 8192
compatible = 10.2.0.1.0
remote_login_passwordfile = exclusive
control_files = ('/d02/oradata/aux/control01.ctl')
db_file_name_convert = ('/newpart/oradata/orcl',
'/d02/oradata/aux')
log_file_name_convert = ('/newpart/oradata/orcl',
'/d02/oradata/aux')
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
------------------------------------------------------------------------------

Following the creation of the initAUX.ora startup nomount the auxiliary instance.

export ORACLE_SID=AUX

sqlplus '/as sysdba'

startup nomount;


Ensuring SQL*NET connections to primary database and RMAN catalog are working.



Host B(AUX)


sqlplus ‘sys/oracle@PROD as sysdba’


sqlplus rman/rman@PROD (not mandatory)

Add tnsnames.ora entry


Eg:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.oneapps.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
Prepare RMAN duplicate script.


run {
allocate auxiliary channel C1 device type disk;
duplicate target database to AUX;
}
Save it as dup.sql


Execute the RMAN script


Start RMAN, connect to the production target, the catalog instance and also the auxiliary clone. Run the RMAN duplicate script as shown below. Before doing this ensure that the Oracle SID environment variable is set to the duplicate clone database.


# export ORACLE_SID=AUX


# rman target sys/pwd@ORCL catalog rman/rman@ORCL auxiliary /


RMAN> @dup.sql

After this, login to aux database and alter database open with resetlogs option.

Create A Production (Full or Partial) Duplicate On The Same Host

For Oracle Server Enterprise Edition: 9.X,10.X

Goal:

How To Create A Production (Full or Partial) Duplicate On The Same Host using RMAN


Solution:


Primary DB : ORCL

Clone DB : AUX


Production Database should be archive enabled.

Startup mount;

alter database archivelog;

alter database open;

archive log list;


Recovery catalog for RMAN

Creating the Recovery Catalog Owner

Start by creating a database schema (usually called rman). Assign an appropriate tablespace to it and grant it the recovery_catalog_owner role.

Look at this example:

% sqlplus '/as sysdba'SQL>CREATE USER rman IDENTIFIED BY rman

DEFAULT TABLESPACE tools

TEMPORARY TABLESPACE temp

QUOTA UNLIMITED ON tools;

SQL> GRANT CONNECT, RECOVERY_CATALOG_OWNER TO rman;




Creating the Recovery Catalog


% rman catalog rman/rman@ORCLRMAN> CREATE CATALOG;


Registering the target database


% rman TARGET / CATALOG rman/rman@ORCLRMAN> REGISTER DATABASE;


Reference : Note:452529.1

Reference : RMAN: How to Query the RMAN Recovery Catalog ( Note:98342.1 )



Note : Make use of netca and netmgr to configure listener and tnsnames


# Find Production Database Files:


SQL> select name from v$datafile;

Create the Auxiliary Database directories needed

cd $ORACLE_HOME/dbs

create parameter file initAUX.ora


db_file_name_convert = ('/old/path1', '/new/path1',/old/path2', '/new/path2',
'/old/path3', '/new/path3')


log_file_name_convert = ('/old/path1', '/new/path1','/old/path2', '/new/path2',
'/old/path3', '/new/path3')



eg:-

db_name = aux

db_block_size = 8192

compatible = 10.2.0.1.0

remote_login_passwordfile = exclusive

control_files = ('/newpart/oradata/aux/control01.ctl',
'/newpart/oradata/aux/control02.ctl')

db_file_name_convert = ('/newpart/oradata/orcl',
'/newpart/oradata/aux')

log_file_name_convert = ('/newpart/oradata/orcl',
'/newpart/oradata/aux')

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'


# create a passwordfile for remote connections as sysdba


% orapwd password= file=orapwAUX


% sqlplus /nolog

SQL> connect / as sysdba

SQL> startup nomount pfile=$ORACLE_HOME/dbs/initAUX.ora

SQL> exit

Start the Duplication

ORACLE_SID=AUX; export ORACLE_SID # ksh

sqlplus /nolog

SQL> connect / as sysdba

Connected to an idle instance

SQL> startup nomount pfile=$ORACLE_HOME/dbs/initAUX.ora

SQL> exit


# Set your SID back to the TARGET for duplication.

> rman trace.log

Recovery Manager: Release 10.2.0.1.0 - Production

Copyright (c) Oracle. All rights reserved.

RMAN> connect target

connected to target database: V10GREL4 (DBID=2510891965)

RMAN>backup database;

RMAN>sql 'alter system switch logfile';

RMAN> connect auxiliary sys/pwd@AUX

connected to auxiliary database: AUX (not mounted)

RMAN> duplicate target database to AUX device type disk;

Once this is done, login to duplicate database with alter database open resetlogs.

Creating a recovery catalog for RMAN

For Oracle Server Enterprise Edition 9x-10x

Creating a recovery catalog for RMAN


Server A - Target database (PROD)

Server B - Recovery Catalog database (catdb)

General settings:


1. RDBMS version and OS version should be same in Server A and Server B.

2. Server A and B should ping each other. Check each other entries in /etc/hosts file.

3. Copy the tnsname.ora entry (server A) add it in server B tnsname.ora entry and vice versa.


Step -1: Create password file on target DB (server A)


$orapwd file=orapwORACLE_SID (filename) password=password

Eg: - $orapwd file=orapwPROD password=rolta2k
(oracle password file default file location is $ORACLE_HOME/dbs)
Then,
Add parameter remote_login_passwordfile=EXCLUSIVE in server A initSID.ora
And bounce the database once.


After done this settings you should be able to connect the remotely

Eg: - From Server B just execute, and vice versa.
$sqlplus sys/sys@PROD as sysdba


Step - 2: Create tablespace for recovery catalog to store the target (server A) database information.

Connect to catalog DB Server B where you we need to configure the recovery catalog.
$sqlplus “/as sysdba”


sql>CREATE TABLESPACE rmanDATAFILE '/u02/app/oradata/rman/rman01.dbf' size 500m;

Step - 3: Create the Recovery Catalog Owner in the new database (CATDB)

Sql>CREATE USER rman IDENTIFIED BY rmanDEFAULT TABLESPACE rmanQUOTA UNLIMITED ON rman;


Step – 4: Grant the necessary privileges to the schema ownersql> GRANT connect, resource, recovery_catalog_owner TO rman;Here the role \"RECOVERY_CATALOG_OWNER\" provides the user with all privileges required to maintain and query the recovery catalog

Step – 5:Creating the Recovery CatalogConnect to the Server -B which will contain the catalog as the catalog owner. $ rman catalog rman/passwd@catdb

Eg: - $rman catalog rman/rman@UAT04

Recovery Manager: Release 10.2.0.2.0 - Production on Mon Feb 25 16:00:46 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to recovery catalog database

Step – 6: Run the CREATE CATALOG command to create the catalog
RMAN> CREATE CATALOG;recovery catalog created

Step – 7: Registering Target Database in the Recovery CatalogConnect to the target (Server A) database and recovery catalog database (Server B).

$ rman target sys/passwd@prod catalog rman/passwd@catdb

Eg: - $rman target sys/sys@NPROD catalog rman/rman@UAT04

Then, register the target database in recovery catalog

RMAN> REGISTER DATABASE;

Then, to identify whether has registered properly, execute the below command

RMAN> REPORT SCHEMA;

It will show the target database (Server A) datafile paths.

Eg: -
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 1000 SYSTEM YES /uat01/oracle/PROD/db/apps_st/data/system01.dbf
2 1000 SYSTEM YES /uat01/oracle/PROD/db/apps_st/data/system02.dbf
3 1000 SYSTEM YES /uat01/oracle/PROD/db/apps_st/data/system03.dbf
4 1000 SYSTEM YES /uat01/oracle/PROD/db/apps_st/data/system04.dbf
5 1000 SYSTEM YES /uat01/oracle/PROD/db/apps_st/data/system05.dbf
6 200 CTXD NO /uat01/oracle/PROD/db/apps_st/data/ctxd01.dbf
7 10 OWAPUB NO /uat01/oracle/PROD/db/apps_st/data/owad01.dbf
8 1000 APPS_TS_QUEUES NO /uat01/oracle/PROD/db/apps_st/data/a_queue02.dbf
9 100 ODM NO /uat01/oracle/PROD/db/apps_st/data/odm.dbf
10 17 OLAP NO /uat01/oracle/PROD/db/apps_st/data/olap.dbf
11 2000 SYSAUX NO /uat01/oracle/PROD/db/apps_st/data/sysaux01.dbf
12 500 APPS_TS_TOOLS NO /uat01/oracle/PROD/db/apps_st/data/apps_ts_tools01.dbf
13 1615 SYSTEM YES


For additional reference:
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta045.htm#sthref722

http://www.dbapool.com/articles/04110701.html
http://www.oracle-base.com/articles/9i/RecoveryManager9i.php

Metalink Doc ID: 360416.1
Subject: Oracle10g - Getting Started with Recovery Manager (RMAN)

Guidelines to setup the JVM in Apps Ebusiness Suite R12

For Oracle Applications 11i and R12.

Goal:

This is the general setup in apps has to be done after the installation. So that we can avoid performance issues in applications during heavy user load.


Solution:


How to increase the number oacore process type(JVM) and required memory:

Name of the file: opmn.xml
Location in R12:$INST_TOP/apps/SID_HOSTNAME/ora/10.1.3/opmn/conf/opmn.xml

Location in 11i:$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf
$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties

In this document i'm telling you how to increase JVM in R12.

Go to $INST_TOP/apps/SID_HOSTNAME/ora/10.1.3/opmn/conf/

Take a backup of opmn.xml file before editing,

A)Open the opmn.xml file and go to line no-128 and increase

numprocs=”4” -- (for 8 cpus)

If you have 6 cpus in server you can increase this JVM upto “3”. So depends on the cpu configuration you increase it.

B)Now we have increased the number of JVM only we need to increase the memory also for
compilation during user requests.

In the same file go to line no-114

FROM: -server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -

XX:NewRatio=2 -XX:+PrintGCTimeStamps

As per the metalink document 362851.1 need to increase

Xms128M to Xms256M

Here nproc is number oc4j instance.

So to know how much memory has to increase multiply Xms with nproc.

Xms X nproc = max memory

And make sure that your application tier memory having that much free size.

Now I have 4 nproc and 256 for Xms, So I need to increase Xmx512 to Xmx1024


TO:

server -verbose:gc –Xmx1024M -Xms256M -XX:MaxPermSize=256M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails

For reference:

Xms x nproc = max memory.

The max allocation of memory to the oc4j memory allocated by the Xmx parameter

Nprocs is the number of ocj4 instances

multiply the two together you will get the max memory given to OC4J support


Note: Don’t run autoconfig bounce the all application tiers.

Tuesday, June 24, 2008

Oracle Applications Important Questions and Answers-II

1) There are lot of dbc file under $FND_SECURE, How its determined that which dbc file to use from $FND_SECURE ?

This value is determined from profile option "Applications Database ID"


2) What is RRA/FNDFS ?

Report Review Agent(RRA) also referred by executable FNDFS is default text viewer in Oracle Applications 11i for viewing output files & log files. As most of apps dba's are not clear about Report Server & RRA, I'll discuss one on my blog and update link here

3) What is PCP is Oracle Applications 11i ?


PCP is acronym for Parallel Concurrent processing. Usually you have one Concurrent Manager executing your requests but if you can configure Concurrent Manager running on two machines (Yes you need to do some additional steps in order to configure Parallel Concurrent Processing) . So for some of your requests primary CM Node is on machine1 and secondary CM node on machine2 and for some requests primary CM is on machine2 & secondary CM on machine1


4) Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?

Well If you are running GL Month end reports or taxation reports annually these reports might take couple of days. Some of these requests are very resource intensive so you can have one node running long running , resource intensive requests while other processing your day to day short running requests.


Another scenario is when your requests are very critical and you want high resilience for your Concurrent Processing Node , you can configure PCP. So if node1 goes down you still have CM node available processing your requests


5) Output & Logfiles for requests executed on source Instance not working on cloned Instance


Here is exact problem description - You cloned an Oracle Apps Instance from PRODBOX to another box with Instance name say CLONEBOX on 1st of August. You can any CM logs/output files after 1st of August only because these all are generated on CLONEBOX itself, But unable to view the logs/output files which are prior to 1st August. What will you do & where to check ?


Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS. Check
select logfile_name, logfile_node_name, outfile_name, outfile_node_name from fnd_concurrent_requests where request_id=&requestid ;
where requestid is id of request for which you are not able to see log or out files. You should see output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1

Update it according to your cloned Instance Variables.


6) How to confirm if Report Server is Up & Running ?

Report Server is started by executable rwmts60 on concurrent manager Node & this file is under $ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr ....... rwmts60 name=REP60_VISION
where VISION is your Instance name.

Else you can submit a request like "Active Users" with display set to PDF, check output & log file to see if report server can display PDF files.


7) What is difference between ICM, Standard Managers & CRM in Concurrent Manager ?


ICM stand for Internal Concurrent Manager, which controls other managers. If it finds other managers down , it checks & try to restart them. You can say it as administrator to other concurrent managers. It has other tasks as well.

Standard Manager These are normal managers which control/action on the requests & does batch or single request processing.

CRM acronym for Conflict Resolution Manager is used to resolve conflicts between managers & request. If a request is submitted whose execution is clashing or it is defined not to run while a particular type of request is running then such requests are actioned/assigned to CRM for Incompatibilities & Conflict resolution.


8) What is use of Apps listener ?


Apps Listener usually running on All Oracle Applications 11i Nodes with listener alias as APPS_$SID is mainly used for listening requests for services like FNDFS & FNDSM.


9) How to start Apps listener ?

In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You can also start it by command

lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)


10) How to confirm if Apps Listener is Up & Running ?


execute below command
lsnrctl status APPS_$SID (replace SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like
Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully


11) What is Web Listener ?


Web Listener is Web Server listener which is listening for web Services(HTTP) request. This listener is started by adapcctl.sh & defined by directive (Listen, Port) in httpd.conf for Web Server. When you initially type request like http://becomeappsdba.blogspot.com:80 to access application here port number 80 is Web Listener port.





12) How will you find Invalid Objects in database ?


using query
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';


13) How to compile Invalid Objects in database ?


You can use adadmin utility to compile or you can use utlrp.sql script shipped with Oracle Database to compile Invalid Database Objects.


14) How to compile JSP in Oracle Apps ?


You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet


15) What is difference between adpatch & opatch ?


adpatch is utility to apply oracle apps Patches whereas
opatch is utility to apply database patches


16) Can you use both adpatch & opatch in Apps ?


Yes you have to use both in apps , for apps patches you will use adpatch utility and for applying database patch in apps you will opatch utility.


17) Where will you find forms configuration details apart from xml file ?


Forms configuration at time of startup is in script adfrmctl.sh and appsweb_$CONTEXT_NAME.cfg (defined by environment variable FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user initiates forms connection.



18) What is forms server executable Name ?


f60srvm


19) What are different modes of forms in which you can start Forms Server and which one is default ?


You can start forms server in SOCKET or SERVLET by defualt Forms are configured to start in socket mode


20) How you will start Discoverer in Oracle Apps 11i ?


In order to start dicoverer you can use script addisctl.sh under $OAD_TOP/admin/scripts/$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util (under Middle/Application Tier)


21) How many ORACLE HOME are Oracle Apps and whats significance of each ?


There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier) and One in Database Tier.

ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is used by forms, reports & discoverer. ORACLE_HOME should point to this ORACLE_HOME which applying Apps Patch.

ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software. This is used by Web Listener & contains Apache.

ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g database.


22) Where is HTML Cache stored in Oracle Apps Server ?

Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you might find it in $OA_HTML/_pages




23) Where is pl/sql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under $IAS_ORACLE_HOME/Apache/modplsql/cache


24) What happens if you don't give cache size while defining Concurrent Manager ?


Lets first understand what is cache size in Concurrent Manager. When Manager picks request from FND CONCURRENT REQUESTS Queues, it will pick up number of requests defined by cache size in one shot & will work on them before going to sleep. So in my views if you don't define cache size while defining CM then it will take default value 1, i.e. picking up one request per cycle


25) Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you might find it in $OA_HTML/_pages


26) What are few profile options which you update after cloning ?


Rapid clone updates profile options specific to site level . If you have any profile option set at other levels like server, responsibility, user....level then reset them.


27) How to retrieve SYSADMIN password ?


If forgot password link is enabled and sysadmin account is configured with mail id user forget password link else you can reset sysadmin password via FNDCPASS.






28) If you have done two node Installation, First machine : Database and concurrent processing server. 2nd machine: form,web Which machine have admin server/node?


Admin Server will be on First machine with concurrent processing server.


29) What is TWO_TASK in Oracle Database ?


TWO_TASK mocks your tns alias which you are going to use to connect to database. Lets assume you have database client with tns alias defined as PROD to connect to Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way to connect is sqlplus username/passwd@PROD ; now if you don't want to use @PROD then you set TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql will check that it has to connect to tnsalias define by value PROD i.e. TWO_TASK



30) What is GWYUID ?


GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB


31) Where GWYUID defined & what is its used in Oracle Applications ?


GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to connect to database by think clients.


32) What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?


GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by Thick Clients like via Forms Connections.


33) How to check number of forms users at any time ?


Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l



34) What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?


0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted via Submit Concurrent Request Form.

'Y' indicates the method of invocation. i.e. it is directly invoked from the command-line not from the Submit Request Form.


35) In a Multi Node Installation, How will you find which node is running what Services ?

You can query for table FND_NODES and check for column , SUPPORT_CP ( for Concurrent Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server), SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.

You can also check same from CONTEXT File (xml file under APPL_TOP/admin)


36) If your system has more than one Jinitiator, how will the system know, which one to pick. ?


When client makes a forms connection in Oracle Applications, forms client session uses configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE also called as appsweb config file. These days this file is of format appsweb_$CONTEXT.cfg The initiator version number defined by parameter jinit_ver_name in this file will be used .

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

Use adpatch flags=hidepw while applying patches in apps to hide apps or system password being displayed on Users Screen.

38) What is importance of IMAP Server in Java Notification Mailer ?
IMAP stands for Internet Message Access Protocol and Java Notification mailer require IMAP server for Inbound Processing of Notification Mails.


39) What is difference between Socket & Servlet Mode in Apps Forms ?


When forms run SOCKET Mode these are dedicated connection between Client Machine & Form Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms requests are fulfilled by Jserv in Apache . There will be additional JVM for Forms Request in that case and you won't start form via adfrmctl.sh.


40) What is make program in Unix ?


make is utility in Unix/Linux to maintain , update & generate an file mainly executable


41) If by mistake you/someone deleted FNDLIBR can this executable be restored if Yes, How & if no, what will you do ?

Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables.


42) What is .pls files which you see with apps ?

.pls file stands for plsql files. In apps patch these files contain code to create package spec or package body or both.


43) What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?


.ldt & .lct stands for Loader datafile & Loader configuration files, used frequently in migrating customization, profile options, configuration data, etc.. across Instances.

44) What are .odf file in apps patch ?

odf stands for Object Description Files used to create tables & other database objects.


45) What to find Form Server log files in forms ?


Form Server Start up log file default location is $OAD_TOP/admin/log/$CONTEXT_NAME/f60svrm.txt

Forms Run Time Diagnostics default location is $ORACLE_HOME/forms60/log/$CONTEXT_NAME



46) How to convert pll to pld file or pld file to pll ?

Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/ module_access=file output_file=MSCOSCW1.pld script=yes


Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/ module_type=library module_access=file output_file=MSCOSCW1.pll parse=y batch=yes compile_all=special


47) Is APPS_MRC Schema exists for MRC in 11.5.10 and higher ?


No , apps_mrc schema is dropped with 11.5.10 Upgrade & 11.5.10 new Install. This is replaced by more Integrated Architecture.


48) If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?


For products like Payable, Recievables which uses MRC and if MRC is enabled then each transaction table in base schema related to currency now has an assoicated MRC Subtables.



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


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


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


No , C driver only copies files in File System. Database Object might be invalidated during D driver when these objects are created/dropped/modified.

Wednesday, June 18, 2008

Oracle Applications Important Questions and Answers

1) Explain Architecture of Oracle Apps 11i.

Terminology which you will encounter here & in most of Oracle Documentation.
Server - is a process or group of processes and provides a particular functionality/service For example, Database Server listen and process database requests, similarly Web Server listens for and processes HTTP requests.

Tier - is a logical grouping of services, may be on single machine or spread across more than one physical machine. For Example, Middle Tier in Oracle apps consist Form, Web, Report...Services. Forms & Report can be one machine 1 & Web Server can be on machine 2, still they will be part of same tier called as Application Tier or Middle Tier.

Node - is referred as Machine, Each tier may consist of one or more node and each node can potentially have more than one tier.

Desktop Tier - Oracle Applications/E-Business Suite is built on three tier Architecture with first Desktop Tier ic client machines accessing applications via browser(HTML based Self service applications) or Java Applet(Jinitiator) for Form based interface.

Application/Middle Tier - Second is Application Tier also called as middle tier consists of WebServer Forms, Reports, Concurrent processing, Discoverer and Admin Server. Its known as Middle tier because it lies between our desktop & third tier called database tier.

Database Tier - Third is Database Tier contain Oracle database server which store all your application data.

2) What are various components in Application/Middle Tier

In Application Tier various components are Web Server, Forms Server, Reports Server, Concurrent Manager, Admin Server & Discoverer Server.

3) What's Different Top’s in Application 11i

Oracle Installer Installs Apps 11i in DB Tier & Application Tier:

So lets take Application Tier where you will see three directories under your base Installation directory, these directories are APPL, ORA & COMN
APPL is called as APPL_TOP
This is top appl directory where files & directories related to different Applications (like GL General Ledger, PO Purchase Order) exist.
ORA is called as ORA_TOP (Application Technology Stack)
Here you will see directory related to oracle home, there are two oracle Home’s in Application Tier 8.0.6 for Forms & Reports, iAS oracle home for 9iAS acting as web server
COMN is called as COMN_TOP
It will contain files & directories such as log, output, html, java files which will be used commonly by all components
For Database Tier you will see two directories, DATA and DB
DATA contains Oracle database file used by the oracle applications. (Data files, Control files, redo log files etc.)
DB is the oracle home for the oracle9i RDBMS.

4) What’s US directory in $AD_TOP or under various product Top’s.

US directory is default language directory in Oracle Applications. If you have multiple languages Installed in your Applications then you will see other languages directories besides US, that directory will contain reports, fmx and other code in that respective directory like FR for France, AR for arabic, simplifies chinese or spanish.

5) Where is Concurrent Manager log file and output file location?

By default standard location for log files are in $APPLCSF/$APPLLOG or $COMMON_TOP/admin/log/$CONTEXT_NAME, in some cases it can go to $FND_TOP/log as well.
Standard location for output files are in $APPLCSF/$APPLOUT or $COMMON_TOP/admin/out/$CONTEXT_NAME.

6) What are AD utilities?

AD utilities are tools used by the Applications DBA to install, configure and maintain oracle applications. Eg : adpatch, adadmin, admrgpch, Rapid Clone etc.

7) Where are AD utilities log file and output file location?

Log and output files are in located at
$APPL_TOP/admin/$SID/log/$CONTEXT_NAME
$APPL_TOP/admin/$SID/out/$CONTEXT_NAME

8) Where would you find .rf9 file, and what exactly it does?

These files are used during restart of patch in case of patch failure because of some reason so that you are able to resume the patch session from where you got aborted.

9) Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used?

This file is defined by the environment variable FORMS60_WEB_CONFIG_FILE. This is usually in directory $OA_HTML/bin on forms tier.
This file is used by any forms client session. When a user tries to access forms, f60webmx picks up this file and based on this configuration file creates a forms session to user/client.

10) What's the difference between a multi user & a single user Apps 11i install? What are advantages/disadvantages of two?

Multi user means there will be more than one user for managing the
Oracle applications. Usually one for the application tier and the other for the database tier. Through this multi user environment security is more. In a single user install, you can go for the express installation of applications, where the installation task is much easier, here the security is less as this user has full access to the whole applications.

11) What is wdbsvr.app file used for? What's full path of this file? What's significance of this file?

You can find this file under $IAS_ORACLE_HOME/Apache/modplsql/cfg
It’s related to mod_pls (mod plsql component of Apache/Oracle 11i Web Server) configuration file. This file is used by mod_plsql component of Apache to connect to database. So when you type url http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds that request is for /pls/ then Apache delegates this request to mod_pls component which in turn pick this file & check if there is any DAD with name SID (in our example its VISION11I) &
Sample entry in wdbsvr.app
[DAD_VISION11I]
connect_string = VISION11I
password = apps
username = APPS
default_page = fnd_web.ping
On typing http://hostname: port/pls/VISION11I, it will connect to database using apps schema & will return you page fnd_web.ping (where fnd_web is package & ping is procedure or vise versa).
URL is quite useful in troubleshooting so you can check if database connection is working fine or not. Another thing you want to check about this file is since it stores APPS password you need to change here whenever you change apps password.

12) Explain steps used in cloning oracle Apps 11i Instance at broad level.

Step1 . Prerequisites Steps you do before start cloning using rapid clone
1.1 Verify source and target nodes software versions
1.2 Apply the latest AutoConfig Template patch
1.3 Apply the latest Rapid Clone patches

Step2 . Clone Source to Target
2.1 Run preclone on DB tier
2.2 Run preclone on Apps or middle tier
2.3 Copy source file system to target file system
2.4 Configure db tier
2.5 Configure apps/middle tier

Step 3 Finishing Task
3.1 Update profile options
3.2 Update printer settings (If printers are not configured or you don't want to use printer you can skip this step)
3.3 Update workflow configuration settings (Important)

13) What is multi node system?

Multi Node System in Oracle Applications 11i means you have Applications 11i Component on more than one system. Typical example is Database, Concurrent Server on one machine and forms, Web Server on second machine is example of Two Node System.

14) Can you clone from multi node system to single node system & vice versa?

Yes, this is now supported via Rapid Clone; Check if your system has all prerequisites patches for Rapid Clone and you are on latest rapid clone patch.

15) Does rapid clone takes care of Updating Global oraInventory or you have to register manually in Global OraInventory after clone?

Rapid Clone will automatically Update Global oraInventory during configuration phase. You don't have to do any thing manually for Global oraInventory.

16) What is .dbc file, where it is stored, what’s the use of .dbc file?

dbc as name says is database connect descriptor file which stores database connection information used by application tier to connect to database. This file is in directory $FND_TOP/secure also called as FND_SECURE

17) What things you do to reduce patch timing?

You can take advantage of following -
Merging patches via admrgpch.
Use various adpatch options like nocompiledb or nocompilejsp.
Make Use defaults file.
Make use of shared APPL_TOP.
Staged APPL_TOP during upgrades.
Use of Distributed AD Environment features.

18) What are various options available with adpatch?

Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion, databaseportion, generateportion, hotpatch, integrity, maintainmrc, parallel, prereq, validate

19) What is the use of adident utility?

adident utility in oracle apps is used to find version of any file. AD Identification.
For eg. "adident Header

20) What is the use of adsplice utility?

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

21) How can you license a product after installation?

You can use ad utility adlicmgr ($AD_TOP/bin) to license product in Oracle Apps or make use of Oracle Application Manager.

22) What is MRC? What you do as Apps DBA for MRC?

MRC also called as Multiple Reporting Currency in oracle Apps. Default you have currency in US Dollars but if your organization operating books are in other currency then you as apps dba need to enable MRC in Apps. You can enable it with the adadmin utility.

23) What is JVM (Java Virtual Machine) and which component uses JVM?

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

24) How & where check JVM related configuration in Oracle Apps 11i?

So lets start with CONTEXT file under $APPL_TOP/admin (xml file) which is of pattern $SID_$HOSTNAME.xml
There are two important lines in CONTEXT file that will help you in understanding JVM
jvm_options oa_var="s_jvm_options" osd="Solaris" -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB /jvm_options
-Verbose:gc means JVM is configured to print output when gc (Garbage Collector) runs.
Xmx is maximum memory allocated to JVM in above example its 512 MB.
Xms is JVM will start with this much memory i.e. 128 MB.
Now check another line in 11i Context file like
oacore_nprocs oa_var="s_oacore_nprocs"1/oacore_nprocs
Which means that there is one JVM for OACore Group.
Change it to 2, to cater huge Self Service users if required.

25) How to increase No. Of JVMs?

Since you know place where number of JVM's are stored in Apps 11i in Context File, so you can change them as per your requirement. There are basically following Groups with their own JVM's.
OACoreGroup, where most of Java request goes
DiscoGroup, which serve your Discoverer related requests
FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again)
XmlSvcsGroup, for XML Services
In Context File
disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM Process for Discoverer.
oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for OACoreGroup
Similarly, s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services resp.
These Groups are defined in configuration file for Jserv . jserv.conf under $IAS_ORA/Apache/Jserv/conf ; like
ApJServGroup OACoreGroup
ApJServGroup DiscoGroup
ApJServGroup FormsGroup
ApJServGroup XmlSvcsGrp

26) Where to find Apps 11i JVM logs?

JVM log location is defined in java.sh (found in $IAS_ORACLE_HOME/Apache/Apache/bin). Oracle Apps 11i JVM log file directory is defined by parameter JVMLOGDIR ($IAS_ORACLE_HOME/Apache/Jserv/logs/jvm) and log file are defined by STDOUTLOG & STDERRLOG. Examples of JVM log files are
OACoreGroup.0.stderr ,OACoreGroup.0.stdout, DiscoGroup.0.stdout, DiscoGroup.0.stderr, XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout
where 0 denotes first JVM & 1 denotes second JVM. stderr records error encountered in JVM & stdout records other information like GC.
Analyzing Oracle Apps 11i JVM logs
In order to analyze Oracle apps 11i JVM, lets open stdout file for one of Group, I have selected OACoreGroup here, you know log file location (If not check previous) , open file like OACoreGroup.X.stdout you should see output like below if GC (Garbage Collector) is set in Verbose mode.
48561.624: [GC 325980K->170382K(519168K), 0.2751056 secs]
49307.880: [GC 334862K->179171K(519168K), 0.2660486 secs]
50236.662: [GC 343651K->187797K(519168K), 0.2518720 secs]
50515.494: [Full GC[Unloading class sun. reflect. Generated Method Accessor 143]
[Unloading class sun. reflect. GeneratedMethodAccessor136]
[Unloading class sun. reflect. GeneratedMethodAccessor74]
Here first entry is time since JVM was started so each time you bounce Apache it will be reset to 0. So difference between two entries is seconds after which GC (Garbage Collector) was executed. First entry in bracket [ is Heap Size at start of GC & Second entry is Heap Size after GC was executed. Number mentioned in round bracket () is heap size currently allocated in K. If you see GC running very frequently, you can start thinking of increasing JVM heap size
First three entries were for Minor Garbage Collector & fourth one is FULL GC is for Full Garbage Collector.

27) How to check JDBC Connection?

connect using apps, sys or system & issue
select count(*), module from v$session where program like '%JDBC%' group by module;

28) How to find JDBC thin driver that your iAS 1.0.2.2.2 is using?

Here is a java program & procedure to compile it that will give your jdbc thin driver version.
Create a file with name JDBCVersion.java in your middle tier (Application Tier)
---------
import java.sql.*;
import oracle.jdbc.driver.*;
class JDBCVersion
{
public static void main (String args[])
throws SQLException
{
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// Get a connection to a database
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES) (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST= ) (PORT= )))(CONNECT_DATA=(SID=)))" ,"apps","");
// Create Oracle DatabaseMetaData object
DatabaseMetaData meta = conn.getMetaData();
// gets driver info:
System.out.println("JDBC driver version is " + meta.getDriverVersion());
}
}
-----------
Replace following parameters
1. with your database hostname or IP address
2. with your database port no.
3. with SID for your database
4. with your apps password
After changing save it with name JDBCVersion.java in your middle tier & execute command
javac JDBCVersion.java
This will create class file in your working directory. Include your current directory into your class path like
export CLASSPATH=$CLASSPATH:/.xml and is in /admin for each node of application tier. It contains configuration information for the application tier of a specific oracle applications system. It is used to configure all the other files necessary to set up and make available particular oracle applications system. Database context file is in the location /appsutil and it contains configuration information for the database tier of a specific oracle application system

29) How to size Apps 11i JVM?

Sizing Apps JVM
There are four JVM Groups, OACoreGroup, DiscoGroup, FormsGroup & XMLsvcsGrp (FormsGroup JVM's disabled by default as forms run on Socket rather servlets)
So thumb rule in Apps is
1 JVM with default settings per 100 Users for OACoreGroup
So if you have 1000 users with five middle tiers you can configure 2 JVM on each middle tier i.e. 2X5X100=1000 Users.

30) What is access_log in apache, what entries are recorded in access_log? Where is default location of this file?

access_log in Oracle Application Server records all users accessing oracle applications 11i. This file location is defined in httpd.conf with default location at $IAS_ORACLE_HOME/Apache/Apache/logs.
Entries in this file are defined by directive LogFormat in httpd.conf . Typical entry in access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1" 200 28035
where 200 is HTTP status code & last digits 28035 is bytes dowloaded as this page (Size of page)

31) Where are Jserv configuration files stored?

Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

32) If someone ask Apps DBA to change Session Idle Time out value how & where will you change?

In order to answer first you have to understand what kind of sessions are in Apps 11i and what is idle timeout?
In Apps there are two broad categories of session
- Self Service Application Session (Server by Web Server iAS Apache & Jserv, like iRecruitment, iProcurement)
-Forms session (served by your form session, like system Administrator)
What is Session Idle time?
If Oracle Apps client is not doing any activity for some time (when application user goes for coffee or talks over phone) session during that time is called as Idle Session & because of security reason, performance issues and to free up system resource Oracle Applications terminates client session (both forms & self service) after idle time value is reached to the one mentioned in configuration file.

From FND.G or 11.5.9 or with introduction of AppsLocalLogin.jsp to enter into application, profile option "ICX Session Timeout" is used only to determine Forms Session Idle timeout value. This might be confusing as earlier this profile option used to control forms as well as self service application (with session.timeout) session.timeout is used to control Idle session timeout for Self Service Applications (Served by Jserv via JVM)

From where ICX: Session Timeout & session.timeout get values?
Autoconfig determines value for profile option "ICX: Session Timeout" and "session.timeout" from entry in context file ($APPL_TOP/admin/SID_hostname.xml) with parameter s_sesstimeout where value mentioned is in milliseconds so profile option ICX: Session Timeout value should be s_sesstimeout/ (1000 * 60) which means here its 10 Minutes. This value is also set in zone.properties in $IAS_ORACLE_HOME/Apache/Jserv where number mentioned is in milli second i.e. 600000 (equal to 10 Minutes) session.timeout = 600000
session.timeout mentioned in zone.properties is in milli seconds, ICX Session Time out mentioned in profile option ICX: Session Timeout is in minutes so ICX session timeout=30 & session.timeout= 1800,000 are same 30 minutes
P.S. ICX Session time out was introduced in FND.D so if your FND version is below D you might not see this variable.

Important Things Apps DBA should consider while setting session timeout value ?

1. If you keep session.timeout value too high, when some oracle application user accessing Self-service application terminates his session, so longer idle session will drain JVM resource & can result in Java.Lang No Memory available issues.

2. If you keep it too low, users going out for tea or sitting idle for some time have to login again into application & can be annoying.
Thumb rule is session time out usually set to 30 minutes.

33) Where are applications start/stop scripts stored?

Applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/$CONTEXT_NAME

34) What are main configuration files in Web Server (Apache)?

Main configuration files in Oracle Apps Web Server are
httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
jserv.conf, ssp_init.txt, jserv.properties, zone.properties
plsql.conf, wdbsvr.app, plsql.conf

35) What is Autoconfig ?

AutoConfig is a configuration tool that automates the configuration of an Oracle Applications system. The information required for configuring an Applications system is collected into a repository, called the Applications Context; there is one Applications Context for each application tier, and one for the database tier. When AutoConfig runs, it uses information from the Applications Context file to generate all configuration files and update database profiles.

36) What is context file ?

Context file is called .xml and is in /admin for each node of application tier. It contains configuration information for the application tier of a specific oracle applications system. It is used to configure all the other files necessary to set up and make available particular oracle applications system. Database context file is in the location /appsutil and it contains configuration information for the database tier of a specific oracle application system

37) How to create User in Oracle Applications 11i ? Can you delete a User ?

You can create a user in oracle applications through OAM, you cannot delete a user that is created, instead you can make him expire so that you wont be able to login again.

38) What is Single Sign On ? ( If you are using portal 3.0.9 or 10G )?

As name says Single-Sign On Server is set of services (Software) which enables login to Application once which will allow you to login to partner Applications with no need to login again. Lets assume I have configured single SSO Server for Portal , E-Business Suite, Collaboration Suite plus some other other applications, Now if I login to any one of them & after that if I wish to login to other applications I should be able to login without supplying passwords again.

39) How to check if Apps 11i System is Autoconfig enabled ?

Under $AD_TOP/bin check for file adcfginfo.sh & if this exists use
adcfginfo.sh contextfile= show=enabled
If this file is not there , look for any configuration file under APPL_TOP if system is Autoconfig enabled then you will see entry like
# AutoConfig automatically generates this file. It will be read and .......

40) How to check if Oracle Apps 11i System is Rapid Clone enabled ?

For syetem to be Rapid Clone enabled , it should be Autoconfig enabled (Check above How to confirm if Apps 11i is Autoconfig enabled). You should have Rapid Clone Patches applied , Rapid Clone is part of Rapid Install Product whose Family Pack Name is ADX. By default all Apps 11i Instances 11.5.9 and above are Autoconfig & Rapid Clone enabled.

41) Whats is difference between two env files in .env and APPS.env under $APPL_TOP ?

APPS.env is main environment file which inturn calls other environment files like .env under $APPL_TOP, .env under 806 ORACLE_HOME and custom.env for any Customized environment files

42) What is access_log in Apache ?

access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like
198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms /registry/Registry.dat HTTP/1.1" 200 4117
Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug 2006 at 03:15 AM , 200 is status code returned by Apache which means page returned successfully (Status Code 302 means page redirected , 404 page not found, 500+ Internal Server error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes. This file is quite useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format in Apache configuration file ( httpd.conf)

43) Whats is location of access_log file ?

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

44) What is your Oracle Apps 11i Webserver Version and how to find it ?

From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version under $IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version
./httpd -version
Server version: Oracle HTTP Server Powered by Apache/1.3.19
Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)
P.S. You can configure 10g Application Server as well with Oracle Apps 11i.

45) What is Location of Jserv configuration files ?

Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc .

46) What is pl/sql database cache ?

In order to improve performance mod_pls (Apache component) caches some database content to file. This database/plssql cache is usually of type session & plsql cache
session cache is used to store session information.
plsql cache is used to store plsql cache i.e. used by mod_pls

47) Where is database/plsql cache stored ?

plssql & session cache are stored under $IAS_ORACLE_HOME/ Apache/modplsql/cache directory.

48) How to determine Oracle Apps 11i Version ?

select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.9 or 11.5.10.2

49) What is *.dbc file & whats is location of dbc file ?

dbc as name stands for is database connect descriptor file used to connect to database. This file by default located in $FND_TOP/secure directory also called as $FND_SECURE directory

50) What is content of dbc file & why its important ?

DBC file is quite important as whenever Java or any other program like forms want to connect to database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST