Saturday, January 21, 2012

Patch Application Assistant ( in Oracle Apps R12

PAA (Patch Application Assistant) is tool/Perl script to generate customized installation instructions for a patch in Oracle Applications R12 which helps user totrack and perform manual steps during patching.

1. is under $AD_TOP/bin
2. You can run (Patch Application Assistant) in two mode
i) GUI (Graphical User Interface)
ii) CLI (Command Line Interface)
3. Once you complete manual steps as instructed in PAA report, you can record that step as completed.
How to Run PAA (Patch Application Assistant) in R12
1.Source environment file i.e. $ORACLE_R12_BASE/ apps/ apps_st/ appl/ APPS[SID]_[hostname].env
2.Run PAA using in either CLI or GUI
2.1 CLI
perl -patch_top=[patch-top-directory]-appspass=[apps-password]
For example to generate PAA report for 12.0.6 patch (6728000) run it as  
perl $AD_TOP/bin/ -patch_top=/stage/ oracle/ patches/ r12/ 6728000 -appspass=apps
Gathering Information..
Logfile for this session is located at admsi.log
Generating installation instructions for patch 6728000..
Updating database….
install_6728000.html generated successfully
install_6728000.txt generated successfully
Now view report (text or html format) containing manual steps for 12.0.6
2.2 GUI
 Invoke PAA in GUI by running as shown below

3. Once you get list of manual steps, follow instructions in report
4. Apply apps patches using AUTOPATCH utility (adpatch)

Source :

Tuesday, August 10, 2010

Clearing JSP cache in R12 (s_jsp_main_mode)

There is a change in the default behaviour of handling JSP cache
in R12 as opposed to 11i. Remember, JSPs were handled by Apache
Jserv engine in 11i and is being handled by OC4J (10.1.3 AS) in R12.

In 11i, when we clear cache ($COMMON_TOP/_pages) and try to
access JSP pages, it gets automatically recompiled. However, this
is not the case in R12 by default.

So, in an R12 instance, if you clear _pages and restart apache,
you will only get a blank screen since AppsLocalLogin.jsp wouldn’t
get compiled by default. You will not even see a new _pages directory.

To overcome this, as per Oracle, whenever JSP cache is cleared, we have to run
“” to recompile ALL jsp pages in the Application.
This will take roughly around 15 to 20 mts. However, in the real world
(atleast in the pre-production stage) this is not affordable.

The solution to this is to change the XML file parameter
s_jsp_main_mode to a value of “recompile” from the default value of
“justrun” and run autoconfig. JSP pages will be recompiled automatically
after this change.

Source :

How to clear cache for a specific component in R12?

As we all know the normal tendency for clearing cache in Oracle Apps is to delete the $COMMON_TOP/_pages directory. In 11i, after deleting we dont have to recompile the jsps but in R12 we have to recompile the pages since s_jsp_main_mode is set to justrun by default which is in turn updated in orion-web.xml. Click here for more info.

Ok coming to this post, how can i clear cache for a specific component of Oracle Apps R12 viz., iprocurement, istore etc., Is this even possible ? Yes it is and this option comes handy when somebody modifies a jsp page which is part of say istore, then it makes sense to clear cache for istore and not for the whole server.

Clearing cache for specific Component/Application in R12

Login as sysadmin
Select “Functional Administrator” responsibility
Go to Core Services ==> Caching Framework ==> Tuning
Query the application (for example iStore) or by Name or code.
Select the component and clear the cache.

Note: For some specific configuration changes, we need to bounce Apache also.

Clearing Global Cache in R12

a) Go to Functional Administrator Responsibility
b) Go to Core Services ==> Caching Framework
c) Go to Global configuration and clear all the cache from there.(Only If you want to clear all the  cache)

Source :

Apps 11i Components are replaced by Apps R12

Do we have mod_plsql,jserv,reports server in R12 ?

mod_plsql :

Mod_plsql is an Apache web server extension that can be used to develop web application pages using Server PL/SQL.
Unlike Oracle E-Business Suite Release 11i, Release 12 does not include mod_plsql as part of its technology stack.
Modplsql component of Apache is removed in R12 .you have to see the alternate for custom developed programs which will be using this.
If you have developed mod_plsql extensions to Oracle E-Business Suite Release 11i, and are considering upgrading to Release 12, you will have to take some action to preserve that functionality.
mod_plsql is replaced by Oracle Application Framework in R12. The reasong for replacing the mod_plsql with Oracle Application Framework in R12 is that , mod_plsql does not provide solutions for a number of important problems that must be solved in a robust and secure web application.

The following components/modules were removed from Release 12

1. mod_plsql
2. Oracle Reports Server
3. Oracle Graphics Integration with Oracle Forms
4. Oracle Applications Framework pages in the AK Repository (AK mode)

JServ :

OC4J replaces the Jserv component which is there in the current release 11i of Oracle Applications. Also as a result the mod_jserv component would be replaced by the mod_oc4j component in release 12 of Oracle Applications. The mod_oc4j is used to communicate between different OC4J instances.

The default installation Release 12 of Oracle Applications creates 3 OC4J instances

– Oacore: This runs the OA Framework -based applications.
– Forms: This runs the Forms-based applications.
– OAFM: This is responsible for running the web services.

The Jserv groups which are there current in Oracle Applications Release 11i are also planned be replaced by OC4J instances.

As mentioned earlier the OC4J properties are controlled using the XML files and file. These files are managed by the standard Oracle Applications Autoconfig.

The Java code deployment in Oracle E-Business suite for OC4J is done at the time of install using rapid install and maintained by ad tools like adadmin and adpatch. New custom code deployment can be done by using the Application Server Control user interface.

The OC4J implementation In Oracle Applications Release 12 includes the following directory structure.

– applications: Contains applications deployed
– applications-deployment: Contains configuration settings for the applications deployed
– config: Contains common configuration setting for the OC4J instance.

Remember there are no or jserv.conf or in R12 (new techstack), Jserv is replaced by Oacore.

Finally …

- Jserv component is removed and it is replaced in R12 by OC4J(oacore)
- mod_plsql is replaced by Oracle Application Framework
- The reports server has been removed in R12 and it runs as a spawned process called rwrun which is spawned by conc manager.

Ref Note : 726711.1

Source :

Wednesday, April 7, 2010

Oracle Apps DBA - Miscellaneous

1. What are the problems u have faced while shutting down applications?
Ans: While shutting down application generally concurrent manager won’t go
down because some or the other request may be running. We will see what are
the concurrent requests running by querying fnd_concurrent_requests,
fnd_concurrent_program_vl, v$session,v$process and v$sqltext. If that request is
only doing some select statement then we will kill those requests, otherwise we
will check what time it will take to complete by querying the previous runs of that
request and then we will decide what to do.

2. What are the problems u have faced while starting up applications?
Ans: Most of the time we will encounter problem with starting up concurrent
managers. Reasons, database listener may be down or FNDSM entries are
wrong in tnsnames.ora of 806_ORACLE_HOME.

3. How to find the locks and what is the resolution?
Ans: we can find general locks with the following query:
Select * from sys.dba_dml_locks order by session_id.
We can find the dead locks with the following query:
Select * from v$lock where lmode > 0 and id1 in (select distinct id1 from
v$lock where request > 0)
If it’s a dead lock, we need to kill that session.

4. How to kill a database session?
Ans: alter system kill session '&sid,&sno';

5. How to find adconfig is enabled for oracle operating system user/database?
Ans: If appsutil directory is there in RDBMS_ORACLE_HOME

6. Which files tell u the database health?
Ans: alert log file @RDBMS_ORACLE_HOME/admin//bdump

7. How to apply a RDBMS patch?
Ans: Using opatch

8. How to find opatch is enabled or not for u r database?
Ans: If Opatch directory exists under RDBMS_ORACLE_HOME.

9. What is the pre-req for applying a RDBMS patch?
Ans: Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc

10. What is Inventory?
Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)'s
bookkeeping. The inventory stores information about:
o All Oracle software products installed in all ORACLE_HOMES on a machine
o Other non-Oracle products, such as the Java Runtime Environment (JRE)
In a 11i Application system the RDBMS and iAS ORACLE Homes are registered in the oraInventory. The 806 ORACLE_HOME, which is not managed through OUI, is not.

11. What are different types of inventories?
Ans: The Global inventory (or Central inventory)
The Local inventory (or Home inventory)

12. What is Global inventory?
Ans: The Global Inventory is the part of the XML inventory that contains the high level list of all
oracle products installed on a machine. There should therefore be only one per machine. Its
location is defined by the content of oraInst.loc.
The Global Inventory records the physical location of Oracle products installed on the machine,
such as ORACLE_HOMES (RDBMS and IAS) or JRE. It does not have any information about
the detail of patches applied to each ORACLE_HOMEs.
The Global Inventory gets updated every time you install or de-install an ORACLE_HOME on the
machine, be it through OUI Installer, Rapid Install, or Rapid Clone.
Note: If you need to delete an ORACLE_HOME, you should always do it through the OUI deinstaller
in order to keep the Global Inventory synchronized.

13. What is local inventory?
Ans: There is one Local Inventory per ORACLE_HOME. It is physically located inside the
ORACLE_HOME at $ORACLE_HOME/inventory and contains the detail of the patch level for
that ORACLE_HOME.The Local Inventory gets updated whenever a patch is applied to the ORACLE_HOME, using OUI.

14. What is rapid clone?
Ans: Rapid Clone is the new cloning utility introduced in Release 11.5.8. Rapid Clone
leverages the new installation and configuration technology utilized by Rapid Install

15. How do I determine if my system is rapid clone enabled?
Ans: First, verify that your system is AutoConfig enabled. Then, verify that you have
applied the latest Rapid Clone patch.

16. What is the location of for oracle user?
Ans: RDBMS_ORACLE_HOME/appsutil/scripts/

17. What is the location of for applmgr user?
Ans: $COMMON_TOP/admin/scripts/

18. What is the location of for oracle user?
Ans: $RDBMS_ORACLE_HOME/appsutil/clone/bin

19. What is the location of for applmgr user?
Ans: $COMMON_TOP/clone/bin

20. What is form server URL?
Ans: http://hostname.domain:/dev60cgi/f60cgi

21. What is jinitiator?
Ans: Oracle jinitiator is the one which provide the required jvm to run forms
interface/applet. When we access forms applet first time, oracle jinitiator will be
installed automatically.

22. What is discoverer server?
Ans: Discoverer server is reporting tools which allow no voice user to use oracle
application reports. Discoverer will come along with oracle applications when

23. What is discoverer viewer URL?
Ans: http://hostname.domain:/discoverer4i/viewer

24. What is discoverer plus URL?
Ans: http://hostname.domain:/discwb4/html/english/welcome.htm

25. What is aoljtest and its url?
Ans: Aoljtest is a web based utility to test the availability of the different
components of oracle applications like jserv, modplsql, jsp, forms etc
URL: http://hostname.domain:/OA_HTML/jsp/fnd/aoljtest.jsp

26. What is adsplicer?
Ans: Adsplicer is a utility used to register off cycle products.

27. What is license manager?
Ans: License manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.

28. What is tnsping?
Ans: tnsping is command used to check the connectivity to the database server
node from other nodes.
Ex: tnsping
Note: Tns entry should be there in tnsnames.ora for the database we are trying
to work this command.

29. What is top command?
Ans: top is a operating system command, it will display top 10 processes which
are taking high cpu and memory.

30. How to compile a form using f60gen?
Ans: f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb
userid=APPS/APPS outputfile=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module type=form
batch=yes compile all=special

31. What is APPLPTMP environment variable?
Ans: This is the temporary file location for the pl/sql temp files. If this variable was
not set then the concurrent programs may errored out.

32. What is mean by enabling maintenance mode?
Ans: Maintenance mode is the adadmin option introduced from AD.I. When
maintenance mode is enabled user may able to login to application but they only
get profile option in the front-end navigation menu.

33. Is that necessary to enable maintenance mode while applying a patch?
Ans: We can even apply a patch without enabling maintenance mode with the
following option adpatch options=hot patch

34. How to find out oracle application framework version?
Ans: 1. through aoljtest
2. cd $COMMON_TOP/html/
3. adident Header OA.jsp

35. How to find out what are the rdbms patches applied to an oracle home?
Ans: 1. opatch –lsinventory
2. $RDBMS_ORACLE_HOME/.patch_storage directory contains the
directories with the rdbms patch number, which is applied to this oracle home.

36. Is that necessary to shutdown database while applying a database patch?
Ans: Yes.

37. What is the command line utility to submit a concurrent request?

38. What is the significance of utl_file_dir parameter in init.ora file?
Ans: The value of this parameter is the group of directories to which u r database
can write, means u r database packages have permission to write to flat files in
these directories.

39. How you will find out discoverer version?
Ans: cd $806_ORACLE_HOME/discwb4/lib
Strings libd* | grep 'Version:'

Saturday, March 27, 2010

Oracle Apps DBA - Configuration

1. How to find out what component of u r oracle applications was installed on
which node?
Ans: Xml file (context file)

2. How to find the version of httpd/Apache web server?
Ans: $IAS_ORACLE_HOME/Apache/Apache/bin/httpd –version

3. What is the configuration file for httpd and what is the location of it ?
Ans: httpd.conf @IAS_ORACLE_HOME/Apache/Apache/conf

4. Where you will see when you have some problem with u r web server
Ans: access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs

5. When Apache starts what other components its start?
Ans: PL/SQL Listener, Servlet Engine, OJSP Engine

6. What is jserv?
Ans: jserv is nothing but servlet engine which will run u r servlets. It’s a module of apache which supports servlets.

7. What is self service application?
Ans: Whatever part of u r oracle application u r able to see through web browser is self service.

8. Where u will see when u r not able to get self service applications?
Ans: access_log, error_log, error_pls, jserv.log, apps password)

9. What is the location of jserv.log?
Ans: IAS_ORACLE_HOME/Apache/Jserv/log

10. What is the location of
Ans: IAS_ORACLE_HOME/Apache/modplsql/cfg

11. What are jserv.conf and files?
Ans: These are the configuration files which were used to start jvm’s (servlet
engine) by apache.

12. What is mean by clearing cache and bouncing apache?
Ans: 1. Stop apache ( stop apps)
2. Clear cache – Go to $COMMON_TOP/html/_pages and delete _oa_html
directory (rm –r _oa__html)
3. Start apache ( start apps)

13. What is forms configuration file and its location?
Ans: appsweb_contextname.cfg @$COMMON_TOP/html/bin

14. What are the different modes u can start u r form server?
Ans: socket and servlet

15. What is the difference between socket and servlet mode?
Ans: In socket mode forms sessions are represented by f60webmx
In servlet mode forms sessions are represented by apache processes.

16. What are forms metric server and client?
Ans: When there are more than one form sever instances then forms metric
server and client will be used to load balance.

17. Where the forms server related errors will be logged?
Ans: access_log and error_log

18. What are report server configuration and log file name and its location?
Ans: Configuration file – REP_.ora
Log file – REP_.log @806_ORACLE_HOME/reports60/server

19. What is CGIcmd.dat file and its location?
Ans: CGIcmd.dat file is the run time parameter file the report server located @

20. What is the significance of DISPLAY variable?
Ans: Vnc server should be up and running at the specified port value in DISPLAY variable, otherwise report server may not able to show the graphics in

21. Where is the concurrent manager log file located?
Ans: $COMMON_TOP/admin//log or $APPLCSF/$APPLLOG

22. Is apps password necessary to start all the components of oracle
Ans: No. Only to start/stop concurrent manager’s apps password is needed.

23. What are dbc file and its location?
Ans: dbc file contain database connection information. DBC file is used by oracle applications to connect to database. Its location is $FND_TOP/secure

24. What is the other script by which u can start apache other than
Ans: apachectl @IAS_ORACLE_HOME/Apache/bin

25. What is the configuration file for PL/SQL listener?
Ans: httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

26. How to find form server version?
Ans: f60gen and press enter, it will tell u the form server version or we can find out from the front-end using help menu.

27. What is RRA?
Ans: RRA stands for Report Review Agent. RRA is nothing but FNDFS which is
part of apps listener. RRA job is to pick the log/out file from the file system and show on the editor when u press view log/out button in ‘View concurrent requst form’.

28. What is apps listener?
Ans: Apps listener is the combination of FNDFS and FNDSM. FNDSM is service
manager which will monitor application services on that node when GSM: enable profile value is ‘Y’.

29. What is GSM?
Ans : GSM stands for Generic service Manager, which will monitor application
processes like web, forms etc and restarts any of this processes if goes down.

30. How to find the application version like 11.5.8/11.5.9….?
Ans: select release_name from fnd_product_groups;

31. How to find out what are the languages enabled in u r applications?
Ans: Query fnd_languages

Oracle Apps DBA - Adutilities

1. What is for “validating apps schema” option in adadmin?

Ans: It will check for the corrupted objects in apps schema

2. What is “compile apps schema” option in adadmin?
Ans: It will compile the invalid database objects.

3. How to find MRC is enabled or not?
Ans: In adadmin if covert to MRC options is there, then MRC is not enabled.
If maintain MRC options is there, then MRC is enabled.

4. How to find Multi-Org is enabled or not?
Ans: In adadmin if covert to Multi org option is there, then Multi-org is not
enabled. If maintain multi-org options is there, then Multi-org is enabled.

5. What is mean by MRC?
Ans: MRC stands for Multiple reporting Currency, this should be enabled to see
the reports in different currencies like (rupees, yaans etc).

6. What is Multi-Org?
Ans: If this is enabled we can store multiple organization information in a single oracle application instance.

7. What is the configuration file for ad utilities (like adadmin,adconfig etc)?
Ans: adconfig.txt @APPL_TOP/admin

8. What is adrelink?
Ans: adrelink will relink the executables with the libraries. Generally we will go for adrelink when some patch delivers some library files, or when executables were corrupted.

9. How to find the version of a file?
Ans: 1. adident Header
2. Strings -a filename | grep Header

10. What is adodfcmp utility?
Ans: This utility is used to recreate/repair corrupted database objects from
odf(object definition files) files.

11. How you will change apps password?
Ans: FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS

12. what if apps password is changed with alter command?
Ans: Applications won’t work.

13. What is the difference between alter and FNDCPASS in changing apps
Ans: FNDCPASS will update some fnd tables other than standard tables.

14. Where the FNDCPASS utility is located?
Ans: Concurrent node @FND_TOP/bin