Upload
venuoracle9
View
196
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Start r12
Citation preview
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
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)
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)
—- 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
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)
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.
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
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
–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 –
$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
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
$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 :
$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
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
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).
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
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.
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 ————————————–
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
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
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.
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=
<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
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
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,
'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 :
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
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> ;
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
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]).
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?
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.
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.
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"
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...
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.
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
(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.
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.
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
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
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
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‘;
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;
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)
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.