Friday, March 14, 2008

How to find which is the latest patch applied ?

select * from ( select patch_name,creation_date from ad_applied_patches order by creation_date desc ) where rownum <2

Friday, March 7, 2008

How to know what is the version of Unix,machine Name, Processor info etc

On HP unix -> uname -r

on Linux cat /proc/version

If you want to know if its RISC based processor or Intexl X-86 processor then file /stand/vmunix On HP-ux -> /stand/vmunix: PA-RISC1.1 executable -not stripped On Linux -> cat /proc/cpuinfo For futher information cd /proc and do a ls you will good source of information about system settings like memory , cpu , swapsize, version, uptime, etc info.


For more details check man uname on that unix box


When you execute the command uname -a, it produces output like the following:
HP-UX myhost A.09.01 C 9000/750 2015986034 32-user license
The displayed fields are interpreted as follows:
HP-UX The operating system name (option -s).
myhost The UUCP network system name by which the system is known (-n).
B.11.00 The operating system release identifier (-r).
A The operating system version identifier (-v).
9000/889 The machine and model numbers (-m).
2015986034 The machine identification number (-i).
32-user license The operating system license level (-l).

How to know if unix is 32 bit or 64 bit

getconf KERNEL_BITS

Thursday, March 6, 2008

Quick Unix commands Reference

Visit this URL for cross sections of various unix commands

http://www.unixguide.net/unixguide.shtml

R12 architecture

R12 Architecture
----------------


In this post I am going to cover R12 architecture. Discernible change from its predecessors is INST_TOP.

R12 file system has come up with new model - Code, Data, Configurations are segregated nicely to have easy maintenance, to avert NFS mount issues on shared appltier configuration systems. Autoconfig will not write anything in appltop, commontop area in R12. All instance specific configurations, log files are written in INST_TOP area. Instance Home provides the ability to share Applications and technology stack code among multiple instances. I have highlighted the INST_TOP in the box. In the forthcoming posts I will clearly explain the in depth of INST_TOP(As a DBA you will spend much time in INST_TOP area when you comes to application tier node management ( e.g checking logs, starting/stopping services, ssl certificates management, CONTEXT_FILE modification etc.)

Techstack Components:

DB_TIER:
10.2.0.2 RDBMS ORACLE_HOME

APPL-TIER

10.1.2 C ORACLE_HOME / FORMS ORACLE_HOME (8.0.6 ORACLE HOME equivalence)
10.1.3 Java ORACLE_HOME/OC4J ORACLE_HOME (iAS ORACLE_HOME equivalence)

INST_TOP
---------

I have briefed R12 architecture in my last post( R12 architecture ).
I described that INST_TOP is the most descernible changes that R12 is having from its predecessors. I am going to cover INST_TOP here.

INST TOP directory:

(applmgr) - ls
admin/ appl/ certs/ logs/ ora/ out/ pids/ portal/ rgf/
(applmgr) -

The Whys and wherefores:

You may get a question why is the change??

There is a need to separate

Code
Data
Config

to ease maintenance of the system. To avoid NFS/MUTEX related issues. Above issue will get resolved if the configuration/lcck files are stored in local system. Another advantage is to gain performance accessing local file system is better than NFS file system.

This directory $INST_TOP got introduced newly in R12. Instance top contains all the config files, log files, ssl certificates, document root etc. Addition of this directory makes the middle-tier more organised, since data is kept separate from config/log files. Another advantage is that, multiple instances can easily share the same middle tier. To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and NFS mount the middle tier in the server.


$INST_TOP: APPS_BASE/inst/apps/CONTEXT_NAME/

/admin



/scripts

ADMIN_SCRIPTS_HOME: Find all AD scripts here

/appl

APPL_CONFIG_HOME. For standalone envs, this is set to $APPL_TOP

/fnd/12.0.0/secure

FND_SECURE: dbc files here

/admin

All Env Config files here

/certs

SSL Certificates go here

/logs

LOG_HOME: Central log file location. All log files are placed here (except adconfig)

/ora

ORA_CONFIG_HOME

/10.1.2

'C' Oracle home config, Contains tnsnames and forms listener servlet config files

/10.1.3

Apache & OC4J config home, Apache, OC4J and opmn
This is the 'Java' oracle home configuration for OPMN, Apache and OC4J

/pids

Apache/Forms server PID files here

/portal

Apache's DocumentRoot folder

AD Scripts
------------


$ADMIN_SCRIPTS_HOME: $INST_TOP/admin/scripts
adautocfg.sh
run autoconfig
adstpall.sh
stop all services
adstrtal.sh
start all services
adapcctl.sh
start/stop/status Apache only
adformsctl.sh
start/stop/status OC4J Forms
adoacorectl.sh
start/stop/status OC4J oacore
adopmnctl.sh
start/stop/status opmn
adalnctl.sh
start/stop RPC listeners (FNDFS/FNDSM)
adcmctl.sh
start/stop Concurrent Manager
gsmstart.sh
start/stop FNDSM
jtffmctl.sh
start/stop Fulfillment Server
adpreclone.pl
Cloning preparation script
adoafmctl.sh adoafmctl.sh to start/stop/status OC4J oafm
(webservice, mapviewer)
adexecsql.pl
Execute sql scripts that update the profiles in an AutoConfig run
java.sh
Call java executable with additional args, (used by opmn, Conc. Mgr)



Log Files
-------------

Location of various log files
AD Script log files (adapcctl.sh,...)
$INST_TOP/logs/appl/admin/log
CM Log Files ($APPLCSF/$APPLLOG)
$INST_TOP/logs/appl/conc/log
AD tools log files (adpatch, ...)
$APPL_CONFIG_HOME/admin/$TWO_TASK/log
OPMN Log Files (Text & ODL)
$INST_TOP/logs/ora/10.1.3/opmn
Apache Log Files (Text & ODL)
$INST_TOP/logs/ora/10.1.3/Apache
OC4J Log Files (Text)
$INST_TOP/logs/ora/10.1.3/j2ee/oacore/
OC4J Log Files (ODL)
$INST_TOP/logs/ora/10.1.3/j2ee/oacore/log/oacore_default_group_1/oc4j


Certificates
------------------

$INST_TOP/certs

/Apache/ewallet.p12

/opmn/cwallet.sso

/opmn/ewallet.p12

certs is the default directory for SSL or any other certificate files
used by this instance. To use a centrally staged certificate, change
the appropriate context file and run autoconfig

Wednesday, March 5, 2008

Oracle R12 log file ( Patch logs, Clone logs etc )

A. Startup and Shutdown log files

Instance Top is new TOP added in R12

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_

—–
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

Of Versions and Figuring Them Out

  • Oracle Applications Components
  • Oracle Database Components
  • Operating System and Utilities
Oracle Applications Components

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.

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

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

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

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

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

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 apss user.
select patch_level from fnd_product_installations where patch_level like '%AD%';

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
soruce the jtflogin.jsp from your browser
http://hcslnx03.satyam.com:8002/OA_HTML/jtflogin.jsp
OJSP Version: 1.1.3.5.2

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

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.

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

Oracle Database Components

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

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

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

Operating Systems and Utilities

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

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)

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

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)

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

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

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

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

Monday, March 3, 2008

How to find Oracle Apps Version

SQL> select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.10.2

Which means you are on Apps Version 11.5.10.2

Wednesday, February 27, 2008

Workflow Related - Users are not receiving emails


Issue Reported :- Users are not getting emails with new passwords once they click on once they click on Forgot password linkResolution :-1) Check to see if users email is updated in the system properly Navigation -> Query Security -> Users form for that particular user and check if email address column is updated if not please enter the correct email address of that user 2) Assign Preferences SSWA responsibility to the user and check their email preferences should be set to HTML 3) To update these from backend Login to apps and issue following 2 sql statements

SQL>update wf_local_roles
set notification_preference = 'MAILHTML2'
where name=' and user_flag='Y'

SQL>update fnd_user_preferences
set preference_value = 'MAILHTML2'
where user_name=' and preference_name = 'MAILTYPE'

2. Commit **********************************************************************************

Reference SR which resolved this issue is 6785164.992 ( Leviton Mfg Co )
Breif abstract of what happened in the SR and how the analyst recommeded these solutions follows :-### Detailed Problem Statement ###
Forgot password link is not working. When user clicks on forgot password , the next page shows
up which asks to input the userid . After that nothing happens.

Normally we should expect to see a email from workflow asking to approve or reject . But
email does not show up

Resolution Steps taken :-

ACTION PLAN
============

1. Is the Notification Mailer currently running?

select fcq.USER_CONCURRENT_QUEUE_NAME Container_Name, DECODE(fcp.OS_PROCESS_ID,NU
LL,'Not
Running',fcp.OS_PROCESS_ID) PROCID,
fcq.MAX_PROCESSES TARGET,
fcq.RUNNING_PROCESSES ACTUAL,
fcq.ENABLED_FLAG ENABLED,
fsc.COMPONENT_NAME,
fsc.STARTUP_MODE,
fsc.COMPONENT_STATUS
from APPS.FND_CONCURRENT_QUEUES_VL fcq, APPS.FND_CP_SERVICES fcs, APPS.FND_CONCURRENT_PROCESSES
fcp, fnd_svc_components fsc
where fcq.MANAGER_TYPE = fcs.SERVICE_ID
and fcs.SERVICE_HANDLE = 'FNDCPGSC'
and fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
and fcq.concurrent_queue_id = fcp.concurrent_queue_id(+)
and fcq.application_id = fcp.queue_application_id(+)
and fcp.process_status_code(+) = 'A'
order by fcp.OS_PROCESS_ID, fsc.STARTUP_MODE;


2. Please test the delivery of other types of Notifications or test the Mailer by g
oing to OAM > Workflow Manager >
Notification Mailer > View Details > Test Message > enter a Username that has been set up to receive mail
Enter the Recipient Address and wait for delivery,

-- Does it get delivered?


3. The Forget Password ITEM_TYPE=UMXUPWD

-- SQL> Select select NOTIFICATION_ID, MESSAGE_TYPE, MESSAGE_NAME, RECIPIENT_ROLE,
STATUS, MAIL_STATUS, FROM_USER, TO_USER
from WF_NOTIFICATIONS
where MESSAGE_TYPE='UMXUPWD'


4. Use the NOTIFICATION_ID from one of the rows returned in the above sql

$FND_TOP/sql/wfmlrdbg.sql

-- This produces an html output file, upload it


Second Action Plan

ACTION PLAN
============

1. Please confirm if you have received any other type of Notifications other than "UMXUPWD"?

2. Change the Log Level for the Workflow Mailer

From OAM, Workflow Manager:
Select "Notification Mailers"
In the "Container" column, select "Workflow Mailer Service"
Select the radio button for the "Workflow Mailer Service" then click on
"Edit".

Under the "Workshifts" section, click on the "Edit Service Parameters"
Button.

Locate the parameter "SVC_CONTAINER_LOG_LEVEL" and set the value to 1.

Example:

SVC_CONTAINER_LOG_LEVEL=1

Click on "OK"
Click on the "Save" button
Acknowledge the change by clicking on "OK" once more.


CHANGE THE WORKFLOW SERVICE CONTAINER TO "STATEMENT" LEVEL LOGGING:

Go back to the "Notification Mailers" section once more by either navigating
from the Workflow Manager page or clicking on the "Service Components" link
on the list of pages visited at the top of the current page.

If not already selected, select the radio button for " Workflow Notification
Mailer" and then click on the Edit button.

Click on "Next" to navigate to the "Details" stop.
Change the log level to STATEMENT.


Click the "Next" button
Click the "Next" button
Click the "Finish" button
Click the "Finish" button



3. Bounce the Workflow Mailer Services

4. Restart the Services

5. Retest sending a Notification ( a few times)

6. Upload the latest logs from $APPLCSF/log//FNDCPGSC#####.txt

7. You can also check what happened to the notification you have sent .

Navigation path in R12 is :-

Workflow : Administrator Workflow -> Notifications and click on the links you see.


Since other users were receiving the emails, we just checked if email is set properly in the system for the user and if his notification preferences are set to HTML .



Tuesday, February 26, 2008

FRM-92102 ERRORS


Error reported was

Users are experiencing FRM-92102:A network error has occurred . The forms client attempted to reestablish its connection to the server 5 time(s) witho
ut success. Please check the network connection and try again.

Reference SR is 6782240.992 ( Leviton Mfg Co )

Please read through Note: 365529.1 Ext/Pub Troubleshooting FRM-92XXX Errors in Oracle Applications:
Please provide feedback on the questions listed in sections:
A. General List of Questions
D. Intermittent or Random Disconnects

These sections gave very good understanding on the problem at hand.

The most important point was timeout settings.
What the following timeout settings are set to:
Timeout Parameters:

FORMS60_TIMEOUT = 120

Heartbeat = 2 in $OA_HTML/bin/appsweb.cfg

Self Service Timeout Profile Options:
ICX: Session Timeout = 30
ICX:Limit Time = 4
ICX:Limit connect = 1000

session.timeout=1800000 (zone.properties in Apache)

So analyst recommended following adjustments

The 'FORMS60_TIMEOUT = 120' should not be set so high. For users that walk away and stay con
nected, this will consume unnecessary resources.
It is recommended that the 'FORMS60_TIMEOUT be set to something like 30 minutes with 60 minutes being about the
max.

Concerning the:
ICX:Limit Time = 4
ICX:Limit connect = 1000


The ICX:Limit Time, controls the total time a session can be logged in. If set to 4 hours,
then after 4 hours the user will get disconnected, regardless of what activity
is being done. Bump this setting up to something like 8 to 10 hours.

The ICX:Limit connect, needs to be bumped up to 2000 +, because each time Session Time is
checked it adds another ICX connection. This IS NOT DETERMEND BY THE NUMBER OF U
SER CONNECTIONS. The more ICX checks its self the more ICX connections you are g
oing to see. Session expiration can also occur when the total number of times th
e session is validated exceeds 'ICX: Limit Connect'.

The above two ICX settings are most likely the source of the errors you are seeing.

So we had to reset above settings and bounce apps.

We had a question about licensing issue as well and analyst said

The 'ICX:Limit Connect' has nothing to do with the number of concurrent users connecting to the a
pplications. Increasing ICX:Limit Connect to 2000+ will NOT voilate your licens
ing with Oracle ( Leviton had only 1000 concurrent user license) .

How to Merge Patches Using admrgpch

You can merge multiple patches into a single patch by using AD Merge Patch.
This AD utility is an executable located in AD_TOP/bin that merges multiple
AutoPatch compatible patches into a single, integrated patch. Once the merge is
complete, you use AutoPatch to apply the resulting patch in a single operation.
Using a merged patch reduces the time it takes to complete the patching process.
The command for merging patches is admrgpch.

AD Merge Patch reads the c.drv, d.drv, and g.drv
for each patch in the source directory and merges them to create a single set
of driver files (for example, cmerge99.drv, dmerge99.drv, and gmerge99.drv) in
the destination directory. It also merges the set of files contained in the
individual patches under the source directory according to file revision and
copies them to the destination directory. If a file exists in more than one
source patch, only the highest revision of the file is copied to the
destination directory.

Complete these steps:
1. Review the readme files carefully.
Some patch readme files contain special instructions for applying merged
patches. The patch may also require manual steps.
2. Create directories.
In the patch top area, create a source directory and a destination directory.
Choose any name for these directories.
3. Unzip patches.
Copy all the patches to be merged into the source directory and unzip them.
4. Run AD Merge Patch.
Run AD Merge Patch and supply the arguments for the destination directory
name and the source directory name. You also need to specify the merged patch
name, or accept the default.
5. Check AD Merge Patch log files.
After AD Merge Patch runs, check the admrgpch.log file for errors. The file
is located in the current working directory (where AD Merge Patch was run).
6. Run the merged patch.
Once a merged patch is created, apply it just like a single patch.

AD Merge Patch cannot merge patches of different releases, different parallel
modes, or different platforms. However, it can merge patches for a specific
platform with a generic patch, or patches with different source character sets.
AD Merge Patch notifies you if you try to merge incompatible patches.

How to change the password for apps username in Oracle 11i

1. Just make sure that your Concurrent Manager is down. There should'nt be any running FNDLIBR process.

2. FNDCPASS apps/apps_old_pwd 0 Y system/system_pwd SYSTEM APPLSYS apps_new_pwd

3. Try new SQLPLUS connection with new apps password.

sqlplus apps/apps_new_pwd

4. Change apps password in the following file.

vi $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app

5. Start the concurrent manager.

Note: Dont ever change oracle applications apps password through SQLPLUS. Always use the above procedure to change apps password.

Applysys account locked

Issue faced :- When applying patch, adpatch was unable to accept apps user password but strangely it was allowing me to login as apps user

Issue Resolution :- Found out that Applsys user accout was locked

select user_name,end_date from applsys.fnd_user where end_date <> null;

update applsys.fnd_user
set end_date = NULL
where user_name = 'APPLSYS';