Create a User Event Trace in 11i / R12

A user event trace is very handy for tracing sql operations to debug various issues. The benefit of a user event trace is that it is linked to a specific user so that only code run by this user is traced. This makes diagnosis easier when compared to similar tracing methods at the database level where all user calls are traced.

Step 1
Login to Oracle Applications and select the System Administrator responsibility.
Choose Profile – System

Step 2
In the find profile field select the user which you wish to trace. In the profile field enter ‘Initialization SQL Statement – Custom”
Select find

Step 3
In the find profile results form copy and paste the following into the ‘user’ field. Do not update the site level field.

begin fnd_ctl.fnd_sess_ctl(”,”,’TRUE’,'TRUE’,'LOG’,'ALTER SESSION SET EVENTS=’||””||’10046 TRACE NAME CONTEXT FOREVER, LEVEL 12′||””);end;

Note: copy and paste the above as one line. Failure to paste the values properly or pasting the values with incorrect syntax will result in this user not being able to login

 trace

Step 4
Save the profile option change. Stop and start the java virtual machine for the change to take effect
11i: use adapcctl.sh
r12: use adoacorectl.sh

Step 5
Login to the application and reproduce the issue. Then quickly log off. Try and avoid any un-necessary keystrokes as this simply makes the log files larger and the issue hard to pinpoint in the logs.

Step 6
login to unix/windows as the oracle user. Navigate to the user dump destination which us usually $ORACLE_HOME/admin/<context>/udump
You will see a series of trace files generated during the time of your issue reproduction. Tkprof all of the generated files and upload both the raw and tkprof files to your service request

You can also check the user dump destination via the following:
sql> show parameter user_dump_dest;

Oracle Apps Interview Questions – Part I

Here are some of the Oracle Apps Interview Questions. These Questions cover from Operating

System Installation, Pre-requisites for Apps, Apps Installation, Architecture, File System. In the

next part of Questions , I will cover more into advanced apps topics. For any doubts you may post

comment so that i could help you.

1)  How to Check the memory of the system while the time of Linux Installation ?
2)  How to assign hostname to a node ?
3)  How to assign IP to a node ?
4)  which are the files where kernel settings and security limits are stored ?
5)  How to check the swap space and physical memory ?
6)  How to do ftp from one node to another node ? Give Eg
7)  How to do copy between two machines ? Give Eg
8)  Give steps to enable ftp and telnet services ?
9)  How to do confiugre nfs server and do a nfs mount from the client machine ?
10) what’s the use of TOP, ps commands ?
11) How to create user and groups in Linux ?
12) How to see if user and group already exists ?
13) How to check the release version of OS ?
14) How to check the kernel version of OS ?
15) How to check OS is 32bit/64bit?
16) How will you check whether required os level software has installed?
17) what is the command to check required rpms are installed?
18) How will install and upgrade rpms in linux?
19) What is oraInventory?default location for aix , Linux ?
20) what is oratab ?
21) How can you check the groups to a user belong ?
22) What is configuration file?(config.txt) and where is the default location
23) What is rapid install?
24) Explain Single Node and Multi Node installation ? ( Exp preinstall and postinstall tasks )
25) Explain single user and multi user installation ?
26) What is difference between express install and advanced install ?
27) What is difference between fresh database and vision database install types ?
28) What is minimum /  approx. disk requirement for 11.5.10 for  vis and fresh and stage ?  
29) What is staging area ? How you set up staging area ?
30) Is it possible to install apps without staging area ?
31) How will check perl, java versions?
32) where is location of staging logs ?
33) How can you clear the system after an incomplete installation ?
34) What’s the difference between ORACLE_BASE and ORACLE_HOME
35) what is default port pool? what is default range and till what range it support?
36) If some of pre-install test has failed what will you do?
37) If the installtion has terminated before completion What will you do?
38) What are post installtion tests done by rapidwiz?
39) How will you check rapidwiz version?
40) Describe how will you do multinode installtion?
41) What are things will be checked during post installation tests?
42) What are required in post installtion steps additionally?
43) Where is the location of the Rapidwiz logs?
44) How could you Install technology stack alone?
45) What are the software require to maintain oracle application on windows ?
46) What are the Technology Stack Components?
47) What are the software required for Install Oracle Application on unix or linux machines ?
48) How can you check the version of Oracle Apps ?
49) What is Oracle Apps ?
50) Explain three tier architecture in Oracle Apps ( Including login workflow and middle tier services )
51) What is OATM ?
52) What is Oracle Jinitiator ? How can you check the jinitiator version ?
53) Where is location of Oracle Apache Cache and modplsql Cache ?
54) How many oracle Homes are there in 11i and what are they?
55) What is oracle applications technology layer ? what and why are these compnonents used for ?
56) what is Oracle Application Object Library ? How it differs for end user, developer and system admin ?
57) what is OAM ? What is OAM Login URL ?
58) What is Oracle Applications URL and Ebusiness Suite Apps Login URL ?
59) Which is the script location is Oracle apps for middle tier and db tier ?
60) where is the concurrent manger log and out location ?
61) what are environment files ? what are the different types of env files, and locations on both tiers ?
62) what are context files and locations for both tiers
63) what is APPLPTMP and APPLTMP  ?
64) what are they key environment file parameters ?
65) which is the script used to start and stop apache and concurrent manager ? Tell the steps
66) Brief out the file system for Oracle Applications Ebusiness Suite ( and explain each directory structure,
      its contents )
67) Whats the difference between APPS,APPLSYS,APPLSYSPUB users ?
68) what are the diff types of users available is oracle apps ?
69) What is Multiple Organization ? How can you check if MO is enabled ?
70) How can you check if multiple languages are installed with oracle apps ?
71) How can you check if an oracle apps installations in multi node or single node and in which
      node each services are running ?
72) How can you check how many database are up and running in both linux and windows machines
73) How can you check if concurrent manager and apache server is up and running
74) Where is apache access log and error log location
75) Where is the location of Oracle Alert logfiles and Trace files ( Give complete path )

Obtaining Forms Runtime Diagnostics (FRD) In Oracle Applications

 

 

A. Introduction

When starting a Forms-based session in Applications it is possible to pass various useful parameters like formname=xyz, or lang=US, or NLS=xyz etc. This is really helpful when debugging Forms. In addition, there are two other parameters config=debug and record=all which make it possible to perform Forms Runtime Diagnostics (FRD.)

FRD is a runtime event-based logging system intended to aid in the debugging of Forms applications. FRD is enabled at runtime on a user by user basis.  When a form is run with FRD enabled, a combination of external user-application interactions and internal Forms processing events are written in chronological order to a log on the file system.

<>FRD generates extensive output useful for analysis and debugging, and it is therefore recommended FRD be utilized as a logging mechanism only when specific issues are encountered.
 

B. The Contents of an FRD Log File

The following data is typically collected in an FRD trace file:

– Trigger firing: includes name and hierarchical location.

– Built-in Execution: includes name and IN and OUT parameter types and values.

– Messages: includes message numbers and text.

– The opening of forms executables (.fmx) and menu executables (.mmx)

– Unhandled exceptions: includes error message if available, otherwise only
   error numbers.

– All external user events via normal runtime (RT) recording mechanism

To see more details about the expected output in Forms, please see
<Note:62664.1> Forms Server Logging and Forms Runtime Diagnostics (FRD) Explained.
 
C. Tracing in R12

1. Set the user value for profile option  ‘ICX: Forms Launcher’ to be

   ‘http://hostname.domain:port/forms/frmservice?record=forms’

2. By default, this will enable tracing for errors only. As an optional step, you can enable different trace options (e.g. user actions, user-exit events, dbsql events, network events) by setting a trace group in file $ORA_CONFIG_HOME/10.1.2/forms/server/ftrace.cfg

3. Login to the Personal Home Page,  navigate to the form and perform the steps that you wish to trace.

4. Locate the file in the directory set by variable FORMS_TRACE_DIR. Note: by default, this directory is named forms_<pid>.trc, where <pid> is the process identifier.

Related reference:
<Note:373548.1> Using Forms Trace in Oracle Applications Release 12.

D. Tracing in 11.5.10

1. Make the user value for profile option  ‘ICX: Forms Launcher’ the same as the site value

   e.g. copy value of ICX: Forms Launcher for the site Test115
   ‘http://testserver.oracle.com:8005/dev60cgi/f60cgi’
    to be the value for the user.

2. Append the user value of ICX: Forms Launcher with the Forms parameters for FRD

   e.g. update the value of  ICX: Forms Launcher for the user to be
   ‘http://testserver.oracle.com:8005/dev60cgi/f60cgi?record=all&log=/tmp/username_frd.log’

3. Login to the Personal Home Page,  navigate to the form and perform the steps that you wish to trace.

4. Locate the file in the directory set by variable $FORMS60_TRACE_PATH. Note: the default directory for
$FORMS60_TRACE_PATH is $ORACLE_HOME/forms60/log.

Related reference:
<Note:290210.1> Forms FRD Trace With New Variable FORMS60_TRACE_PATH.

E. FRD Tracing in 11.5.x to 11.5.9

This method enables users to run FRD tracing through the Personal Home Page by setting debugging to true using the profile option ‘ICX: Forms Launcher’.

When accessing Applications through the Personal Home Page (PHP), there is no way to pass command line parameters such as config=debug and record=all for the duration of a single session. For example, you cannot add these variables to the PHP connect string
http://testserver.oracle.com/OA_HTML/US/ICXINDEX_test115.htm.

The advantages of using the profile option ‘ICX: Forms Launcher’ are that you can easily trace the activities of multiple users and assign different log file names.

With Oracle Developer Forms patch 16 and higher, users cannot create adhoc FRD trace files in any directory. The trace files are either created in the directory set by parameter $FORMS60_TRACE_PATH or they are created in 8.0.6 $ORACLE_HOME/forms60/log directory.

Steps:

To start tracing in this way, modify Profile Option ‘ICX: Forms Launcher’ at USER level to include the Forms parameters required for FRD logging:

1. Make the user value for profile option  ‘ICX: Forms Launcher’ the same as the site value

   e.g. copy value of ICX: Forms Launcher for the site Test115
   ‘http://testserver.oracle.com:8005/dev60cgi/f60cgi’ to be the value for the user.

2. Append the user value of ICX: Forms Launcher with the Forms parameters for FRD

   e.g. update the value of  ICX: Forms Launcher for the user to be
  ‘http://testserver.oracle.com:8005/dev60cgi/f60cgi?record=all&log=/tmp/username_frd.log’

3. Save this change at the USER level, and the next time you access the test115 database through PHP, the Forms variables will be enabled.

E. Points to Consider When Running FRD

1. Check that sufficient space exists in the directory in which the FRD log file is to be created

2. For each run of FRD, specify a different log file name. The FRD log file will replace an existing file of the same filename.

3. On certain platforms, the log file is only created after the user exits Applications. Therefore, remember to exit Applications.

4. If no file name is specified for FRD, a unique file name is used based on the operating system process ID. The file is created in the current working directory. The file may be overwritten if the operating system reuses the process ID.

5. The log file is likely to be hundreds of lines long. To keep the content of the trace file to a minimum amount, follow the steps to reproduce a problem precisely and avoid performing any other actions. This is particularly helpful when using for troubleshooting purposes.

6. Specify the tmp directory for the log file location since all users usually have permission to write to it.

7. In a multi-node environment, the trace file is created on the Applications tier.

8. It is recommended to pass FRD variables at the USER level and not at the SITE level since SITE level affects all users.

9. Please create your own user to set this value. Please do not enable FRD for user ‘vision’ or any of the seeded users since you will then start FRD logs for all people using those login accounts.

10. If the ‘ICX: Forms Launcher’ profile option is not updatable at the USER level, then you may need to access ‘Application Developer’ to set the option ‘Updatable’ for the profile ICX_FORMS_LAUNCHER.

F. Extracts From an FRD Log File For 11i

Below displays brief extracts from a log file. The FRD documents the steps executed from Forms when signing on to Applications 11i and navigating to a form within core Applications.

Forms Runtime Diagnostic Collection Log
File Name: /tmp/form1.frd
Process ID: 19166
Client IP: @  x
Forms 6.0 (Forms Runtime) Version 6.0.8.12.1 (Production)
PL/SQL Version 8.0.6.1.0 (Production)
Oracle Virtual Graphics System Version 6.0.5.36.0 (Production)
Oracle Multimedia Version 6.0.5.33.0 (Production)
Oracle Tools Integration Version 6.0.5.32.0 (Production)
Oracle Tools Common Area Version 6.0.5.32.0
Oracle CORE Version 4.0.6.0.0 – Production

Opened file: /stable/oracle/vis006/vis006appl/fnd/11.5.0/forms/US/FNDSCSGN.fmx

ON-LOGON Trigger Fired:
Form: FNDSCSGN

State Delta:
FORM FNDSCSGN
  STATUS     NEW
  BLOCK PROGRESS_INDICATOR
    STATUS     NEW
    RECSTATUS  “”
    FIELD TEXT
      CANVAS     PROGRESS_INDICATOR
      GEOMETRY   100,250:4000,400
      ENABLED    TRUE
      NAVIGABLE  TRUE
      INSERTABLE TRUE
      QUERYABLE  TRUE
      UPDATEABLE TRUE

WHEN-NEW-ITEM-INSTANCE Trigger Fired:
Form: FNDSCSGN
Block: SIGNON
Item: USERNAME

WHEN-BUTTON-PRESSED Trigger Fired:
Form: FNDSCSGN
Block: SIGNON
Item: CONNECT_BUTTON

MENU_TO_APPCORE Trigger Fired:
Form: FNDNLDLG

CLOSE_WINDOW Trigger Fired:
Form: FNDNLDLG

Executing DO_KEY Built-in:
In Argument 0 – Type: String   Value: EXIT_FORM

KEY-EXIT Trigger Fired:
Form: FNDSCSGN

How To Configure Apache In R12 (10.1.3) To Listen On A Restricted Port (< 1024)

 

To configure Apache (10.1.3) in Release 12 of EBS to run on a restricted port.  A port below 1024.

Solution

By default, Oracle HTTP Server runs as a non-root user (the user that installed Oracle Application Server). On UNIX systems, if you change the Oracle HTTP Server Listen port number to a value less than 1024, you must enable Oracle HTTP Server to run as root. 

For more info please reference: <a title=”Oracle Application Server’s Administrator Guide 10g
Release 3″ href=”http://download.oracle.com/docs/cd/B32110_01/core.1013/b32196/ports.htm#BABHCHGA” target=”new”>Oracle Application Server’s Administrator Guide 10g Release 3

If one tries to start up the HTTP Server on a port below 1024 without the HTTP Server running as root, the following error message will be seen in the HTTP Server [ error_log ] file.

            “Error code: [crit] (13)Permission denied: make_sock: could not bind to port #”

Note(s):

             – The steps below require root access.

             – The file that needs to be modified is the hidden file .apachectl
                NOT the apachectl file that resides in the same directory.

Pre Steps

  1. Log into your middle (web) tier as the Applmgr user
  2. Source your Apps environment
  3. Backup your $CONTEXT_FILE on your middle (web) tier
  4. Log into Apps and through OAM modify the following parameters to reflect the new web port.
    • s_webport (web port value < 1024)
    • s_active_webport (s_webport value)
    • s_http_listen_parameter (s_webport value)
    • s_help_web_agent (url constructed with http protocol and s_webport value)
    • s_login_page (url constructed with http protocol and s_webport value)
    • s_external_url (url constructed with http protocol and s_webport value)

    5.   Shutdown Apps and run autoconfig to make the changes take affect.

 Steps

  1. echo $ORA_CONFIG_HOME  [ make note of the absolute path. ] 
  2. $ su root 
  3. Run the following commands on the middle (web) tier Oracle Config home:
         a. $ cd $ORA_CONFIG_HOME/10.1.3/Apache/Apache/bin
         b. $ ls -la     [verify that the file exists in the directory ] 
         c. $ chown root .apachectl
         d. $ chmod 6750 .apachectl
  4. Startup your Applications
  5. Test “Login” with the new port
Note(s):

            – After the changes the file listing should look similar to the following.

            $ ls -la
                        drwxr-xr-x  2  applmgr  appsdba      4096  May   8  17:25 .
                        drwxr-xr-x  4  applmgr  appsdba      4096  May   8  17:25 ..
                        -rwx——    1  applmgr  appsdba    14025  May 19  17:25 apachectl
                        -rwsr-s—   1  root        appsdba  421517  May 19  17:25 .apachectl


 

How to start Apps R12 in forms socket mode for testing

Here are two methods (A and B) of starting the forms server for testing in R12.

A. Modify the existing adformsrvctl.sh script, that starts the forms servlet process, to start the forms server.
1. Create a new copy of the $ADMIN_SCRIPTS_HOME/adformsrvctl.sh, name it something like testformsocket.sh

2. chmod 755 testformsocket.sh

3. In the new file/testformsocket.sh,
Change this line:
if [ "servlet" = "servlet" ]
to
if [ "servlet" = "socket" ]
Save your changes.

4. Now execute this script to start the forms socket listener.
testformsocket.sh start

5. At user level, set the profile ‘ICX: form launcher’ to http://<hostname:port#>/OA_HTML/frmservlet?serverURL=&connectMode=socket

6. Login as the above user and test the issue.
Enable the java console and review the log to verify that the user has connected using the Socket Mode.

To verify that the forms server is running, you can run something like the following on Unix:
testformsocket.sh status
or
lsof|grep <forms port #>

B. Or you can start the forms server the old way, by running frmsrv.

1. cd $ORACLE_HOME/forms/server

2. Source socket.env
. ./socket.env

3. To start the forms server, run:
frmsrv host=<enter your host name> port=<enter your forms port> &
Example:
frmsrv host=rwmatthe-linux port=9005 &
Note: You can use any available port

4. At the user level, set the ICX: Forms Launcher to:
http://<your host.domain:webport>/OA_HTML/frmservlet?serverURL=&serverPort=<forms server port>&connectMode=socket
5. Login as the above user and test the issue.
Enable the java console and review the log to verify that the user has connected using the Socket Mode.

Note: Make sure to pass the serverPort= or it will use the port defined in FORMS_WEB_CONIG_FILE.
To check to see if the forms server is running, you can run something like the following on Linux:
lsof | grep <forms port #>
or
lsof | grep frmsrv

Changing Application Tier Platforms for Applications Release 12

It’s now possible to migrate your E-Business Suite Release 12 application tier servers

from one operating system platform to another.  Oracle announced the availability of

new Oracle Applications Platform Migration Methodology for E-Business Suite Release 12.

This process provides a way to quickly and easily move an existing Oracle E-Business Suite

middle tier (applications tier) system to a different platform.  The migration utility retains

the exact E-Business Suite patch level; no APPL_TOP or Database synchronization is necessary. 

This allows you to retain existing customizations.

 

Continue Reading on this from Steven Chan Blog

 

Downtime and Apache Restricted Mode in Release 12

 

E-Business Suite Release 12 provides a useful mechanism for the Applications administrators

to start the Apache on the applications tier during down time. Applications administrator can

start the apache in a mode called restricted mode. Down time tasks like patching can continue

to be performed while the Apache is in restricted mode. Restricted access to Oracle Applications

Manager (OAM) is available in this mode. This allows the system administrator to monitor tasks

like patching from OAM. When the Apache is started in restricted mode, normal users are

redirected to a downtime URL containing downtime details.

 

Here are the details explained from Oracle Blogs (Steven Chan)

http://blogs.oracle.com/schan/2008/03/25#a2411

How do you manually regenerate a form in Release 12?

1. Check the FORMS_PATH env variable. Assuming these are US forms the FORMS_PATH should include
$APPL_TOP/resource and $APPL_TOP/forms/US.

2. To compile a form manually from the command line try either of these two command line arguments (replace FNDFBMAS.fmb with the form of your choice.):

frmcmp.sh module=FNDFBMAS.fmb userid=apps/<apps password> module_type=form batch=yes compile_all=yes

frmcmp_batch module=FNDFBMAS.fmb userid=apps/<apps password> module_type=form batch=yes compile_all=yes

R12 – Collecting Configuration Information for HTTP, OC4J and OPMN

- Do the following on ALL middle tiers as the application tier user

zip -r /tmp/`uname -n`_`date +%m%d%y.%H%M`_iAS_CONFIG.zip \
$ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf \
$ORA_CONFIG_HOME/10.1.3/config \
$INST_TOP/pids/10.1.3/Apache \
$ORA_CONFIG_HOME/10.1.3/j2ee/ \
$ORA_CONFIG_HOME/10.1.3/javacache/admin \
$ORA_CONFIG_HOME/10.1.3/network/admin \
$ORA_CONFIG_HOME/10.1.3/opmn

How to Enable Enterprise Manager on the Oracle E-Business Suite Release 12

For the process to complete successfully, the database and database listener must be started.
It is not neccessary that any other Apps services are running for this process to complete.

Source the environment for the 10g ORACLE_HOME. With a Release 12 environment this would mean running the _.env script as generated by AutoConfig in the 10gR2 ORACLE_HOME.

Implement a password file and to overcome any ORA-01031 errors on the database.

It is also worth considering converting your Applications database to work with an SPFile
instead of an init.ora. An SPFile is approximately analogous to being a binary equivalent of the init.ora and allows for dynamic changes to many database parameters that previously would have required a database restart.

Next, as the owner of the 10gR2 ORACLE_HOME, run the following command to create the Enterprise Manager repository:-

$ emca -config dbcontrol db -repos create

When the above create command is run you will be prompted for the following:

STARTED EMCA at Oct 15, 2007 12:26:22 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.

Enter the values appropriate to your environment:-

Database SID: VIS
Listener port number: 1521
Password for SYS user: change_on_install
Password for DBSNMP user: dbsnmp
Password for SYSMAN user: sysman
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
—————————————————————–
You have specified the following settings

Database ORACLE_HOME ……………. /oracle/VIS/db/tech_st/10.2.0

Database hostname ……………. xxxxxxx.xx.oracle.com
Listener port number ……………. 1521
Database SID ……………. VIS
Email address for notifications ……………
Outgoing Mail (SMTP) server for notifications ……………
—————————————————————–
Do you wish to continue? [yes(Y)/no(N)]: Y

The repository should then start to be created. Typically this can take anywhere between 10 and 60 minutes depending on hardware and database configuration and size.

INFO: Creating the EM repository (this may take a while) …

When the repository is created the following message should appear….

INFO: >>>>>> The Database Control URL is http://xxxxxxxxxx.xx.oracle.com:1158/em <<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Sep 13, 2007 2:13:48 PM

Use the above Database Control URL to access the Enterprise Manager console through a browser interface.

Us the following command to drop an EM repository that has already been created:

$ emca -deconfig dbcontrol db -repos drop

To enable or disable browser access to dbconsole use the following command after sourcing
the environment for the 10g ORACLE_HOME. With a Release 12 environment this would
mean running the _.env script as generated by AutoConfig in the 10gR2 ORACLE_HOME.

$ emctl start dbconsole

To disable browser access use the following command:

$ emctl stop dbconsole

Posted in R12. 1 Comment »
Follow

Get every new post delivered to your Inbox.