46
How to Start / Stop services in Oracle Applications R12 ( Application / Database Tier) How to Start/Stop services in Oracle Applications R12. These steps are from Online Oracle Apps DBA (11i /R12) traininghere (This is interactive online course over weekend with hands on exercises on installation, patching, cloning during weekdays) Assumptions Application Tier O.S. User : avisr12 (usually applmgr) Database Tier O.S. User : ovisr12 (usually oracle) R12 install base : /oracle/apps/r12/visr12 Database SID : visr12 Database Version : 11.1.0 Hostname : focusthreadr12 Operating System : Unix/Linux Apps Schema Password : apps (apps is default password) . Start-Up/Shutdown order If you are starting services then first start Database Tier services and then Application Tier Services. If you are shutting down services then first stop Application Tier services andthen Database Tier Services. 1. Startup 1.1 Start Database Tier 1.1.1 Login as database tier user (ovisr12) 1.1.2 Set environment variable by

Start with R12

Embed Size (px)

DESCRIPTION

Start r12

Citation preview

Page 1: Start with R12

How to Start / Stop services in Oracle Applications R12 ( Application / Database Tier)

How to Start/Stop services in Oracle Applications R12. These steps are from Online Oracle Apps DBA (11i /R12) traininghere (This is interactive online course over weekend with hands on exercises on installation, patching, cloning during weekdays)

Assumptions

Application Tier O.S. User : avisr12 (usually applmgr) Database Tier O.S. User : ovisr12 (usually oracle) R12 install base : /oracle/apps/r12/visr12 Database SID : visr12 Database Version : 11.1.0 Hostname : focusthreadr12 Operating System : Unix/Linux Apps Schema Password : apps (apps is default password)

.

Start-Up/Shutdown order

If you are starting services then first start Database Tier services and then Application Tier Services. If you are shutting down services then first stop Application Tier services andthen Database Tier Services.

1. Startup

1.1 Start Database Tier 1.1.1 Login as database tier user (ovisr12) 1.1.2 Set environment variable by

Page 2: Start with R12

running $SID_hostname.envfrom $INSTALL_BASE/db/tech_st/11.1.0 —- cd /oracle/apps/r12/visr12/db/tech_st/11.1.0 —- . visr12_focusthreadr12.com (note: dot in front) 1.1.3 Start database —- sqlplus ―/as sysdba‖ —- SQL> startup 1.1.4 Start Database Listener (lsnrctl start $SID) —- lsnrctl start visr12 .

.

1.2 Start Application Tier 1.2.1 Login as application tier user (avisr12)

Page 3: Start with R12

1.2.2 Set environment variable by running $SID_hostname.envfrom $INSTALL_BASE/apps/apps_st/appl —- cd /oracle/apps/r12/visr12/apps/apps_st/appl —- . visr12_focusthreadr12.com (note: dot in front) 1.2.3 Start Application Tier (adstrtal.sh apps/$apps_password) —- cd $ADMIN_SCRIPTS_HOME —- ./adstrtal.sh apps/apps

.

.

2. Shutdown Services

2.1 Shutdown Application Tier 2.1.1 Login as application tier user (avisr12) 2.1.2 Set environment variable by running $SID_hostname.env from $INSTALL_BASE/apps/apps_st/appl —- cd /oracle/apps/r12/visr12/apps/apps_st/appl —- . visr12_focusthreadr12.com (note: dot in front) 2.1.3 Stop Application Tier (adstpall.sh apps/$apps_password)

Page 4: Start with R12

—- cd $ADMIN_SCRIPTS_HOME —- ./adstpall.sh apps/apps

.

2.2 Shutdown Database Tier 2.2.1 Login as database tier user (ovisr12) 2.2.2 Set environment variable by running $SID_hostname.env from $INSTALL_BASE/db/tech_st/11.1.0 —- cd /oracle/apps/r12/visr12/db/tech_st/11.1.0 —- . visr12_focusthreadr12.com (note: dot in front) 2.2.3 Stop database —- sqlplus ―/as sysdba‖ —- SQL> shutdown immediate 2.2.4 Stop Database Listener (lsnrctl start $SID) —- lsnrctl stop visr12

Start-up Shutdown Scripts in Oracle Apps R12

Order of Startup Shutdown ————————————– As in Oracle Apps 11i order for startup is A) Start Database Tier Services –Start Database Listener –Start Database Then B) Start Application/Middle Tier Services – adstrtal.sh

Order for shutdown in Oracle Apps R12 is A) Stop Application/Middle Tier Services – adstpall.sh Then

Page 5: Start with R12

B) Stop Database Tier Services –Stop Database –Stop Database Listener

Database Tier Scripts in R12 ————————————– For Database tier you need to start database and database listener. Scripts are located inDatabase_Install_Dir/db/tech_st/10.2.0/appsutil/scripts/$CONTEXT_NAME- For Database Use script addbctl.sh

- For Database Listener

Use script addlnctl.sh

or alternatively you can use lsnrctl startstop listener_name (For Database Listener) sqlplus ―/as sysdba‖ SQL> startup shutdown immediate

Middle/Application Tier Scripts in R12 ————————————————-

Scripts for Application Tier services in R12 are located in ―Install_base/inst/apps/$CONTEXT_NAME/admin/scripts“

where CONTEXT_NAME is of format SID_HOSTNAME

i) adstrtal.sh Master script to start all components/services of middle tier or application tier. This script will use Service Control API to start all services which are enabled after checking them in context file (SID_HOSTNAME.xml or CONTEXT_NAME.xml)

Page 6: Start with R12

ii) adstpall.sh Master script to stop all components/services of middle tier or application tier.

iii) adalnctl.sh Script to start / stop apps listener (FNDFS and FNDFS). This listener will file will be in 10.1.2 ORACLE_HOME (i.e. Forms & Reports Home) listener.ora file will be in $INST_TOP/apps/$CONTEXT_NAME/ora/10.1.2/network/admin directory (Mostly similar to one in 11i with only change in

ORACLE_HOME i.e. from 8.0.6 to 10.1.2)

iv) adapcctl.sh Script to start/stop Web Server or Oracle HTTP Server. This script uses opmn (Oracle Process Manager and Notification Server) with syntax similar to opmnctl[startstop]proc ohs likeopmnctl stopproc ohs.

(In 11i this script directly used to call apachectl executable but now calls opmnctl which in turn calls apachectl. In 11i web server oracle home was 1.0.2.2.2 but in R12 its 10.1.3)

v) adcmctl.sh Script to start / stop concurrent manager, Similar to one in 11i. (This script in turn calls startmgr.sh )

vi) adformsctl.sh Script to start / stop Forms OC4J from 10.1.3 Oracle_Home. This script will also useopmnctl to start/stop Forms OC4J like opmnctl stopproc type=oc4j instancename=forms

vii) adformsrvctl.sh This script is used only if you wish to start forms in socket mode.

Page 7: Start with R12

Default forms connect method in R12 is servlet. If started this will start frmsrv executable from 10.1.2 Oracle_Home in Apps R12

viii) adoacorectl.sh This script will start/stop oacore OC4J in 10.1.3 Oracle_Home. This scripts will also useopmnctl (similar to adapcctl & adformsctl) to start oacore instance of OC4J like opmnctl startproc type=oc4j instancename=oacore

ix) adoafmctl.sh This script will start/stop oafm OC4J in 10.1.3 Oracle_Home. This scripts will also useopmnctl (similar to above) to start oacore instance of OC4J like opmnctl startproc type=oc4j instancename=oafm

x) adopmnctl.sh This script will start/stop opmn service in 10.1.3 Oracle_Home. opmn will control all services in 10.1.3 Oracle_Home like web server or various oc4j instances. If any services are stopped abnormally opmn will/should start them automatically.

xi) jtffmctl.sh This script will be used to start/stop one to one fulfilment server.

xii) mwactl.sh To start / stop mwa telnet server where mwa is mobile application.

Log File Location for Startup Shutdown Services in R12 ———————————————————————- Log files for startup/shutdown scripts for application/mid tier in R12 are in$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/l

Page 8: Start with R12

og (adalnctl.txt, adapcctl.txt, adcmctl.txt, adformsctl.txt, adoacorectl.txt, adoafmctl.txt,adopmnctl.txt, adstrtal.log, jtffmctl.txt )

Where

AD is for Application DBA DB is for database DLN is database listener CTL is control

Isn’t this easy to

Oracle R12/12i log file (Patch, Clone, Startup/Shutdown)

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

Page 9: Start with R12

–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/ne

twork/ (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_M

MDDHHMM.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_<ti

me>.log

Apps Tier –

Page 10: Start with R12

$INST_TOP/apps/$CONTEXT_NAME/admin/log/ApplyAppsTier_<ti

me>.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/ad

config.log

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/Ne

tServiceHandler.log

Page 11: Start with R12

ii) Application Tier Autoconfig log -

$INST_TOP/apps/$CONTEXT_NAME/admin/log/$MMDDHHMM/ad

config.log

Autoconfig context file location in R12 -

$INST_TOP/apps/$CONTEXT_NAME/appl/admin/$CONTEXT_NAM

E.xml

E. R12 Installation Logs

Database Tier Installation

RDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>.

logRDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTechSta

ck_<MMDDHHMM>.logRDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ohclone.logRDB

MS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/make_<MMDDH

HMM>.logRDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/installdbf.logRDB

MS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/adcrdb_<SID>.l

og RDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDatabase_

<MMDDHHMM>.logRDBMS

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>

/adconfig.log RDBMS

Page 12: Start with R12

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>

/NetServiceHandler.log

Application Tier Installation

$INST_TOP/logs/<MMDDHHMM>.log

$APPL_TOP/admin/$CONTEXT_NAME/log/ApplyAppsTechStack.lo

g

$INST_TOP/logs/ora/10.1.2/install/make_<MMDDHHMM>.log

$INST_TOP/logs/ora/10.1.3/install/make_<MMDDHHMM>.log

$INST_TOP/admin/log/ApplyAppsTechStack.log

$INST_TOP/admin/log/ohclone.log

$APPL_TOP/admin/$CONTEXT_NAME/log/installAppl.log

$APPL_TOP/admin/$CONTEXT_NAME/log/ApplyAppltop_<MMDD

HHMM>.log

$APPL_TOP/admin/$CONTEXT_NAME/log/<MMDDHHMM>/adcon

fig.log

$APPL_TOP/admin/$CONTEXT_NAME/log/<MMDDHHMM>/NetSe

rviceHandler.log

Inventory Registration:

$Global Inventory/logs/cloneActions<timestamp>.log

$Global Inventory/logs/oraInstall<timestamp>.log

$Global Inventory/logs/silentInstall<timestamp>.log

F. Other log files in R12

1) Database Tier

1.1) Relink Log files :

Page 13: Start with R12

$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

Page 14: Start with R12

Advantages of new INSTANCE HOME

The additional Instance Home makes the middle tier more easy to

manage and organised since the data is kept separate from the config files. The Instance Home also has the ability to share the Applications

and Technology stack code across multiple instances.

Another advantage of the Instance Home is that the Autoconfig no longer writes anything to the APPL_TOP and ORACLE_HOME

directories, everything is now written in the INST_TOP as a result

APPL_TOP and ORACLE_HOME can also be made read only file system if required . Earlier say the adpatch used to write the log file in

APPL_TOP/admin directory but with the new model the

APPL_CONFIG_HOME/admin is used.

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.The basic structure of the Instance Home

is:$APPS_BASE/inst/apps/$CONTEXT_NAME or also defined by

environment variable $INST_TOP, where APPS_BASE (which does not have or need a corresponding environment variable) is the top level of

the Applications installation and $CONTEXT_NAME is the highest

level at which the Applications context exists (format $SID_$hostname).

Changes to existing environment Variables in R12

Page 15: Start with R12

Advantages of new INSTANCE HOME

The additional Instance Home makes the middle tier more easy to manage and organised since the data is kept separate from the config

files. The Instance Home also has the ability to share the Applications

and Technology stack code across multiple instances.

Another advantage of the Instance Home is that the Autoconfig no

longer writes anything to the APPL_TOP and ORACLE_HOME

directories, everything is now written in the INST_TOP as a result APPL_TOP and ORACLE_HOME can also be made read only file

system if required . Earlier say the adpatch used to write the log file in

APPL_TOP/admin directory but with the new model the APPL_CONFIG_HOME/admin is used.

Page 16: Start with R12

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.The basic structure of the Instance Home

is:$APPS_BASE/inst/apps/$CONTEXT_NAME or also defined by

environment variable $INST_TOP, where APPS_BASE (which does not have or need a corresponding environment variable) is the top level of

the Applications installation and $CONTEXT_NAME is the highest

level at which the Applications context exists (format $SID_$hostname).

What are the key configuration files of Oracle EBS and Where are the

key configuration files located(for 11i and Rel 12)

EXPLANATION OF SOME IMPORTANT CONFIGURATION

FILES in 11i:-

==================================================

=

httpd.conf ->This is main Apache configuration file. From this

configuration file it identify port definitions, memory settings,

loggin levels, log file locations and other configuration options and

files.

Port=web_cache_port: Specifies the Oracle Application Server

Web Cache listening ports

Listen=Oracle_HTTP_Server_port: Specifies the HTTP and

HTTPS ports obtained by Oracle HTTP Server.

jserv.conf -> Oracle HTTP Server includes a Java Virtual

Machine (JVM), which is called

JServ. jserv.conf and jserv.properties are the key configuration

files for Jserv

Page 17: Start with R12

All our Self Service servlets requests are via mod_jserv like

discoverer view, xml services or OAM login (So you know now

where to look if issue happens in these services) If your Form

Server is in servlet Mode then Core Applications are also

accessed via Web Server (Jserv Component)

This file calls few properties files like jserv.properties, zone

properties, viewer4i.properties, forms.properties,

xmlsvcs.properties.

This file calls other configuration files like plsql.conf,

immeting.conf, apps.conf.

oprocmgr.conf ->(in Apache/conf) This Oracle module provides

process management and load balancing services to JServ

processes

This module starts, stops, and detects death of processes

(starting new processes to replace them), and provides load

balancing services to the processes

oracle_apache.conf -> This configuration file is used to configure

Oracle built modules supplied with default Apache like mod_pls,

mod_ossl, oem, imeeting. These files are used for mod_pls

configuration.

Plsql.conf ->This file is used to configure pls (Plsql). This file

defines to forward all requests like /pls/ to dedicated apache

listener.

mod_plsql is an Oracle HTTP Server plug-in that communicates

with the database. It maps browser requests into database stored

procedure calls over a SQL*Net connection. It is often indicated

by a /pls/ virtual path.

Page 18: Start with R12

wdbsvr.app ->Which in my views is named so after Web

Database Server for Applications. This file contains your dad

(database Access Descriptor) information like database

connection description & apps user name & password. If you are

changing apps password you use utility FNDCPASS and after

changing password you have to manually change apps password

in this file.

Startup Shutdown Scripts Oracle Apps R12

Order of Startup Shutdown ————————————– As in Oracle Apps 11i order for startup is 1) Start Database Tier Services –Start Database Listener –Start Database Then 2) Start Application/Middle Tier Services – adstrtal.sh Order for shutdown in Oracle Apps R12 is 1) Stop Application/Middle Tier Services – adstpall.sh Then 2) Stop Database Tier Services –Stop Database –Stop Database Listener Database Tier Scripts in R12 ————————————–

Page 19: Start with R12

For Database tier you need to start database and database listener. Scripts are located inDatabase_Install_Dir/db/tech_st/10.2.0/appsutil/scripts/$CONTEXT_NAME- For Database Use script addbctl.sh- For Database Listener Use script addlnctl.sh or alternatively you can use lsnrctl startstop listener_name (For Database Listener) sqlplus ―/as sysdba‖ SQL> startup shutdown immediate Middle/Application Tier Scripts in R12 ————————————————- Scripts for Application Tier services in R12 are located in ―Install_base/inst/apps/$CONTEXT_NAME/admin/scripts“ where CONTEXT_NAME is of format SID_HOSTNAME i) adstrtal.sh Master script to start all components/services of middle tier or application tier. This script will use Service Control API to start all services which are enabled after checking them in context file (SID_HOSTNAME.xml or CONTEXT_NAME.xml) ii) adstpall.sh Master script to stop all components/services of middle tier or application tier. iii) adalnctl.sh Script to start / stop apps listener (FNDFS and FNDFS). This listener will file will be in 10.1.2 ORACLE_HOME (i.e. Forms & Reports Home) listener.ora file will be in $INST_TOP/apps/$CONTEXT_NAME/ora/10.1.2/network/admin directory iv) adapcctl.sh Script to start/stop Web Server or Oracle HTTP Server. This

Page 20: Start with R12

script uses opmn (Oracle Process Manager and Notification Server) with syntax similar to opmnctl [startstop]proc ohs like opmnctl stopproc ohs . v) adcmctl.sh Script to start / stop concurrent manager (This script in turn calls startmgr.sh ) vi) adformsctl.sh Script to start / stop Forms OC4J from 10.1.3 Oracle_Home. This script will also use opmnctl to start/stop Forms OC4J like opmnctl stopproc type=oc4j instancename=forms vii) adformsrvctl.sh This script is used only if you wish to start forms in socket mode. Default forms connect method in R12 is servlet. If started this will start frmsrv executable from 10.1.2 Oracle_Home in Apps R12 viii) adoacorectl.sh This script will start/stop oacore OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl(similar to adapcctl & adformsctl) to start oacore instance of OC4J like opmnctl startproc type=oc4j instancename=oacore ix) adoafmctl.sh This script will start/stop oafm OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl(similar to above) to start oacore instance of OC4J like opmnctl startproc type=oc4j instancename=oafm x) adopmnctl.sh This script will start/stop opmn service in 10.1.3 Oracle_Home. opmn will control all services in 10.1.3 Oracle_Home like web server or various oc4j instances. If any services are stopped abnormally opmn will/should start them automatically. xi) jtffmctl.sh This script will be used to start/stop one to one fulfilment

Page 21: Start with R12

server. xii) mwactl.sh To start / stop mwa telnet server where mwa is mobile application. Log File Location for Startup Shutdown Services in R12 ———————————————————————- Log files for startup/shutdown scripts for application/mid tier in R12 are in$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log (adalnctl.txt, adapcctl.txt, adcmctl.txt, adformsctl.txt, adoacorectl.txt, adoafmctl.txt, adopmnctl.txt,adstrtal.log, jtffmctl.txt )

How to compile Oracle Apps 11i Forms ============================ Check whether the forms that you want to generate are not in use at the time you are generating them. If they are in use when you generate the fmx files, the forms client session terminates. 1) Login to the Forms server node as applmgr and run .env file to set the applications environment. 2) Change directory to $AU_TOP/forms/US.

Page 22: Start with R12

3) Use the “f60gen” command to generate the fmx files for the fmb files. 4) Issue the following command $ f60gen module=<formname>.fmb userid=apps/<apps_pwd> output_file=/forms/US/<formname>.fmx How to compile Oracle Apps R12 Forms ============================= 1) Log into the forms tier. 2) Set the applications environment 3) Ensure that the $FORMS_PATH includes $AU_TOP/resource and $AU_TOP/resource/stub, for example echo $FORMS_PATH /u01/oracle/DEV/apps/apps_st/appl/au/12.0.0/resource: /u01/oracle/DEV/apps/apps_st/appl/au/12.0.0/resource/stub 4) Compile the form

a)- If you are using forms customizations (CUily: verdana,geneva;">1) Log into the forms tier. 2) Set the applications environment 3) Ensure that the $FORMS_PATH includes $AU_TOP/resource and $AU_TOP/resource/stub, for

example echo $FORMS_PATH /u01/oracle/DEV/apps/apps_st/appl/au/12.0.0/resource: /u01/oracle/DEV/apps/apps_st/appl/au/12.0.0/resource/stub 4) Compile the form

a)- If you are using forms customizations (CUSTOM.pll) then run the command below to compile the form. frmcmp_batch.sh module=<path to fmb file> userid=APPS/APPS output_file=

Page 23: Start with R12

<full path to fmx output file> module_type=form compile_all=special For eg:- frmcmp_batch.sh module=/u01/oracle/TEST/apps/apps_st/appl/au/12.0.0/forms/US/ XXX.fmb userid=APPS/APPS output_file=/u01/oracle/TEST/apps/apps_st/appl/inv/ 12.0.0/forms/US/XXX.fmx module_type=form compile_all=special b) If you are NOT using forms customizations, then run the command below to compile the form. frmcmp_batch.sh module=<path to fmb file> userid=APPS/APPS output_file= <full path to fmx output file> module_type=form

For example.. frmcmp_batch.sh module=/u01/oracle/TEST/apps/apps_st/appl/au/12.0.0/forms/US/ XXX.fmb userid=APPS/APPS output_file=/u01/oracle/TEST/apps/apps_st/appl/inv/ 12.0.0/forms/US/XXX.fmx module_type=form How To Trace a Concurrent Request And Generate TKPROF

Enable Tracing For The Concurrent Manager Program Select the Enable Trace Checkbox

Page 24: Start with R12

Note : Checking the Trace Check box on the Concurrent Program gives an Event 10046 Level 8 trace. So even if the trace is set for Binds and Waits on the Submission form once the concurrent program is encountered in the trace it will reset to level 8 so no binds will be present in the trace after that point. Turn On Tracing

Responsibility: System Administrator Navigate: Profiles > System Query Profile Option Concurrent: Allow Debugging Set profile to Yes

Run Concurrent Program With Tracing Turned On Logon to the Responsibility that runs the Concurrent Program In the Submit Request Screen click on Debug Options (B) Select the Checkbox for SQL Trace

Page 25: Start with R12

If the Debug option is greyed out & not updateable set the profile Concurrent: Allow Debugging to Yes 2. Find Trace File Name

Run the following SQL to find out the Raw trace name and location for the concurrent program. The SQL prompts the user for the request id

prompt

accept request prompt 'Please enter the concurre

nt request id for the appropriate concurrent pro

gram:'

promptcolumn traceid format a8

column tracename format a80 column user_concurrent_program_name format a40 column execname format a15 column enable_trace format a12 set lines 80 set pages 22

set head offSELECT 'Request id: '||request_id , 'Trace id: '||oracle_Process_id,

Page 26: Start with R12

'Trace Flag: '||req.enable_trace,

'Trace Name:

'||dest.value||'/'||lower(dbnm.value)||'_ora_'||

oracle_process_id||'.trc',

'Prog. Name: '||prog.user_concurrent_program_nam

e,

'File Name: '||execname.execution_file_name|| ex

ecname.subroutine_name ,

'Status : '||decode(phase_code,'R','Running')

||'-'||decode(status_code,'R','Normal'),

'SID Serial: '||ses.sid||','|| ses.serial#,

'Module : '||ses.module

from fnd_concurrent_requests req, v$session ses,

v$process proc,

v$parameter dest, v$parameter dbnm, fnd_concurre

nt_programs_vl prog,

fnd_executables execname

where req.request_id = &request

and req.oracle_process_id=proc.spid(+)

and proc.addr = ses.paddr(+)

and dest.name='user_dump_dest'

and dbnm.name='db_name'

and req.concurrent_program_id = prog.concurrent_

program_id

and req.program_application_id = prog.applicatio

n_id

---

and prog.application_id = execname.application_i

d

and prog.executable_application_id =

execname.application_id

and prog.executable_id=execname.executable_id;

To check the timeline of the request :

Page 27: Start with R12

SELECT request_id, TO_CHAR( request_date, 'DD-

MON-YYYY HH24:MI:SS' )

request_date, TO_CHAR( requested_start_date,'DD-

MON-YYYY HH24:MI:SS' )

requested_start_date, TO_CHAR(

actual_start_date, 'DD-MON-YYYY HH24:MI:SS' )

actual_start_date, TO_CHAR(

actual_completion_date, 'DD-MON-YYYY HH24:MI:SS'

)

actual_completion_date, TO_CHAR( sysdate, 'DD-

MON-YYYY HH24:MI:SS' )

current_date, ROUND( ( NVL(

actual_completion_date, sysdate ) -

actual_start_date ) * 24, 2 ) duration

FROM fnd_concurrent_requests

WHERE request_id = TO_NUMBER('&p_request_id');

You may produce a complete report reference of the request ID using the Note:187504.1 bde_request.sql Process and Session info for one Concurrent Request(11.5) 3. TKPROF Trace File

Once you have obtained the Raw trace file you need to format the file using TKPROF.

$tkprof raw_trace_file.trc output_file

explain=apps/apps sort=(exeela,fchela)

sys=noWhere:raw_trace_file.trc: Name of trace file

output_file: tkprof out file

explain: This option provides the

explain plan for the sql

statements

sort: This provides the sort

criteria in which all sql

statements will be sorted. This will bring the

bad sql at

Page 28: Start with R12

the top of the outputfile.

sys=no: Disables sql statements

issued by user SYS

How to check whether the port is opened or not from client machine

Status Check of port 8000 from Windows Operating System Go to Start menu tab. Then run ‗cmd,‘ which will take you to the command prompt.

In the command prompt, you must type the following command and hit Enter: telnet 123.456.789.86 8000 How to check snapshot information

SQL> select aat.NAME,asn.CREATION_DATE,asn.LAST_UPDATE_DATE, asn.RAN_SNAPSHOT_FLAG FROM APPS.AD_SNAPSHOTS asn, APPS.AD_APPL_TOPS aat WHERE asn.APPL_TOP_ID = aat.APPL_TOP_ID AND asn.SNAPSHOT_TYPE = ‗C‘; How to check for DB links

Execute this command as sysdba

SQL> select owner||‘,'||db_link||‘,'||username||‘,'||host||‘,'||created from dba_db_links; After that you can check the status of DB links to know which DB links are working/not working SQL>Select sysdate from dual@< DB_LINK> ;

Page 29: Start with R12

How to find Release version of Oracle Apps?

Login to sqlplus as apps/apps

SQL> select release_name from fnd_product_groups;

RELEASE_NAME ————————————————– 12.0.0 How to find a product version in Oracle Applications??

There are so many ways to find out the product version, but there is simple way to find it out.

1.Go to $AD_TOP/sql 2.Connect to sqlplus as apps/apps 3.Run (@adutconf.sql) 4.Output will be in same directory in the name of adutconf.lst How to find Oracle Database Blocking Session

Details

In first step, find SID from v$session.

SQL> select process,sid, blocking_session from

v$session where blocking_session is not null;

PROCESS SID BLOCKING_SESSION

———— ———- —————-

1234 365 366

1234 366 365

In second step find the serial number for the

Blocking Session to kill using SID

SQL> select SERIAL# from v$session where

SID=365;

SERIAL#

———-

130

Page 30: Start with R12

In third step, kill the blocking session using

SID and serial number

SQL> alter system kill session ’365,130′;

System altered

Oracle Apps Yellow Bar Issue

It can occur while copying the content from Apps to Any other application like Apps forms to notepad or excel.

Troubleshooting:

1. Delete cache : Delete all the files from Temporary Internet Files and temp table.

2. Uninstall the the Jinitiator from the system (Control Panel)

3. Open the Oracle application

Login to apps. Choose any responsibility. Appsbase.htm window will be opened(which initiates Applet in it).

It instals the latest version available on server and now you can see ―Yellow Bar‖ is disabled and you can perform Copy and Paste

If you have problem while installing jinitiator.exe with the following errors.

============================================================

UnZipSFX 5.40 of 28 November 1998, by Info-ZIP ([email protected]).

Page 31: Start with R12

extracting: adjbuild/appltop.cerextracting: adjbuild/jinit11816.

exeextracting: adjbuild/oajsetup.

exeextracting: autosetup.txt

extracting: oajsetup.bat

extracting: setup.bat

oajsetup: Jinitiator version number not valid, should be 1.1.x.x

Oracle Jinitiator Setup Utility

Copyright (c) Oracle Corp., 2000

Usage:

oajsetup [] []

The system cannot find the file specified.

The batch file cannot be found.

============================================================

It may happen because some times the version at server may be corrupted or so.

Then downlod the jinitiator.exe and version should be same as the one you have on server.

How to check the version of jinitiator on your sever?

Page 32: Start with R12

When you login to apps and choose responsibility, you can see a appsbase.htm which starts applet,

there you right click and view source there you can see the version of jinitiator.

Download the jinitiator from the above below path

http://www.oracle.com/technology/software/products/developer/htdocs/jinit.htm

Clear Cache, delete all the temporaty files from PC

Install jinitiator in your PC and check the Oracle apps again.

It should work now.

If you still have problem, there is another tip, copy the ‖ identitydb.obj ‖ from any of your network users who are using the same Oracle application and paste in your ―Oracle‖ folder where jinitiator is installed the typical path is like c:\program files\oracle\identitydb.obj

How to recover the Oracle Applications context file

The Oracle Applications context file can be recovered by running the adclonectx.pl script.

perl /clone/bin/adclonectx.pl retrieve

On being prompted for the context file to be retrieved, select the option of retrieving the Applications tier context file that has been lost and retrieve it to the default location specified by the script.

Page 33: Start with R12

The above command can be used only when INST_TOP the is still intact. In case the has also been lost accidentally, the Applications tier context file may be retrieved as follows:

Execute the following command on the Database tier: perl /appsutil/clone/bin/adclonectx.pl retrieve On being prompted for the context file to be retrieved, select the option of retrieving the Applications tier context file that has been lost.

While confirming the location for the context file, set it to any existing directory with write permission.

Once the context file has been generated in the specified location, move it to the location specified for the context file in the context variable ‗s_contextfile‘.

How to find Oracle Apps password in 11i and R12??

The below methog helps us to find out when we

lost the Apps password.

Please note you need have system password to

perform the below actions.

The below method is not suggested for Production

or Critical systems.

Login to Middle Tier as ap user

$cd $FND_TOP/patch/115/sql

$cp AFSCJAVS.pls AFSCJAVS.pls.orig

Add following lines to the AFSCJAVS.pls file

CREATE OR REPLACE PACKAGE apps.fnd_web_sec AS

function decrypt(key in varchar2, value in

varchar2) return varchar2;

$sqlplus system/

@AFSCJAVS.pls Package created.

Commit complete.

Page 34: Start with R12

As system excute the following to find out if

anything marked as invalid.

SQL> show user USER is "SYSTEM"

SQL>col OBJECT_NAME for a30;

set line 200;

select object_name,object_type,status,owner from

dba_objects where object_name='FND_WEB_SEC';

SQL>col OBJECT_NAME for a30;

set line 200;

select object_name,object_type,status,owner from

dba_objects where object_name='FND_WEB_SEC';

OBJECT_NAME OBJECT_TYPE STATUS OWNER FND_WEB_SEC

PACKAGE VALID APPSFND_WEB_SEC PACKAGE BODY

INVALID APPS

SQL> alter PACKAGE apps.FND_WEB_SEC compile

body;

Package body altered.

If there are any invalids compile them.

Obtain Guest user ID and password.

As system excute the following.

SQL> show user

USER is "SYSTEM"

SQL> select profile_option_value from

apps.fnd_profile_option_values where

profile_option_id = (select profile_option_id

from apps.fnd_profile_options where

profile_option_name='GUEST_USER_PWD');

PROFILE_OPTION_VALUEGUEST/ORACLE

SQL> show user

USER is "SYSTEM"

SQL> create synonym FND_WEB_SEC_TEST for

apps.FND_WEB_SEC;

Synonym created.

SQL> show user

USER is "SYSTEM"

Page 35: Start with R12

SQL> create synonym FND_WEB_SEC_TEST for

apps.FND_WEB_SEC;

Synonym created.

Now Obtain Apps password using the below sql

SQL>

SELECT(SELECTfnd_web_sec_test.decrypt('GUEST/ORA

CLE',encrypted_foundation_password)FROM dual)AS

APPS_PASSWORDFROMapps.fnd_userWHEREuser_name

like 'GUEST'; 2 3 4 5 6 7 8

9 APPS_PASSWORDAPPS -- WOW we got the Apps

password now

SQL> drop synonym FND_WEB_SEC_TEST;

Synonym dropped.

-bash-3.2$ sqlplus apps/

@AFSCJAVS.pls

Package created.

Commit complete.

Please find the below explanation for the above

steps:

A) We know in Oracle Applications passwords are

stored in FND_USER and FND_ORACLE_USERID

tables,The FND_USER table stores application

user account passwords and the FND_ORACLE_USERID

table stores internal Oracle Applications

database account passwords,Both tables use the

same encryption algorithm to protect the

passwords. The FND_USER table contains all the

application accounts.

There are two password columns in this table:

ENCRYPTED_FOUNDATION_PASSWORD and

ENCRYPTED_USER_PASSWORD.

Column Value Encryption Key

ENCRYPTED_FOUNDATION_PASSWORD APPS

username/password ENCRYPTED_USER_PASSWORD user

APPS password The 2 columns as...

Page 36: Start with R12

a)If we know the username/password we can get

the Apps Password

(ENCRYPTED_FOUNDATION_PASSWORD)b)If we know the

Apps password we can get any users password

(ENCRYPTED_USER_PASSWORD)

B) To decrypt and verify user passwords Oracle

Apps uses FND_WEB_SEC package in Apps.The

DECRYPT function in the FND_WEB_SEC package is a

local function and cannot be called from outside

the package. So to make the function available

outside the package, we have altered the

AFSCJAVS.pls above.

How to find rapidwiz version

Go to: cd startCD\Disk1\rapidwiz type: rapidwiz Version Output will be:

Oracle Applications Rapid Install Wizard Version 12.0.0.22 (c) Copyright 2000-2006 Oracle Corporation. All rights reserved. Press any key to continue Invalid Objects Query

SQL> select count(*) from dba_objects where status=‘INVALID‘; COLUMN object_name FORMAT A30 SELECT owner, object_type, object_name, status FROM dba_objects WHERE status = ‗INVALID‘ ORDER BY owner, object_type, object_name; FNDCPASS SYNTAX AND TROUBLE SHOOTING In Oracle Applications, we have an FND functionality for changing the passwords for application users, product schema passwords, and ―APPS and APPLSYS.‖ The location of FNDCPASS utility is $FND_TOP/bin directory.

Page 37: Start with R12

FNDCPASS Usage: FNDCPASS logon 0 Y system/password mode username new_password where logon is username/password[@connect] system/password is password of the system account of that database mode is SYSTEM/USER/ORACLE username is the username where you want to change its password new_password is the new password in unencrypted format example FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1 FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME If you just type FNDCPASS and press enter, it will give you these details.

The first usage FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME is for changing the password for apps and applsys. These are the database schema users (most important for application to work). Password for both these users should be in synch. You can change the password of these users using this command. Note that this is the only way to change the password for apps and applsys. Please do not try any other method for changing apps and applsys password. Oracle recomends using FNDCPASS only to change apps and applsys password. Also note that using this command will change the password for both apps and applsys. Following activities will take place (1) applsys validation. (make sure APPLSYS name is correct) (2) re-encrypt all password in FND_USER (3) re-encrypt all password in FND_ORACLE_USERID

Page 38: Start with R12

(4) update applsys‘s password in FND_ORACLE_USERID table. (5) Update apps password in FND_ORACLE_USERID table. Also changes are made in DBA_USERS table.

The second usage FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1 is for changing password for any other product schema like MSC, GL etc. Following activities will take place (1) update GL‘s password in FND_ORACLE_USERID table. The new password is re-encrypted with the current applsys password.

If GL does not exists, step (2) below does not happen. Message for invalid oracle user is written in the log file.

(2) alter user to change GL‘s password.

The third usage FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME is for changing the application level passwords like sysadmin etc used for logging into application. Following activities will take place

(1) update VISION‘s password in FND_USER table. The new password is re-encrypted with the current applsys password.

If VISION does not exist, message for invalid application user is written in the log file. No products affected by the patch When you run FNDCPASS command it will check the integrity of all schema password in the application. If any of the password is corrupt then this will through and error and will not change the password.

Page 39: Start with R12

The tables that it uses is FND_USER and FND_ORACLE_USERID. All the application passwords and schema passwords are stored in these two tables. Ofcourse DBA_USERS will have the schema users and password stored as well.

When we run FNDCPASS it will update all the above 3 tables.

Best usage of FNDCPASS Before using FNDCPASS:

1) Always keep the back of tables FND_USER and FND_ORACLE_USERID. You can take back of these tables using CREATE TABLE — AS SELECT * FROM —. You must have backup of these tables before running FNDCPASS. In case if FNDCPASS fails then it might corrupt the passwords of your application and worst can happen that the application wont come up. So always be cautions about this command. 2) If possible also keep an export dump of these two tables.

3) verify each arguement you are providing to FNDCPASS. Like verify that apps and system passwords you are providing is correct.

4) Never update apps, applsys or any schema password directly from database using the alter command. Always use FNDCPASS. System password can be set directly using ALTER command in database.

Issue with APPLSYS and APPS password Issue 1: As you know that apps and applsys password should be in synch and should be changed using FNDCPASS.

Page 40: Start with R12

There can be situation where a novice user changes applsys password from the backend database. In that case when you try to start the services it will show following error

APP-FND-01496: Cannot access application ORACLE password Cause: Application Object Library was unable access your ORACLE password. You can even reproduce this issue (ofcourse after taking the backup of FND_USER and FND_ORACLE_USERID table) using the following steps

1. Use the ALTER USER command to change the APPLSYS password

2. Try to run the adstrall.sh script to start Apps services.

3. You will get an error ―Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.‖

4. Then try FNDCPASS to fix password and you will get the error the APP-FND-01496 error.

If this situation happens then you cannot access the application. Infact the services even wont start.

Resolution to such problem is to rollback the 2 tables FND_USER and FND_ORACLE_USERID. Once you rollback the tables, apps and applsys passwords will be in synch and password will be older one. You can then run FNDCPASS and change the password.

Issue 2: Some times when you run FNDCPASS, you get following error

Page 41: Start with R12

APP-FND-01502: Cannot encrypt application ORACLE password Cause: Application Object Library was unable encrypt your ORACLE password. Action: Contact your support representative. (ORACLEUSER=APPS_SERV) The error comes because the table fnd_oracle_userid contain rows for schemas that does not exist. Those rows must be deleted from the table.

Use the following query to get the details of the schema that doest not exists

select * from fnd_oracle_userid where oracle_username not in (select username from all_users); The rows returned by this query can be deleted from FND_ORACLE_USERID table. This will resolve this issue. Issue 3: There can be situation where users has update APPLSYS password using ALTER command in database directly and also you dont have backup of those tables. Under such situation, it is very difficult to recover the application and make it working. Still following methodology is proposed which might help you to restore the password back and make your application work fine.

For this to work you should have some other application (may be debug or UAT) which is having the same passwords or default passwords for schemas. If you have such application the following the below steps in the application which is affected by password mismatch.

This method is for resetting apps and applsys passwords. Below are the SQL statements that will help you reset the APPS and

Page 42: Start with R12

APPLSYS passwords to APPS, the APPLSYSPUB password to PUB, and the SYSADMIN password to SYSADMIN.

WARNING: This procedure will cause all user passwords to become invalid. ALL users passwords will need to be reset through the sysadmin responsibility.

Step 1) Reset the Oracle User IDs

Open a SQL*Plus as SYSTEM and reset the passwords for the APPS, APPLSYS, and the APPLSYSPUB Oracle user ID:

ALTER USER apps IDENTIFIED BY apps; ALTER USER applsys IDENTIFIED BY apps; ALTER USER applsyspub IDENTIFIED BY pub; Step 2) Backup the FND_ORACLE_USERID and FND_USER tables (even though these tables are right now corrupted, do take a backup. You can restore the same when ever you want).

Open a SQL*Plus session as APPLSYS and backup the tables:

create table FND_ORACLE_USERID_BAK as (select * from FND_ORACLE_USERID);

create table FND_USER_BAK as (select * from FND_USER);

Step 3) Reset the APPS and APPLSYS application encrypted passwords

Open a SQL*Plus session as APPLSYS and update the FND_ORACLE_USERID table.

update FND_ORACLE_USERID set ENCRYPTED_ORACLE_PASSWORD = ‗ZGA34EA20B5C4C9726CC95AA9D49EA4DBA8EDB705CB767

Page 43: Start with R12

3E645EED570D5447161491D78D444554655B87486EF537ED9843C8′ where ORACLE_USERNAME in (‗APPS‘, ‗APPLSYS‘); commit; This encrypted string we are updating is the default encrypted string for apps. So if your application is having apps password the encrypted string will look like this. We are updating this encrypted string here directly.

Verify the table update:

select ENCRYPTED_ORACLE_PASSWORD from FND_ORACLE_USERID where ORACLE_USERNAME IN (‗APPS‘, ‗APPLSYS‘); Step 4) Reset the APPLSYSPUB application encrypted password

Open a SQL*Plus session as APPLSYS and update the FND_ORACLE_USERID table.

update FND_ORACLE_USERID set ENCRYPTED_ORACLE_PASSWORD = ‗ZG31EC3DD2BD7FB8AD2628CE87DDDF148C1D2F248BE88BE987FDF82830228A88EF44BC78BC7A9FAD4BFB8F09DAD49DF7280E‘ where ORACLE_USERNAME = (‗APPLSYSPUB‘); commit; The above encrypted string is the encrypted string for password pub. If your applsyspub password is pub then the encrypted string in FND_ORACLE_USERID will look like this. Verify the table update:

select ENCRYPTED_ORACLE_PASSWORD from FND_ORACLE_USERID where ORACLE_USERNAME = ‗APPLSYSPUB‘;

Page 44: Start with R12

Once these updates are done, try your luck by running FNDCPASS and it should work fine.

How to know how many users connected to Oracle Applications

1: Use this SQL statement to count number of concurrent_users connected to Oracle apps:

select count(distinct d.user_name) from apps.fnd_logins a, v$session b, v$process c, apps.fnd_user d

where b.paddr = c.addr and a.pid=c.pid and a.spid = b.process and d.user_id = a.user_id

and (d.user_name = ‗USER_NAME‘ OR 1=1)

2: Use this SQL statement to count number of users connected to Oracle Apps in the past 1 hour.

select count(distinct user_id) ―users‖ from icx_sessions where last_connect > sysdate – 1/24 and user_id != ‗-1′;

3: Use this SQL statement to get number of users connected to Oracle Apps in the past 1 day.

select count(distinct user_id) ―users‖ from icx_sessions where last_connect > sysdate – 1 and user_id != ‗-1′;

4: Use this SQL statement to get number of users connected to Oracle Apps in the last 15 minutes.

select limit_time, limit_connects, to_char(last_connect, ‗DD-MON-RR HH:MI:SS‘) ―Last Connection time‖, user_id, disabled_flag from icx_sessions where last_connect > sysdate – 1/96;

Page 45: Start with R12

How to find applied patches for R12 EBS Oracle Applications

One key task for Oracle Application EBS Database Administrators is to perform patching on regular basis for maintenance pack upgrades and bug fixes. However, with busy work schedules, keeping track of applied patches can be a challenge. Oracle R12 Applications uses the following tables under the APPS schema to track the status for bug fixes and patches with adpatch: ad_applied_patches ad_bugs SQL> desc ad_applied_patches Name Null? Type ----------------------------------------- -------- ---------------------------- APPLIED_PATCH_ID NOT NULL NUMBER RAPID_INSTALLED_FLAG VARCHAR2(1) PATCH_NAME NOT NULL VARCHAR2(120) PATCH_TYPE NOT NULL VARCHAR2(30) MAINT_PACK_LEVEL VARCHAR2(30) SOURCE_CODE NOT NULL VARCHAR2(3) CREATION_DATE NOT NULL DATE CREATED_BY NOT NULL NUMBER LAST_UPDATE_DATE NOT NULL DATE LAST_UPDATED_BY NOT NULL NUMBER IMPORTED_FLAG VARCHAR2(1) IMPORTED_FROM_DB VARCHAR2(30) IMPORTED_ID NUMBER MERGE_DATE DATE DATA_MODEL_DONE_FLAG VARCHAR2(1)

Page 46: Start with R12

A useful query to track status of applied patches for the E-Business Suite with Oracle EBS is the following: SQL> select applied_patch_id, last_update_date from ad_applied_patches order by last_update_date; APPLIED_PATCH_ID LAST_UPDATE_DAT ---------------- --------------- 41444 03-NOV-09 41445 03-NOV-09 42444 09-NOV-09 42445 09-NOV-09 43444 18-NOV-09 44444 24-NOV-09 45444 30-NOV-09 45445 30-NOV-09 45446 30-NOV-09 45447 30-NOV-09 45448 03-DEC-09 APPLIED_PATCH_ID LAST_UPDATE_DAT ---------------- --------------- 45449 03-DEC-09 45450 03-DEC-09 45451 03-DEC-09 Hope this quick tip helps fellow Oracle Apps DBAs.