Вы находитесь на странице: 1из 1040

g:\prints\interview\ans_interview1.

txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
What is OraInst.loc?

Oracle environment control is maintained in two metadata files located in the


/var/opt/oracle directory1. The oraInst.loc file is used by the Oracle Universal
Installer to
maintain the inventory directory location and installation group name. The oratab
file is used to maintain the database SIDs defined, their corresponding ORACLE_HOME
directory and
a Y or N flag to indicate whether the database should be started on boot. The
following will
describe these files in detail and the extensions made to them.

oraInst.loc File
The oraInst.loc file is used by the Oracle Universal Installer to locate the
oraInventory
directory. The format of the file is as follows:
#Oracle Installer Location File Location
#Wed Feb 27 14:43:50 PST 2002
inventory_loc=/oracle/product/9.2.0/oraInventory
inst_group=dba
By default the �oraInventory� directory is placed in the $ORACLE_BASE directory.

oratab File
The oratab file maintains information about the databases currently installed. It
is created
during installation by the root.sh script and updated by the Database Configuration
Assistant
(DBCA) when creating new databases. The format of an entry is:
$ORACLE_SID:$ORACLE_HOME:<N|Y>
where $ORACLE_SID is the database system identifier, $ORACLE_HOME is the Oracle
Server software directory for the database, and the third field is used by the
�dbstart� utility
with a �Y� indicating that the database should be started at system boot and a �N�
indicating
that it shouldn�t. A colon terminates a field and comment lines are ignored by the
Oracle
utilities.
===========================================
How to list oracle inventory?
ANS:opatch lsinventory -details

Note:308916.1-Metalink

Goal
How to use Perl and Opatch to install interim patches?

Solution
The available information can be confusing sometimes because there are
many Perl distributions and more than one Opatch version.
Furthermore, Perl can either be provided with the Oracle database (10g) or the
Oracle HTTP server (OHS). It is also possible to use an independent Perl
distribution like Activestate Perl (www.activestate.com).
Note that most Perl distributions are in fact Open Source software and can be
distributed freely.
Also Opatch can be part of the Oracle software distribution.
Opatch can also be downloaded separately from Metalink and should then be used
from its own directory outside any Oracle Home.

Use the following simple setup which may provide the best chance for success:

1. Independent Perl distribution from Active state installed in C:\Perl


2. Add the directory C:\Perl\bin of the Perl.exe to the PATH
3. Download the latest Opatch from Metalink as patch 2617419
4. Unzip the Opatch utility in the directory C:\Opatch
5. Download and unzip the required interim patch to a directory C:\Patches
so you have the actual interim patch in a directory like C:\Patches\<Patch Number>\
6. Start a command window
7. Set the following environment variables:
set ORACLE_HOME=<your Oracle Home>
set PERL5LIB=C:\Perl\lib
set ACTIVE_STATE_PERL=TRUE
N.B. use TRUE in upper case
8. cd to C:\Patches\<Patch Number>\
9. To check the Inventory, use the opatch utility like
C:\Patches\<Patch Number> perl C\Opatch\opatch.pl lsinventory

Use the following command to apply the patch <Patch Number>:


C:\Patches\<Patch Number> perl C:\Opatch\opatch.pl apply

=======================================================
How to rollback a failed interim patch installation?
NOte:Note:312767.1

Applies to:
Oracle Server - Enterprise Edition - Version: 9.0.4.1 to 10.1.0.99
This problem can occur on any platform.
All versions of OPatch
Symptoms
During the installation of an Interim patch using OPatch, the follow error is
returned:
OPatch has encountered an error during the application of the patch.
Do you want to Stop:
Beginning with OPatch 1.0.0.0.53, the following will be included:
Replying 'Y' will terminate the patch installation immediately.It WILL NOT restore
any updates that have been performed to this point. It WILL NOT update the
inventory.
Replying 'N' will continue with updating the inventory showing the patch has been
applied.
NOTE: After replying either 'Y' or 'N' it is critical to review:
Metalink Note 312767.1 How to rollback a failed Interim patch installation.
Do you want to STOP?
Please respond Y|N >
Changes
Interim patch was applied.

Cause
During the installation of an Interim patch there were errors copying files,
updating objects or relinking binaries.

Solution
NOTE: OPatch will not automatically rollback the objects that were updated and
rerunning OPatch before rolling back the objects will destroy the rollback.sh
script making it impossible to rollback the updates.
Use one of the following options to successfully apply or rollback the patch. The
steps below will remove patch number 123456 (replace 123456 with the patch correct
patch number).

There are multiple solutions depending on the option taken to end the patch
install:

Do you want to Stop:

Scenario 1: Replying Y:

Manually rollback the patch

% sh $ORACLE_HOME/.patch_storage/123456/rollback_123456.sh
% sh $ORACLE_HOME/.patch_storage/123456/123456_make.txt

Scenario 2: Replying N:

Rollback the patch using OPatch

% cd <patch number>
% opatch rollback -id <patch number>

Scenario 3: The rollback.sh was overwritten:

Move (NOT remove) the original backup directory


% mv $ORACLE_HOME/.patch_storage/123456 $ORACLE_HOME

Rebuild the rollback.sh by reapplying the patch with the no_inventory and no_relink
options
% cd <patch directory>
% opatch apply -no_inventory -no_relink

Copy the rollback and make script to the original directory


% cp $ORACLE_HOME/.patch_storage/123456/rollback_123456.sh $ORACLE_HOME/123456
% cp $ORACLE_HOME/.patch_storage/123456/123456_make.txt $ORACLE_HOME/123456

Move the original backup directory to $ORACLE_HOME/.patch_storage


% mv $ORACLE_HOME/.patch_storage/123456 $ORACLE_HOME/123456.rereun
% mv $ORACLE_HOME/123456 $ORACLE_HOME/.patch_storage

Run the rollback script and make commands


% sh $ORACLE_HOME/.patch_storage/123456/rollback_123456.sh
% sh $ORACLE_HOME/.patch_storage/123456/123456_make.txt

g:\prints\interview\Apps dba interview.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Apps DBA Interview uestions
===================================:

1 Why do you need GUEST/ORACLE To connect to database?


The GUEST user account is used in the application internally ( it is an application
user). One of the major needs of this account is when there is a need to decrypt
the APPS password (which is stored in an encrypted format in the apps tables). In
order to decrypt the APPS password, the GUEST username/password is used to
accomplish this task (using �Guest User Password� profile option).
GUEST account is used to obtain the decrypted value of the apps password for
internal processes (i.e. when there is a need to connect as apps internally).
when the account gets locked/end-dated then you will see a blank page when you try
to login to the instance.In that scenario you will have to correct this situation
from the back-end as you will not be able to login to the application.
You will not find much details about the GUEST account documented anywhere ( may be
coz of security reasons).
Key points :
s_guest_user is GUEST and s_guest_pwd is EXPORT in adconfig xml file.
select fnd_web_sec.validate_login(�GUEST�,�ORACLE�) FROM DUAL; ( to validate if
guest user is corrrect)
select fnd_profile.value(�GUEST_USER_PWD�) from dual; (to find the current guest
user password)
Check the GUEST/ORACLE password is present in DBC file at $FND_TOP/secure directory
as well as at $FND_TOP/secure/SID_hostname directory.

2 What is the purpose of JSERV?

Oracle 11i uses Jserv as the servlet engine. R12 uses OC4J as the servlet engine.
R12 uses version 10g of the Oracle Application Server, which does not have or use
jserv
Once you click on the Oracle E-Business Home Page link, the reuest is forwarded by
Apache to Jserv. Jserv sends it to Appslogin servlet
Few related useful definitions below :

a) Apache JServ
� the 100% pure Java server application that acts as an independent servlet-reuest
server.

b) mod_jserv
� the Apache module that converts HTTP reuests to servlet reuests, connecting to
the proper servlet engine and sending back the HTTP response to the client.

c) Apache JServ Protocol(AJP)


� the protocol used to communicate between the web server and the servlet engine
over a TCP/IP connection.

d )Servlet
� A servlet is a Java server side application that runs inside a network service,
such as a web server.It responds to reuests from clients, accepting client input
and dynamically generating output. For example, a database uerying servlet may
receive a client�s uery, run it against the connected database, process obtained
data, and return formatted output to the client.

3 How to increase the performance of Apache?


Oracle HTTP Server uses directives in httpd.conf. This configuration file specifies
the maximum number of HTTP reuests that can be processed simultaneously, logging
details, and certain limits and time outs.
The parameters defined in this file can be tweaked, which will impact the
performance of http (apache) server.
for example :
1) KeepAlive option should be used judiciously along with MaxClients directive.
KeepAlive option would tie a worker thread to an established connection until it
times out or the number of reuests reaches the limit specified by
MaxKeepAliveReuests. This means that the connections or users in the ListenBacklog
ueue would be starving for a worker until the worker is relinuished by the keep-
alive user. The starvation for resources happens on the KeepAlive user load with
user population consistently higher than that specified in the MaxClients.

2) Increasing MaxClients may impact performance in the following ways:


A high number of MaxClients can overload the system resources and may lead to poor
performance.

For a high user population with fewer reuests, consider increasing the MaxClients
to support KeepAlive connections to avoid starvation. Note that this can impact
overall performance if the user concurrency increases. System performance is
impacted by increased concurrency and can possibly cause the system to fail.To
avoid potential performance issues, values for any parameters should be set only
after considering the nature of the workload and the system capacity.

4 Tell me some issues with Apache?


There can be many Apache issues. Some issues can be:
1) Apache process crashes and not able to come up.
One reason can be huge log file of above 2 gb because of which Apache process is
unable to write to it coz of OS limitations.
2) sometimes clone/ install issues can also cause problem with Apache, example
After clonning (or installing) an Oracle Applications Release 12.0 or 12.1 instance
on Linux 5, an error may occur while starting up the Apache service. The error
would be this:

You are running adapcctl.sh version 120.6.12000000.4
Starting OPMN managed Oracle HTTP Server (OHS) instance �
adapcctl.sh: exiting with status 204

Review the HTTP log file. The error is very clear about the missing soft link. It
would show this error:

<physical Path>/10.1.3/Apache/Apache/bin/apachectl startssl: execing httpd
<physical Path>/10.1.3/Apache/Apache/bin/httpd: error while loading shared
libraries: libdb.so.2: cannot open shared object file: No such file or directory

Soft link libdb.so.2 is missing.
As the unix root user, create a soft link as follows:
ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2

5 What is the difference between applsys, applysyspub and apps users?


Apps is a schema which does not contain any tables of itself. We can say APPS is
the shared runtime schema for all E-Business Suite products. It contains all the
synonyms of all the table in Oracle apps. But it also contains packages, functions,
procedures. The default password is apps.
Hence, apps schema has universal access to Oracle Applications.

Applsys

schema contains all the tables reuired for administarative purpose. The default
password is apps. All the technical products� database objects are consolidated
into a single schema called Applsys
It is a schema that stores the data objects for the Applications technology layer
products (FND, AD, and so on).

Applsyspub

schema is responsible for password checking.The default password is pub.Applsyspub


is used for authentication by having read only views.
It is a public schema which is used only during the signon process and has no data
objects, only synonyms to APPS.
This user account has very restricted privileges and has access to below objects
(primarily for authentication purposes):-
FND_APPLICATION
FND_UNSUCCESSFUL_LOGINS
FND_SESSIONS
FND_PRODUCT_INSTALLATIONS
FND_PRODUCT_GROUPS
FND_MESSAGES
FND_LANGUAGES_TL
FND_APPLICATION_TL
FND_APPLICATION_VL
FND_LANGUAGES_VL
FND_SIGNON
FND_PUB_MESSAGE
FND_WEBFILEPUB
FND_DISCONNECTED
FND_MESSAGE
FND_SECURITY_PKG
FND_LOOKUPS

6 What is GSM and FNDSM ?

Service processes (application tier processes such as Forms listeners, HTTP


servers, and concurrent managers etc) must be kept running on an application tier
for the proper functioning of their associated products. Management of the services
is complicated by the fact that they may be distributed across multiple host
machines. The Generic Service Management (GSM) feature simplifies management of
these generic service processes, by providing a fault-tolerant framework with a
central management console built into Oracle Applications Manager.

FNDSM is executable and core component in GSM (Generic Service Management


Framework). GSM and Concurrent Processing are closely integrated.
You start FNDSM services via application listener on all Nodes in Application Tier
in E-Business Suite.

The Service Manager (FNDSM) PID can be used to locate all concurrent manager and
service processes on the node, since the Service Manager (FNDSM) is the parent
process

Script to start FNDSM: gsmstart.sh

7 What will happen to pending reuest if ICM is down?

Keep in mind that the ICM really does NOT have any concurrent reuest scheduling
responsibilities. It has NOTHING to do with scheduling reuests, or deciding which
manager will run a particular reuest.
Its function is only to run �ueue control� reuests, which are reuests to startup or
shutdown other managers. It is responsible for startup and shutdown of the whole
concurrent processing facility, and it also monitors the other managers
periodically, and restarts them if they should go down. It can also take over the
Conflict Resolution manager�s job, and resolve incompatibilities.

So pending reuest will run as usual.

8 What happen if �alter user apps identified by password� is fired for apps user?

We cannot change apps password through alter user statement because Oracle
Application use APPS PASSWORD to encrypt end user�s password in FND_USER and oracle
user�s password in FND_ORACLE_USERID. So using FNDCPASS to change password of APPS,
changes the column encrypted_oracle_password in these two tables, but alter don�t
do this actions. FNDCPASS update DBA_USERS table as well.
While when you run �alter user apps identified by password� it will update only
DBA_USERS.

If you have mistakenly did used �alter user�, you may see below error:

APP-FND-01496: Cannot access application ORACLE password


Cause: Application Object Library was unable access your ORACLE password.

It is very difficult to recover the application at this stage.

9 How will you plan to do multi-node to single node cloning in 11i and R12?

In 11i, RapidInstall copies from the Staging Area only reports on CM nodes and
Forms on the Web nodes. To do multi-node to single node clone in 11i, it is called
merging appltops.
$perl adpreclone.pl appsTier merge
and then copy /clone/appl from every source appl server
Depending on which tier you chose as the primary node, certain files may be
missing. Run adadmin to verify files reuired at runtime. If any files are listed as
missing files, you must manually copy them to the merged APPL_TOP from other nodes�
APPL_TOP

In R12 it is easy to do multi node to single node cloning.


In R12, it employs a new concept called Unified Appltop, which means that no matter
what you choose while installing, R12 will install a complete apps file system on
all nodes.
All you need to do is choose a node for running adpreclone.pl appsTier, copy that
node to target system, and run adcfgclone.pl

10 Which all tables FNDCPASS touches when changing user�s password?

Below is how FNDCPASS works.

(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.

11 ADPATCH creates two tables during patch application. What are the contents of
those tables.

when we are applying patches 2 tables will be created i.e


1)fnd_install_processes
2)ad_deferred_jobs

1)fnd_install_processes � This table is used to store the information about the job
given to the worker. It will insert a row for each worker when it assigned a job.
This table serves as a staging area for the job information, and as a way for the
manager and the worker to communicate. Once all jobs are complete, the manager
tells the workers to shut down, and then drops the FND_INSTALL_PROCESSES table

2)ad_deferred_jobs � this table is used to store the information about the deferred
jobs (jobs failed to run).

12 What are custom schema creation steps?


Step-1 : Create a Tablespace in the backened Database for custom schema.
Step-2 : Create Schema
Step-3 : Grants Connect and Resource to schema
Step-4 : Make the directory structure for your custom application files.
Step-5 : Create Custom Environment file in APPL_TOP directory
Step-6 : Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application�>Register
Step-7 : Register Oracle User
Naviate to Security�>Oracle�>Register
Step-8 : Add Application to a Data Group
Navigate to Security�>Oracle�>DataGroup
Step-9 : Create custom reuest group, custom menu etc

13 How to do new product licensing?

select Site Map -> License Manager -> License Applications Product
or
$AD_TOP/sl/adlicmgr.sl

Select the product(s) to be licensed.

Click on submit button.

14 What is the purpose of FNDFS?

FNDFS or the Report Review Agent (RRA) is the default text viewer within Oracle
Applications, which allows users to view report output and log files. Report Review
Agent is also referred to by the executable FNDFS.

When the operation of trying to view reports takes place, the Report Review Agent
needs a valid connection string definition to successfully make the network
connection to the application server, and this is done through the FNSFS entries
presented in the tnsnames.ora file.
1) The user selects �Reuest Output�, �Reuest Log�, or �Manager Log�
2) The file name and nodename are selected from the database.
SELECT outfile_name, outfile_node_name FROM fnd_concurrent_reuests
WHERE reuest_id = :id;
3) The client takes the nodename that was returned and adds FNDFS_ to the
beginning of it.
4) a connection is made to the given host. The listener on
this host receives the connection reuest, and resolves the SID using its
listener.ora file. If it finds a PROGRAM parameter listed for this SID, it will
launch this program. (which should be $FND_TOP/bin/FNDFS)

15 What are the basic steps for Printer Installation in EBS 11i/R12?

For most printing needs, the Pasta Utility offers uick setup and easy maintenance.
For additional flexibility, Oracle E-Business Suite allows you to define your own
printer drivers and print styles.

1. Setup the printer at the OS level


2. Add a valid entry in the hosts file (Printer Name and the IP Address)
3. Login to System Administrator responsibility
4. Navigate to Install > Printer > Register
5. Define a new printer by entering the Printer Name you have set in the hosts file
6. Save
7. Bounce the Concurrent Manager
16 What are basic steps for Workflow Mailer configuration?

> use Oracle Application Manager (OAM) to configure Workflow Notification Mailer.
> For Outbound Notification, CM (Concurrent Manager) node should be able to connect
to SMTP (Simple Mail Transfer Protocol) server/relay.
> For Inbound Notification (Optional), CM node should be able to connect to IMAP
(Internet Message Access Protocol) Server.
> Log file for Workflow Mailer Notification are at $APPLCSF/$APPLLOG/FNDC*.txt
> Workflow Notification Mailer in background run as Concurrent Manager (Workflow
Mailer Service, Workflow Agent Listener Service)
> If you wish to configure Inbound Notification as well then ensure IMAP Server
should be configured with a valid user (create Inbox, Processed & Discard folder
for this User)
> Schedule �Workflow Background Process� Concurrent Reuest:

1. Freuency : Every 5 Minutes � Parameter : Deferred:Yes, Timeout:No, Stuck:No


2. Freuency : Every 60 Minutes � Parameter : Deferred:No, Timeout:Yes, Stuck:No
4. Freuency : Daily � Parameter : Deferred:No, Timeout:No, Stuck:Yes
5. Freuency : Every 10 Minutes � Parameter : Deferred:Yes, Timeout:No, Stuck:
6. Freuency : Every 6 Hours � Parameter : Deferred:Yes, Timeout:Yes, Stuck:Yes
The main component of the Oracle Workflow Notification Mailer is the executable
WFMAIL. This is a server side program that ueries the database for any pending
notifications. It then dispatches these notifications by calling sendmail for UNIX
and the MAPI APIs for Microsoft Windows NT. The notification mailer also ueries the
local inbox for incoming messages. These messages are validated and then passed to
the database for response processing. To configure Workflow Notification Mailer we
have to do OS level setup (Sendmail) and Application level setup.

17 Is it possible to upgrade to R12.1.1 from 11.5.9?

Yes
Applications R11.5.6 and below reuires to first upgrade to R11.5.10.2/10gR2
Applications R11.5.7 and up can be directly upgraded to R12
But 11.5.9 can not be upgraded to R12.2 directly.

18 What are the high level steps for upgrading 11i to R12.1.3?

� Upgrade database 9.2.0.6 to 11.2.0.4 in 11i


* Upgrade database from 9.2.0.6 to 9.2.0.8 and then to 11.2.0.4.
* Apply all interoperability patches for EBS 11i to work with 11.2.0.4 database.
* Upgrade JDK/JRE to supported version.

� If you want to use R12 on 64 Bit, 11i Split configuration- Move 11g Database to
Linux 6 64Bit.

* Install 64 Bit Database 11.2.0.4 software on the new 64 Bit Linux machine.
* Move 11i database from old Linux 32-bit to new Linux-64 bit machine and attach
11i application to new 64 Bit database.

� Upgrade 11i TO R12.1.1

* Prepare 11i database for upgrade (configuration, applying patches etc).


* Install R12.1.1 upgrade filesystem on the same 64 Bit Linus machine that we
configured earlier and where our database currently run.
* Configure R12.1.1 application with existing 11.2.0.4 64 Bit database.
� Upgrade R12.1.1 To R12.1.3

* Upgrade all ORACLE_HOMEs (database, forms 10.1.2, web 10.1.3)


* Upgrade R12.1.1 application to R12.1.3 on Linux 64 Bit machine.

19 How does one process more concurrent reuests concurrently?

The Concurrent Manager parameters, (uery the concurrent manager by Login as


Sysadmin, navigate -> Concurrent -> Manager -> Define and uery for the relevant
concurrent manager), should be modified to handle more concurrent reuests
concurrently, this can be done in two steps:

(i) Increase the Number of Target processes for the manager


(ii) Change the cache size of the concurrent manager as this determines how many
reuests will be evaluated by a manager at a time and should match the target
(process) value as set above.

20 How to restart a patch? How will you take backup of tables �


FND_INSTALL_PROCESS, AD_DEFERED_JOBS?

Sometimes you need to apply a second patchin the middle of a running patch.

1. Use adctrl (option 3) to tell all the existing workers to UIT

2. Use adctrl (option 5) to tell managers that all workers have UIT. (Adpatch
session ends!)

3. Backup tables applsys.ad_deferred_jobs and applsys.fnd_install_processes.


Login as APPLSYS user and execute:
ALTER �TABLE� applsys.ad_deferred_jobs �RENAME� TO ad_deferred_jobs_old;
ALTER �TABLE� applsys.fnd_install_processes �RENAME� TO fnd_install_processes_old;
ALTER �INDEX� applsys.ad_deferred_jobs_u1 �RENAME� TO ad_deferred_jobs_u1_old;
ALTER �INDEX� applsys.fnd_install_processes_u1 �RENAME� TO
fnd_install_processes_u1_old;
4. Go to $APPL_TOP/admin/SID/ for example $APPL_TOP/admin/TEST/ and rename the
existing directory �restart�

$mv restart restart.old

5. Use adpatch to apply the second/other patch.

6. Login as APPLSYS and revert back to the original tables, ad_deferred_jobs and
fnd_install_processes
ALTER �TABLE� applsys.ad_deferred_jobs_old �RENAME� TO ad_deferred_jobs;
ALTER �TABLE� applsys.fnd_install_processes_old �RENAME� TO fnd_install_processes;
ALTER �INDEX� applsys.ad_deferred_jobs_u1_old �RENAME� TO ad_deferred_jobs_u1;
ALTER �INDEX� applsys.fnd_install_processes_u1_old �RENAME� TO
fnd_install_processes_u1;
CREATE SYNONYM FND_INSTALL_PROCESSES FOR APPLSYS.FND_INSTALL_PROCESSES;
CREATE SYNONYM AD_DEFERRED_JOBS FOR APPLSYS.AD_DEFERRED_JOBS;
7. Replace the original restart directory:
cd $APPL_TOP/admin/SID/ for example $APPL_TOP/admin/TEST/
mv restart restart_new
mv restart.old restart
8. Run adpatch to continue the first patch (with continue session?Yes)
9. Use adctrl (option 2, will change status to �Fixed/Restart�) to restart the
failed workers for first patch

21 How will you reduce down time in 11i to R12 upgrade?

APPLICATION LEVEL
������
� Take advantage of patch merge & hot patching of help/nls portions
� Use Shared APPL_TOP, shared application tier with Distributed AD (use of multiple
application nodes to run ADPATCH in parallel)
� Prepare a complete list of pre and post patches and recommended code levels
including CUP � Critical Upgrade Patches
� Apply latest RUPs for ATG/AD/OAM prior to upgrade
� Purge Data aggressively
� Re-gather Statistics close to start of actual upgrade downtime
� Batch size � 10K is suitable for most installs, you can test other values from 1K
up to 100K
� Number of Workers � Starting rule-of-thumb is between 1 and 1.5 x #CPUs
� Order NLS Sync patchsets in Oracle instead of download and apply it for each
patch.
� use staged application system ( not good for r12.2)
DATABASE LEVEL
�����
� Maximize SGA and PGA sizing � Adjust with help from AWR pool advisories
� Set job_ueue_processes = # of CPUS
� Set parallel_max_servers = 2 X CPUs
� Double java_pool_size
� Shutdown other RAC instances on same server
� Re-create your redo-logs � no mirrors, 2GB+
� Make sure you�ve applied the latest PSU for your DB version (especially if you�re
doing an 11i to R12 upgrade with DB upgrade as well).
� Turn off archive logging � use interim snapshot backups for rollback points
� Gather statistics with higher estimate.
HARDWARE LEVEL
�����
� H/W and OS planned changes � put as much CPU as possible on database node and
RAM.
� CPU Server utilization in testing cycle (scale down if at 100%)
� Implement �huge pages� to offload your CPUs.
� Check Server Memory utilization in testing cycle (no swapping/ excessive paging)

22 What are high level important steps in R12.2 cloning process?

PART 1 : PREREUISITE TASKS


���������-
� check for in-progress online patching cycle

PART 2 : PREPARE SOURCE SYSTEM


����������
perl adpreclone.pl dbTier
perl adpreclone.pl appsTier
**reuire Apps User password and Weblogic AdminServer password
In 12.2, the adpreclone.pl process on the application tier creates a complete
compressed archive of the Oracle Fusion Middleware and its components

PART 3 : COPY APPLICATION TIER NODE


������������
Copy Application Tier node from the Source �Run Edition File System� to the Target
�Run Edition File System�.
so if source run edition is fs2, then target run edition will also be fs2
Only copy �EBSapps� directory from under $RUN_BASE. DO NOT COPY �inst� or
�FMW_Home�

PART 4 : COPY DATABASE TIER NODE


�����������
do normal RMAN cloning
PART 5 : CONFIGURE TARGET DATABASE SYSTEM
��������������
SL> exec fnd_conc_clone.setup_clean;

$ perl adconfig.pl dbTier


PART 6 : CONFIGURE TARGET APPLICATION SYSTEM
���������������
$ perl adcfgclone.pl appsTier

RUN ADPRECLONE ON RUN EDITION <<< NEW STEP IN R12.2


COPY TARGET RUN EDITION OVER TARGET PATCH EDITION <<< NEW STEP IN R12.2
RUN ADCFGCLONE ON TARGET APPLICATION NODE PATCH EDITION <<< NEW STEP IN R12.2

PART 7 : FINISHING TASKS


��������-
Update profiles, workflow settings, SESSION_COOKIE_DOMAIN, SSL and SSO
configuration as reuired
Changing SYS/SYSTEM/APPS/SYSADMIN/OTHER ORACLE passwords as per business
reuirements

23 AD_BUGS VS AD_APPLIED_PATCHES. When to use which table?

� AD_BUGS: holds information about the various Oracle Applications bugs whose fixes
have been applied (ie. patched) in the Oracle Applications installation.
So this table holds information about all bug fixes that have been applied. Even if
this patch have been included in other patch.

� AD_APPLIED_PATCHES: holds information about the �*distinct*� Oracle Applications


patches that have been applied. If 2 patches happen to have the same name but are
different in content (eg. �merged� patches), then they are considered distinct and
this table will therefore hold _2 records_
So it contains information on patches you installed directly (running adpatch
driver=u<patch>.drv).

24 What is forms server? Explain briefly, how the connection of the forms server
works?

The forms server is that server which the forms are hosted. It�s a component of
middle tier. The forms server can be hosted from more than one node and the load
balancing can be implemented with the forms. The forms user interface is used in
the desktop clients for working in Oracle Applications.

Below is what happens:


� Browser receives Java Applet (JAR files) and begins to run them in its JVM
� The Java thin client connects to the forms listener via a TCP/IP socket or an
HTTP port. The forms listener is already started, and listens for these reuests.
� Forms Listener allocates a forms runtime engine
� Java Applet connection is passed from Forms Listener to forms runtime engine.
Forms runtime engine loads module(s) needed to run the reuested form. As per form
name received, Forms runtime engine loads the form and any libraries and/or menus
reuired by that form.
� Forms runtime engine opens a connection to the database.

25 Describe Purge programs in EBS and their significance?

Below are two important purge programs:

1) Purge Concurrent Reuests and/or Manager Data


� delete information about completed concurrent reuests from below set of tables

FND_CONCURRENT_REUESTS,
FND_RUN_REUESTS,
FND_CONC_REUEST_ARGUMENTS,
FND_CONC_STAT_LIST,
FND_CONCURRENT_PROCESSES,
FND_CONC_STAT_SUMMARY,
FND_CONC_PP_ACTIONS,
FND_RUN_RE_PP_ACTIONS
and FND_DUAL tables.

� also deletes the log and output files for those concurrent reuests from your UNIX
file system
� For parameter �Mode], choose Age so it could delete files older than the number
of days specified in Mode Value.

2) Purge Obsolete Workflow Runtime Data

Workflow records data about each step of a running workflow in the

WF_ITEMS,
WF_ITEM_ACTIVITY_STATUSES,
WF_ITEM_ACTIVITY_STATUSES_H,
WF_ACTIVITY_ATTR_VALUES,
WF_NOTIFICATIONS, and
WF_NOTIFICATION_ATTRIBUTES

26 In the cloning process, when do you utilize dbTechStack vs just dbTier?


perl adcfgclone.pl dbTechStack vs perl adcfgclone.pl dbtier

There are different components with RapidClone that are used when cloning an Oracle
Applications instance. These are:

dbTechStack (RDBMS ORACLE_HOME)


database (database only, including control file creation)
dbconfig (database only, with no control file creation)
dbTier (both dbTechStack and database)

atTechStack (Tools and Web ORACLE_HOMEs)


appltop (APPL_TOP only)
appsTier (both atTechStack and appltop)

perl adcfgclone.pl dbtier


This will configure the ORACLE_HOME on the target database tier node + recreate the
control files. This is used for cold backup.
perl adcfgclone.pl dbTechStack
This will configure the ORACLE_HOME on the target database tier node only. When
running this command you will have to recreate the control files manually.
This is used to clone the Database separately, for example using RMAN hot backup.

When you use �dbTier� option, the perl script will configure both the tech stack
and data stack(ORACLE_HOME and Oracle Database) whereas �dbTechStack� option will
only configures ORACLE_HOME and it WILL NOT create database and this is generally
used while doing hot clone where db creation is a manual step.

27 How To Verify Application Of Pre-install Patches As They Are Not Recorded In


Tables AD_APPLIED_PATCHES Or AD_BUGS?
The preinstall mode of adpatch will not update the ad_bugs neither the
ad_applied_patches tables. The preinstall mode is used when Oracle may reuire
the install of a patch before running AutoInstall to install or upgrade Oracle
Applications. Otherwise, the patch should be applied in normal mode.

Please check the read me of the patch you are applying in pre install mode. It
would typically show the files and file versions installed by the patch.
By checking the file versions in the read me is the easy way to verify if the patch
is installed.

AutoPatch stores patch information in the database automatically each time it


successfully applies a patch. However, if the patch is not applied successfully, or
when you run AutoPatch in pre-install mode, patch history is not written directly
to the database, but instead is written to these patch information files:

javaupdates.txt, which contains information about changes to Java files

adpsv.txt, which contains information about changes to all files except Java files

Both files are located in the /admin/ directory. Each time you run AutoPatch, it
checks this directory for the existence of the patch information files. If it finds
them, it automatically uploads the information they contain to the patch history
database. If the upload is successful, AutoPatch then deletes the files from the
directory. The AutoPatch log file records whether the upload was successful or
unsuccessful.

28 Does Last Update Date Column In The AD_APPLIED_PATCHES Table Get Updated For
Every Patch Run?

There is no information captured in the AD_APPLIED_PATCHES Table for every re-


application of a patch.

Users should refer to tables like ad_patch_runs,ad_patch_run_bugs and


ad_patch_run_bug_actions to see change in last updated date as these tables hold
information of various runs of a patch and the bugs that may or may not have got
applied in a particular invocation.

Whereas the tables like ad_applied_patches and ad_bugs do not get updated their
rows with various invocations of adpatchand hence last updated date also does not
change.

g:\prints\interview\apps_interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle APPS DBA Interview Questions and Answers - Beginners 11i

5. What are u r regular activities?


Ans: Patching, patch analysis, monitoring, trouble shooting, resolving lock issues,
providing trace files,cloning, shutdown/starups,backup etc�.

6. What is a patch?
Ans : A patch can be a solution for a bug/it can be a new feature.

7. What are the different types of patches?


Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

8. What is a oneoff patch?


Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s
9. What is a mini pack ?
Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

10. What is Family pack ?


Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.

11. What is Maintanance pack ?


Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9

12. What is a Rollup patch?


Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

13. What is consilidated patch?


Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

14. How u will find whether a patch is applied/not?


Ans : Query ad_bugs.

15. What is the other table where u can query what are the patches applied?
Ans : Ad_applied_patches

16. What is the difference between ad_bugs and ad_applied_patches?


Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

17. How u apply a patch?


Ans : adpatch

18. What inputs you need to apply a patch other than driver name and etc?
Ans : apps and system passwords

19. What are the table u r adpatch will create and when?
Ans : Adpatch will creat FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it
will apply d,g and u drivers

20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

21. If it is a multinode installation which driver we need to apply on which node?


Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to
apply on all nodes.

22.While applying a application patch is that necessary that u r database and


listener should be up?
Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..
23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?
Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS
tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

24. What is adctrl?


Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.

25. Can u name some of the menu options in adctrl?


Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

26. How to skip a worker and why?


Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

27. How adpatch knows what are the pre-req�s for the patch which it is applying?
Ans: With every patch a file called b<patch_number>.ldt file will be delivered
which contain the pre-req information. adpatch load this into databse using FNDLOAD
and check , whether those pre-req patches were applied or not.

28. What is FNDLOAD ?


Ans: FNDLOAD is a utility which is similar to sqlloder but loads code objects into
database, where as SQLLOADER loads data objects into database.

29. What c-driver will do?


Ans: C-drive copies the files from patch unzipped directory to required location in
u r application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.

30. How adpatch will know the file versions of the patch delivered files?
Ans: With each patch a file with name f<patch_number>.ldt is delivered , which
contain the file versions of the files dilivered with the patch. Adpatch will use
this file to compare the file versions of files its delivering with the file on
file system.

31. What is the adpatch log file location?


Ans : APPL_TOP/admin/SID/log

32. What is the worker log file name and its location?
Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

33. How u will know what are the files the patch is going to change just my
unzipping the patch?
Ans: When u unzip a patch it will keep all the files related to a particular
product under that directory inside u r patch directory for example if the patch
delivering files related to FND product then it will create a sub directory under
the patch directory with the name FND in which it will put all related files to
that product
34. What is the significance of backup directory under u r patch directory?
Ans: When we apply a patch it will keep the copy of the files which its going to
change in file system.

35. What are the different modes you can run your adpatch?
Ans :
1.Interactive � default mode
2.Non interactive � Use defaults files to store prompt values (adpatch
defaultsfile=<filename> interactive=no)
3.Test � Without actually applying a patch just to check what its doing.(adpatch
apply=no)
4.Pre-install � (adpatch preinstall=y) This mode will be usefull to discrease
upgrade downtime as its applies bus fixes without running SQL,EXEC and generate
portion of patch.

36. How u will monitor u r applications as well as database?


Ans: We have our custom scripts which is sheduled to run at a specific time which
will monitor whether applications and databases are up/not. And it will mail us if
some processes is not running. And we have one script which will check database
alert log for ORA errors and mails it to us . Based on this we will react.

37. What are the latest ORA errors u have encountered?


Ans : Useually we will get the ORA errors like unable to extend the tablespace by
so and so size. And we will check those tablespaces for space, if space is not
there we will resize the datafile and add one more datafile.

38. Which table u will query to check the tablespace space issues?
Ans : bytes column in dba_free_spaces and dba_data_files

39. Which table u will query to check the temp tablespace space issues?
Ans : dba_temp_files

40. What is temp tablespace? And what is the size of temp tablespace in u r
instances?
Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.

41. What is autoconfig?


Ans : Autoconfig is an adutility which is used to main application environment and
configuration files.

42. What are the parameter autoconfig will ask for?


Ans : Context file name and apps password

43. What is context file?


Ans : Context file is a central repositary, which stores all application
configuration information. The name is like <Instance name>_ <Server name>.xml

44. How you will find autoconfig is enabled/not for u r applications?


Ans:
1. Open any env / configuration files, the first few lines will tell u that this
files are maintained by autoconfig.
2. If contextname.xml file is there in APPL_TOP/admin

45. How autoconfig will create env and configuration files?


Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.

46. In how many phases autoconfig will run?


Ans : Autoconfig will run in 3 phases.
1.INIT � Instantiate the drivers and templates
2.SETUP � Fill the templated with values from xml and create files
3.PROFILE � Update the profile values in database.

47. What is the location of adconfig log file?


Ans : APPL_TOP/admin/<context_name>/log/<timestamp directory>

48. Is it possiable to restore a autoconfig run?


Ans : Partially. Adconfig will create a restore.sh script at
$APPL_TOP/admin/<context_name>/out/<timestamp directory>. This restore.sh will copy
the backed up files before autoconfig run to its original locations. But the
profile values updated in the database can�t be restored back.

49. How to run autoconfig in test mode?


Ans : adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test
mode and create the difference file which tells us what is going to change , when u
actually run autoconfig.

50. How to find autoconfig is enabled or not for database?


Ans: If we have appsutil directory under RDBMS_ORACLE_HOME

51. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?
Ans : j<patch_number>.zip

52. What is apps.zip/appsbrog2.zip file?


Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files
required for oracle application.
Apps.zip was used to old application version, but from 11.5.8 onwards its
appsbrog2.zip

53. What is the location of apps.zip/appsbrog2.zip?


Ans : AU_TOP/java and JAVA_TOP

54. What is for �validating apps schema� option in adadmin?


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

55. What is �compile apps schema� option in adadmin?


Ans : It will compile the invalid database objects.

56. How to find invalid objects in database?


Ans : select count(*) from dba_objects where status=�INVALID�;

57. 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.

58. 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.

59. 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).

60. What is Multi-Org?


Ans: If this is enabled we can store multiple organization information in a single
oracle application instance.
61. What is the configuration file for adutilities (like adadmin,adconfig etc)?
Ans: adconfig.txt @APPL_TOP/admin

62. 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.

63. How to find the version of a file?


Ans :
1. adident Header <filename>
2. strings -a filename | grep Header

64. What is adodfcmp utility?


Ans : This utility is used to recreate/repair corrupted database objects from
odf(object defination files) files.

65. How you will change apps password?


Ans: FNDCPASS 0 y apps/<pwd> system/<pwd> SYSTEM APPLSYS <new pwd>

66. What if apps password is changed with alter command?


Ans : Applications won�t work.

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

67. Where the FNDCPASS utility is located?


Ans : Concurrent node @FND_TOP/bin

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

69. How to find the version of httpd/Apache web server?


Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version

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

71. Where you will see when you have some problem with u r webserver(httpd/Apache)?
Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs

72. When Apache starts what other components its start ?


Ans : PL/SQL Listener, Servlet Engine, OJSP Engine

73. 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.

74. What is self service application?


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

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

76. What is the location of jserv.log?


Ans : IAS_ORACLE_HOME/Apache/Jserv/log
77. What is the location of wdbsvr.app ?
Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg

78. What are jserv.conf and jserv.properties files?


Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.

79. What is mean by clearing cache and bouncing apache?


Ans :
1. Stop apache (adapcctl.sh stop apps)
2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html directory (rm �r
_oa__html)
3. Start apache (adapcctl.sh start apps)

80. What is forms configuration file and its location?


Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin

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

82. What is the difference beween socket and servlet mode?


Ans : In socket mode forms sessions are represented by f60webmx
In servlet mode forms sessions are represented by apache processes.

83. What is forms metric server and client?


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

84. Where the forms server related errors will be logged?


Ans : access_log and error_log

85. What is report server configuration and log file name and its location?
Ans : Configuration file � REP_<SID>.ora
Log file � REP_<SID>.log @806_ORACLE_HOME/reports60/server

86. What is CGIcmd.dat file and its location?


Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server

87. What is the significance of DISPLAY variable?


Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in
Reports.

88. Where is the concurrent manager log file located?


Ans : $COMMON_TOP/admin/<SID>/log or $APPLCSF/$APPLLOG

89. Is apps password necessary to start all the components of oracle application?
Ans : No. Only to start/stop concurrent managers apps password is needed.

90. What is a concurrent manager?


Ans : A concurrent manager is one which runs concurrent requests.

91. What are the different types of concurrent managers?


Ans :
1. Internal concurrent manager � Will start all other managers and monitor
2. Standard Manager � All concurrent request by default will to go this
3. Conflict resolution manager � Concurrent programs with incompatabilites will be
handled by this
4. Transaction manager � Handle all transaction requests

92. What are actual and target count in �Adminster Concurrent Managers form�?
Ans : Target is the no. of concurrent processes a manager is supposed to
start(specified in the defination of concurrent manager).
Actual is the no. of processes a manager started actually.
Target and Actual should be always same.

93. What if Target and Actual are not same?


Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.

94. What are work shifts?


Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

95. What if internal concurrent manager target and actual are not same?
Ans : we need to bounce the concurrent manager using adcmctl.sh

96. How to bounce a single concurrent manager?


Ans : From frontend using �Administer Concurrent Manager form�.

97. When we change apps password , is it necessary to bounce application?


Ans : Only we need to bounce concurrent managers.

98. What is 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

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

100. What is the configuration file for PL/SQL listener?


Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

101. How to skip copy portion while applying a patch?


Ans : Adpatch options=nocopyportion

102. How to merge patches and what type of patches can be merged?
Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv

103. What is the Tiered architecture of u r instance?


Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.

104. How to find formserver version?


Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.

105. 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 request form�.

106. What is apps listener?


Ans : Apps lintener 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�.

107. 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.

108. How to find the application version like 11.5.8/11.5.9�.?


Ans : select release_name from fnd_product_groups;

109. How to find the database/sqlplus version?


Ans : select banner from v$version;

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

111. What is the size of u r database?


Ans : 200 to 500 GB

112. How to find operating system version?


Ans : uname �a

113. 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.

114. 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.

115. 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.

116. How to kill a database session?


Ans : alter system kill session '&sid,&sno';

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

118. Which files tell u the database helath?


Ans : alert log file @RDBMS_ORACLE_HOME/admin/<Contextname>/bdump

119. How to apply a rdbms patch?


Ans : Using opatch

120. How to find opatch is enabled or not for u r database?


Ans : If Opatch directory exists under RDBMS_ORACLE_HOME.
121. What is the pre-req for applying a rdbms patch?
Ans : Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc

122. What is Inventroy?


Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)'s
bookkeeping. The inventory stores information about:
1. All Oracle software products installed in all ORACLE_HOMES on a machine
2. 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.

123. What are different types of inventories?


Ans: The Global inventory (or Central inventory)
The Local inventory (or Home inventory)

124. 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 de-installer
in order to keep the Global Inventory synchronized.

125. 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.

126. 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

127. 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.

128. Explain the cloning process?


Ans :
1. Run adpreclone as applmgr and oracle user on source
Perl adpreclone.pl dbTier as oracle user
Perl adpreclone.pl appsTier as applmgr user
2. Take the cold/hotbackup of source database
3. Copy the five directories <prod>appl,<prod>comn,<prod>ora , <prod>db,<prod>data
to target
4. Rename the directories, and change the permisssion
5. Set the inventory in oraInst.loc
6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold
7. If the backup type is hotbackup then
Perl adcfgclone.pl dbTechStack.
Create the control file on target from the control script trace file from source
Recover the database
Alter database open resetlogs
8. Run autoconfig with the ports changed as per requirement in xml.
9. Run perl adcfgclone.pl appsTier as applmgr
10.Run autoconfig with the ports changed as per requirement in xml.

129. What is the location of adpreclone.pl for oracle user?


Ans : RDBMS_ORACLE_HOME/appsutil/scripts/<contextname>

130. What is the location of adpreclone.pl for applmgr user?


Ans : $COMMON_TOP/admin/scripts/<contextname>

131. What is the location of adcfgclone.pl for oracle user?


Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin

132. What is the location of adcfgclone.pl for applmgr user?


Ans : $COMMON_TOP/clone/bin

133. What is statspack?


Ans : Statspack is a database utility to gather database and session level
performance information.

134. How to install statspack?


Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin
Note more details on statspack refer metalink noteid: 149113.1

135. How to enable trace at database level?


Ans : set init.ora parameter sql_trace

136. How to enable trace for a session?


Ans: Alter system set sql_trace=true;
Execute the sql query
Alter system set sql_trace=false;
This will create a trace file at $RDBMS_ORACLE_HOME/admin/contextname/udump
with the spid of the current sql session.

137. How to enable trace for other session?


Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)

Eg:
To enable trace for sql session with sid 8
SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,true);
PL/SQL procedure successfully completed.

To disable trace
SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);

138.What is the location of inint.ora ?


Ans : $RDBMS_ORACLE_HOME/dbs

139. What is that trace files contains and the utiliy used to read them?
Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.

140. What is the syntax for tkprof?


Ans: tkprof <trace filename> <output filename> explain=apps/<pwd> sys=no

141.How do we find adpreclone is run in source or not ?


Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user
and $COMMON_TOP for applmgr user.
142. How to find that the database is 64-bit/32-bit?
Ans : $RDBMS_ORACLE_HOME/bin/file oracle
Ex: /oraDB/angdb/920/bin> file oracle
oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped

143. How to find trace file for a given concurrent request id?
Ans : Go to $RDBMS_ORACLE_HOME/admin/<context_name>/udump
Grep �<request id> � *

144. What is a database link? How to create it?


Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.
1.Login as oracle user
2.sqlplus �/as sysdba�
3.create database link <dblink name> connect to <destination user> identified
by <d;estination user pwd> using '<destination database name>';
Ex:
SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps
using 'TEST2';
Database link created.
SQL> select name from v$database@ TEST1_TO_TEST2;
NAME
---------
TEST2
SQL>select db_link from dba_db_links;
4.Add destination database tns entry in tnsnames.ora

145. How many clonings u have done?


Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise
just 2 or 3.

146. What u know abt RMAN?


Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.

147. What is netapp?


Ans : Netapp is a storage technology.

148. Have u done any performance tunning?


Ans : Better say No. If u r very good in performance tunning then say �yes�.

149. What is formserver url?


Ans :http://hostname.domain:<port>/dev60cgi/f60cgi

150. 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.

151. What is discoverer server?


Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.

152. What is discoverer viewer url?


Ans: http://hostname.domain:<port>/discoverer4i/viewer

153. What is discoverer plus url?


Ans : http://hostname.domain:<port>/discwb4/html/english/welcome.htm

154. 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:<port>/OA_HTML/jsp/fnd/aoljtest.jsp

155. What is adsplicer?


Ans : Adsplicer is a uitility used to register off cycle products.

156. What is licence manager?


Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.

157. What is tnsping?


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

158. What is top command?


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

159. How to compile a form using f60gen?


Ans : f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS
output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special

160. 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.

161. What is mean by enabling maintanance mode?


Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.

162. Is that necessary to enable maintanance mode while applying a patch?


Ans : We can even apply a patch without enabling maintanance mode with the
following option
Adpatch options=hotpatch

163. How to find out oracle application framework version?


Ans : 1. Through aoljtest
2. cd $COMMON_TOP/html/
3. adident Header OA.jsp

164. 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 are applied to this oracle home.

165. Is that necessary to shutdown database while applying a database patch?


Ans : Yes.

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


Ans : CONSUB
167. 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.

168. How you will find out discoverer version?


Ans : cd $806_ORACLE_HOME/discwb4/lib
strings libd* | grep 'Version:'

169. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?
Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:
Opatch apply �no_inventory

170. Have you opened any TAR and for what?


Ans : Yes. If we have any issues on production then we will raise seviarity 1 tar
otherwise seriarity 2/normal.

171. For what you have raised the TAR?


Ans : We got ORA-7445 error (memory leak) in alert log, for which we have raised a
Seviarity 1 TAR.

172. Have you applied rdbms patches and for what?


Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.

173. What are the patch errors , you have encountered?


Ans :
1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.
2) Unable to generate jar files under JAVA_TOP
AutoPatch error:
Failed to generate the product JAR files
Solution:
Run adjkey -initialize -----------to creat identitydb.obj file which will be
used by adjava to sign jar files.

174. What is adjkey? What files it will create?


Ans : adjkey is an adutility which will create digital signature, which will be
used to sign all the jar files when we generate jar files using adadmin. The
purpose of this is, when you access forms interface every time, the signature of
the jar files which is going to download is compared with the existing cached jar
files signature in client machine. If signature won�t match, it will download that
jar files again.
It will create the following files:
adsign.txt@APPL_TOP/admin
appltop.cer@APPL_TOP/admin
identitydb.obj@applmgr home

175. Have done any OWC with oracle?


Ans : No.

176. What are the post installation task?


Ans : Running adjkey �initialize and then runnning adadmin to regerate jar files.
177. What are the clone errors, you have encountered?
Ans :
Error:
RC-50013: Fatal: Failed to instantiate driver
/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drv
Cause:
The source instance has files that adpreclone flags as 'autoconfigable' but in
reality they are not. So adpreclone.pl adds these files into the instconf.drv. Then
when adcfgclone.pl is run on target it looks for the template file to instantiate
for these files and since there isn't a template file adcfgclone.pl fails.
Solution:
Modify the target's instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl

178. What are the real time problems you have encountered and how you trouble
shooted that?
Ans:
1. Concurrent Program is erroing out with snapshot too old error. To resolve this
we have added space to temp tablespace.
2. Concurrent Program is erroing out with unable to extent a perticular tablespace
by so and so extents. To resolve this we have added on more data file to that
tablespace.
3. When we are trying to start apache with adapcctl.sh script after a autoconfig
run, its saying that �node id is not matching with the application server id�. To
resolve this we have updated the server id column in fnd_nodes table with the
server id value in dbc file.

179. How you will find workflow version?


Ans : Run wfver.sql@FND_TOP/sql script as apps user

180 . When forms are running in servlet mode then the environment variables
required for forms must be defined in what file and its location?
Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.

181. How to find out which patch driver is applied(like c,d,g or u)?
Ans: query ad_patch_drivers.

182. How to find out whether a language patch is applied for a perticular patch?
Ans : Query ad_patch_driver_langs.

183. How to validate that sysadmin password is correct or not from backend?
Ans: select fnd_web_sec.validate_login('SYSADMIN','Qwert8765') from dual;

184. How to compile jsp's(other than from adadmin)?


Ans: Force compilation of all jsps using the following command
ojspCompile.pl --compile --flush

185. How to rotate logs for apache logs?


Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.

186. Other way of checking whether MRC is enabled or not besides using adadmin?

Ans : select multi_currency_flag from fnd_product_groups;

187. How to compile rdf?


Ans: Either using adadmin or rwcon60
188. How you will see hidden files in linux/solaris?
Ans : ls �la

189. How to change file/directory owner in linux/solaris?


Ans : chown �R <username>:<group> <file/directory>
Ex:
chown �R applmgr:dba testappl

190. How to change the permission of file/directory in linux/solaris?


Ans : chmod �R <permissions> <file/directory>
Ex:
chmod �R 755 testappl

191. What are the files which contain apps password?


Ans :
1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg
2. CGIcmd.dat@806_ORACLE_HOME/reports60/server
3. wfmail.cfg@FND_TOP/resource - optional
4. CatalogLoader.conf@OA_JAVA - optional
5. CatalogLoader.xml@OA_HTML - optional

192. What is the script to find out ICM status?


Ans : afimchk.sql@FND_TOP/sql

193. What is the script to list the concurrent request status?


Ans: afrqrun.sql@FND_TOP/sql

194. What is the script that Lists managers that currently are running a request?
Ans : afcmrrq.sql@FND_TOP/sql

195) How can I determine whether a template is customizable or non-customizable?


Answer: If a keyword "LOCK" is present at the end of the file entry in the
respective driver, then it is a non-customizable template. If the "LOCK" keyword is
not seen, then that template can be customized.

How to find high CPU using sessions in Oracle Database ?

Ans) If the problem relates to CPU bound applications then CPU information for each
session can be examined to determine the culprits. The v$sesstat view can be
queried to find high cpu using sessions and then SQL can be listed.

5. Once the whole SQL statement has been identified it can be tuned.

Explain the queries and examine their access paths.


Autotrace is a useful tool for examining access paths.

Syntax:-

Explain plan for 'sql statement';

How will you handle an error during patching?

Ans: Look at the log of the failed worker, identify and rectify the error and
restart the worker using adctrl utility.

Q: if you want to check the URL of the Application in the database in which table
you can check ?
Ans : ( Method 1)

select * from icx_parameters

Q: How to find CPU & Memory detail of linux

ANS :
cat /proc/cpuinfo (CPU)
cat /proc/meminfo (Memory)

Q : To check whether the patch is already there or not. For this we query the
database:
select * from AD_BUGS where bug_number=�<patch number>�
Q: How to find if any service is listening on particular port or not ?

netstat -an | grep {port no}


For example if you know that OID is running on 389 port so to check if OID services
is listening or not then use

netstat -an | grep 389


what is the way to find version of installed family packs?

Select product_version,patch_level from FND_PRODUCT_INSTALLATIONS where patch_level


like '%GL%';

Replace short name by name of Oracle Apps Minipack for which you want to find out
Patch level . ex.
AD - for Applications DBA
GL - for General Ledger
PO - Purchase Order

Another method can be using the patchsets.sh utility which can be downloaded from
Metalink.

A brief about snapshots ?

There are two types of snapshots: APPL_TOP snapshots and global snapshots. An
APPL_TOP snapshot lists patches and versions of files in the APPL_TOP. A global
snapshot lists patches and latest versions of files in the entire Applications
system (that is, across all APPL_TOPs). Both APPL_TOP snapshots and global
snapshots may be either current view snapshots or named view snapshots. A current
view snapshot is created once and updated when appropriate to maintain a consistent
view. A named view snapshot is a copy of the current view snapshot at a particular
time (not necessarily the latest current view snapshot) and is not updated. Patch
Wizard uses the information contained in the global current view snapshot to
determine which patches have already been applied. AutoPatch uses the APPL_TOP
current view snapshot to determine if all prerequisite patches have been applied to
that APPL_TOP. Snapshot information is stored in the AD_SNAPSHOTS,
AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables.

Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?

Check guest user/password in the DBC file, profile option guest user/password, the
DB.
Check whether apache/jserv is up. Run IsItWorking, FND_WEB.PING, aoljtest, etc.
What could be wrong if you are unable to view concurrent manager log and output
files?

Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME and
LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at the FND_NODES
table. Look at the FNDFS_ entry in tnsnames.ora.

How will you change the location of concurrent manager log and output files?

The location of log files is determined by parameter $APPLCSF/$APPLLOG and that of


output files by $APPLCSF/$APPLOUT.

If the user is experiencing performance issues, how will you go about finding the
cause?

Trace his session (with waits) and use tkprof to analyze the trace file.
Take a statspack report and analyze it.
O/s monitoring using top/iostat/sar/vmstat.
Check for any network bottleneck by using basic tests like ping results.

How will you change the apps password?

Use FNDCPASS to change APPS password.


Manually modify wdbsvr.app/cgiCMD.dat files.
Change any DB links pointing from other instances.

If you changed the APPS (and APPLSYS) password, update the password in these files:

� iAS_TOP/Apache/modplsql/cfg/wdbsvr.app
� ORACLE_HOME/reports60/server/CGIcmd.dat

If you changed the APPLSYSPUB password, update the password in these files:

� FND_TOP/resource/appsweb.cfg
� OA_HTML/bin/appsweb.cfg
� FND_TOP/secure/HOSTNAME_DBNAME.dbc

Provide the location of the DBC file and explain its significance and how
applications know the name of the DBC file.?

Location: $FND_TOP/secure directory.


Significance: Points to the DB server amongst other things.
The application knows the name of the DBC file by using profile option
"Applications Database Id."

How can u change the logfiles location suppose CM logfile location is APPLCSF now
if we want to change that to a nother location hw is it possible.

Ans: Change the Configuration File parameters

change s_applcsf,s_appllog,s_applout variables in XML file and run the autoconfig.

Conflict resolution managers resolves the conflicts yes , but hw it knows tht there
are conficts?why conflicts occur?
Ans:
Concurrent managers read request to start concurrent programs running. The
Conflict Resolution Manager checks concurrent program definitions for
incompatibility rules.

If a program is identified as Run Alone, then the Conflict Resolution Manager


prevents the concurrent managers from starting other programs in the same
conflict domain.

When a program lists other programs as being incompatible with it, the Conflict
Resolution Manager prevents the program from starting until any incompatible
programs in the same domain have completed running.

What is adovars.env file ?

The adovars.env file, located in $APPL_TOP/admin, specifies the location of


variousfiles such as Java files, HTML files, and JRE (Java Runtime Environment)
files. It iscalled from the main applications environment file.

How to find the wordsize (32-bit or 64-bit) of Oracle Database

If you have access to an Oracle database which is installed on a 64-bit OS, how can
you identify whether Oracle is 32 bit or 64 bit ?

g:\prints\interview\archetecture.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle DBA Interview Questions and Answers - Architecture

Oracle Architecture Interview Questions and Answers

What is difference between oracle SID and Oracle service name?


Oracle SID is the unique name that uniquely identifies your instance/database where
as the service name is the TNS alias can be same or different as SID.

What are the steps to install oracle on Linux system? List two kernel parameter
that effect oracle installation?
Initially set up disks and kernel parameters, then create oracle user and DBA
group, and finally run installer to start the installation process. The SHMMAX &
SHMMNI two kernel parameter required to set before installation process.

What are bind variables?


With bind variable in SQL, oracle can cache queries in a single time in the SQL
cache area. This avoids a hard parse each time, which saves on various locking and
latching resource we use to check object existence and so on.

What is the difference between data block/extent/segment?


A data block is the smallest unit of logical storage for a database object. As
objects grow they take chunks of additional storage that are composed of contiguous
data blocks. These groupings of contiguous data blocks are called extents. All the
extents that an object takes when grouped together are considered the segment of
the database object.

What is the difference between PGA and UGA?


When you are running dedicated server then process information stored inside the
process global area (PGA) and when you are using shared server then the process
information stored inside user global area (UGA).

What is SGA? Define structure of shared pool component of SGA?


The system global area is a group of shared memory area that is dedicated to oracle
instance. All oracle process uses the SGA to hold information. The SGA is used to
store incoming data and internal control information that is needed by the
database. You can control the SGA memory by setting the parameter db_cache_size,
shared_pool_size and log_buffer.
Shared pool portion contain three major area:
Library cache (parse SQL statement, cursor information and execution plan),
data dictionary cache (contain cache, user account information, privilege user
information, segments and extent information,
data buffer cache for parallel execution message and control structure.

What is the difference between SMON and PMON processes?


SMON (System Monitor) performs recovery after instance failure, monitor temporary
segments and extents; clean temp segment, coalesce free space. It is mandatory
process of DB and starts by default.
PMON (Process Monitor) failed process resources. In shared server architecture
monitor and restarts any failed dispatcher or server process. It is mandatory
process of DB and starts by default.

What is a system change number (SCN)?SCN is a value that is incremented whenever a


dirty read occurs.
SCN is incremented whenever a deadlock occurs.
SCN is a value that keeps track of explicit locks.
SCN is a value that is incremented whenever database changes are made.

What is the main purpose of �CHECKPOINT� in oracle database? How do you


automatically force the oracle to perform a checkpoint?
A checkpoint is a database event, which synchronize the database blocks in memory
with the datafiles on disk. It has two main purposes: To establish a data
consistency and enable faster database Recovery.

The following are the parameter that will be used by DBA to adjust time or interval
of how frequently its checkpoint should occur in database.
LOG_CHECKPOINT_TIMEOUT = 3600; # Every one hour
LOG_CHECKPOINT_INTERVAL = 1000; # number of OS blocks.

What happens when we fire SQL statement in Oracle?


First it will check the syntax and semantics in library cache, after that it will
create execution plan.
If already data is in buffer cache it will directly return to the client.
If not it will fetch the data from datafiles and write to the database buffer cache
after that it will send server and finally server send to the client.

What is the use of large pool, which case you need to set the large pool?
You need to set large pool if you are using: MTS (Multi thread server) and RMAN
Backups. Large pool prevents RMAN & MTS from competing with other sub system for
the same memory. RMAN uses the large pool for backup & restore when you set the
DBWR_IO_SLAVES or BACKUP_TAPE_IO_SLAVES parameters to simulate asynchronous I/O. If
neither of these parameters is enabled, then Oracle allocates backup buffers from
local process memory rather than shared memory. Then there is no use of large pool.

What does database do during the mounting process?


While mounting the database oracle reads the data from controlfile which is used
for verifying physical database files during sanity check. Background processes are
started before mounting the database only.
What are logfile states?
�CURRENT� state means that redo records are currently being written to that group.
It will be until a log switch occurs. At a time there can be only one redo group
current.
If a redo group containing redo�s of a dirty buffer that redo group is said to be
�ACTIVE� state. As we know log file keep changes made to the data blocks then data
blocks are modified in buffer cache (dirty blocks). These dirty blocks must be
written to the disk (RAM to permanent media).
And when a redolog group contains no redo records belonging to a dirty buffer it is
in an "INACTIVE" state. These inactive redolog can be overwritten.
One more state �UNUSED� initially when you create new redo log group its log file
is empty on that time it is unused. Later it can be any of the above mentioned
state.

What is log switch?


The point at which oracle ends writing to one online redo log file and begins
writing to another is called a log switch. Sometimes you can force the log switch.
ALTER SYSTEM SWITCH LOGFILE;
How to check Oracle database version?
SQL> Select * from v$version;

Explain Oracle Architecture?

Oracle Instance:
a means to access an Oracle database,always opens one and only one database and
consists of memory structures and background process.
Oracle server:
a DBMS that provides an open, comprehensive, integrated approach to information
management,Consists of an Instance and a database.
Oracle database:
a collection of data that is treated as a unit,Consists of Datafiles, Control
files, Redo log files. (optional param file, passwd file, archived log)

Instance memory Structures:

System Global Area (SGA):


Allocated at instance startup, and is a fundamental component of an Oracle
Instance.

SGA Memory structures:


Includes Shared Pool, Database Buffer Cache, Redo Log Buffer among others.
Shared Pool :
Consists of two key performance-related memory structures Library Cache and Data
Dictionary Cache.
Library Cache:
Stores information about the most recently used SQL and PL/SQL statements and
enables the sharing of commonly used statements.
Data Dictionary Cache :
Stores collection of the most recently used definitions in the database Includes db
files, tables, indexes, columns etc. Improves perf. During the parse phase, the
server process looks at the data dictionary for information to resolve object names
and validate access.
Database Buffer Cache:
Stores copies of data blocks that have been retrieved from the datafiles.
Everything done here.
Redo Log Buffer :
Records all changes made to the database data blocks, Primary purpose is recovery.
Redo entries contain information to reconstruct or redo changes.
User process:
Started at the time a database User requests connection to the Oracle server.
requests interaction with the Oracle server, does not interact directly with the
Oracle server.
Server process:
Connects to the Oracle Instance and is Started when a user establishes a session.
fulfills calls generated and returns results.
Each server process has its own nonshared PGA when the process is started.
Server Process Parses and run SQL statements issued through the application, Reads
necessary data blocks from datafiles on disk into the shared database buffers of
the SGA, if the blocks are not already present in the SGA and Return results in
such a way that the application can process the information.
In some situations when the application and Oracle Database operate on the same
computer, it is possible to combine the user process and corresponding server
process into a single process to reduce system overhead.
Program Global Area (PGA):
Memory area used by a single Oracle server process.
Allocated when the server process is started, deallocated when the process is
terminated and used by only one process.
Used to process SQL statements and to hold logon and other session information.

Background processes:
Started when an Oracle Instance is started.
Background Processes Maintains and enforces relationships between physical and
memory structures
There are two types of database processes:
1. Mandatory background processes
2. Optional background processes
Mandatory background processes:
� DBWn, PMON, CKPT, LGWR, SMON
Optional background processes:
� ARCn, LMDn, RECO, CJQ0, LMON, Snnn, Dnnn, Pnnn, LCKn, QMNn
DBWn writes when:
� Checkpoint occurs
� Dirty buffers reach threshold
� There are no free buffers
� Timeout occurs
� RAC ping request is made
� Tablespace OFFLINE
� Tablespace READ ONLY
� Table DROP or TRUNCATE
� Tablespace BEGIN BACKUP
Log Writer (LGWR) writes:
� At commit
� When 1/3rd full
� When there is 1 MB of redo
� Every 3 seconds
� Before DBWn writes

System Monitor (SMON) Responsibilities:


� Instance recovery
� Rolls forward changes in redo logs
� Opens database for user access
� Rolls back uncommitted transactions
� Coalesces free space
� Deallocates temporary segments.
Process Monitor (PMON) Cleans up after failed processes by:
� Rolling back the transaction
� Releasing locks
� Releasing other resources
� Restarting dead dispatchers
Checkpoint (CKPT) Responsible for:
� Signaling DBWn at checkpoints
� Updating datafile headers with checkpoint information
� Updating control files with checkpoint information
Archiver (ARCn)
� Optional background process
� Automatically archives online redo logs when ARCHIVELOG mode is set
� Preserves the record of all changes made to the database

Why do you run orainstRoot and ROOT.SH once you finalize the Installation?
orainstRoot.sh needs to be run to change the Permissions and groupname to 770 and
to dba.
Root.sh (ORACLE_HOME) location needs to be run to create a ORATAB in /etc/oratab or
/opt/var/oratab in Solaris and to copy dbhome, oraenv and coraenv to
/usr/local/bin.
orainstRoot.sh
[root@oracle11g ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory to 770.
Changing groupname of /u01/app/oraInventory to dba.
The execution of the script is complete
root.sh
[root@oracle11g ~]# /u01/app/oracle/product/11.1.0/db_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.1.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
For Oracle installation on unix/linux, we will be prompted to run a script
'root.sh' from the oracle inventory directory.this script needs to run the first
time only when any oracle product is installed on the server.
It creates the additional directories and sets appropriate ownership and
permissions on files for root user.

File type
Extension
Default location (when created with OMF)
Pfile :
ORA
C:\oracle\product\10.2.0\admin\orcl\pfile
Spfile:
ORA
C:\oracle\product\10.2.0\db_1\database
Control file:
CTL
C:\oracle\product\10.2.0\oradata\orcl
Redo log file:
LOG
C:\oracle\product\10.2.0\oradata\orcl
Archive log file:
LOG
C:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG
Data file:
DBF
C:\oracle\product\10.2.0\oradata\orcl
Alert log files:
LOG
C:\oracle\product\10.2.0\admin\orcl\adump
Trace log files:
TRC
C:\oracle\product\10.2.0\admin\orcl\udump|bdump|cdump
Password file:
ORA
C:\oracle\product\10.2.0\db_1\database

What is the Difference Between Local Inventory and Global Inventory?


What is oraInventory ?
oraInventory is repository (directory) which store/records oracle software products
& their oracle_homes location on a machine. This Inventory now a days in XML format
and called as XML Inventory where as in past it used to be in binary format &
called as binary Inventory.
There are basically two kind of inventories,
One is Local Inventory (also called as Oracle Home Inventory) and other is Global
Inventory (also called as Central Inventory).

What is Global Inventory ?


Global Inventory holds information about Oracle Products on a Machine. These
products can be various oracle components like database, oracle application server,
collaboration suite, soa suite, forms & reports or discoverer server . This global
Inventory location will be determined by file oraInst.loc in /etc (on Linux) or
/var/opt/oracle (solaris). If you want to see list of oracle products on machine
check for file inventory.xml under ContentsXML in oraInventory Please note if you
have multiple global Inventory on machine check all oraInventory directories)
You will see entry like
HOME NAME=�ORA10g_HOME� LOC=�/u01/oracle/10.2.0/db� TYPE=�O� IDX=�1?/
What is Local Inventory ?
Inventory inside each Oracle Home is called as local Inventory or oracle_home
Inventory. This Inventory holds information to that oracle_home only.

What is Oracle Home Inventory?


Oracle home inventory or local inventory is present inside each Oracle home. It
only contains information relevant to a particular Oracle home. This file is
located in the following location:
$ORACLE_HOME/inventory
It contains the following files and folders:
� Components File
� Home Properties File
� Other Folders
Can I have multiple Global Inventory on a machine ?
Quite common questions is that can you have multiple global Inventory and answer is
YES you can have multiple global Inventory but if your upgrading or applying patch
then change Inventory Pointer oraInst.loc to respective location. If you are
following single global Inventory and if you wish to uninstall any software then
remove it from Global Inventory as well.

What to do if my Global Inventory is corrupted ?


No need to worry if your global Inventory is corrupted, you can recreate global
Inventory on machine using Universal Installer and attach already Installed oracle
home by option
-attachHome
./runInstaller -silent -attachHome -invPtrLoc $location_to_oraInst.loc
ORACLE_HOME=�Oracle_Home_Location� ORACLE_HOME_NAME=�Oracle_Home_Name�
CLUSTER_NODES=�{}�

11G Backgroung Processes?

The following process are added in 11g as new background processes.


1 dbrm DB resource manager
2 dia0 Diagnosability process
3 fbda Flashback data archiver process
4 vktm Virtual Timekeeper
5 w000 Space Management Co-ordination process
6 smc0 Space Manager process
NOTE : The above six are mandatory processes.
But 11g has 56 new processes added which can be queried using

If any one of these 6 mandatory background processes is killed/not running, the


instance will be aborted ?
Background processes are started automatically when the instance is started.
Mandatory background processes are DBWn, LGWR, CKPT, SMON, PMON, and RECO. All
other processes are optional, will be invoked if that particular feature is
activated.
If any one of these 6 mandatory background processes is killed/not running, the
instance will be aborted.
Any issues related to backgroud processes should be monitored and analyzed from the
trace files generated and the alert log.

What is SGA_TARGET and SGA_MAX_SIZE ?


SGA_MAX_SIZE is the largest amount of memory that will be available for the SGA in
the instance and it will be allocated from memory. You do not have to use it all,
but it will be potentially wasted if you set it too high and don't use it. It is
not a dynamic parameter. Basically it gives you room for the Oracle instance to
grow.
SGA_TARGET is actual memory in use by the current SGA. This parameter is dynamic
and can be increased up to the value of SGA_MAX_SIZE.
SGA_MAX_SIZE and SGA_TARGET both are the parameter are used to change the SGA SIZE.
SGA_MAX_SIZE sets the maximum value for sga_target.
SGA_TAGET is 10G feature used to change the sga size dynamically .it specifies the
total amount of SGA memory available to an instance.
this feature is called Automatic Shared Memory Management. With ASMM, the
parameters java_pool_size, shared_pool_size, large_pool_size and db_cache_size are
affected.

SGA_MAX_SIZE & SGA_TARGET


http://maxwellmiranda.wordpress.com/2009/09/17/sga_max_size-sga_targe/
SGA_MAX_SIZE sets the overall amount of memory the SGA can consume but is not
dynamic.
The SGA_MAX_SIZE parameter is the max allowable size to resize the SGA Memory area
parameters. If the SGA_TARGET is set to some value then the Automatic Shared Memory
Management (ASMM) is enabled, the SGA_TARGET value can be adjusted up to the
SGA_MAX_SIZE parameter, not more than SGA_MAX_SIZE parameter value.
I.e. If SGA_MAX_SIZE=4GB and SGA_TARGET=2GB, later period of time, if you want you
can resize your SGA_TARGET parameter to the value of SGA_MAX_SIZE i.e. 4GB, you
can�t resize the SGA_TARGET value to more than 4GB.
It is significant that SGA_TARGET includes the entire memory for the SGA, in
contrast to earlier releases in which memory for the internal and fixed SGA was
added to the sum of the configured SGA memory parameters. Thus, SGA_TARGET gives
you precise control over the size of the shared memory region allocated by the
database. If SGA_TARGET is set to a value greater than SGA_MAX_SIZE at startup,
then the latter is bumped up to accommodate SGA_TARGET
Do not dynamically set or unset the SGA_TARGET parameter. This should be set only
at startup.
SGA_TARGET is a database initialization parameter (introduced in Oracle 10g) that
can be used for automatic SGA memory sizing.
SGA_TARGET provides the following:
� Single parameter for total SGA size
� Automatically sizes SGA components
� Memory is transferred to where most needed
� Uses workload information
� Uses internal advisory predictions
� STATISTICS_LEVEL must be set to TYPICAL
� SGA_TARGET is dynamic
� Can be increased till SGA_MAX_SIZE
� Can be reduced till some component reaches minimum size
� Change in value of SGA_TARGET affects only automatically sized components

If I keep SGA_TARGET =0 then what will happen ?


Disable automatic SGA tuning by setting sga_target=0
Disable ASMM by setting SGA_TARGET=0
http://www.orafaq.com/wiki/SGA_target
SGA_TARGET is a database initialization parameter (introduced in Oracle 10g) that
can be used for automatic SGA memory sizing.
Default value 0 (SGA auto tuning is disabled)

What happens when you run ALTER DATABASE OPEN RESETLOGS ?


The current online redo logs are archived, the log sequence number is reset to 1,
new database incarnation is created, and the online redo logs are given a new time
stamp and SCN.
The reason to do the open the database with the resetlogs is that after doing an
incomplete recovery , the data files and control files still don't come to the same
point of the redo log files. And as long as the database is not consistent within
all the three file-data, redo and control, you can't open the database. The
resetlogs clause would reset the log sequence numbers within the log files and
would start them from 0 thus enabling you to open the database but on the cost of
losing all what was there in the redo log files.
In what scenarios open resetlogs required ?
An ALTER DATABASE OPEN RESETLOGS statement is required,
1.after incomplete recovery (Point in Time Recovery) or
2.recovery with a backup control file.
3. recovery with a control file recreated with the reset logs option.

Whenever you perform incomplete recovery or recovery with a backup control file,
you must reset the online logs when you open the database. The new version of the
reset database is called a new incarnation..

Difference between RESETLOGS and NORESETLOGS ?


After recover database operation, open the database with: ALTER DATABASE OPEN
[NO]RESETLOGS
NORESETLOGS:
The NORESETLOGS option does not clear the redo log files during startup and the
online redo logs to be used for recovery. Only used in scenario where MANUAL
RECOVERY is started, CANCEL is used, and then RECOVER DATABASE is started.
RESETLOGS:
CAUTION: Never use RESETLOGS unless necessary.
Once RESETLOGS is used then the redo log files cannot be used and any completed
transactions in those redo logs are lost!!
Before using the RESETLOGS option take an offline backup of the database.

What is SCN (System Change Number) ?


The system change number (SCN) is an ever-increasing value that uniquely identifies
a committed version of the database at a point in time. Every time a user commits a
transaction Oracle records a new SCN in redo logs.
Oracle uses SCNs in control files datafile headers and redo records. Every redo log
file has both a log sequence number and low and high SCN. The low SCN records the
lowest SCN recorded in the log file while the high SCN records the highest SCN in
the log file.

What is Database Incarnation ?


Database incarnation is effectively a new �version� of the database that happens
when you reset the online redo logs using �alter database open resetlogs;�.
Database incarnation falls into following category Current, Parent, Ancestor and
Sibling
i) Current Incarnation : The database incarnation in which the database is
currently generating redo.
ii) Parent Incarnation : The database incarnation from which the current
incarnation branched following an OPEN RESETLOGS operation.
iii) Ancestor Incarnation : The parent of the parent incarnation is an ancestor
incarnation. Any parent of an ancestor incarnation is also an ancestor incarnation.
iv) Sibling Incarnation : Two incarnations that share a common ancestor are sibling
incarnations if neither one is an ancestor of the other.

How to view Database Incarnation history of Database ?


Using SQL> select * from v$database_incarnation;
Using RMAN>LIST INCARNATION;
However, you can use the RESET DATABASE TO INCARNATION command to specify that SCNs
are to be interpreted in the frame of reference of another incarnation.
�For example my current database INCARNATION is 3 and now I have used
FLASHBACK DATABASE TO SCN 3000;then SCN 3000 will be search in current incarnation
which is 3. However if I want to get back to SCN 3000 of INCARNATION 2 then I have
to use,
RMAN> RESET DATABASE TO INCARNATION 2;
RMAN> RECOVER DATABASE TO SCN 3000;

g:\prints\interview\asm rebalancing.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Database ASM Features: REBALANCING
==========================================:

ASM has the ability to rebalance data across the disks whenever a disk is
added,dropped or replaced.
The performance of rebalance operation is controlled by initialization parameter
ASM_POWER_LIMIT.

ASM_POWER_LIMIT Parameter
Default value 1

Range of Values 0 to 11 (Prior to 11gR2)


Range of Values 0 to 1024(From 11gR2)

For 10g Databases:


SQL> alter diskgroup DG1 rebalance power 12;
alter diskgroup DG1 rebalance power 12
*
ERROR at line 1:
ORA-15102: invalid POWER expression
SQL> alter diskgroup DG1 rebalance power 11;
Diskgroup altered.

For 11g AND 12c Databases

SQL> alter diskgroup DG1 rebalance power 1025;


alter diskgroup DG1 rebalance power 1025
ERROR at line 1:
ORA-15102: invalid POWER expression
SQL> alter diskgroup DG1 rebalance power 1024;
Diskgroup altered.

The higher the value of rebalancing power, faster would be rebalancing operation

g:\prints\interview\asm.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Q. What init.ora parameters does a user need to configure for ASM instances?
Ans. The default parameter settings work perfectly for ASM. The only parameters
needed for 11g ASM:
� PROCESSES
� ASM_DISKSTRING*
� ASM_DISKGROUPS*
� INSTANCE_TYPE*

Q. How does the database interact with the ASM instance and how do I make ASM go
faster?
Ans. ASM is not in the I/O path so ASM does not impede the database file access.
Since the RDBMS instance is performing raw I/O, the I/O is as fast as possible.

Q. Do I need to define the RDBMS FILESYSTEMIO_OPTIONS parameter when I use ASM?


Ans. No, the RDBMS does I/O directly to the raw disk devices, the
FILESYSTEMIO_OPTIONS parameter is only for filesystems.

Q. Don�t I lose all the advanced filesystem features when I move to AMS; e.g.,
direct I/O, write coalescing, and pre-fetech?
Ans. Yes, but that�s okay.
� Most of the filesystem features mentioned, though good for general file data
performance, interfere and fractionalize the benefits inherently provided by the
database; e.g.,
� DBWR & LGWR does write coalescing, and user processes do sequential pre-fetches
� All IO capable processes do un-buffered IO (raw IO) because of ASM

Q. This is cool that ASM can now store Vote and OCR files. But how does CSS and CRS
startup in this configuration?
Ans. It just does ?
�There are two keys processes and a lot of crafty coding to get this to work in the
correct startup sequence.
ASMCMD> pwd
+DATA/rst-cluster/OCRFILE
ASMCMD> ls -l
Type Redund Striped Time Sys Name
OCRFILE UNPROT COARSE JUN 25 11:00:00 Y REGISTRY.255.718984285
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB
Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 203824 193028
0 193028 0 Y DATA/
ASM Configuration

Q. Do I need 11gR2 Grid Infrastructure to use ASM?


Ans. Yes. ASM is now part of Grid Infrastructure, which includes, Clusterware, ASM
and ACFS. So you�ll to Install GI to use ASM
� In 11gR2 there are two options for install � GI for Standalone Server (aka Oracle
Restart) and GI for Clusterware

Q. We have a 16 TB database. I�m curious about the number of disk groups we should
use; e.g. 1 large disk group, a couple of disk groups, or otherwise? What about a
database consolidation scenario.
Ans. For VLDBs you will probably end up with different storage tiers; e.g with some
of our large customers they have Tier1 (RAID10 FC), Tier2 (RAID5 FC), Tier3 (SATA),
etc. Each one of these is mapped to a diskgroup.

Q. What is the best LUN size for ASM


Ans. There is no best size! In most cases the storage team will dictate based on
their standardized LUN
size. The ASM admin merely has to communicate the ASM Best Practices and
application characteristics to storage folks :
� Need equally sized / performance LUNs
� Minimum of 4 LUNs
� The capacity requirement
� The workload characteristic (random r/w, sequential r/w) & any response time SLA
Using this info, and their standards, the storage folks should build a nice LUN
group set for you

Q. In 11gR2 can my RDBMS and ASM instances run different versions?


Ans. Yes. But since ASM is now part of GI stack, it must be at the highest version.
Keep in mind, there�s two components of compatibility:
� Software compatibility
� Diskgroup compatibility attributes:
� compatible.asm
� compatible.rdbms
� Need to have compatible.asm set to 11.2.0.1 for OCR/Vote files and SPFILE in ASM
�ACFS also needs 11.2.0.1 compatible.asm
�Advance compatible.asm
� ALTER DISKGROUP data SET ATTRIBUTE �compatible.asm� = �11.2.0.1.0�

Q. Where do I run my database listener from; i.e., ASM HOME or DB HOME?


Ans. For 11gR2, the SCAN listener is run from GI Home, and database listener from
DB HOME.
� For pre-11gR2, it is recommended to run the listener from the ASM HOME. This is
particularly important for RAC env, since the listener is a node-level resource. In
this config, you can create additional [user] listeners from the database homes as
needed.

Backups

Q. How do I backup my ASM instance?


Ans. Not applicable! ASM has no files to backup

Q. When should I use RMAN and when should I use ASMCMD copy?
Ans. RMAN is the recommended and most complete and flexible method to backup and
transport database files in ASM.
ASMCMD copy is good for copying single files
� Supports all Oracle file types
� In some cases. can be used to instantiate a Data Guard environment
� Does not update the controlfile
� Does not create OMF files
ASMCMD> ls
+fra/dumpsets/expdp_5_5.dat
ASMCMD> cp expdp_5_5.dat sys@rac1.orcl1:+DATA/dumpsets/expdp_5_5.dat
source +fra/dumpsets/expdp_5_5.dat
target +DATA/dumpsets/expdp_5_5.dat
copying file(s)�
file, +DATA/dumpsets/expdp_5_5.dat,
copy committed.

Migration
Q. We are migrating to a new storage array. How do I move my ASM database from
storage A to storage B?
Ans:
� Given that the new and old storage are both visible to ASM, simply add the new
disks to the ASM disk group and drop the old disks. ASM rebalance will migratedata
online.
� For pre-11gR2, See Note 428681.1, which covers how to move OCR/Voting disks to
the new storage array
ASM_SQL> alter diskgroup DATA drop disk data_legacy1, data_legacy2, data_legacy3
add disk
�/dev/sddb1�, �/dev/sddc1�, �/dev/sddd1�;

ASM Rebalancing
� Automatic online rebalance whenever storage configuration changes
� Only move data proportional to storage added
� No need for manual I/O tuning
� Online migration to new storage

Q. Is it possible to unplug an ASM disk group from one platform and plug into a
server on another platform (for example, from Solaris to Linux)?
Ans. No. Cross-platform disk group migration not supported. To move datafiles
between endian-ness
platforms, you need to use XTTS, Datapump or Streams.

ACFS
Q. What is ASM Cluster File System (ACFS)?
� General purpose scalable file system
� Journaling, extent based
� Single node and cluster
� POSIX, X/OPEN file system solution for UNIX/Linux
� Windows file system solution for Windows platforms
� Accessible through NAS protocols (NFS, CIFS)
� Leverages ASM technology
� Integrated with Oracle Clusterware for cluster support
� Multi OS platform (Linux and Windows at initial release)
� Integrated with Oracle system mgt tools
� Oracle installation and configuration
� Enterprise Manager and ASM Storage mgt tools
� Native OS File System Management tools

ACFS Features
Provides filesystem snapshots (FCOW)
� File system integrity and fast recovery via ACFS metadata checksums and
journaling.
� ACFS designed as a peer to peer, multi-node, shared file system model and
delivers coherent data access
� ACFS file system is installed as a dynamically loadable OS VFS driver
� Starting with RHEL5, Redhat now supports a �white list� -kernel APIs which they
commit they will not change in updates or patches. APIs used by ACFS-ADVM were
added to their �white list�.
� Customers should be able to install an update or patch to the kernel and our
drivers should not be impacted

Q. Is ACFS supported on other platforms besides Linux


Ans. Yes. Other platforms are forthcoming

Q. Can ACFS be used to store database datafiles? What about archive logs?
Ans. No. Currently we will not support database file to bestored in ACFS. This is
due to performance reasons. Though you can do this in test/Q&A environments where
performance is not essential

Q. Can I sue ACFS to store BFILE data or other non-database related data
Ans. Yes. ACFS is POSIX compliant filesystem, and thus can store any file data type
(besides database files ?)

Q. Will ACFS support other Data services, such advanced cloning, replication, de-
dupe, etc..
Ans. Yes. ACFS Replication will be introduced in the next patchset release. Other
advanced features are part of the roadmap.

3rd Party Software

Q. How does ASM work with multipathing software?


Ans: It works great! Multipathing software is at a layer lower than ASM, and thus
is transparent.
You may need to adjust ASM_DISKSTRING to specify only the path to the multipathing
pseudo devices.

Q. Is ASM constantly rebalancing to manage �hot spots�?


Ans. No�No�Nope!!

Q. Is ASMLIB required on Linux systems and are there any benefits to using it?
Ans. ASMLIB is not required to run ASM, but it is certainly recommended.
ASMLIB has following benefits:
� Simplified disk discovery
� Persistent disk names
� Efficient use of system resources

Q. Is it possible to do rolling upgrades on ASMLIB in a RAC configuration


Ans. ASMLIB is independent of Oracle Clusterware and Oracle Database, and thus can
be upgraded on its own.

Conclusion:
�ASM requires very few parameters to run
�ASM based databases inherently leverage raw disk performance
�No additional database parameters needed to support ASM
�Mixed ASM-database version support
�Facilitates online storage changes
�RMAN recommended for backing up ASM based databases
�Spreads I/O evenly across all disks to maximize performance and eliminates hot
spot
*************************ASM genral questions. *********************

1. What is the use of ASM (or) Why ASM preferred over filesystem?
Ans: ASM provides striping and mirroring.

2. What are the init parameters related to ASM?


INSTANCE_TYPE = ASM
ASM_POWER_LIMIT = 11
ASM_DISKSTRING = �/dev/rdsk/*s2�, �/dev/rdsk/c1*�
ASM_DISKGROUPS = DG_DATA, DG_FRA

3. What is rebalancing (or) what is the use of ASM_POWER_LIMIT?


ASM_POWER_LIMIT is dynamic parameter, which will be useful for rebalancing the data
across disks.
Value can be 1(lowest) to 11 (highest).

4. What are different types of redundancies in ASM & explain?


External redundancy,
Normal redundancy,
High redundancy.

5. How to copy file to/from ASM from/to filesystem?


By using ASMCMD cp command

6. How to find out the databases, which are using the ASM instance?
ASMCMD> lsct
SQL> select DB_NAME from V$ASM_CLIENT;

7. What are different types of stripings in ASM & their differences?


Fine-grained striping
Coarse-grained striping
lsdg
select NAME,ALLOCATION_UNIT_SIZE from v$asm_diskgroup;

8. What is allocation unit and what is default value of au_size and how to change?
Every ASM disk is divided into allocation units (AU). An AU is the fundamental unit
of allocation within a disk group. A file extent consists of one or more AU. An ASM
file consists of one or more file extents.
CREATE DISKGROUP disk_group_2 EXTERNAL REDUNDANCY DISK �/dev/sde1� ATRRIBUTE
�au_size� = �32M�;

10. What process does the rebalancing?

RBAL, ARBn

How does database connects to ASM Instance?

The database communicates with ASM instance using the ASMB (umblicus process)
process. Once the database obtains the necessary extents from extent map, all
database IO going forward is processed through by the database processes,
bypassing ASM. Thus we say ASM is not really in the IO path. So, the question how
do we make ASM go faster�..you don�t have to.

4) What init.ora parameters does a user need to configure for ASM instances?

The default parameter settings work perfectly for ASM. The only parameters needed
for 11g ASM:
� PROCESSES*
� ASM_DISKSTRING*
� ASM_DISKGROUPS
� INSTANCE_TYPE

5) How does the database interact with the ASM instance and how do I make ASM go
faster?
ASM is not in the I/O path so ASM does not impede the database file access. Since
the RDBMS instance is performing raw I/O, the I/O is as fast as possible.

6) Do I need to define the RDBMS FILESYSTEMIO_OPTIONS parameter when I use ASM?


No. The RDBMS does I/O directly to the raw disk devices, the FILESYSTEMIO_OPTIONS
parameter is only for filesystems.

7) Why Oracle recommends two diskgroups?


Oracle recommends two diskgroups to provide a balance of manageability,
utilization, and performance.

8) We have a 16 TB database. I�m curious about the number of disk groups we should
use; e.g. 1 large disk group, a couple of disk groups, or otherwise?
For VLDBs you will probably end up with different storage tiers; e.g with some of
our large customers they have Tier1 (RAID10 FC), Tier2 (RAID5 FC), Tier3 (SATA),
etc. Each one of these is mapped to a diskgroup.

9) We have a new app and don�t know our access pattern, but assuming mostly
sequential access, what size would be a good AU fit?
For 11g ASM/RDBMS it is recommended to use 4MB ASM AU for disk groups. See Metalink
Note 810484.1

10) Would it be better to use BIGFILE tablespaces, or standard tablespaces for ASM?
The use of Bigfile tablespaces has no bearing on ASM (or vice versa). In fact most
database object related decisions are transparent to ASM.

11) What is the best LUN size for ASM?


There is no best size! In most cases the storage team will dictate to you based on
their standardized LUN size. The ASM administrator merely has to communicate the
ASM Best Practices and application characteristics to storage folks :
� Need equally sized / performance LUNs
� Minimum of 4 LUNs
� The capacity requirement
� The workload characteristic (random r/w, sequential r/w) & any response time SLA
Using this info , and their standards, the storage folks should build a nice LUN
group set for you.

12) In 11g RAC we want to separate ASM admins from DBAs and create different users
and groups. How do we set this up?
For clarification
� Separate Oracle Home for ASM and RDBMS.
� RDBMS instance connects to ASM using OSDBA group of the ASM instance.
Thus, software owner for each RDBMS instance connecting to ASM must be
a member of ASM's OSDBA group.
� Choose a different OSDBA group for ASM instance (asmdba) than for
RDBMS instance (dba)
� In 11g, ASM administrator has to be member of a separate SYSASM group to
separate ASM Admin and DBAs.

13) Can my RDBMS and ASM instances run different versions?


Yes. ASM can be at a higher version or at lower version than its client databases.
There�s two
components of compatiblity:
Software compatibility
Diskgroup compatibility attributes:
compatible.asm
compatible.rdbms

14) Where do I run my database listener from; i.e., ASM HOME or DB HOME?
It is recommended to run the listener from the ASM HOME. This is particularly
important for RAC env, since the listener is a node-level resource. In this config,
you can create additional [user] listeners from the database homes as needed.

15) How do I backup my ASM instance?


Not applicable! ASM has no files to backup, as its does not contain
controlfile,redo logs etc.

16) When should I use RMAN and when should I use ASMCMD copy?
RMAN is the recommended and most complete and flexible method to backup and
transport database files in ASM.
ASMCMD copy is good for copying single files
� Supports all Oracle file types
� Can be used to instantiate a Data Guard environment
� Does not update the controlfile
� Does not create OMF files

17) I�m going to do add disks to my ASM diskgroup, how long will this rebalance
take?
Rebalance time is heavily driven by the three items:
1) Amount of data currently in the diskgroup
2) IO bandwidth available on the server
3) ASM_POWER_LIMIT or Rebalance Power Level
18) We are migrating to a new storage array. How do I move my ASM database from
storage A to storage B?

Given that the new and old storage are both visible to ASM, simply add the new
disks to the ASM disk group and drop the old disks. ASM rebalance will migrate data
online.

Note 428681.1 covers how to move OCR/Voting disks to the new storage array

19) Is it possible to unplug an ASM disk group from one platform and plug into a
server on another platform (for example, from Solaris to Linux)?
No. Cross-platform disk group migration not supported. To move datafiles between
endian-ness platforms, you need to use XTTS, Datapump or Streams.

20) How does ASM work with multipathing software?


It works great! Multipathing software is at a layer lower than ASM, and thus is
transparent.
You may need to adjust ASM_DISKSTRING to specify only the path to the multipathing
pseudo devices.

21) Is ASM constantly rebalancing to manage �hot spots�?


No�No�Nope!! ASM provides even distribution of extents across all disks in a disk
group. Since each disk will equal number of extents, no single disk will be hotter
than another. Thus the answer NO, ASM does not dynamically move hot spots, because
hot spots simply do not
occur in ASM configurations. Rebalance only occurs on storage configuration changes
(e.g. add, drop, or resize disks).

22) What are the file types that ASM support and keep in disk groups?
Control files
Flashback logs
Data Pump dump sets

Data files
DB SPFILE
Data Guard configuration

Temporary data files


RMAN backup sets
Change tracking bitmaps

Online redo logs


RMAN data file copies
OCR files

Archive logs
Transport data files
ASM SPFILE

23. List Key benefits of ASM?


Stripes files rather than logical volumes
Provides redundancy on a file basis
Enables online disk reconfiguration and dynamic rebalancing
Reduces the time significantly to resynchronize a transient failure by tracking
changes while disk is offline
Provides adjustable rebalancing speed
Is cluster-aware
Supports reading from mirrored copy instead of primary copy for extended clusters
Is automatically installed as part of the Grid Infrastructure

24. What is ASM Striping?


ASM can use variable size data extents to support larger files, reduce memory
requirements, and improve performance.
Each data extent resides on an individual disk.
Data extents consist of one or more allocation units.
The data extent size is:
Equal to AU for the first 20,000 extents (0�19999)
Equal to 4 � AU for the next 20,000 extents (20000�39999)
Equal to 16 � AU for extents above 40,000
ASM stripes files using extents with a coarse method for load balancing or a fine
method to reduce latency.
Coarse-grained striping is always equal to the effective AU size.
Fine-grained striping is always equal to 128 KB.

26. How many ASM Diskgroups can be created under one ASM Instance?

ASM imposes the following limits:

63 disk groups in a storage system


10,000 ASM disks in a storage system
Two-terabyte maximum storage for each ASM disk (non-Exadata)
Four-petabyte maximum storage for each ASM disk (Exadata)
40-exabyte maximum storage for each storage system
1 million files for each disk group
ASM file size limits (database limit is 128 TB):
External redundancy maximum file size is 140 PB.
Normal redundancy maximum file size is 42 PB.
High redundancy maximum file size is 15 PB.

27) What is a diskgroup?


A disk group consists of multiple disks and is the fundamental object that ASM
manages. Each disk group contains the metadata that is required for the management
of space in the disk group. The ASM instance manages the metadata about the files
in a Disk Group in the same way that a file system manages metadata about its
files. However, the vast majority of I/O operations do not pass through the ASM
instance. In a moment we will look at how file
I/O works with respect to the ASM instance.

29) Diagram that how database interacts with ASM when a request is to read or open
a datafile.
1A. Database issues open of a database file
1B. ASM sends the extent map for the file to database instance. Starting with 11g,
the RDBMS only receives first 60 extents the remaining extents in the extent map
are paged in on demand, providing a faster open
2A/2B. Database now reads directly from disk
3A.RDBMS foreground initiates a create tablespace for example
3B. ASM does the allocation for its essentially reserving the allocation units
for the file creation
3C. Once allocation phase is done, the extent map is sent to the RDBMS
3D. The RDBMS initialization phase kicks in. In this phase the initializes all
the reserved AUs
3E. If file creation is successful, then the RDBMS commits the file creation
Going forward all I/Os are done by the RDBMS directly

30) Can my disks in a diskgroup can be varied size? For example one disk is of
100GB and another disk is of 50GB. If so how does ASM manage the extents?
Yes, disk sizes can be varied, Oracle ASM will manage data efficiently and
intelligent by placing the extents proportional to the size of the disk in the disk
group, bigger diskgroups have more extents than lesser ones.

g:\prints\interview\asmlib vs asm afd.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle ASMLIB
=============:
ASMLib is an optional utility that can be used on Linux systems to manage Oracle
ASM devices.

oracleasm related rpm's:


-oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm ,
-oracleasmlib-2.0.4-1.el5.i386.rpm
-oracleasm-support-2.1.4-1.el5.i386.rpm

Configure oracleasm:
# oracleasm configure -i

creating a disk:
# oracleasm createdisk data0101 /dev/sdb1

querying a disk:
# oracleasm querydisk -d DATA0101

Check the status


# oracleasm status

Load oracleasm module with the init command:


# oracleasm init

Check the configured disk:


# oracleasm listdisks

scan the disks


# oracleasm scandisks

Oracle ASMLIB v/s Oracle ASM Filter Driver (ASMFD):

Oracle ASM Filter Driver (Oracle ASMFD) is installed with an Oracle Grid
Infrastructure installation. If you have an existing Oracle ASM library driver
(Oracle ASMLIB) configuration, then depending on whether you want to use Oracle
ASMLIB or Oracle ASMFD, consider the following scenarios:

If you use Oracle ASMLIB to manage your Oracle ASM devices and you want to continue
to use Oracle ASMLIB, then upgrade to Oracle Grid Infrastructure 12c Release 1
(12.1.0.2).
Although Oracle ASMFD is installed, Oracle ASMLIB continues to be used for device
persistence.

If you use Oracle ASMLIB to manage your Oracle ASM devices and you want to migrate
to Oracle ASMFD, then perform the following steps:
Upgrade to Oracle Grid Infrastructure 12c Release 1 (12.1.0.2).
This process installs Oracle ASMFD.

g:\prints\interview\automated task.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In 11g, There are 3 main automated maintenance tasks in every database enabled by
default:

-Automatic Optimizer Statistics Collection � Gathers stale or missing statistics


for all schema objects. The task name is �auto optimizer stats collection�.
-Automatic Segment Advisor � Identifies segments that could be reorganized to save
space. The task name is �auto space advisor�.
-Automatic SQL Tuning Advisor � Identifies high load SQL The task name is �sql
tuning advisor�

These tasks can run up to 20 hours on Saturdays & Sundays utilizing a good portion
of your hardware.

g:\prints\interview\backup and recovery.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Backup and Recovery Interview Questions and Answers

How would you decide your backup strategy and timing for backup?In fact backup
strategy is purely depends upon your organization business need.
If no downtime then database must be run on archivelog mode and you have to take
frequently or daily backup.
If sufficient downtime is there and loss of data would not affect your business
then you can run your database in noarchivelog mode and backup can be taken in-
frequently or weekly or monthly.
In most of the case in an organization when no downtime then frequent inconsistent
backup needed (daily backup), multiplex online redo log files (multiple copies),
different location for redo log files, database must run in archivelog mode and
dataguard can be implemented for extra bit of protection.

What is difference between Restoring and Recovery of database?


Restoring means copying the database object from the backup media to the
destination where actually it is required where as recovery means to apply the
database object copied earlier (roll forward) in order to bring the database into
consistent state.

What is the difference between complete and incomplete recovery?An incomplete


database recovery is a recovery that it does not reach to the point of failure. The
recovery can be either point of time or particular SCN or Particular archive log
specially incase of missing archive log or redolog failure where as a complete
recovery recovers to the point of failure possibly when having all archive log
backup.

What is the benefit of running the DB in archivelog mode over no archivelog mode?
When a database is in no archivelog mode whenever log switch happens there will be
a loss of some redoes log information in order to avoid this, redo logs must be
archived. This can be achieved by configuring the database in archivelog mode.

If an oracle database is crashed? How would you recover that transaction which is
not in backup?If the database is in archivelog we can recover that transaction
otherwise we cannot recover that transaction which is not in backup.

What is the difference between HOTBACKUP and RMAN backup?


For hotbackup we have to put database in begin backup mode, then take backup where
as RMAN would not put database in begin backup mode. RMAN is faster can perform
incremental (changes only) backup, and does not place tablespace in hotbackup mode.

Can we use Same target database as Catalog database?


No, the recovery catalog should not reside in the target database (database to be
backed up) because the database can not be recovered in the mounted state.

Incremental backup levels:


Level 0 � full backup that can be used for subsequent incrementals
RMAN> backup incremental level 0 database;
Differential Level 1�only the blocks that have changed since the last backup
(whether it is level 0 or level 1)
RMAN> backup incremental level 1 differential database;
Cumulative Level 1 � all changes since the last level 0 incremental backup
RMAN> backup incremental level 1 cumulative database;
A full backup cannot be used for a cumulative level 1 backup.
A cumulative level 1 backup must be done on top of an incremental level 0 backup.

Why RMAN incremental backup fails even though full backup exists?If you have taken
the RMAN full backup using the command �Backup database�, where as a level 0 backup
is physically identical to a full backup. The only difference is that the level 0
backup is recorded as an incremental backup in the RMAN repository so it can be
used as the parent for a level 1 backup. Simply the �full backup without level 0�
can not be considered as a parent backup from which you can take level 1 backup.

Can we perform RMAN level 1 backup without level 0?If no level 0 is available, then
the behavior depends upon the compatibility mode setting (oracle version).
If the compatibility mode less than 10.0.0, RMAN generates a level 0 backup of
files contents at the time of backup.
If the compatibility is greater than 10.0.0, RMAN copies all block changes since
the file was created, and stores the results as level 1 backup.

How to put Manual/User managed backup in RMAN?In case of recovery catalog, you can
put by using catalog command:
RMAN> CATALOG START WITH �/oracle/backup.ctl�;

How to check RMAN version in oracle?If you want to check RMAN catalog version then
use the below query from SQL*plus
SQL> Select * from rcver;

What happens actually in case of instance Recovery?While Oracle instance fails,


Oracle performs an Instance Recovery when the associated database is being re-
started. Instance recovery occurs in 2 steps:
Cache recovery: Changes being made to a database are recorded in the database
buffer cache as well as redo log files simultaneously. When there are enough data
in the database buffer cache, they are written to data files. If an Oracle instance
fails before these data are written to data files, Oracle uses online redo log
files to recover the lost data when the associated database is re-started. This
process is called cache recovery.
Transaction recovery: When a transaction modifies data in a database (the before
image of the modified data is stored in an undo segment which is used to restore
the original values in case the transaction is rolled back). At the time of an
instance failure, the database may have uncommitted transactions. It is possible
that changes made by these uncommitted transactions have gotten saved in data
files. To maintain read consistency, Oracle rolls back all uncommitted transactions
when the associated database is re-started. Oracle uses the undo data stored in
undo segments to accomplish this. This process is called transaction recovery.

RMAN Backup of Database


$rman target /

run
{
allocate channel channel1 type disk;
allocate channel channel2 type disk;
allocate channel channel3 type disk;
allocate channel channel4 type disk;
backup database plus archivelog format '/u01/backup/dbname/dbname_%U' TAG
before_task;
backup current controlfile format '/u01/backup/dbname/control.bkp';
}

RMAN Backup and Recovery Scenario Point-In-Time Recovery


Backup and Restore Scenario from existing Level 0 backup
-------------------------------------------------------
steps to recover the database:-

1. Take Level 0 backup.


2. Lost SYSTEM datafile.
3. Start the instance without mounting the database.
4. Restore Controlfile.
5. Mount the database.
6. Restore database.
7. Recovery database.
8. Open the database and reset logs.

1. Take Level 0 backup:

run
{
allocate channel channel1 type disk;
allocate channel channel2 type disk;
allocate channel channel3 type disk;
backup incremental level=0 database;
backup archivelog all;
backup current controlfile;
}

2. Lost SYSTEM datafile.

Note:
----
Need controlfile, backup and parameter file for recoverying database.

3. Start the instance without mounting the database.

$sqlplus "/as sysdba"

SQL> startup nomount;


SQL> exit

4. Restore Controlfile.

$rman target /
RMAN> restore controlfile;

5. Mount the database.


RMAN> alter database mount;

6. Restore and recover & Point-In-Time Recovery of all data back to a particular
date/time in the past.
run
{
set until time "to_date('2013-03-20:14:40:00','YYYY-MM-DD:hh24:mi:ss')";
restore database;
recovery database;
}

7.Open the database and reset logs.

SQL> alter database open resetlogs;


This will update all current datafiles and online redo logs and all subsequent
archived redo logs with a new RESETLOGS SCN and time stamp.

NOTE:
----
As soon as you have done a resetlogs run a full backup, this is important as should
you suffer a second failure you will not be able to perform a second recovery
because after resetting the logs the SCN numbers will no longer match any older
backup files.

ARCHIVE LOG LIST;

SELECT * FROM gv$instance;


SELECT * FROM v$recover_file;
SELECT * FROM v$recovery_log;
select distinct status from v$backup;
select distinct(status) from v$datafile;
select distinct (to_char(checkpoint_change#)) from v$datafile;
select distinct (to_char(checkpoint_change#)) from v$datafile_header;
select * from v$backup;

Backup / Delete - Archivelogs and RMAN backups


sqlplus "/as sysdba"
archive log list;

!df -h or !df -kgt

show parameter db_recovery;

NAME TYPE VALUE


---- ---- -----
db_recovery_file_dest string +FLASHDG
db_recovery_file_dest_size big integer 150G

if +FRA,
select * from V$FLASH_RECOVERY_AREA_USAGE;
(see what kind of files are available in the Flash Recovery Area)

set pages 9999 lines 300


col name format a40
select name,
to_char(space_limit, '999,999,999,999') as space_limit,
to_char(space_limit - space_used + space_reclaimable,
'999,999,999,999') as space_available,
round((space_used - space_reclaimable)/space_limit * 100, 1) as pct_full
from v$recovery_file_dest;

NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES


---- ----------- ---------- ----------------- ---------------

if SPACE_USED is full, then increase the db_recovery_file_dest_size

rman target /
crosscheck archivelog all;
delete expired archivelog all;
crosscheck backup;

SQL>alter system set db_recovery_file_dest_size=200G scope=both;


System altered.
rman target /

show all;
LIST BACKUP OF ARCHIVELOG FROM TIME 'sysdate-1'; ------List all archivelog backups
for the past 24 hours
list backup of archivelog all completed before 'sysdate -1';

list backup of archivelog all;


list backup of archivelog all tag 'TAGXXX';
list archivelog all backed up 1 times to DEVICE TYPE DISK completed before
'sysdate-7';

crosscheck archivelog all;


list expired archivelog ALL;
delete expired archivelog all;

delete obsolete device type disk;


crosscheck backup;
delete expired backup device type disk;
delete expired backupset device type disk;

ls -ltr archivebackup.cmd

nohup rman target / cmdfile=archivebackup.cmd log=archivebackup_dbname_DDMONYY.log


&
nohup: appending output to `nohup.out'

tail -f archivebackup_dbname_DDMONYY.log

+FRA/+RECO01 filled with archivelogs


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

Backup archivelogs to disk


--------------------------
run
{
allocate channel ch1 type DISK;
allocate channel ch2 type DISK;
allocate channel ch3 type DISK;
allocate channel ch4 type DISK;
BACKUP ARCHIVELOG ALL FILESPERSET 10 DELETE INPUT;
}

Backup archivelogs to disk (specified location,if there is no space to take bakup


at archive default location)
-----------------------------------------------------------------------------------
---------------------------
RUN
{
allocate channel ch1 type DISK;
allocate channel ch2 type DISK;
allocate channel ch3 type DISK;
allocate channel ch4 type DISK;
BACKUP ARCHIVELOG ALL format '/location/arch_%d_%p_%s.rman' FILESPERSET 10 DELETE
INPUT;
}

Backup archivelogs to tape (PROD Environment)


--------------------------
run
{
allocate channel ch1 type 'sbt_tape';
allocate channel ch2 type 'sbt_tape';
allocate channel ch3 type 'sbt_tape';
allocate channel ch4 type 'sbt_tape';
BACKUP ARCHIVELOG ALL FILESPERSET 10 DELETE INPUT;
}

+FRA filled with Bacupsets (PROD Environment)


==========================
Move older backupset to tape (to keep more recent backups on disk and older backups
only on tape)
-----------------------------------------------------------------------------------
--------------
run
{
allocate channel ch1 type 'sbt_tape';
allocate channel ch2 type 'sbt_tape';
allocate channel ch3 type 'sbt_tape';
allocate channel ch4 type 'sbt_tape';
BACKUP BACKUPSET COMPLETED BEFORE 'SYSDATE-7' DELETE INPUT;
}

if required,
BACKUP BACKUPSET ALL FILESPERSET 10 DELETE INPUT;

Delete BACKUPSET backed up to tape/disk (PROD Environment)


-----------------------------------------
DELETE NOPROMPT BACKUPSET COMPLETED BEFORE 'SYSDATE-14' DEVICE TYPE DISK;

+FRA filled with Bacupsets (NON-PROD Environment)


==========================
Move older backupset to tape (to keep more recent backups on disk and older backups
only on tape)
-----------------------------------------------------------------------------------
--------------
run
{
allocate channel ch1 type 'sbt_tape';
allocate channel ch2 type 'sbt_tape';
allocate channel ch3 type 'sbt_tape';
allocate channel ch4 type 'sbt_tape';
DELETE BACKUPSET COMPLETED BEFORE 'SYSDATE-4';
}

Delete archivelogs backed up to tape/disk (PROD Environment)


-----------------------------------------
DELETE archivelog UNTIL TIME 'SYSDATE-7' BACKED UP 1 TIMES TO DEVICE TYPE DISK;
DELETE archivelog UNTIL TIME 'SYSDATE-7' BACKED UP 1 TIMES TO DEVICE TYPE SBT_TAPE;

Delete archivelogs backed up to tape/disk (NON-PROD Environment)


-----------------------------------------
DELETE archivelog all BACKED UP 1 TIMES TO DEVICE TYPE DISK;

list archivelog all backed up 1 times to DEVICE TYPE DISK completed before
'sysdate-7';
delete archivelog all backed up 1 times to DEVICE TYPE DISK completed before
'sysdate-7';

backup archivelog [all] [until time 'sysdate']| [sequence between 100 to 110 thread
1] as filesperset 5 delete

input;

backup archivelog from sequence 100 until sequence 110 thread 1 delete input;

backup archivelog from logseq 100 until logseq 110 thread 1 delete input;

report obsolete;
DELETE OBSOLETE REDUNDANCY = 3;
DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;

----
List the most recent Level 0 backups

Here,
incremental level 0 backups which runs
on Sunday using "backup as compressed backupset incremental level 0 ...."
We have incremental level 1 backups which runs
everyday other than Sunday using "backup as compressed backupset incremental level
1 database...."

select BACKUP_TYPE,INCREMENTAL_LEVEL,START_TIME,COMPLETION_TIME from v$backup_set


where START_TIME > sysdate -4 and BACKUP_TYPE='L';

B INCREMENTAL_LEVEL START_TIME COMPLETION_TIME


- ----------------- ----------------- -----------------
D 0 28-AUG-2012 04:30 28-AUG-2012 04:33
D 0 28-AUG-2012 04:30 28-AUG-2012 04:33
I 1 29-AUG-2012 04:30 29-AUG-2012 04:33
I 1 29-AUG-2012 04:30 29-AUG-2012 04:35
I 1 30-AUG-2012 04:30 30-AUG-2012 04:33
I 1 30-AUG-2012 04:30 30-AUG-2012 04:35
I 1 31-AUG-2012 04:30 31-AUG-2012 04:33
I 1 31-AUG-2012 04:30 31-AUG-2012 04:35
D 31-AUG-2012 04:35 31-AUG-2012 04:35
D 31-AUG-2012 06:30 31-AUG-2012 06:30
D 31-AUG-2012 08:30 31-AUG-2012 08:30

As per Oracle documentation V$BACKUP_SET,BACKUP_TYPE holds


"BACKUP_TYPE VARCHAR2(1) Type of files that are in this backup. If the
backup contains archived redo logs, the value is L. If this is a datafile
full
backup, the value is D. If this is an incremental backup, the value is I."
"INCREMENTAL_LEVEL NUMBER Location where this backup set fits into
the database's backup strategy. Set to zero for full datafile backups,
nonzero for incremental datafile backups, and NULL for archivelog
backups."
So the above query shows an entry with "D" which means a full datafile
backup did run today, but you can see INCREMENTAL_LEVEL is null which
means it is not a full datafile backup.

RMAN> list backup summary;

using target database control file instead of recovery catalog

List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- -------------------- ------- ------- ---------- ---

If you look at LV column, A=archivelog, 0=incremental level #, F=file backup.

RMAN> list backup by file tag <tag_name>;

Managing and Monitoring RMAN Backups

LIST

RMAN> list backup; // backup sets


RMAN> list copy; // image copies
RMAN> list backup of database; // whole database backup sets, full or incremental
RMAN> list backup of datafile 1;
RMAN> list backup of tablespace users;
RMAN> list backup of archivelog all;
RMAN> list copy of archivelog from time=�sysdate � 2';
RMAN> list backup of archivelog from sequence 1000 until sequence 1050;
REPORT

RMAN> report schema; // �schema� is confusing. this just shows datafiles and has
nothing to do with user objects.
RMAN> report need backup;
RMAN> report need backup days 3;
RMAN> report need backup redundancy 3;
RMAN> report obsolete;
RMAN> report obsolete redundancy 2; // shows backups that are older than two others
DELETE

RMAN> delete obsolete;


RMAN> delete obsolete redundancy 2; // delete backups that are older than two
others
Views & Tables

These views and data are contained in the control file only (not recovery catalog).
V$BLOCK_CHANGE_TRACKING � to monitor block change tracking
V$BACKUP_FILES
V$BACKUP_SET
V$BACKUP_PIECE
V$BACKUP_REDOLOG � each archived log that has been backed up
V$BACKUP_SPFILE � each spfile that has been backed up
V$BACKUP_DEVICE � names of sbt devices
V$RMAN_CONFIGURATION
Parameters

DB_CREATE_FILE_DEST � default location for the change tracking file.

level 0 incremental backup the base for subsequent incremental backups, copies
all blocks containing data.

You can create a level 0 database backup as backup sets or image copies.
level 1 cumulative incremental backup backs up all blocks changed after the
most recent incremental backup at level 0
level 1 differential incremental backup backs up all blocks changed after the
most recent incremental backup at

level 1 or 0 - Incremental backups are differential by default.


Block Change Tracking- The block change tracking feature for incremental backups
improves backup
performance by recording changed blocks for each datafile. - a small bitmap file.

An example is shown below where we are checking the validity of a database backup
for a database which has a
weekly level 0 backup. Note that the RESTORE DATABASE VALIDATE command will cause
RMAN to check for the last level
0 backup which has been performed in this case on the 15th of November.

RMAN> restore database validate;


Starting restore at 20-NOV-09
using channel ORA_SBT_TAPE_1
using channel ORA_DISK_1
channel ORA_SBT_TAPE_1: restored backup piece 1
channel ORA_SBT_TAPE_1: validation complete, elapsed time: 00:14:15
Finished restore at 20-NOV-09
RMAN> list backup of database tag TAG20091115T060908;

List of Backup Sets


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

BS Key Type LV Size Device Type Elapsed Time Completion Time


��- �- � ���- ���� ���� �����
3054 Incr 0 15.59G SBT_TAPE 00:39:00 15-NOV-09
BP Key: 3054 Status: AVAILABLE Compressed: NO Tag: TAG20091115T060908
Handle: vnkud0k5_1_1 Media:
List of Datafiles in backup set 3054
File LV Type Ckp SCN Ckp Time Name
�- � �- ���- ��� �-
1 0 Incr 23674579905 15-NOV-09 /u04/oradata/emrep/system01.dbf
2 0 Incr 23674579905 15-NOV-09 /u04/oradata/emrep/undotbs01.dbf
ARCHIVE LOG BACKUP TO TAPE
--------------------------
ps -ef|grep pmon

ORACLE_SID=`ps -ef | grep asm_smon | grep -v 'grep' | grep -v 'sed' | awk '{printf
$8}' | awk 'BEGIN{FS="_"} {printf $3}'`
-----------------------------------------
tar -cvf $ORACLE_HOME $ORACLE_HOME/oraInventory | gzip >
Backup_Software_Version.tar.gz

Note:
tar -cvf <destination_location> <source_location>

ORACLE_HOME & ORACLE_CRS_HOME backup�s (for all nodes in RAC)

cd /u01/before_patch_backup

tar -cvf oracle_base_jun30.tar $ORACLE_BASE


tar -cvf oracle_home_jun30.tar $ORACLE_HOME
tar -cvf oracle_crs_home_jun30.tar $ORACLE_CRS_HOME

Controlfile Backup
---------------------
alter database backup controlfile to trace;

show parameter user_dump_dest


(go to udump dest and make the note of controlfile trace)

g:\prints\interview\Backup_Strategy.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Backup Strategies
==================:

E-Business Suite backup.


Just make sure you stop your applications services, database listener, and the
database properly then you can back it up.

Q)I am new to apps and my understanding is that I have to backup application code,
logs, ... datafiles ALL
in one script. Is this true?
Ans) Not necessarily, just bear in mind that it should be synchronous. So whenever
you make a change at the Application and such a change update the DB then you
should backup both.

Q)I am using RMAN to backup other databases and can posibly employ it to backup
apps d/b, right?
Ans) Apps DB is just like any other Oracle DB. Definitely you can use RMAN to back
it up.

Q) What about application code? How do I do that?


Ans) Well, it depends on what kind of changes you are doing here. Application code
can be changed in different ways (i.e. Apply a patch, create a new form/report,
create a custom table/view/package .. etc)
-For example, when you apply a patch it would have an impact on both the
application and the database so you should consider to backup both.
-When you do a customization at the Application level only (For example creating a
new report) then only the Application should be considered.
-If the change is at the Database level only (For example creating a new table or
writing your own package then you should not bother your self to backup the
application).

Q) So if the middle tier services are up and running a backup (normal copy) of the
APPS tier is valid. There are no constraints here. Is that correct ?
Some Operating System will not let you take a backup (i.e. copy the files) when it
is in used, so you need to shutdown the application tier first. You can take a
backup of the application tier on Linux/Unix while it is open, but it is not
recommended.

If you do not do any changes on the application tier, then I would suggest you can
take a full offline backup, and then take an incremental online backup for the CM
log files, and Concurrent Requests log/out files

-After patching the middle-tier it is good to take a backup of the APPS tier and
the database tier as well.

Currently we are taking cold backup and we are planning to migrate to Hotbackup
using RMAN...can any recommend any startegy for backups ?..No downtime .......??
for the applicaiton server you need to have one full backup at least and then
before each patch you have to take backup. you can sechdual a weekly full backup
for the application tire.
for the database you can schudaly a daily backup for the arichive redo logs and a
weelkly backup for the whole database.

Currently we dont have a backup software with open file agent..so we are shutting
down the DB every week and taking the backup. We thought of migrating to RMAN..any
comments ?

Reommended backup and recovery startegy for EBS

Backup Strategy Recommendations


1. Keep you database in archive mode
2. Keep multiplexed memebers of the redo logs in different disk controllers
3. Keep multiplexed controlfiles on differenct disk controllers
4. Configure RMAN repository in another database so that you don't loose your
backup repository. Backup information by default also goes to controlfiles and the
retention period is 7 days so you can also depend on this if you want.
5. RMAN backup can be taken when the instance is up and running. So you can
schedule this job during night. Better to take a full database level 0 backup in
the week end and take level 1 incremental backup everyday.
6. Give good size for large_pool_size buffer as RMAN is based on PL/SQL scripts and
uses this buffer.
7. If your database is 10g then enable flash_recovery_area by setting the value for
db_recovery_file_dest and db_recovery_file_dest_size parameters. So that your
backup, archivelogs are managed in a better way.
8. Take tablespace by tablespace backup
9. Application files backup can be taken once in a week or month. And if a patch is
applied then take again a full backup as some patches will update the files in the
application tier.
10. Please also refer to the following link for application tier backups,
11. Dont take compressed or encrypted backups using RMAN though these features are
good and new from 10g database, there are many SR's opened where
encrypted/compressed backups doesn't work while recovery.

Please be informed that more the backup strategy less the performance. So monitor
the performance aswell and accordingly apply the backup strategies.

Q) if any body could tell me the application files located in application tier to
be backed up with steps....?

You have to back up the following directories:


<sid>appl
<sid>comn
<sid>ora
i.e.
prodappl
prodcomn
prodora

Make sure you shutdown the application services (verify using ps -ef | grep -i
applmgr) before taking the backup.

Q) Make sure you shutdown the application services (verify using ps -ef | grep -i
applmgr) before taking the backup...?
Just to ensure that none of the application files are used when you take a backup
so that it will not be skipped by the backup software.

g:\prints\interview\bam interview questions.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Question: What is BAM and why we use it?
Answer: BAM stands for Business Activity Monitoring. This monitors various types
of business activities, reports on them and sends out alerts when thresholds are
reached or surpassed.

Question: what are the features of BAM?


Answer: Below are the features of BAM.
With BAM, end users, operational managers and to some extend analysts get a real-
time overview of the state of ongoing affairs.
It is required to improve decision-making processes.
It is also used to understand Key Performance Indicators (KPI) affecting processes

Question: What are different components of BAM?


Answer: BAM has 4 components.
Active Viewer
Active Studio
Architect
Administrator

Question: Explain each component.


Answer:
Active Viewer

Oracle BAM Active Viewer is the thin user interface for the business user.
When new, information is available; the user receives an instant message that
contains a link to the information.
The user opens Active Viewer through this link and a report is displayed.
Report formats include charts, columns, cross tab, spread sheets, KPIs, lists and
more.
These different formats can be combined in one report or viewed in separate
reports.

Active Studio

Oracle BAM Active Studio is the thin user interface for the power user.
Through Active Studio, the power user can create and edit reports.
Report creation includes field selection, formatting, filtering, calculated fields,
and summaries.
Reports may be published and rules can be created for determining the scheduling
and delivery of the reports.
View types include: charts, columnar, cross tab, spread sheets, KPIs, lists and
more.

Architect

Oracle BAM Architect is the thin user interface for the data designer focused on
creating data objects in the Oracle BAM Active Data Cache so that power users can
create reports.
Through Oracle BAM Architect, the data designer creates data objects, creates and
schedules data flow plans, imports and creates metadata, and maintains the data
objects and rules.
Oracle BAM Architect is seamlessly integrated with Oracle BAM Active Studio.

Administrator

Oracle BAM Administrator is the thin user interface for the system administrator
who is responsible for user management and overall server management.
Through Oracle BAM Administrator, the system administrator can add or delete users,
define security levels for users and objects, manage the Oracle BAM Active Data
Cache, and maintain and configure Oracle BAM services.

Question: What is Data Object?


Answer: Data objects are tables that store raw data in the database. Each data
object has a specific layout which can be a combination of data fields, lookup
fields, and calculated fields.

Question: How to get data from JMS queue/topic to BAM data object.
Answer: By using EMS (Enterprise Message Source).

Question: What is EMS?


Answer: Enterprise Message Sources (EMS) is used by applications to provide direct
Java Message Service (JMS) connectivity to the Oracle BAM Server. Each EMS connects
to a specific JMS topic or queue, and the information is delivered into a data
object in the Oracle BAM Active Data Cache.
Question: Can we have user based access in BAM?
Answer: Yes, we can have user based access in BAM.

Question: By how many ways we can do SOA service monitoring?


Answer: We can use below options available to monitor SOA service.
BAM Adapter
Sensors

Question: When we need to use BAM adapter?


Answer: BAM adapter is used when we want to do monitoring at composite level or
when we need to monitor full message.

Question: When we can use Sensors?


Answer: Sensors are used when we want to do variable and activity level monitoring.

Question: What is Sensor action?


Answer: Sensor action is linked to sensor. In sensor action we define what action
we need to perform on sensor data.

Question: Types of sensor actions?


Answer: There are two types of sensor actions.
Sensor action
BAM sensor action

Question: Where we use sensor action?


Answer: By using sensor action we can publish the sensor data to Database, JMS
Queue/topic, Custom Java and JMS adapter.

Question: Where and when we use BAM sensor action?


Answer: We used this sensor when we need to directly send the sensor data to BAM
data object.

Questions: What is BAM alert?


Answer: Business Activity Monitoring has alert feature which we can use when we
want to perform some action based on some data insertion or data change.

Question: Can we use BAM alert to invoke external web service?


Answer: Yes, we can use BAM alerts to invoke external web service.

g:\prints\interview\bgprocess.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Database 11g introduced 56 new background processes
==========================================================:

Note:
The following post based on the Oracle Database 11g and briefly describes some
important processes.

These processes are mandatory and can be found in all typical database environment.

PMON � Process Monitor


Recover failed user process, Releasing resource, Rollback uncommitted Transaction

SMON � System Monitor


Instance recovery, Cleans and releases temporary segments

LGWR � Log Writer (Redo etc.)


Writes redo entries from redo log buffer to disk (Redo log file)

CKPT � Checkpoint
Ensures data consistency and easy database recovery in case of crash by
sychronizing all the data file headers and control files with recent checkpoint
information.

DBW0�j � DB Writer
Flushing or writing modi?ed dirty data (buffers) from database buffer cache to
disks (datafiles). You can configure addition DB writer processes (up to 20) from
DBW0-DBW9 and DBWa through DBWj.

RECO � Distributed Recovery


Recoverer is responsible for recovering failed distributed transactions in a
distributed database.

MMON & MMNL � Manageability Monitor and Manageability Monitor Lite


MMON performs tasks related to AWR such as taking snapshots, capturing statistics
value for recently modified SQL objects and writes when a metric violates its
threshold value.
MMNL writes statistics from the Active Session History (ASH) buffer in the SGA to
disk. MMNL writes to disk when the ASH buffer is full.

DIAG � Diagnostic Capture


Prior to Oracle database 11g, DIAG was used in RAC environmnent. Monitors overall
health of the instance and performs diagnostic dumps requested by other processes
and dumps triggered by process or instance termination.

Followings are optional and used by specific database feature.

ARCn � Archiver Process


Responsible for copying online redo log to archival storage before being reused.
Runs only when database is in Archivelog Mode.

CJQ0 � Job Queue Coordinator Process


Job Queue coordinator is responsible for managing scheduled job processes within
the database.

Dnnn � Dispatcher Process


Performs network communication in the shared server architecture

MMAN � Memory Manager


Responsible for managing instance memory based on the workloads.

PSP0 � Process Spawner Process


Spawns Oracle background processes whenever needed.

QMNC � AQ (Advanced Queuing) Coordinator Process


Facilitating various background activities required by AQ and Oracle Streams.

These are introduced in Oracle Database 11g. The first three is mandatory and
others could be running depending upon the features being used.

DIA0 � Diagnostic
Responsible for detecting hangs and resolving deadlocks

GEN0 � General Task Execution Process


performs required tasks including SQL and DML
VKTM � Virtual Keeper of TiMe Process
Responsible for providing a wall-clock time (updated every second) and reference-
time counter (updated every 20 ms) and available only when running at elevated
priority.

DBRM � DataBase Resource Manager


Performs resource manager tasks setting resource plans.

FBDA � Flashback Data Archiver Process


Archives historical rows for tracked tables into flashback data archives and
manages archive space, organization, and retention

SMCO � Space Management Coordinator


Coordinates the execution of various space management tasks

Wnnn � Space Management Slaves


Performs various background space management tasks, including proactive space
allocation and space reclamation

RCBG � Result Cache BackGround


Handles result cache messages.

VKRM � Virtual Scheduler for Resource Manager Process


Schedules Resource Manager Activity. Serves as centralized scheduler for Resource
Manager activity. VKRM manages the CPU scheduling for all managed Oracle processes.

g:\prints\interview\blackout creation.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Database BLACKOUT
OEM BLACKOUT
------------

OEM ->
Targets ->
enter the target dbhost name ->
select blackout ->
enter blackout name ->
select the reason ->
select add(if required to add more) ->
select all ->
next ->
select immediate time from & select end time ->
next

To know the particular database is configured with OEM or not:


-------------------------------------------------------------
echo $AGENT_HOME
/u01/app/oracle/product/agent10g/

cd $AGENT_HOME/bin
./emctl config agent listtargets

To check the status of all the blackouts on a host:


--------------------------------------------------
./emctl status blackout
To set a blackout for all targets/databases on a host:
-----------------------------------------------------
emctl start blackout <Blackoutname> [-nodeLevel] [-d <Duration>]

"-nodeLevel" tells the agent to stop monitoring all targets on the server.
"-d Duration" allows you to set a duration in the format of [days] hh:mm.

cd $AGENT_HOME/bin
./emctl start blackout alltargets_onserver �nodeLevel----->Blackout entire host
indefinitely
<Perform Maintenance Tasks>

To stop blackout "alltargets_onserver" immediately:


--------------------------------------------------
cd $AGENT_HOME/bin
./emctl stop blackout alltargets_onserver

To set a blackout for a database on a host:


------------------------------------------
emctl start blackout <Blackoutname> [<Target_name>:<Target_Type>]�. [-d <Duration>]

"-nodeLevel" tells the agent to stop monitoring all targets on the server.
"-d Duration" allows you to set a duration in the format of [days] hh:mm.

cd $AGENT_HOME/bin
./emctl start blackout Blackoutname database1 -d 6:00
<Perform Maintenance Tasks>

To stop blackout "Blackoutname" immediately:


-------------------------------------------
./emctl stop blackout Blackoutname

To get the help menu for emctl


------------------------------
emctl blackout

Examples:
--------
To start an immediate indefinite blackout called "Blackoutname" for all targets on
the host:
./emctl start blackout Blackoutname -nodeLevel

To start an immediate blackout called "Blackoutname" for all targets on the host
for 6 hours:
./emctl start blackout Blackoutname -nodeLevel -d 06:00

To start an immediate blackout called "Blackoutname" for database "database1" for


30 minutes:
./emctl start blackout Blackoutname database1 -d 30

To start an immediate blackout called "Blackoutname" for database "database2" for 6


hours:
./emctl start blackout Blackoutname database2 -d 6:00

To start an immediate blackout called "Blackoutname" for databases


"database1","database2" and listener "listener1" which will last for 5 days 3 hours
and 30 minutes.
./emctl start blackout Blackoutname database1 database2 listener1:oracle_listener
-d 5 03:30

g:\prints\interview\Btree and Bitmap.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Btree and Bitmap
=================:

A Btree Index is a Default Index. In a BTree Index all the lower values are placed
on the left side & Higher Values on the Right Side.
A Bitmap Index is created on columns with repeated values. And it mostly created on
Transaction Tables on which the data is continously being added.
Bitmap Indexes can also be very useful in OLAP as well as OLTP. Many data
warehouses use Bitmap indexes to improve performance.

Bitmap index:
------------
A type of index that uses a string of bits to quickly locate rows in a table.
Bitmap indexes are normally used to index low cardinality columns in a warehouse
environment.

Btree index:
------------
A type of index that uses a balanced tree structure for efficient record
retrieval. B-tree indexes store key data in ascending or descending order.
b-tree indexes are used usuall when we have too many distinct columns and for high
cardinaties . and bitmap indexex are used for low cardinaties, usually when we
have repeated columns.

g:\prints\interview\catctl.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The catctl.pl Utility In 12c
=============================:

The catupgrd.sql script Upgrade Utility to process the upgrade singled threaded.
Now there is a faster way to upgrade your Oracle Database to 12c, you can use the
catctl.pl the Parallel Upgrade Utility � a perl script, which replaces catupgrd.sql
and provides both parallel processing mode and serial mode. This will greatly help
reduce downtime for a database upgrade to 12c and I highly recommend you use this
option.

The �n option Specifies the number of processes to use for parallel operations
(default = 4). The maximum is 8. Set this parameter to 0 to run catctl.pl in serial
mode.

The catctl.pl Parallel Upgrade Utility is integrated with DBUA the gui upgrade
utility. However, for manual, command line upgrades, you can run catctl.pl with
various parameters

If -n 3 is used when invoking catctl.pl, then catupgrd0.log, catupgrd1.log,


catupgrd2.log are created during the upgrade process. When confirming if an upgrade
ran fine or failed, all of the catupgrd#.log files must be checked. If catctl.pl is
rerun, then the previous log files are overwritten unless you specify a different
log directory.

To run catctl.pl on Linux from the new Oracle 12c home.


cd $ORACLE_HOME/rdbms/admin
$ORACLE_HOME/perl/bin/perl catctl.pl -n 3 -l $ORACLE_HOME/diagnostics catupgrd.sql

Once you start the database in upgrade mode by issuing the following command:
SQL> STARTUP UPGRADE

The UPGRADE keyword prepares the database for the upgrade.

Once the database is started in upgrade mode, only queries on fixed views execute
without errors until after the catctl.pl script is run. Before running catctl.pl,
queries on any other view or the use of PL/SQL returns an error.

If errors appear listing desupported initialization parameters, then make a note of


the desupported initialization parameters and continue with the upgrade. Remove the
desupported initialization parameters the next time you shut down the database.
There is a lot more going on in the script ( sending commands to all sqlplus
sessions, enabling/disabling compile for oracle components, organizing the files
into the different phases � ) but this basic information should provide you with an
idea of how upgrades will be handled as of 12.1.0.1.

g:\prints\interview\conc interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Question:Error:
========
After submitting the concurrent program, i am getting the status as inactive and no
manager and when i clicked on diagnostics button its showing a message like

This request will not be processed because there are currently no managers running
that can process it.

This is an error condition. There are one or more managers defined that can process
this request that should be running at this time, but do not appear to be running.

Contact your system administrator and/or check the manager log files for errors.

Solution:
=========
to resolve that, just u simple startup concurrent manager by executing the
./adcmctl.sh script

Question:
=========
want to create a new �MANAGER�
Ans:
====
sysadmin guide for that

http://download-uk.oracle.com/docs/cd/B25516_11/current/html/docset.html
To figure out the issue.

1) Check your CRM is showing any jobs in conflicts.

2) Check for locks.

3)280295.1 REQUESTS.sql Script for Parent/Child Request IDs and Trace File IDs
ANALYZEPENDING.SQL - Analyze all Pending Requests Doc ID: Note:134033.1
Question :
===========

problem is My technical consultant has submitted two concurrent requests. But it is


long time running. the status is running. There is nothing to find in the log file.
Where can i know what is exact problem

Solution
========
are the concurrent requests are custom or default concurrent programs....did you
check the concurrent managers status.....

(a) check the concurrent managers status


(b) check the concurrent manager logfiles

if the concurrent requests are custom...i mean....if it is the report based...check


the report query and tune the query wether custom tables are having indexes or
not.......check the schema statistics of apps schema

2:
Try enabling trace on the particular concurrent request,may be that should help to
diagnose the problem?

Question:
=========
What is environment variable APPLCSF in Apps environment?
Ans:
==
If environment variable APPLCSF is set then u can
get the logfiles of concurrent managers under $APPLCSF/$APPLLOG.
If APPLCSF is not set, Request Log files will go to

$<MODULE>_TOP/$APPLLOG

and output files will go to

$<MODULE>_TOP/$APPLOUT

Here <MODULE_TOP> is GL_TOP, AP_TOP, AR_TOP etc etc.

QUESTION:
=========
How and why to configure PCP(Parallel Concurrent Processing)?
Answer:
========
PCP is nothing but a load balancing methodology for concurrent processing server.
To load balance on concurrent processing server, this is required. In a multinode
architecture, it is being used.

Check the following metalink notes

How to Set Up Parallel Concurrent Processing (PCP) in Apps 11i?


Doc ID: Note:388495.1

Oracle E-Business Suite Release 11i with 9i RAC: Installation and Configuration
using AutoConfig
Doc ID: Note:279956.1
Question:
=========
CM is not working after cloning?
Answer
======
1.Bounce CM
2.check FND_NODES correctlly updated for concurent manager
3.if is there custom tops ..if so means...add those to any env file..after that set
env
then Bounce the concurrnet managers..

Question:
=========
Concurrent manager "Inactive, No Manager"
1. We are facing this problem even when no other job is running
2. We dont face this problem on daily basis- it can happen sometimes thrice in a
day and sometimes once in a month.
3. This program generally runs atleast 10 times in a day.
4. Configuration of the concurrent manager is (this is not standard manager):
No. of processes is: 8, Cache Size: 10, Sleep time: 10

Answer:
=========
sol_1
====
This problem seems to be inactive ICM.
When ICM is not up u will get error inactive-no manager.
Just check with manager and make it up.
ps -ef|grep LIBR
if it shows the manager is down then start the CM using script adcmctl.sh.

And if the manager is up but it is showing the inactive-nomanager then check for
the log file and do the needful.

As my idea y dont u try with cmclean.sql.(not supported by oracle),Check in UAT


before trying in prod.
1.Bring down CM.
2.run cmclean.sql
3.Bring up CM.

Sol_2:
======
Most importantly, see try reassigning the request to a different manager instead of
the Standard Manager (maybe a custom one which only it belongs to) and see if you
get the same behavior. Also check to see there are no unnecessary incompatibilities
listed for the Program under the Program definitions.

sol_3:
========
I'd like to add that we checked the work schedule which is set to standard (24X7)
and specialised rules against the standard Concurrent manager in the define manager
screen. In adition we recreated the Conc mgr views, also created our own manager
which gave the same message Phase Inactive No Manager.

Sol_4:
=======
What is the value of your GSM Enabled profile setting?
We had it set at Y but since changed it to N. We have also changed the appldcp
context value to NO. Nothing seems to make any difference

Sol_5:
=======
after cloning you are getting inactive manager

go to applmgr user

$TNS_ADMIN / path

change the tns file as

edit

(SID=FNDSM) to (SID=FNDSM_VIS)

Sol_6:
=====
check the disc space of this instance, and increase

QUESTION:
=========
What are the differences between the functionality of purging concurrent request,
FNDCPPUR and CMCLEAN.
Answer:
=======
FNDCPPUR is executable name of Purge Concurrent Request and/or Manager Data
Program.

When you run this request, it will delete all the requests from Tables and log, req
and manager log files from OS leve.

cmclean.sql is used to clean the concurrent manager tables, when there is any
problem with managers starting up..

for more check the following note

CMCLEAN.SQL - Non Destructive Script to Clean Concurrent Manager Tables


Doc ID: Note:134007.1

Question:
=======
If ICM stop the othar manager ST which are already
started will continue but the new manager will not start
At the same time confict resolution manager will pickup all the request
How to know the ICM is down

Answer:
========
FNDSM is ICMs agent which will be doing the job for ICM(starting stoppin managers
etc..). if that goes down everything else related to concurrent processing shuts
off.
So you could grep for this FNDSM process continously at OS level to check ICMs
status using a script

LOCKING:
========
Check V$session and V$locked_object. You can formulate a query by joining these two
views to get the required info..Do a describe on them and try to create a query.
>How to resolve locking
using the two views mentioned above you can find out which session is blockin which
sessions.If the culprit session is INACTIVE, then you may kill it using alter
system kill session command. That would release the blockage

Question:
=========
what is PMON cyle,QUEUE size and sleep time:
ANS:
===
While the basic ICM definition should not be changed, you can if required modify
the sleep time (number of seconds the ICM waits between checking for new concurrent
requests), PMON (process monitor) cycle time (number of sleep cycles the ICM waits
between checking for failed workers), and queue size (duration between checks for
number of active workers, measured in PMON cycles). If Parallel Concurrent
Processing (described below) is being used, you can also set some options for this.

what does these failed "workers" refer to?? What are these workers?

A/These workers are nothing but the Operating System processes associated with the
concurrent managers.

Question:
==========

Reasons when concurrent manager fail?


In concurrent manager -> administer
Actual /target values different? Wat do you mean by it?

Answer:
=========
Reasons when concurrent manager fail?

There can be N number of reason for CM failure , check CM log file for exact
message and cause
Few of them are --
Database listener down,
wrong password while starting CM,
corruption in FND_NODES ...

In concurrent manager -> administer Actual /target values different?


Wat do you mean by it?

Actual is actual number of manager running at that time and target is the number of
Manager should be running at that particular time.

Qestion:
========
How to check the CM is up?

Answer:
========
ps -ef|grep FNDLIBR

Question:
========
which concurrent manager will run, which concurrent programs?
ANS_!:
========
Basically there are four types of Conc Mgrs

1 Internal Concurrent Manager


2 Conflict resoluction manager
3 Standard Manager
4 Transactional Managers

ICM - monitors other managers


SM picks up all the requests which or not there in it's exclusion list
Each transaction manager can process only the programs contained in its program
library.

In the Concurrent Program Definition there is a column called REQUEST_TYPE by which


we can assign the program to a particular manager.

You can use include and exclude options for the managers depending upon the your
requirement if you want the program to be run by only one user.

You can navigate to Administer Concurrent Managers from System Adminsrator


reqponsiblity, select maanger and view it's requests to see what all requests it is
running.

Document which gives you more details is "System Administrator�s Guide"


Ans_2
=====
you can know this by navigate to concurrent>>manager>>define and there just query
for that manager what you search for. There , the manager has been defined that it
will run which requests or programs.

ANS_3:
========
From concurrent manager define and administrator screen we can find out what are
all the concurrent programs that manager is running.
We can find out currently running request and which manager queue this request is
running from the script $FND_TOP/sql/afrqrun.sql.
But my question is, I want general script or query to find from back end,
Which request (completed, errored, schedule, running etc) goes to which manager?
ANS_4:
=======
Use this query. Provide short name as concurrent_program_name.

SELECT A.INCLUDE_FLAG, A.QUEUE_APPLICATION_ID, C.USER_CONCURRENT_QUEUE_NAME,a


B.CONCURRENT_PROGRAM_NAME
FROM APPLSYS.FND_CONCURRENT_QUEUE_CONTENT A, APPLSYS.FND_CONCURRENT_PROGRAMS B,
APPS.FND_CONCURRENT_QUEUES_VL C
WHERE type_id = b.concurrent_program_id and b.concurrent_program_name =
'&SHORT_NAME' and c.concurrent_queue_id = a.concurrent_queue_id
/

Output will show you Which program is excluded from standard manager and included
in other manager.

Question:
=========
What to do when Concurrent request is queing up and not being completed.

Did u started the concurrent manager...


ANSWER:
=========
A/Start the conc manger .. $COMMON_TOP/admin/scripts/adcmctl.sh start apps/apps
But still it not complited

B/Are there any errors in the Standard Manager log?

$APPLCSF/log/<Context Name>/FNDSM9999.mgr

Question
==========
What cmclean.sql will do?
Answer:
=========
cmclean.sql is non destructive script to clean CM tables. To run this script, CM
has to be down since it does some updates on the tables. The script resets the
flags of the requests to 'COMPLETED' and clean the CM tables so allowing the
concurrent managers to come up. You need to run this script whenever you have an
issue with the CM startup.

EXEC FND_CONC_CLONE.SETUP_CLEAN;commit ==> to clean fnd_tables

SQL> select NODE_NAME,SERVER_ADDRESS from fnd_nodes;

DESCRIPTION
Concurrent managers cleanup script.
To be called by rapidinstall ONLY.
- Delete all site specific information (nodes, services, printers, etc).
- Delete requests that are in Completed and Running states.
- Delete/reset all concurrent manager state information.
- Cancel all Pending Oracle Reports based requests.

Question:
========
What is CONCSUB
Ans:
=====
CONCSUB is a utility run at the operating system level to submit a concurrent
program to the concurrent manager.

For more check the metalink note...Using The CONCSUB Utility


Doc ID: Note:9611.1

Question:
=========
How to purge concurrent request espcially those who has .req and .log extension
name on OS side, is it safe to purge concurrent request?

Answer:
========
A/To avoid running out of space on your disk drives, you should periodically
delete Oracle Applications log files, output files and purge these tables
with the FNDCPPUR program (Purge Concurrent Request and/or Manager Data).

The FNDCPUR purge program maintains the number of log and output files the
operating system retains, and manage tables that store information about concurrent
requests and concurrent manager processes.

You can run the program FNDCPPUR once and automatically resubmit the program for
your specific time intervals.

Depending on the usage you might have a different strategy for purging the
concurrent requests log/out files eg.

- every 30 days for normal usage


- every two weeks (14 days) for heavy usage
- if you are using the AGE mode, set the Mode Value to 7 or higher to retain the
most recent days of concurrent request data, log files, and report output files.

WARNING : When you purge concurrent request information, you lose audit details
which are used by the Signon Audit Concurrent Requests report.

If your business requires to see the requests run back in time then you need to
keep archive on disk or tape.

B/The log and out files go to a common location for all modules.

The concurrent manager first looks for the environment variable


$APPLCSF. If this is set, it creates a path using two other
environment variables: $APPLLOG and $APPLOUT
It places log files in $APPLCSF/$APPLLOG, output files go in
$APPLCSF/$APPLOUT

So for example, if you have this environment set:


$APPLCSF = /u01/appl/common
$APPLLOG = log
$APPLOUT = out

The concurrent manager will place log files in /u01/appl/common/log,


and output files in /u01/appl/common/out
Note that $APPLCSF must be a full, absolute path, and the other two
are directory names.

If $APPLCSF is not set, it places the files under the product top of
the application associated with the request. For example, a PO report
would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT
Logfiles go to: /u01/appl/po/9.0/log
Output files to: /u01/appl/po/9.0/out
All these directories must exist and have the correct permissions.

Note that all concurrent requests produce a log file, but not necessarily
an output file.
Concurrent manager logfiles follow the same convention, and will be
found in the $APPLLOG directory.

Use the find command to move files which are more than N days old to another
directory and zip them up or archive to tape. You can also use utilities like TSM
(Trivoli Storage Manager) for backing up the filesystem.

eg. find $APPLCSF/$APPLLOG -type f -mtime +45|xargs -i mv -f {} /tmp/45more_log

Question:
=========
15 custom CM's , in which one is down . so what is the way to troubleshoot it to
bring it up.

Answer:
=====
you can go with anyone:

1. 1st check the log file of the cm. if your error message is not enough to find
out the problem, then change DIAG_PARAM ="" to DIAG_PARAM ="Y" in adcmctl.sh.

2.you can use cmclean.sql and then check the status of that cm.

3. check the values of target and actual column for that cm in frontend.

Question:
===========
CM is down Status Inactive and No Manager?
Ans:
===
1Check in icm log file to see issue

$APPLCSF/$APPLLOG/<SID>_<timestamp>.log Check in icm log file to see issue

$APPLCSF/$APPLLOG/<SID>_<timestamp>.log

Ans_2:
======
This is way too big of a question to be answered in one post but in general:

1. Ensure you have enough Standard Manager processes to handle all of the requests.
The default number is 3, this can be increased in the Manager Definitions
(Workshift).

2. Ensure that the number of rows in FND_CONCURRENT_PROCESSES and


FND_CONCURRENT_REQUESTS don't exceed 50K or there will be performance issues.

3. Ensure that you don't have any unnecessary manager processes running in the
manager queues.

4. Set a low priority if possible on the jobs which generally run the longest. If
you are consistently getting slow performance on jobs, check to see if they also
execute slowly from the SQL PLUS. If they do, the issue is with the code, not the
managers.

DBA_EXTENTS or DBA_OBJECTS Table..there you can get the SIZE of the Objects

Question:
=========
submitted a request and it completed with the status as completed normal
But not able to see log file?
Answer:
========
A, RRA profile agaent & apps listener adalnctl.sh
B, whatever you have operating system , you need to restart the listener again even
if it's working status and if the users are connected to the Apps. then you have to
restart the Apatche first then the listener of the application 8.0.6.

Question:
========
DB tier and Concurrent Manager on one node
Apps Tier(Forms, Apache) on another node.
How to move the Concurrent Manager to a new node

Ans:
====
Theoretically, you'll need to add a node to the Apps Tier using the Rapid Clone
addnode.pl

This should give you an overall idea.You'll need to tweak this to your requirement.

So, 1) you run preclone on DB node, CM node, Web/Forms node


2) Deregister existing CM node
3) Disable security option, run autoconfig on DB node, restart listener
4) Copy files to the new node
5) Run post clone on DB tier
6) Run post clone on Web/Forms Tier
7) Run post clone on new node to configure for CM node
8 ) Run addclone.pl on Apps tier.

How do I deregister an application tier from the Net Services Topology Data Model?
Answer:
To deregister the current application tier from the Net Services Topology Data
Model, invoke the following command:
perl <AD_TOP>/bin/adgentns.pl appspass=<APPSpwd> contextfile=<CONTEXT>
-removeserver

Refer Note: Note:218089.1 Autoconfig FAQ

Regarding step ( 8 ) : This would need to be run from Forms/Web node I believe. Not
familiar with it's prompts, but it should be straightforward as we have the NEW CM
node already ready by the time we execute this. Please ensure that once this is
run, the entries in the context file on this node reflect your new node. I would
check entries in the following section in context XML
<oa_admin_server>
<oa_cp_server>
For addnode.pl refer to note: Note:230672.1 Cloning Oracle Applications Release 11i

After everything is done, I would also check FND tables:


FND_NODES
FND_APP_SERVERS

The entries here should match with what we needed to start with.
1) Entry for DB node
2) Entry for Forms/Web Node
3) Entry for *NEW* CM node
4) No entries for *OLD* CM node

I hope you are doing this on test first? Let me know how it goes.

Question:
========
Want to configur PCP?
Ans:
===
241370.1 Concurrent Manager Setup and Configuration Requirements in an 11i RAC
Environment
312731.1 Configuring Oracle Applications Release 11i with
10g Release1 Real Application Clusters and Automatic Storage Management
Section 3.11 Configuring Parallel Concurrent Processing

Question:
=========
Why only for Concurrent Manager, we specify apps/apps password & not for other?

Ans:
======
Concurrent Manager is used for processing requests..it means...for example...I want
to run one report based on Current Month GL Balance...So we have to run one report
to show balance...this balance will be stored in the Database tables..right.....

Concurrent Manager runs this request by connecting to the database using apps user
password.....

Got it..hope it is clear.....'


Question:
========
which situations we need to bounce the concurrent manager ? and application
services ?

Ans:
====
doc id: 105133.1(given in teachme oracle-Metalink Notes Section).

When you modify the Printer Driver you have to restart the Manager which runs the
request which is attached to that Printer Driver, however,if you do not know which
manager then you have to restart the Internal manager because the printer driver
can be used by multiple managers and multiple requests. If only a concurrent
program definition is modified, running a verify on the Internal Manager will pick
up the changes without the need for bouncing the manager.

QUESTION:
==========
I have defined a new manager and submitted request in it.
But the job is always running and it never stops.
ANS:
====
issue initially the process specified for the new ASAP manager is below 10.

But as per the thumb rule for that specified application and the manager
the process should be more than 20.Thumb rule for the manager which we created was

thumbrule= 4 + (2 * profile value).


According to the above thumbrule the intial pocess of 8 was increased to 25 then
the manager runs normally.

q/a
Below is the relevant content from adcmctl.sh:

printf "Shutting down concurrent managers for $TWO_TASK ...\n" >> $LOGFILE
$FND_TOP/bin/CONCSUB "$unpw" SYSADMIN $WAIT_PARAM 'System Administrator' SYSADMIN
CONCURRENT FND SHUTDOWN
exit_code=$?

QUESTION
==========
CM is not shuting down.
Ans?
===
As u defined that CM is hanged due to some pending request,
the one option that i think would be feasible is to make cancel that request from
backend
keeping status_code='E' and phase_code='C' ,
So , once the request got completed the CM will automatically come down with no
problem
run Cmclean.sql and start the Cm

precisley knowing your FNDLIBR process you can try this in command line:

ps -aex|grep FNDLIBR|grep ORCL

The above command will list out FNDLIBR process related to instance ORCL only.

Question :
=======
CM is up but Oracle Applications Manager. it shows down?

Ans:
======
- Dashborad collection manager is down
- GSM might be disabled
- Monitoring/SErvice Update in OAM might be diabled

1.What is a Concurrent program?


A concurrent program is an instance of an execution file, along with parameter
definitions and incompatibilities.

2.What is concurrent Manager?


Concurrent Managers are components of Concurrent Processing that monitor and run
time-consuming, non-interactive tasks without tying up your terminal.

3.What is Internal Concurrent Manager?


It is the boss of all the other managers. It starts up, verifies the status of ,
resets and shutdowns the individual managers.

4.What is Concurrent program Executable?


A concurrent program executable links an execution file or and the method used to
Execute it with a defined concurrent program.

5.What is Concurrent Program Executable file?


A concurrent program execution file is an operating system file or database stored
procedure which contains your application logic and can be executed by either
invoking it directly on the command line or by invoking a program which acts upon
it. It also enforces incompatibilities.

6.What is execution method?


The execution method identifies the concurrent program executable type and the
method Oracle Application Object Library uses to execute it.

7.What is Spawned Process?


A Concurrent process that runs as a separated process than that of the concurrent
manager that starts it.

8.What method can be used for C or Pro*C executables?


Spawned

9.What is a Child Request?


A child request is a concurrent request submitted by another concurrent request.

10. What setting to make to make the concurrent program to appear in the SRS
window?
Enable the option �Use in SRS�.

11. Brief the steps to Run a concurrent Program?


i. Create the executable file
ii. Define Executable in Apps
iii. Create Concurrent Program with the assignment of the executable
iv. Attach the concurrent program to the Request Group
v. Ensure the Request group is attached to the specified User

12. What is request set?


Request allows you to submit several requests together using multiple execution
path.

13. Inside Stage in Request, how the individual request process?(Choose One)
a. Parallel
b. Sequential
c. Manager chooses the method
d. Depends on the setting in Concurrent Program

Ans: a. Parallel

14. Which user profile option is used to set the Priority?


Concurrent:Priotity

15. What is Session Control?


This is option for the database session, which includes Consumer Group, Rollback
segment, Optimizer Mode.

16. What are the Optimizer Modes available in Concurrent Program session control?
All Rows, First Rows, Rules and Choose

17.When you go for best throughput which mode you prefer? Choose one
i. All Rows
ii. Choose
iii. First Rows
iv. Rules

Ans: i. First Rows

18. What is Incompatibilities?


Identifies program that should not run simultaneously with your concurrent program
because they might interfere with its execution.

19. What is Conflict Domain?


It is the one, which identifies the data where two incompatible programs
cannot run simultaneously.

20. Which Manager will take care of Conflicts in Concurrent Processing?


Conflict Internal Manager

21. What is Token in Concurrent Program?


For a parameter in an Oracle Reports program, the keyword or parameter appears
here.

22. What are the valid types of Default Type?


a. Constant
b. Profile
c. SQL Statement
d. Segment

23. What are types of Execution Methods?


SQL*Plus Programs
PL/SQL Stored Programs
SQL*Loader
Oracle Reports
Host
Immediate
Request Set Stage Function

27. What are Concurrent Process Life Cycle Phases?


a. Pending
b. Running
c. Completed
d. Inactive

28. What does Pending- Normal denote?


Request is waiting for the next available manager.

29. What are the various statuses of Running Phase of a concurrent process?
a. Normal
b. Paused
c. Resuming
d. Terminating

30. Using SRS, can you schedule a single request or a set or request to run
automatically? True / False
Ans: True

31. What is the Use of Completion Options in SRS?


It allows you to deliver request output to others and specify which printer, and
how many copies of output you want to produce.

32. When can you put on Hold a request?


We can hold only if the request is pending or Inactive phase.

33. What are the various completion status of Stage function?


Success, Warning, and Error

g:\prints\interview\concurrent managers.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1: What are different types of concurrent manager?

Answer: There are several types of concurrent manager. Important ones:


Internal Manager
Standard Manager.
Conflict Resolution Manager
Internal monitors
Service Manager
Transaction Manager
Custom Manager Defined

2: What is Internal Concurrent Manager?

Answer : It is responsible for controlling all other concurrent managers. Its main
task is to make sure that all other concurrent managers are up and running. It
controls other manager through the requests made to the service manager. It also
starts, stops and restarts the service manager for all nodes.

3: What is Conflict Resolution Manager (CRM)?

Answer: It takes care of resolving the program incompatibilities and checks if a


request in queue can be run in parallel with the running request. If a program is
identified as run alone, then it prevents concurrent managers from starting other
programs in the same conflict domain.

4: What is Standard Manager?

Answer : Standard Manager is the master concurrent manager. It is always running


and can take care of processing any concurrent request. If at all, no other manager
is assigned to a program, that program will be picked by standard manager.

5:What happened behind the scene when a concurrent request is submitted?

Answer

1) Once a concurrent request is submitted by the user, the table


FND_CONCURRENT_REQUESTS is automatically updated with the details of the request.
The table is also updated with the information about the schedule of the concurrent
request whether it�s immediately scheduled or scheduled at a fixed time.

2)a) If the request is incompatible/constraints defined ,Once the request time to


run is arrived,it status is set to pending/Standby.Now the conflict resolution
manager takes care of the request and finds out what are the incompatibilities and
set the status pending normal when the incompatibilities are cleared.

b) If there are no incompatibilities then Once the request time to run is


arrived,it status is set to pending/Normal

c) ALL the standard concurrent Manager and special manager continuously poll the
FND_CONCURRENT_REQUESTS table .The job of a concurrent manager is to execute
concurrent requests that are in Pending / Normal phase / status and that it is
qualified to run according to its specialization rules.
Concurrent Manager Processes
� Act independently
� Select only requests that: (a) match the manager specialization rules, (b) are
Pending/Normal, (c) have a requested start time <= sysdate

d) Once the request is processed, the FND_CONCURRENT_REQUESTS table is updated with


the status.

6: Business user create the task that Concurrent request is taking a lot of time to
complete. What will be your approach for debugging it?

Answer :1) First find the status of the concurrent request. It may be scheduled
later on or it could be pending/standby mode or all the concurrent manager are
occupied running other request. If it is pending/standy, we need to find the
incompatible program running and inform user.Many times the users schedule the
request to run at a later time.

2) Find out the database sid of the concurrent request and check it is waiting on
any locks. We will kill the blocking session to order to complete the job

3) We can run a trace on the request id to find the sql running and then generate
the explain plan for it. You can see if the sid is stuck on particular sql . If it
is particular sql, then it is good to check the statistics of the table involved .
We can look for tuning option for that query

4) We can check the parameters with which the request is run. (For example, once a
user came saying the request is not printing the output. On Checking the possible
things, it was realized that he scheduled the request with print copies = 0.)

7: What happens when the internal concurrent manager dies abruptly? Are all the
managers also killed immediately after it?

Answer: No ALL the standard manager keep running and executing the request. if the
internal manager dies, below queue control request are not performed

a) Starts all other processes.


b) Executes �control requests� submitted by the administrator.
c) Activate/Deactivate/Abort Concurrent Manager
d) Terminate Concurrent Request
e) Monitors processes, restarting any that failed.
f) Sets the target number of processes for each service based on the current work
shift.

8: Does the internal manager run or schedule any request for itself?

Answer :No, the internal manager does not run or schedule any requests. It has
nothing to do with scheduling requests, or deciding which manager will run a
particular request. Its function is only to run �queue control� requests

a) Starts all other processes.


b) Executes �control requests� submitted by the administrator.
c) Activate/Deactivate/Abort Concurrent Manager
d) Terminate Concurrent Request
e) Monitors processes, restarting any that failed.
f) Sets the target number of processes for each service based on the current work
shift.

9: How do I process more concurrent requests in parallel?

Answer

We can increase the target processes of the concurrent manager in order to increase
the parallelism. This can be done using define concurrent manager form or through
direct update from sqlplus

10 : If the internal manager goes down, do I need to kill all the managers before
restarting the internal manager?

Answer
No, if the internal manager goes down you need not kill all the managers. You can
simply start the internal manager using startmgr.
Concurrent Manager troubleshooting

11 : What are the problems u have faced while shutting down applications?

Answer

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.

Oracle Concurrent Manager Secrets

12: What are Internal Monitors ?

Answer: Internal Monitors are used specifically in PCP to allow for ICM failover to
other available middle tier nodes.
a) Place an Internal Monitor on any node where the ICM can start in case of a
failure.
b) Internal Monitors are seeded on every registered node by default.
c) If the ICM goes down, the Internal Monitor will attempt to start a new ICM on
the local node.
d) If multiple ICMs are started, only the first will stay active. The others will
gracefully exit.

13: Can I delete concurrent manager?

Answer:Yes, you can delete any concurrent manager. For deleting, query for the
manager in the defined concurrent manager form and then delete the row.

Deleting the predefined concurrent managers is not recommended and it should never
be done. Deletion may cause instability in the system.

15: Explain how parallel concurrent processing(PCP) works?

Answer
In case of parallel concurrent processing, all the managers are assigned a primary
and a secondary node. The managers are started in their primary node by default. In
case of node failure or Oracle instance failure, all the concurrent managers on
that node are switched to their secondary nodes. Once the primary node is available
again the concurrent managers on the secondary nodes are migrated back to the
primary node. During the migration process, a manager may be spread across both
primary and secondary nodes.

In case of parallel concurrent processing, it may happen that in a node where


parallel concurrent processing is configured, the Oracle instance may or may not be
running. The node which is not running Oracle, the concurrent managers connects via
Net8 to a node which is running Oracle.
The internal concurrent manager can run on any node, and can activate and
deactivate concurrent managers on all nodes. Since the internal concurrent manager
must be active at all times, it needs high fault tolerance. To provide this fault
tolerance, parallel concurrent processing uses internal monitor processes. The job
of the internal monitor process is to constantly monitor the internal manager and
start it when it fails. Only one internal monitor process can be active on a single
node. You decide which nodes have an internal monitor process when you configure
your system. You can also assign each internal monitor process a primary and a
secondary node to ensure fail over protection. Internal monitor processes, like
concurrent managers, can be assigned work shifts, and are activated and deactivated
by the internal concurrent manager.

Parallel Concurrent Processing

16: What are the circumstances in which you need to bounce the concurrent manager?

Answer: There can be many situation where you need to bounce the concurrent manager

a) When you modify the definition of the printers


b) When you modify the environment variables. Suppose you have changed the APPLTMP
and APPLPTMP variable.
c) When all the requests are pending and hanging and no processing happening
d) patch application requires the bounce of the CM
e) We have many global hangs in the system due to locks by several concurrent
manager and other processes

17: What are the reasons a concurrent manager hangs?

Answer:
The concurrent manager hangs due to many reasons. A few of them are:
� Long running jobs
� The internal manager was activated by someone other then owner of the application
system
� The operating system files system is full
� It�s not able to create the log file
� You�ve shut down the internal manager, but actual has a number in it
� The database is hanging may be because the archive log files have filled
� Pending/standby requests are too many

18: How can we enable/disable Conflict Resolution Manager?

Answer: It can be done using profile options �Concurrent: Use ICM�. Set it to �Y�
to enable Conflict Resolution manager. To disable it, set the profile option to
�N�.

19: What are Transaction Managers?

Answer : Transaction managers provide synchronous job processing by continually


monitoring a DBMS pipe for requests to come through from a client-side application.
The job of a transaction manager is to process this job immediately and send
information back to the client using the pipe.

a) Transaction Managers Provide Synchronous Job Processing


b) A client makes a request for a specific transaction manager to run a program,
and waits for the results of that program
c) Product teams� programs are linked directly into the transaction manager
executables
d) PO, CRP, INV, AR, and OE all ship transaction managers

20: How the mechanism of viewing log and output files works from browser?

Answer
The sequence of events is as follows:
1. A user within an Applications session requests to view a log or out file.
2. The browser receives the request and spawns the cgi program FNDWRR.exe
3. FNDWRR.exe logs into the database and queries FND_CONCURRENT_REQUESTS to
discover on which node the files for this request are stored.
4. FNDWRR.exe constructs the service name for the file server on that node. And
makes the tns call to contact the listener for this service name.
5. The listener responds by spawning the local FNDFS executable, as defined in it�s
listener.ora file. Now, FNDFS and FNDWRR.exe are able to communicate directly now,
using RPC calls.
6. FNDWRR.exe requests FNDFS to transfer the file that was selected by the user.
7. FNDFS transfers the file contents to a temporary file directory on the web
server�s node.
8. The web server displays the file contents to the user.

21: Why does the Concurrent manager put a concurrent program into a queue? Why
doesn�t the manager simply let the program run?

Answer: Because at any given point in time a concurrent manager can run no more
than say 10 programs concurrently. This figure of 10 is configurable of course.
First the manager puts a submitted program into a queue, next the manager checks if
there is a slot available (i.e. Less than 10 programs are currently running). If a
slot is found available, the concurrent manager then runs the program, or else it
keeps the concurrent program in a queue with status Pending.

22: What to do if a request is Inactive/No Manager

Answer: This is quite tricky s


a) Make certain that there is at least one active manager with specialization rules
that allow the program.
b) If you have confirmed the previous point, then the problem may be a stale Worker
Request View
� The view is used internally to map requests to managers
� The view is regenerated when managers are created, or specialization rules are
altered
c) You can manually regenerate the view
FNDLIBR FND FNDCPBWV apps/apps SYSADMIN �System Administrator� SYSADMIN

23: What are Service Managers

Answer: Service Managers are spawned on the middle-tier nodes of a GSM enabled
system in order to act as an agent of the ICM. When the ICM sees that it needs An
Service Manager to perform some function, such as start a concurrent manager
process, on a middle-tier node, it will make remote procedure control (RPC) calls
to the Apps listener on that node to start the Service manager. Once the Service
manager has been started and initialized, the ICM communicates directly to the SM
through RPC, giving it information to manage the services on that node. The SM is
spawned from the APPS TNS Listener.The APPS TNS Listener must be started on every
middle-tier node in the system, and started by the user that starts ICM (e.g.
applmgr) .TNS Listener spawns Service Manager to run as agent of ICM for the local
node
The Service Manager is started by ICM on demand when needed. If no management
actions are needed on a node a Service Manager will not be started by ICM until
necessary. When ICM exits its Service Managers exit as well.

24: What all is performed by ICM Process Monitor?

Answer: The ICM itself and each process spawned by the ICM has an entry in
FND_CONCURRENT_PROCESSES and holds a uniquely named DBMS lock.
The unique lock of the ICM has a format of FNDCPLK_ICM. This database session lock
is the method that the ICM ensures each PMON cycle that manager and service
processes are still alive. If the ICM can get the DBMS session lock of a process,
the ICM will start a new process for that manager or service.
This is the reason you will often see entries like dead process found ,starting new
process in ICM log files.

g:\prints\interview\core dba interview.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle DBA Interview Questions:-

1) How to set pga size, can you change it while the database is running?
show parameter pga_aggregate_target;
alter system set pga_aggregate_target=100m;

Yes the pga can be changed while the database is up and running.

2) How to know which parameter is dynamic/static?

ISSES_MODIFIABLE VARCHAR2(5) Indicates whether the parameter can be changed with


ALTER SESSION (TRUE) or not (FALSE)
ISSYS_MODIFIABLE VARCHAR2(9) Indicates whether the parameter can be changed with
ALTER SYSTEM and when the change takes effect:
IMMEDIATE � Parameter can be changed with ALTER SYSTEM regardless of the type of
parameter file used to start the instance. The change takes effect immediately.
DEFERRED � Parameter can be changed with ALTER SYSTEM regardless of the type of
parameter file used to start the instance. The change takes effect in subsequent
sessions.
FALSE � Parameter cannot be changed with ALTER SYSTEM unless a server parameter
file was used to start the instance. The change takes effect in subsequent
instances.
SQL> desc v$parameter
SQL> select distinct ISSYS_MODIFIABLE from v$parameter;

3) How to know how much free memory available in sga?

select * from v$sgastat where name =�free memory�;

4) What are oracle storage structures?


Oracle storage structures are tablespace,segment,extent,oracle block

5) List types of Oracle objects


table,index,cluster table,IOT (Index Organisation
Table),function,package,synonym,trigger,sequence

6) What is an index, how many types of indexes you know? Why you need an index
Index is an oracle object which is used to retrieve the data much faster rather
than scanning entire table.Typically this is like an index page in a book which
contains the links to the pages,where we can go through easily through out the
book.
If index page is not there,we have to search each and every page for our need,so we
use indexes in oracle also to retrive the data quickly.

Types of indexes:
Btree index: Used for searches mostly when used select statements(Ex:pincode)
bit map index: when having low cardinolity (low priority) columns used in the
statements.for example: gender column
function based index: sum(salary), upper(ename), lower(ename)
reverse index: used mostly to increase the speed of inserts (its like btree only
but the key is reverse).
7) What is synonym ?
Synonym is used to hide the complexity of the original object.
for example user �a� has table �t� which user �a� wants to hide the name but user
�b� has to access it.
In this case user �a� can create a synonym on table �t� and give a select
priviledge to user �b�.
SQL> create synonym aishu on t;
SQL> grant select on aishu to b;

View: DBA_SYNONYMS

Query: Select synonym_name from dba_synonyms;

8) What is sequence?
Sequence is a oracle object which used to create the unique and sequential
numbering for a column
example: employee num,account id
create table employee(id number ,name varchar2(10),salary number);
create sequence aishu_seq start with 1 increment by 1;
insert into employee values (aishu_seq.nextval,�paddu�,120000);

9) Define different types of tablespaces you know?


Permanent: system table space,sys aux,user
undo: to store undo segments
temp: to store the sort segments

10) What is the difference between Locally managed tablespace and dictionary
managed tablespace?
LMT: Locally Managed Table space stores all the extent mapping or allocation
details in the header of the data file
DMT:Dictionary Managed Table space stores all the extent mapping or allocation
details in the dictionary table called UET$ and FET$
Since everytime an allocation of extents generate some recursive sql on UET$ and
FET$ this is contention in dictionary cache, hence this is not good for performance
of database, but LMT can store this outside of dictionary , coz it stores in header
of the data file.
By Default from 10g the management is LMT only

11) What is Automatic segment space management? and how to find the tablespace in
ASSM?
Oracle will allocates the extents automatically to the table or segment depending
upon the size of the table.We need not to give the storage parameters.
SQL>desc dba_tablespaces;
SQL> select tablespace_name,
allocation_type,segment_space_management,extent_management from dba_tablespaces;

12) What is uniform segment? How to find it?


In uniform segment every extent will have same size.
SQL>desc dba_tablespaces;
SQL> select tablespace_name,
allocation_type,segment_space_management,extent_management from dba_tablespaces;

13) Where do you see the tablespace information?


SQL>select * from dba_tablespaces;

14) How to find the datafiles that associated with particular tablespace? Ex:
System
SQL> desc dba_data_files
SQL> select * from dba_data_files where tablespace_name=�SYSTEM�;
15) How to see which undo tablespace is used for database?
SQL> show parameter undo_tablespace

NAME TYPE VALUE


������������ ���� ����������
undo_tablespace string UNDOTBS3
SQL>

16) How to see the default temporary tablespace for a database?


SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where
PROPERTY_NAME like �%TEMP%�;

PROPERTY_NAME
����������
PROPERTY_VALUE
���������������������������
DEFAULT_TEMP_TABLESPACE
TEMP2

17) How to see what is the default block size for a database ?
SQL> show parameter block_size;

NAME TYPE VALUE


������������ ���� ����������
db_block_size integer 8192

18) Is it possible to have multiple blocksizes in a database if so how? Explain

Yes it is possible but we have to create multiple DB buffer pools while setting the
required block size parameter.To do that it require database bounce.
For example if you want to have 2k size along with default 8k
SQL> show parameter db_2k_cache_size
SQL>alter system set db_2k_cache_size=100M scope=spfile;
SQL>shut immediate

Now we can create the table space using new 2k block size
example:SQL>
create tablespace test_2k datafile �/u01/oradata/paddu/test2k.dbf� size 100M block
size 2k;

19) What is the oracle block, can you explain?


Oracle block is the lowest level of storage structure where it contains the
data(business/oracle data)
The block has divided into many sections starting from block header,row header,row
directory,ITL list(Intrested Transaction List),free space.

20) Can you change the blocksize once the database is created?
Obsolutely no becoz once the datafiles is formatted into 8k we cannot change the
database block sizes , if you need, you have to create fresh database with new
block size and restore from backup or import.

21) Can you change the database name once the database is created?
Yes we can but the database has to be shutdown and also this will change all of the
headers of the files
Option 1
1) Using NID utility
a)SQL>alter database close;
b) nid target=sys as sysdba dbname=ketan(this will change the control files and
headers of the datafiles with the correction of new name)
c)cd $ORACLE_HOME/dbs
d) cp initaishu.ora initketan.ora
e)vi initketan.ora
find db_name parameter and change it to ketan
f)vi /etc/oratab
change the name aishu to ketan
g) . oraenv
set the variable ORACLE_SID=ketan
f) startup the database
SQL> startup (but the database open will error out since the datbase should open
with resetlogs)
h) alter database open resetlogs;

Option 2
By changing the control file
a)alter database backup control file to trace;

b)go to trace directory and edit the control file trace


c)In control file trace update database name aishu to ketan
d)shut down the database
e)remove the control file
f)vi init file and change the dbname aishu to ketan
g)startup nomount
h)execute the control file trace which we modified earlier(this will create a new
control file in the location with the new dbname )
i) alter database open resetlogs;

22) Can you change the instance name once the database is created?
SQL>alter system set instance_name=�test� scope=spfile;
shut immediate;
cp spfilepaddu.ora spfilekarthika.ora
export ORACLE_SID=karthika
startup

23) Can you rename the tablespace once it is created?


SQL>alter tablespace testtbs1 rename to testtbs3;

24) Can you rename the user once it is created?


No there is no direct command to change the user name but there is a work around.
1) export user
exp / as sysdba owner=paddu file=/home/oracle/paddu.dmp
sqlplus / as sysdba
SQL> drop user paddu cascade;
QL>create user aishu identified by aishu;
SQL>grant connect,resource to aishu;
SQL> exit
imp file=/home/oracle/paddu.dmp fromuser=paddu touser=aishu
sqlplus / as sysdba
SQL>select username from dba_users;

25) Can you rename the table once it is created?


Yes
connect to user aishu
SQL>connect aishu/aishu
SQl>select * from tab
SQL> create table t as select * from user_tables;
(or)
SQL> create table dummy (id number,name varchar2(50),salary number);
SQL>rename t to t1

26) Can you rename the column in a table?


yes
SQL>desc t;
alter table t rename column result_cache to aishu;

27) Where you can see the datafile information?

desc dba_data_files;

SQL> select tablespace_name,file_name,autoextensible, bytes/1024/1024 SIZE_MB from


dba_data_files;

28) Where you can see the tempfile or tablespace information?(for a particular
database)
desc dba_temp_files;

desc dba_tablespaces;

29) What is the difference between v$ views and dba views?


dba views are static views
v$ views are dynamic views
dba views are available once the db is in open mode only
V$ can be viewed even the database is in mount state

30) What is the difference between a role and privilege , can you provide an
example?
Set of priviliges is nothing but a role.
providing authorisation to an user such as
create,alter,delete,drop,truncate,insert,update.

How many types of privileges are there ?


system privileges : create session/user
object privileges : insert,update,delete or create table

31) Where to view the roles and privileges assigned to a user?


For roles:-desc
dba_roles can be used to know what are all the roles in a database.
select * from dba_roles;
role_sys_privs can used to know what are all the system privileges assigned to that
role.

role_tab_privs can be used to know what are all the object privileges assigned to
that role
dba_role_privs can be used to know the grantees assigned to that role

For privileges:-
dba_tab_privs: can be used to know what all privileges assigned to a user
SQL> select grantee,owner,table_name,grantor,privilege from dba_tab_privs where
grantee=�AISHU�;

dba_sys_privs: to know what all system privileges assigned to a user


SQL> select grantee,privilege from dba_sys_privs where grantee=�AISHU�;

32) What is the difference between with grant option and with admin option while
assigning privileges?
Grant option : We can grant that grant to other user
admin option : can be used for sysdba privileges to grant other
grant select on T to aishu with grant option;
Aishu can grant select on table T to any one;

grant dba to aishu with admin option;


aishu can grant or manage dba role and assign to anyone.

34) How to reovoke privilege or role?


revoke select on T from aishu;
revoke suresh from aishu;(suresh is a role here )

33) How to change the default tablespace for a user?


alter user aishu default tablespace t;

34) How to give a tablespace quota to a user?


alter user aishu grant unlimited quota on tablespace t;

36) What are constraints? Can you list them and when will you use them?
Constrains in oracle are use to protect the integrity of the data.
for example a not null constraint will not allow any null value in the column
a unique constraint will not allow any duplicate value in the column
a primary key constraint will not allow any duplicate value and null in the
column.
a foreign key constraint will be from the one of the primary key of the table which
means data must resides in the primary key table(Master list table)

Master Table (a table that contains primary key)


SQL> create table pincode (area varchar2(30), pincodenum number primary key);
SQL> insert into pincode values (�Miyapur�,500049);
SQL> insert into pincode values(�Ameerpet�,500084);

Child Table ( aa table that is referred to primary key column)


SQL> Create table employee (empname varchar2(30),empid number unique,address1
varchar2(10) check=�Hyderabad�, address2 varchar2(20),pincode number
constraint pin_fk foreign key(pincode) references pincode (pincodenum));

SQL> Insert into employee values(�Aishu�,1,�Ameerpet,�Line�,�500084');

37) What is Row chaining? When does it occur? where can you find it? What is the
solution?
When the row is not adequate to fit in the block while inserting oracle will insert
half row in one block and half in another block leaving a pointer between these
two blocks.
select table_name,chain_cnt from dba_tables where table_name=�tablename�;
Solutions:
create a table with bigger the block size
1) Create tablespace ts data file �/u01/oradata/aishu/paddu.dbf� size 100m
blocksize 16k;
2) alter table employee move to ts;
Here TS is the tablespace name with bigger size, before creating tablespace it is
assumed that you have created a db buffer cache for it.

38) What is row migration? When does it occur? Where can you find this information?
Row migration happens when update occurs at one column and the row is not adequate
to fit in the block then the entire row will be moved to the new block.

select table_name,chain_cnt from dba_tables where table_name=�tablename�;


Solution:
set pct_free storage parameter for table to adequate.;
39) How to find whether the instance is using spfile or pfile?
show parameter spfile;

40) How to create password file?


orapwd file=$ORACLE_HOME/dbs/pwaishu.ora entry=5 ignore case=Y;

41) How to create a database manually , can you provide steps briefly?
1) create a parameter file in /dbs directory with necessary parameters like
db_name,instance_name,control file locations,sga_max_size etc..
2)create necessary directories for datafiles,trace files,redo log files, control
files according OFA
3)prepare the create db command
4)create catalog views (compile,invalid)
5)add entries in listner.ora,tnsnames.ora
6) add entry in /etc/oratab

42) What is OFA? What is the benefit of it?


Oracle Flexible Architecture
Different directory structures with diff files and we keeping the files
(redolog,control etc) in the corresponding described locations which keeps the
files in track and we can easily manage them,Inaddition to tha I/O will be
redistributed.

43) What does system tablespace and sysaux tablespace contains?


system table space stores the system tables such as dbtables,oracle base
tables,dictionary objects that related to oracle.a kind of metada(data about data)
Sysaux table space: from 10g onwards oracle has segregated some of the dictionary
objects to be created in sysaux table space seperating from system table space to
reduce the burden on the one table space
for example oracle session statistics,system statistics,awr data( automatic work
load repository),oracle execution statistics

44) Do you know about statistics , what is the use of it? What kind of statistics
exists in database?
Statistics is a collection information about data or database
There are different types of statistics that oracle maintains-
1)System-Statistics: statistics about the hardware like cpu speed,I/O speed,read
time write time etc : select * from aux_stats$
2)Object statistics : For a table oracle collects the information about no.of
rows,no.of blocks,avg row length etc.We can view
SQL>select table_name,num_rows,blocks,avg_row_len from dba_tables
for index oracle collect statistics on index column about no.of rows,no.of root
blocks,no.of branch blocks,no.of leaf blocks,no.of distinct values etc.

46. Why you need statistics to be collected?

These statistics wil help the query execution engine called optimizer to determine
how best the data can the accessed

45) Where to find the table size?


table=create segment in a tablespace, that segment contains extents and that
extents contains blocks

T=100 * 8192 = 819200000


dba_segments

SQL>select segment_name,bytes/1024/1024 from dba_segments where segment_name=�T�;


46> How to find the size of a database?
select sum (bytes) from dba_segments;

46) Where to find different types of segments in oracle database?


select distinct segment_type from dba_segments;

47) How to resize the datafile?


To resize a datafile the first most thing is the data file should be in auto
extendable mode
ALTER DATABASE DATAFILE �/u02/oracle/rbdb1/stuff01.dbf� RESIZE 100M;.

Can i resize the datafile to lesser than it has?


I have 1gb
I want to 100MB,
But the data in that datafile is upto 500MB
can i resize to 100mb?
Yes we can unless the data is not above 100MB in the datafile.

48) How to add datafile to a tablepsace?


alter tablespace t add datafile �/u01/oradata/paddu/tbs1� size 100M;

49) How to delete the datafile?


alter tablespace t drop datafile �/u01/oradata/paddu/tbs1�

Note:The drop datafile will only works if the datafile is empty

50) How to move datafiles from one location to another location? Can you provide
the steps?
1.Connect as SYS DBA with CONNECT / AS SYSDBA command.
2.Make offline the affected tablespace with ALTER TABLESPACE <tablespace name>
OFFLINE; command.
3.Copy the datafiles from old location to new location using OS cp
4.Modify the name or location of datafiles in Oracle data dictionary using
following command syntax:
ALTER database RENAME DATAFILE ?<old location>? TO ?<new location>�;
5.Bring the tablespace online again with ALTER TABLESPACE alter tablespace
<tablespace name> ONLINE; command

51) What is profile? what is the benefit of profile? Where do you see the
information of profiles? Provide an example of profile?
Profile is a set of properties assign to an user
For an example password complexity,password reuse,password expiry,idle time etc

SQL>desc dba_profiles;
SQL> select username,profile from dba_users;

52) How to change the profile of a user?


alter user username profile profile name

53) How to create user?


create user username identified by password default tablespace testtbs1 profile
test;
ex: create user paddu identified by paddu default tablespace testtbs1 profile test;
SQL> select username,profile from dba_users;
SQL> grant connect,resource to paddu;

54) How to create schema?


schema is nothing but an user.
55) How to grant privileges to user?
using grant command

grant create table to user;

grant create table to user with grant option;

Note: with grant option provides user to grant the privilege to other users as
well, kind of admin

56) Can you delete alert log while database is up and running?

show parameter background;

Yes database can create a new alert log file,but whenever any activity happens in
the database it creates a new alert log file

Yes one can delete or move the alert log file while the database is up and running
there will be no impact,oracle will automatically creates a new alert log if it not
found any in the directory

57) What is fragmentation of table?


Fragmentation of a table is something when ever there is a purge or deletion of a
table.Oracle will not use those unused blocks and always try to allocate the
extents above high watermark.this leads the table to grow larger than its size.

58) What is cursor?


Cursor is some thing which resides in the PGA and dc in SGA

A cursor is a handle, or pointer, to the context area. Through the cursor, a �


Cursors allow you to fetch and process rows returned by a SELECT. statement, one �
. Through the cursor, a

PL/SQL program can control the context area and what happens to it as

the statement is processed. Two important features about the cursor are implict and
explict cursors

59) Can you tell various dynamic views you know about and their purpose?

v$session-shows about sessions information that logged into database


Ex:select sid,status,username,logon_time,blocking_session,module,event,sql_id from
v$session

v$process : To view the process information to attached to the session


Ex: select pid,spid,addr from v$process

v$database: To view the database information


Ex: select dbid,name,open_mode,created from v$database;

v$instance : To view the instance information


Ex: SQL>select INSTANCE_NAME, HOST_NAME,STATUS,STARTUP_TIME from v$instance;

v$lock : To view the locked sessions


Ex:SQL> select SID,type,id1,lmode,request from v$lock;
SID is the session ID column that is requesting or holding the lock
TYPE: Type is the column that shows about what kind of end queue or lock it has
ID1 :This column says about the object id that involved in lock.Match this object
id dba_objects to get the object names
LMODE : lock mode it can be 1-6
6 is the least level of lock and an exclusive lock,when we update a row that row
will be locked as exclusive so that no one will be modified
From 1-5 the locks are different types of levels which are some shared or table
level locks

Row exclusive � Any DML that happens on any row locks as exclusive so that no one
can modify
Row shared � Select statement ran, during that period the rows will be in shared
mode so that no modification to be done until that select retrieve all rows.
Table Lock � When an update statement ran on column , no other can moidfy the
structure of table, and allow row exclusive

v$parameter � Displays information about parametters in database


SQL>select name,value,ISSYS_MODIFIABLE from v$parameter where name=�sga_target�;

v$sgastat : Displays information about sga individual pool sizes and also displays
free memory in the sga
SQL> select * from v$sgastat;

v$sgainfo : Displays information about sga pool sizes


SQL> select * from v$sgainfo;

v$transaction: Displays information about the transactions that running in the


database
SQL>select * from v$transaction;

v$pgaStat:displays about pga allocated in the database


SQL>select * from v$pgastat;

v$sga_resize_ops : Displays information about sga resize operation when sga target
is set
SQL> select * from v$sga_resize_ops;

v$sysstat : Displays the systems statistics information


SQL> select * from v$sysstat;

v$sesstat : Displays the information about session statistics


SQL> select * from v$sesstat;
Display each statistics information from sysstat but for each session, so 604
statistics X each session

v$logfile : Displays information about the redo log files


SQL> select group#,member,status from v$logfile;

v$log : Displays information about redolog groups


SQL>select group#,members,status from v$log;

v$undostat : Displays the information about undo usage in the database

v$sysaux_occupants : Displays the information about objects that resides in sysaux


table space

60) Difference between v$ views and dba_views?

V$ views are dynamic and populated from base table like X$BH and USER$ etc etc

DBA_** views are the the views built on top of v$ views in combination. for example
v$session has been built from v$session,user$ etc
60) Where to view the session information?

SQL> select sid,status,username,logon_time,machine,sql_id,blocking_session,event


from v$session where sid=�;

If you do not know the sid replace with any column information you know in where
condition.

61) Where to view the process associated with session information?


select sid,status,username,action,program,machine from v$session where paddr in
(select addr from v$process where spid=5046);

61) Where to view the locks in oracle database?


v$lock
62) What are locks?
locks are low level serialisation mechanism called end queues in oracle which
protects the database of data changes

63) What latches?


latches are typically a kind of locks but held for very short time to protect the
memory structures of the instance

64) Where does Oracle latch or lock occurs?


Oracle latch occurs in the memory structures i.e, in instance ex:buffer
latch,redolog latch,shared pool latch
ORacle lock occurs at block level to protect the integrity of the data as the data
stored in the block only ex: row lock,table lock etc

65) Where to see the information about latches?


v$latch and v$latch_children

66) How to switch from pfile to spfile?


SQL>create spfile from pfile;
bounce the database;
Now the database will pickup the spfile automatically

67) Explain the difference between a data block, an extent and a segment.
Data block is a lowest level storage structure, a block cannot span multiple
extents
Extent is a set of block which resides inside the table space, an extent cannot
span multiple segments
Segment is set of extents nothing but an object, a segment can spawn multiple
datafiles

68) How to get the DDL of a table or index? i.e create statement?
SQL> select dbms_metadata.get_ddl(�AISHU�,�T�,�TABLE�) from dual
SQL> select dbms_metadata.get_ddl(�TABLE�,�T�,�AISHU�) from dual;

DBMS_METADATA.GET_DDL(�TABLE�,�T�,�AISHU�)
���������������������������

CREATE TABLE �AISHU�.�T�


( �X� VARCHAR2(100)
) SEGMENT CREATION IMMEDI

SQL> set long 1000


SQL> /
DBMS_METADATA.GET_DDL(�TABLE�,�T�,�AISHU�)
���������������������������

CREATE TABLE �AISHU�.�T�


( �X� VARCHAR2(100)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE
FAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE �TESTTBS2�

For user

SQL> select dbms_metadata.get_ddl(�USER�,�AISHU�) from dual;

DBMS_METADATA.GET_DDL(�USER�,�AISHU�)
���������������������������

CREATE USER �AISHU� IDENTIFIED BY VALUES �S:02BB0F7450ED93B75191C06AD3CD1E1E7


DB11803941FB7B885803634D39F;F8EF185F1D85D4B3�
DEFAULT TABLESPACE �TESTTBS1�
TEMPORARY TABLESPACE �TEMP2�

69) What is the difference between a TEMPORARY tablespace and a PERMANENT


tablespace?
Temporary table space for sorting and also used for temporary tables
Permanent table space contains the permanent or business data

70) What is checkpoint? why database need it?


checkponit which occurs when ever the redolog switch happens,during this ckpt
process writes the check point information to control file and the data file header
and tells to dbwr to flush the dirty buffer from buffer cache to disk until that
check point.

71) What is log switch, when does it occurs?

Log switch occurs when the current redo log is full and the log writer has to go to
next redo log group.

71) Where to view the undo usage information?


v$undostat

72) How to set the log archive destination? can we have multiple destinations for
archivelogs?
Yes we can have multiple destination for achivelogs
we can have 30 destination from 11g onwards
to see destiantion you can use follow and set accordingly

show parameter log_archive

SQL> alter system set log_archive_dest=� scope=memory;

System altered.

SQL> alter system set log_archive_dest_1=�location=/u02/archives/paddu�


scope=memory;

System altered.
SQL> alter system set log_archive_dest_2=�location=/u01/archives/paddu�
scope=memory;

System altered.

SQL>

73) Can you rename a database? Provide steps?


Yes, we can rename a database, we have two topins
Until 10g,
As the database name is written in control file we have to change the database name
in control file and in init file.
1. Alter Database backup control file to trace;
2. Above step will create a text control file in user_dump_dest directory.
3. Change name of the Database in above file and in init.ora file.
4. STARTUP NOMOUNT
5. Run the script that was modified in step 3
6. ALTER DATABASE OPEN RESETLOGS;
From 10g onwards
Using NID utility
If I am changing the database name , does mu backup are valid?
Invalid, Your database name is changed so the old backup backup in invalid as the
name is old, rman check with dbid and name.

74) Why you need to do open resetlogs, what does it?


Whenever there is recovery operation performed specifically incomplete media
recovery , the database must be open with reset logs since we dont have the
archives or redo information until point of failure, hence this is required.
further this will reset the archive log sequence

75) How to multiplex controlfiles?


if we are using pfile:
show parameter control_files;
Note down the control file location
shut down the database
copy the control file old location to newer location
add the new control file location in parameter file
startup the database
show parameter control_files;(this shows the old and new location as well)

if we are using spfile:


show parameter control_files;
alter system set controlfile=�oldlocation,newlocation� scope=�spfile�
shut down the database
copy the control file from old location to new location
startup the database

76) How to multiplex redo log files?


alter database add log � � to group3;

77) How to add redo log groups to a database?


alter database add log � � size 50m group6;
v$log or v$logfiles;

78) Can you drop the redo log groups while the database is up and running?
Yes we can drop the redolog group but the redo log should be inactive

79) Can you drop the system tablespace, if so what happened to database?
No we can�t drop the system tablespace.Oracle will not allow it

80) Can you drop the normal tablespace, if so what happened to database?
Yes we can drop the normal table spaces but the associated objects will be dropped
but the table space should be empty if not we have to use
SQL>drop tablespace tablespace name including contents;
if you want to drop the associated datafiles also with table space we should use
SQL>drop tablespace tablespace name including contents and datafiles;

81) What is the difference between Oracle home and oracle base
ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath
ORACLE_BASE is where the oracle products reside.

82) Where do you check the free space of objects?


SQL>dba_free_space;
select * from dba_free_space;

83) How to kill the blocking session, how to find the blocking session?
We have to find the blocking session information by using
SQL>select sid,username,serial#,status,event,blocing_session from v$session where
username=�SYS�;
Now check the blocking_session column for the sid that is blocking and confirm with
the application team to kill
Now execute
SQL> alter system kill session �sid,serial#� immediate;
alternatively we can also find the lock informatin in v$lock

84) Can you kill the pmon or smon or ckpt ? what happens to database?
These are all the mandatory process to run the database.if we kill any of the
process the DB will be crash.

85) Define the parameters for different pools of oracle instance?


shared pool:shared_pool_size;
DB buffer cache:db_cache_size;
java pool:java_pool_size;
largepool:large_pool_size;
stream pool:stream_pool_size;
Redolog buffer:log_buffer;

alternatively sga_max_size and sga_target should set to manage this pools


automatically.

86) Consider the scenario below,

shared pool:shared_pool_size; 100m


DB buffer cache:db_cache_size; 100m
java pool:java_pool_size; 100m
largepool:large_pool_size; 100m
stream pool:stream_pool_size; 10m
Redolog buffer:log_buffer; 5m

Total SGA manually allocated in pools: 410M

I have also kept SGA_MAX_SIZE=400M in pfile and started the database which one the
Oracle consider, 410M or 400M

410M, if the sga_max_size is lesser than the all pools total if specified in pfile
then sga_max_size parameter is ignored.
86) List Process you follow to start looking into Performance issue at database
level (If the application is running very slow, at what points do you need to go
about the database in order to improve the performance?)

Answer ( Although i have never worked directly on performance issues, the below can
be steps)

Run a TOP command in Unix to see CPU usage (identify CPU killer processes)
Run VMSTAT, SAR, and PRSTAT command to get more information on CPU and memory usage
and possible blocking
Run AWR report to identify:
1. TOP 5 WAIT EVENTS
2. RESOURCE intensive SQL statements
See if STATISTICS on affected tables needs to be re-generated
IF poorly written statements are culprit, run a EXPLAIN PLAN on these statements
and see whether new index or use of HINT brings the cost of SQL down.

87) Can you explain different modes of startup of oracle database?


No mount:starts the instance and bg process only
Mount:Oracle reads the control file and identify all the datafiles and kept them
ready.
Open:The datafiles marked as read/write and database is now ready for operation.

88) Can you explain different modes of shutdown of oracle database?


close:all the changes in the buffer cache will be pushed to datafiles and existed
session will be disconnected and no new sessions will be permitted.
dismount: All the datafiles will be closed
instance shut down:bg wil be stopped and memory pools will be cleared from OS.

89) How to know how many oracle homes or oracle instances exists in database host?
Once the oracle installation is completed the installer will update the file called
/etc/oratab with new home with this file we can find how many homes are existed
To find how many instances are running use
ps -eaf | grep pmon

90) What is the difference between putty and sqlplus?


Putty is an ssh client to connect to the database host from remotely.
SQL database connectivity tool to connect to the database using tns names entry

91) What is tns string?


tns string is an entry to identify the database host,db port and the db name.Oracle
will use oracle sqlplus will use this entries appropriate or right database host.

92) What is tnsentry?

Tns entry is a address to the database host and database written in the
tnsnames.ora, generally tnsnames.ora located at $ORACLE_HOME/network/admin

92) How to change the database into archivelog mode?


SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archives/paddu
Oldest online log sequence 24
Next log sequence to archive 26
Current log sequence 26

We have to bring the db to mount mode and then use


SQL>alter database close;(This brings the db to mount mode)
SQL>alter database archive log;
SQL>startup force;

To disable the archive log just use


SQL>alter database noarchivelog;

93) How to set the password to expiry of 90 days?


identify the profile for that user
SQL> select username,default_profile from dba_user where username=�user�;
SQL> select * from dba_profiles where profile=�DEFAULT�;
change the profile for password life time
SQL> alter profile default set limit=�PASSWORD_LIFE_TIME=90';

94) How to set the new password for Oracle user?


alter user username identified by newpassword;

95) How to set the same password to oracle user when the password is expired?
select username,password from dba_users where username=�username�;
SQL>alter user username identified by values �above password�;

96) Where do you find the password for oracle user?


select username,password from dba_users where username=�username�;

97)How to set new undo tablespace in oracle database?


create a new undo tablespace
SQL> create undo tablespace undotbs4 datafile �/u01/oradata/paddu/undotbs4.dbs�
size 100m;

Tablespace created.

SQL> show parameter undo_tablespace;

NAME TYPE VALUE


������������ ���� ����������
undo_tablespace string UNDOTBS3
SQL> alter system set undo_tablespace=�UNDOTBS4' scope=spfile;

System altered.

SQL> shut immediate;


Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 263049216 bytes


Fixed Size 2212448 bytes
Variable Size 167775648 bytes
Database Buffers 88080384 bytes
Redo Buffers 4980736 bytes
Database mounted.
Database opened.
SQL> show parameter undo_tablespace;

NAME TYPE VALUE


������������ ���� ����������
undo_tablespace string UNDOTBS4
SQL>
100) Renaming schema

Fastest Way, since the original import will not happen only metadata creation will
happen, as the transportable import has been performed, In TTS the associated
datafiles will be attached to new user , hence the datafiles with existing
object(tables/indexex etc) will be point to new user.

1. create user new_user�


2. grant � to new_user;
3. execute dbms_tts.transport_set_check(�);
4. alter tablespace � read only;
5. exp transport_tablespace=y tablespaces=�
6. drop tablespace � including contents;
7. imp transport_tablespace=y tablespaces=� datafiles=� fromuser=old_user
touser=newuser
8. create nondata objects in new_user schema
9. [drop user old_user cascade;]
10. alter tablespace � read write;

g:\prints\interview\crsctl.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CRSCTL commands in Oracle 11g Release 2
How to shutdown CRS on all nodes and Disable CRS as ROOT user:
-------------------------------------------------------------
#crsctl stop crs
#crsctl disable crs

How to Enable CRS and restart CRS on all nodes as ROOT user:
-----------------------------------------------------------
#crsctl enable crs
#crsctl start crs

How to check VIP status is ONLINE / OFFLINE:


----------------------------------------
$crs_stat or
$crsctl stat res -t ------> 11gr2

How to Check current Version of Clusterware:


-------------------------------------------
$crsctl query crs activeversion
$crsctl query crs softwareversion [node_name]

How to Start & Stop CRS and CSS:


-------------------------------
$crsctl start crs
$crsctl stop crs

#/etc/init.d/init.crs start
#/etc/init.d/init.crs stop

#/etc/init.d/init.cssd stop
#/etc/init.d/init.cssd start

How to Enable & Disable CRS:


---------------------------
$crsctl enable crs
$crsctl disable crs
#/etc/init.d/init.crs enable
#/etc/init.d/init.crs disable

How to Check current status of CRS:


----------------------------------
$crsctl check crs
$crsctl check cluster [-node node_name]

How to Check CSS, CRS and EVMD:


------------------------------
$crsctl check cssd
$crsctl check crsd
$crsctl check evmd

How to List the Voting disks currently used by CSS:


--------------------------------------------------
$crsctl check css votedisk
$crsctl query css votedisk

How to Add and Delete any voting disk:


-------------------------------------
$crsctl add css votedisk <PATH>
$crsctl delete css votedisk <PATH>

How to start clusterware resources:


----------------------------------
$crsctl start resources
$crsctl stop resources

g:\prints\interview\Database Architecture.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Database Architecture

Shared pool
============
The size of shared pool is defined by the parameter called shared_pool_size .
Shared pool contains many components but important components are
library cache,data dictionary cache and control structure .

Library cache
=============
Lib cache consists of shared sql and pl/sql area .
SQL and PL/SQL area stored most recently used sql and pl/sql statements .
We cannot declare the size of lib cache ,but it is complete based on shared pool
size .
If the size of lib cache is small ,the statements are continously reload in the lib
cache which
can effect the performance .
It is managed through LRU.

Data Dictionary cache


=====================
The data dictionary cache hold information about database objects like
table
index
column
privileges
view
trigger .. etc .

The data dictionary cache also known as row cache ,because it store the infromation
in the form of rows instead of buffers.

If the size of DDC is small ,then database has to query database tables repeatedly
which degarde the performance.

Control Structure
=================
Locking information will be stored in control structure.

Database buffer cache


=====================
The size of database buffer cache is defined by the parameter called db_cache_size.
Database buffer cache hold the data which is fetch or read from the database
files .
The size of each buffer in the database buffer cache is equal to the size of
oracle block size .

Database buffer cache consist of two independent sub caches.

1)
DB_KEEP_CACHE_SIZE
==================
It will retain the block in the memory which are likely to be used.

DB_RECYCLE_CACHE_SIZE
====================
It will eliminate the blocks from memory which are having little chances of being
used .

Buffer modes
+++++++++++
unused
++++++++
The buffer is ready to use or available to use ,as it was never used .

Cleaned
+++++++++
The data has been written to database and available for use .

dirty
++++
The data has been modified but not written to the disk .

redo log buffer


===============
The size of redo log buffer is defined by parameter called log_buffer.
It sequentially record all the changes made to database.
log_buffer is a static parameter.

JAVA POOL
=========
The size of java_pool is defined by the parameter called java_pool_size.
If you want to execute java commands inside the database then java pool will be
used.
Whenever you run dbca,netca etc the memory is allocated from java pool .

Large pool
==========
The size of large_pool is defined by the parameter called large_pool_size.
Whenever a rman session is initiated the memory is allocated from large pool and
once finished the memory is de allocated.
It does not follow LRU algorithm.

g:\prints\interview\database creation.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Database Creation in Easy 6 Steps
==================================:

Step1:
Create Necessary Directory Structure using LINUX -- �MKDIR� command

Step2:
Create the Parameter File.

And add necessary parameteres


Location of parameter file= /$ORACLE_HOME/dbs/

[oracle@oracleasm1 dbs]$ vi initmy1.ora

db_name=my1
instance_name=my1
compatible=11.2.0
control_files=/u01/app/oracle/oradata/my1/control01.ctl
undo_tablespace=u01
sga_target=300m
diagnostic_dest=$ORACLE_BASE
:wq!

Step3:

Export The Database..& Startup in NOMOUNT stage.


$ EXPORT ORACLE_SID=my1
$ sqlplus / as sysdba

SQL> Startup nomount

Step4:
Create the Control File ..

Vi dbScript.sql

create database my1


logfile
group 1('/u01/app/oracle/oradata/my1/redo1.log') size 10m,
group 2('/u01/app/oracle/oradata/my1/redo2.log') size 10m
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 0
datafile '/u01/app/oracle/oradata/my1/system01.dbf' size 400m
sysaux datafile '/u01/app/oracle/oradata/my1/sysaux.dbf' size 200m
undo tablespace u01
datafile '/u01/app/oracle/oradata/my1/undo.dbf' size 100m
default temporary tablespace temp1 tempfile
'/u01/app/oracle/oradata/my1/temp01.dbf' size 100m
character set AL32UTF8
;

Step5:
Run the control script at database level

Step6:
Run these post script (below)

SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
This script to create data Dictionary tables,

SQL> $ORACLE_HOME/rdbms/admin/catproc.sql
script to create procedure And packages

SQL> Connect system/manager


@$ORACLE_HOME/sqlplus/admin/pupbld.sql
script to create users Profile

Above Listed scripts are minimal scripts for creating database.

g:\prints\interview\dataguard interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle DBA Interview Questions and Answers - Dataguard

What is Dataguard?

Data Guard provides a comprehensive set of services that create, maintain, manage,
and monitor one or more standby databases to enable production Oracle databases to
survive disasters and data corruptions. Data Guard maintains these standby
databases as copies of the production database. Data Guard can be used with
traditional backup, restoration, and cluster techniques to provide a high level of
data protection and data availability.

What is DG Broker?
DG Broker �it is the management and monitoring tool�.
Oracle dataguard broker is a distributed management framework that automates and
centralizes the creation , maintenance and monitoring of DG configuration.
All management operations can be performed either through OEM, which uses the
broker (or) broker specified command-line tool interface �DGMGRL�.

What is the difference between Dataguard and Standby?

Dataguard :
Dataguard is mechanism/tool to maintain standby database.
The dataguard is set up between primary and standby instance .
Data Guard is only available on Enterprise Edition.

Standby Database :
Physical standby database provides a physically identical copy of the primary
database, with on disk database structures that are identical to the primary
database on a block-for-block basis.
Standby capability is available on Standard Edition.

What are the differences between Physical/Logical standby databases? How would you
decide which one is best suited for your environment?
Physical standby DB:
As the name, it is physically (datafiles, schema, other physical identity) same
copy of the primary database.
It synchronized with the primary database with Apply Redo to the standby DB.
Logical Standby DB:
As the name logical information is the same as the production database, it may be
physical structure can be different.
It synchronized with primary database though SQL Apply, Redo received from the
primary database into SQL statements and then executing these SQL statements on the
standby DB.
We can open �physical stand by DB to �read only� and make it available to the
applications users (Only select is allowed during this period). we can not apply
redo logs received from primary database at this time.
We do not see such issues with logical standby database. We can open the database
in normal mode and make it available to the users. At the same time, we can apply
archived logs received from primary database.

For OLTP large transaction database it is better to choose logical standby


database.

Explain Active Dataguard?

11g Active Data Guard


Oracle Active Data Guard enables read-only access to a physical standby database
for queries, sorting, reporting, web-based access, etc., while continuously
applying changes received from the production database.
Oracle Active Data Guard also enables the use of fast incremental backups when
offloading backups to a standby database, and can provide additional benefits of
high availability and disaster protection against planned or unplanned outages at
the production site.

What is a Snapshot Standby Database?


11g Snapshot Standby Database
Oracle 11g introduces the Snapshot Standby database which essentially is an
updateable standby database which has been created from a physical standby
database.
We can convert a physical standby database to a snapshot standby database, do some
kind of testing on a database which is a read write copy of the current primary or
production database and then finally revert it to it�s earlier state as a physical
standby database.
While the snapshot standby database is open in read-write mode, redo is being
received from the primary database, but is not applied.
After converting it back to a physical standby database, it is resynchronized with
the primary by applying the accumalated redo data which was earlier shipped from
the primary database but not applied.
Using a snapshot standby, we are able to do real time application testing using
near real time production data. Very often we are required to do production clones
for the purpose of testing. But using snapshot standby databases we can meet the
same requirement sparing the effort,time,resources and disk space.

Snapshot Standby Database (UPDATEABLE SNAPSHOT FOR TESTING)


A snapshot standby database is a fully updatable standby database that is created
by converting a physical standby database into a snapshot standby database.

Like a physical or logical standby database, a snapshot standby database receives


and archives redo data from a primary database. Unlike a physical or logical
standby database, a snapshot standby database does not apply the redo data that it
receives. The redo data received by a snapshot standby database is not applied
until the snapshot standby is converted back into a physical standby database,
after first discarding any local updates made to the snapshot standby database.

What is the Default mode will the Standby will be, either SYNC or ASYNC?
ASYNC

Data Guard Configurations:


A Data Guard configuration consists of one production database and one or more
standby databases. The databases in a Data Guard configuration are connected by
Oracle Net and may be dispersed geographically. There are no restrictions on where
the databases are located, provided they can communicate with each other.

Dataguard Architecture
The Oracle 9i Data Guard architecture incorporates the following items:

� Primary Database - A production database that is used to create standby


databases. The archive logs from the primary database are transfered and applied to
standby databases. Each standby can only be associated with a single primary
database, but a single primary database can be associated with multiple standby
databases.
� Standby Database - A replica of the primary database.
� Log Transport Services - Control the automatic transfer of archive redo log files
from the primary database to one or more standby destinations.
� Network Configuration - The primary database is connected to one or more standby
databases using Oracle Net.
� Log Apply Services - Apply the archived redo logs to the standby database. The
Managed Recovery Process (MRP) actually does the work of maintaining and
applying the archived redo logs.
� Role Management Services - Control the changing of database roles from primary to
standby. The services include switchover, switchback and failover.
� Data Guard Broker - Controls the creation and monitoring of Data Guard. It comes
with a GUI and command line interface.

Primary Database:
A Data Guard configuration contains one production database, also referred to as
the primary database, that functions in the primary role. This is the database that
is accessed by most of your applications.

Standby Database:
A standby database is a transactionally consistent copy of the primary database.
Using a backup copy of the primary database, you can create up to nine standby
databases and incorporate them in a Data Guard configuration. Once created, Data
Guard automatically maintains each standby database by transmitting redo data from
the primary database and then applying the redo to the standby database.
The types of standby databases are as follows:

Physical standby database:


Provides a physically identical copy of the primary database, with on disk database
structures that are identical to the primary database on a block-for-block basis.
The database schema, including indexes, are the same. A physical standby database
is kept synchronized with the primary database, through Redo Apply, which recovers
the redo data received from the primary database and applies the redo to the
physical standby database.

Logical standby database:


Contains the same logical information as the production database, although the
physical organization and structure of the data can be different. The logical
standby database is kept synchronized with the primary database through SQL Apply,
which transforms the data in the redo received from the primary database into SQL
statements and then executes the SQL statements on the standby database.

What are the services required on the primary and standby database ?
The services required on the primary database are:
� Log Writer Process (LGWR) - Collects redo information and updates the online redo
logs. It can also create local archived redo logs and transmit online redo to
standby databases.
� Archiver Process (ARCn) - One or more archiver processes make copies of online
redo logs either locally or remotely for standby databases.
� Fetch Archive Log (FAL) Server - Services requests for archive redo logs from FAL
clients running on multiple standby databases. Multiple FAL servers can be run on a
primary database, one for each FAL request. .
The services required on the standby database are:
� Fetch Archive Log (FAL) Client - Pulls archived redo log files from the primary
site. Initiates transfer of archived redo logs when it detects a gap sequence.
� Remote File Server (RFS) - Receives archived and/or standby redo logs from the
primary database.
� Archiver (ARCn) Processes - Archives the standby redo logs applied by the managed
recovery process (MRP).
� Managed Recovery Process (MRP) - Applies archive redo log information to the
standby database.

What is RTS (Redo Transport Services) in Dataguard?


It controls the automated transfer of redo data from the production database to one
or more archival destinations. The redo transport services perform the following
tasks:
a) Transmit redo data from the primary system to the standby systems in the
configuration.
b) Manage the process of resolving any gaps in the archived redo log files due to a
network failure.
c) Automatically detect missing or corrupted archived redo log files on a standby
system and automatically retrieve replacement archived redo log files from the
primary database or another standby database.

What are the Protection Modes in Dataguard?

Data Guard Protection Modes


This section describes the Data Guard protection modes.
In these descriptions, a synchronized standby database is meant to be one that
meets the minimum requirements of the configured data protection mode and that does
not have a redo gap. Redo gaps are discussed in Section 6.3.3.

Maximum Availability
This protectionmode provides the highest level of data protection that is possible
without compromising the availability of a primary database. Transactions do not
commit until all redo data needed to recover those transactions has been written to
the online redo log and to at least one synchronized standby database. If the
primary database cannot write its redo stream to at least one synchronized standby
database, it operates as if it were in maximum performance mode to preserve primary
database availability until it is again able to write its redo stream to a
synchronized standby database.
This mode ensures that no data loss will occur if the primary database fails, but
only if a second fault does not prevent a complete set of redo data from being sent
from the primary database to at least one standby database.

Maximum Performance
This protectionmode provides the highest level of data protection that is possible
without affecting the performance of a primary database. This is accomplished by
allowing transactions to commit as soon as all redo data generated by those
transactions has been written to the online log. Redo data is also written to one
or more standby databases, but this is done asynchronously with respect to
transaction commitment, so primary database performance is unaffected by delays in
writing redo data to the standby database(s).
This protection mode offers slightly less data protection than maximum availability
mode and has minimal impact on primary database performance.
This is the default protection mode.

Maximum Protection
This protection mode ensures that zero data loss occurs if a primary database
fails. To provide this level of protection, the redo data needed to recover a
transaction must be written to both the online redo log and to at least one
synchronized standby database before the transaction commits. To ensure that data
loss cannot occur, the primary database will shut down, rather than continue
processing transactions, if it cannot write its redo stream to at least one
synchronized standby database.
Because this data protection mode prioritizes data protection over primary database
availability, Oracle recommends that a minimum of two standby databases be used to
protect a primary database that runs in maximum protection mode to prevent a single
standby database failure from causing the primary database to shut down.

How to delay the application of logs to a physical standby?

A standby database automatically applies redo logs when they arrive from the
primary database. But in some cases, we want to create a time lag between the
archiving of a redo log at the primary site, and the application of the log at the
standby site.

Modify the LOG_ARCHIVE_DEST_n initialization parameter on the primary database to


set a delay for the standby database.

Example: For 60min Delay:


ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=stdby_srvc DELAY=60';
The DELAY attribute is expressed in minutes.
The archived redo logs are still automatically copied from the primary site to the
standby site, but the logs are not immediately applied to the standby database. The
logs are applied when the specified time interval expires.

Steps to create Physical Standby database?

1.Take a full hot backup of Primary database


2.Create standby control file
3.Transfer full backup, init.ora, standby control file to standby node.
4.Modify init.ora file on standby node.
5.Restore database
6.Recover Standby database
(Alternatively, RMAN DUPLICATE DATABASE FOR STANDBY DO RECOVERY can be also used)
7.Setup FAL_CLIENT and FAL_SERVER parameters on both sides
8.Put Standby database in Managed Recover mode

What are the DATAGUARD PARAMETERS in Oracle?


Set Primary Database Initialization Parameters
----------------------------------------------
On the primary database, you define initialization parameters that control redo
transport services while the database is in the primary role. There are additional
parameters you need to add that control the receipt of the redo data and log apply
services when the primary database is transitioned to the standby role.

DB_NAME=chicago
DB_UNIQUE_NAME=chicago
LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/chicago/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_2=
'SERVICE=boston LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=boston'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30

Primary Database: Standby Role Initialization Parameters


FAL_SERVER=boston
FAL_CLIENT=chicago
DB_FILE_NAME_CONVERT='boston','chicago'
LOG_FILE_NAME_CONVERT=
'/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/'
STANDBY_FILE_MANAGEMENT=AUTO

Prepare an Initialization Parameter File for the Standby Database


-----------------------------------------------------------------
Create a text initialization parameter file (PFILE) from the server parameter file
(SPFILE) used by the primary database; a text initialization parameter file can be
copied to the standby location and modified. For example:
CREATE PFILE='/tmp/initboston.ora' FROM SPFILE;

Modifying Initialization Parameters for a Physical Standby Database.

DB_NAME=chicago
DB_UNIQUE_NAME=boston
LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILES='/arch1/boston/control1.ctl', '/arch2/boston/control2.ctl'
DB_FILE_NAME_CONVERT='chicago','boston'
LOG_FILE_NAME_CONVERT=
'/arch1/chicago/','/arch1/boston/','/arch2/chicago/','/arch2/boston/'
LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
LOG_ARCHIVE_DEST_1= 'LOCATION=/arch1/boston/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=boston'
LOG_ARCHIVE_DEST_2= 'SERVICE=chicago LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
STANDBY_FILE_MANAGEMENT=AUTO
FAL_SERVER=chicago
FAL_CLIENT=boston
g:\prints\interview\dataguard protection modes.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Protection Modes
=================:

Data Guard operates in three different protection modes:

Maximum Performance
===================
Default protection mode with the primary concern on the performance. In this mode,
transaction commits as soon as redo data written to the local redo logs. It
provides less data protection compared to other modes.

Maximum Availability
===================
Highest level of data protection while the primary database is available.
Transaction commits, when redo written to the local redo logs and at least one
standby location. In case of no standby location is available, the primary doesn�t
shut down and continue to generate redo entries.

Maximum Protection
==================
No (Zero) data loss. Redo entries must be written to the local online redo logs and
at least one standby location before a transaction commits on primary. Primary will
shut down if it can�t write redo to the standby database.

Some terminology
Switch-over
Switch-over is planned role changes between primary and standby databases usually
to allow maintenance activities to be performed on primary.

Fail-over
On the other hand, Fail-over occurs in the event of taking the primary database
offline (can be because of unplanned failure). In this case one of the standbys
becomes new primary and original primary may need to be rebuilt.

The main difference between switchover and failover is primary database is still
available in the case of switchover.

g:\prints\interview\dataguard.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Required parameters:

DB_NAME � Must be same on primary and on all standby


DB_UNIQUE_NAME � Must be different on primary and all standby
LOG_ARCHIVE_CONFIG � This parameter includes db_unique_name which are
the part of Dataguard configuration
LOG_ARCHIVE_DEST_n � Define local and remote archive log file location
LOG_ARCHIVE_DEST_STATE_n � Define state of archiving (ENABLE or DIFER)
REMOTE_LOGIN_PASSWORDFILE � Must be in EXCLUSIVE mode
DB_FILE_NAME_CONVERT � Required when directory structure is different
datafile
LOG_FILE_NAME_CONVERT � Required when directory structure is different
logfile
STANDBY_FILE_MANAGEMENT � Keep auto to create file automatically on standby
FAL_SERVER (stdby) � Use for archivelog gap resolution (required only in
physical standby server)
FAL_CLIENT (prim) -
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

Note:

In case source and destination databases are ASM,


db_file_name_convert and log_file_name_convert may be defined as follows:
db_file_name_convert = ("+DATA/dg01","+DATA/dg02")
log_file_name_convert = ("+DATA/dg01","+DATA/dg02")

g:\prints\interview\datapump master table.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Datapump Architecture. What is Master table in Datapump ?
=========================================================:

Master Table :

The Master Table is created in the schema of the current user running the Pump Dump
export or import, and it keeps tracks of lots of detailed information.

The Master Table is used to track the detailed progress information of a Data Pump
job.

This will store the following information :


�The status of every worker process involved in the operation.
�The current set of dump files involved.
�The job�s user-supplied parameters.
�The state of current job status and restart information.
�The current state of every object exported or imported and their locations in the
dump file set.

Note : The Master Table is the key to Data Pump�s restart capability in the event
of a planned or unplanned job stoppage.

Behaviour of Master Table :


This table is created at the beginning of a Data Pump operation and is dropped at
the end of the successful completion of a Data Pump operation. The Master Table can
also be dropped if the job is killed using the kill_job interactive command. If a
job is stopped using the stop_job interactive command or if the job is terminated
unexpectedly, the Master Table will be retained.

The keep_master parameter can be set to Y to retain the Master Table at the end of
a successful job for debugging purposes

The name of the Master Table is the same as the Data Pump job name and has the
following columns:

SQL> Desc <job_name> ;

Process in Datapump Architecture

The master control process


�Maintains job state, job description, restart, and dump file set information in
the Master Table.
�This process controls the execution and sequencing of a Data Pump job.
�The master process has two main functions

1.To divide the loading and unloading of data and metadata tasks and handle the
worker processes;
2.To manage the information in the Master Table and record job activities in the
log file.

Worker Process:
�This handles the request assigned by the master control process. This process
maintains the current status of the job, like : �pending� or �completed� or
�failed�.
�The worker process is responsible for loading and unloading data and metadata.
�The number of worker processes needed can be defined by assigning a number to the
parallel parameter.

Parallel Query Process:


�This process is used when the Data Pump chooses External Table API as the data
access method for loading and unloading data.
�The worker process that uses the External Table API creates multiple parallel
query processes for data movement, with the worker process acting as the query
coordinator.

Shadow Process :
�This process is created when a client logs into the Oracle server.
�The shadow process creates a job, which primarily consists of creating the Master
Table, creating the queues in Advanced Queues (AQ) used for communication among the
various processes, and creating the master control process.
�Once a job is running, the shadow process� main job is to check the job status for
the client process. If the client process detaches, the shadow process goes away;
however, the remaining Data Pump job processes are still active.
�Another client process can create a new shadow process and attach to the existing
job.

g:\prints\interview\datapump scenario.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Datapump Scenarios - Frequently Asked
======================================:

Q. How to split the datapump dumpfiles, into multiple and at multiple directories ?
PARALLEL parameter is used to improve the speed of the export.
This will be also more effective if you split the dumpfiles with DUMPFILE parameter
across the filesystem.
Create 2 or 3 directories in different filesystems and use the commands
effectively.

$ expdp / dumpfile=dir1:test_1.dmp, dir1:test_2.dmp, dir2:test_3.dmp,


dir3:test_4.dmp logfile=dir1:test.log full=y parallel=4

Q. How to limit the file size of dumpfile in Datapump ?


FILESIZE parameter is used to limit the dumpfile size. For eg., if you want to
limit your dumpfiles to 5gb, you can issue command as below

$ expdp / directory=dir1 dumpfile=test_%U.dmp logfile=test.log filesize=5120m


full=y

where %U will assign numbers automatically from 1 to 99.

Q. How to import the dumpfile if the Database version are not same ?
VERSION parameter is used while taking export if you want to create a dumpfile
which should be imported into a DB which is lower than the source DB

Example:
If your source DB is 11g and target DB is 10g, you can't use the dumpfile taken
from 11g expdp utility to import into 10g DB.
If you don�t use this VERSION parameter, then it will show you the error as Below

ORA-39142: incompatible version number 3.1 in dump file "/u01/datapump/test.dmp"

VERSION={COMPATIBLE | LATEST | version_string}

$ expdp / directory=dir1 dumpfile=test_1.dmp logfile=test.log VERSION=10.2.0

Q. How to improve the performace of Datapump while Importing ?

1) Import of full database should be split as tables first and indexes next. Use
the parameter exclude effectively to improve the speed of import.

EXCLUDE = INDEX,STATISTICS
This will not import the indexes and statistics which in turn only import the
tables, hence improving the performance

2)Always set init.ora parameter cursor_sharing to exact which has a good effect on
import's performance.

Q. How to find the contents of a dumpfile ?


If you are not sure about the schemas that were present in the dumpfile or
tablespaces present inside the dumpfile, etc., you can easily check the dumpfile
for those information.
Use the below command

$ grep -a "CREATE USER" test_1.dmp


$ grep -a "CREATE TABLESPACE" test_1.dmp

The above command gives all the CREATE USER statements and CREATE TABLESPACE
statements
which will be useful in many cases.

Note: You can also get the INDEXES and TABLES creation ddl from the dumpfile as
well.

I�ll be updating the post whenever I come across things that can help improving the
performance of datapump.

g:\prints\interview\Datapump.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TABLE_EXISTS_ACTION during IMPORT (IMPDP)

In data pump import the parameter TABLE_EXISTS_ACTION help to do the job. The
default value of this parameter is SKIP which means if table to be imported already
existed in the database table will be skipped and data not to be imported and
continue processing next object. However if in your import job if CONTENT=DATA_ONLY
is specified, the default is APPEND, and then data will be appended into existing
table.

TABLE_EXISTS_ACTION can have following values.


1)SKIP: It leaves the table as is and moves on to the next object. This is not a
valid option if the CONTENT parameter is set to DATA_ONLY.

2)APPEND: This option loads rows from the source and leaves existing rows
unchanged. This is a default option is CONTENT=DATA_ONLY is specified.

3)TRUNCATE: This option deletes existing rows and then loads rows from the source.

4)REPLACE: This option drops the existing table in the database and then creates
and loads it from the source. This is not a valid option if the CONTENT parameter
is set to DATA_ONLY.

Note
- If you use TRUNCATE or REPLACE, make sure that rows in the affected tables are
not targets of any referential constraints.

- If you use SKIP, APPEND, or TRUNCATE then existing table dependent objects in the
source, such as indexes, grants, triggers, and constraints, are ignored. In case of
REPLACE, the dependent objects are dropped and again created from the source, if
they were not explicitly or implicitly excluded (using EXCLUDE) and they exist in
the source dump file or system.

- If you use APPEND or TRUNCATE, checks are made to ensure that rows from the
source are compatible with the existing table prior to performing any action. If
the existing table has active constraints and triggers, it is loaded using the
external tables access method. If any row violates an active constraint, the load
fails and no data is loaded. You can override this behavior by specifying
DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS on the Import command line.

If you want data must be loaded but causes constraint voilations, you can disable
constraints, import data, delete the rows which causes problems and then enable
constraints.

- When you use APPEND, the data is always loaded into new space. So if you have any
existing space available the space is not reused. So after the import operation,
you may wish to compress your data after the load.

- TRUNCATE cannot be used on clustered tables or over network links.

In case of original import use ignore=y option to append data into an existing
table. ignore=y causes rows to be imported into existing tables without any errors
or messages being given.

How to Copy files from ASM to filesystem and filesystem to ASM


Copy files from ASM to filesystem
---------------------------------
$ps -ef| grep pmon
$. oraenv
ORACLE_SID = [dbinst1] ? +ASM1
The Oracle base for ORACLE_HOME=/opt/app/11.2.0/grid is /opt/app/oracle
$asmcmd

ASMCMD> lsdg
ASMCMD> cd FRA/TESTDB/EXPDP
ASMCMD> ls
dumpfile1.dmp
dumpfile2.dmp
dumpfile3.dmp
ASMCMD> cp dumpfile1.dmp dumpfile1.dmp dumpfile1.dmp /oracle/backup/testdb/expdp
copying +FRA/TESTDB/EXPDP/dumpfile1.dmp ->
/oracle/backup/testdb/expdp/dumpfile1.dmp
copying +FRA/TESTDB/EXPDP/dumpfile2.dmp ->
/oracle/backup/testdb/expdp/dumpfile2.dmp
copying +FRA/TESTDB/EXPDP/dumpfile3.dmp ->
/oracle/backup/testdb/expdp/dumpfile3.dmp
ASMCMD> exit

$cd /oracle/backup/testdb/expdp/
$ls -lrt dumpfile*.dmp
dumpfile1.dmp
dumpfile2.dmp
dumpfile3.dmp

Copy files from filesystem to ASM


---------------------------------
$cd /oracle/backup/testdb/expdp/
$ls -lrt dumpfile*.dmp
dumpfile1.dmp
dumpfile2.dmp
dumpfile3.dmp

$ps -ef| grep pmon


$. oraenv
ORACLE_SID = [dbinst1] ? +ASM1
The Oracle base for ORACLE_HOME=/opt/app/11.2.0/grid is /opt/app/oracle
$asmcmd

ASMCMD> lsdg
ASMCMD> cd FRA/TESTDB/IMPDP
ASMCMD> ls
ASMCMD> cp /oracle/backup/testdb/expdp/dumpfile1.dmp '+FRA/TESTDB/EXPDP/'
copying /oracle/backup/testdb/expdp/dumpfile1.dmp ->
+FRA/TESTDB/EXPDP/dumpfile1.dmp
ASMCMD> cp /oracle/backup/testdb/expdp/dumpfile2.dmp '+FRA/TESTDB/EXPDP/'
copying /oracle/backup/testdb/expdp/dumpfile2.dmp ->
+FRA/TESTDB/EXPDP/dumpfile2.dmp
ASMCMD> cp /oracle/backup/testdb/expdp/dumpfile3.dmp '+FRA/TESTDB/EXPDP/'
copying /oracle/backup/testdb/expdp/dumpfile3.dmp ->
+FRA/TESTDB/EXPDP/dumpfile3.dmp
ASMCMD> ls
dumpfile1.dmp
dumpfile2.dmp
dumpfile3.dmp
How to create Datapump Export Dumps within ASM diskgroups

Schema Status
-------------
select username,account_status,default_tablespace from dba_users where
username=upper('&username');
select owner,sum(bytes)/1024/1024 "SIZE in MB" from dba_segments where
owner=upper('&owner') group by owner;
select owner,object_type,count(*) from dba_objects where owner=upper('&owner') and
object_name not like 'BIN$%' group by object_type,owner order by object_type;

EXPORT (EXPDP)

$ps -ef| grep pmon


$. oraenv
ORACLE_SID = [dbinst1] ? +ASM1
The Oracle base for ORACLE_HOME=/opt/app/11.2.0/grid is /opt/app/oracle
$asmcmd
ASMCMD> cd DATA01/TESTDB
ASMCMD> mkdir EXPDP

1. Create a directory in ASM.


SQL> create or replace directory DATAPUMP_ASM_DIR as '+DATA01/TESTDB/EXPDP';
Directory created.
SQL> GRANT READ,WRITE ON DIRECTORY DATAPUMP_ASM_DIR TO SYSTEM;

2. Create a logfile directory in filesystem, since logfiles can't be stored in ASM.


SQL> create or replace directory DATAPUMP_LOG_DIR as '/oracle/backup/testdb/expdp';
Directory created.
SQL> GRANT READ,WRITE ON DIRECTORY DATAPUMP_LOG_DIR TO SYSTEM;

3. Create logfile directory in filesystem.


$ cd /oracle/backup/testdb/
$ mkdir expdp
$ chmod -R 755 expdp
$ cd expdp
$pwd
/oracle/backup/testdb/expdp
$ df -h /oracle/backup/testdb/expdp -- or
$df -gt /oracle/backup/testdb/expdp

$ sqlplus "/as sysdba"

set pages 50000 lines 32767


col DIRECTORY_PATH for a80;
select * from dba_directories;

OWNER DIRECTORY_NAME DIRECTORY_PATH


------- ---------------- ---------------------------------------
SYS DATAPUMP_ASM_DIR +DATA01/testdb/expdp
SYS DATAPUMP_LOG_DIR /oracle/backup/testdb/expdp

Where DATAPUMP_ASM_DIR is a ASM based directory


and DATAPUMP_LOG_DIR is on a filesystem.

Here, Export is written to ASM based dictionary,


but log is written to another directory which is on filesystem.

We can create export dumps to the ASM diskgroups. But we can�t write expdp log to
ASM (as it is a text file).

$vi schema_export_in_ASM.par

user_id="/ as sysdba"
directory=DATAPUMP_ASM_DIR
dumpfile=source_schemaname_expdp_%U.dmp
logfile=DATAPUMP_LOG_DIR:schema_export_in_ASM.log
schemas=schema1,schema2
exclude=statistics
parallel=6
compression=all
cluster=n ---- 11g
:wq
$nohup expdp parfile=schema_export_in_ASM.par &
$tail -f nohup.out or
$tail -f schema_export_in_ASM.log

Optional Parametrs:
------------------
ESTIMATE={BLOCKS | STATISTICS}
FLASHBACK_SCN=scn_number
FLASHBACK_TIME="TO_TIMESTAMP()"

The Import ESTIMATE parameter is valid only if the NETWORK_LINK parameter is also
specified.

The FLASHBACK_SCN parameter is valid only when the NETWORK_LINK parameter is also
specified. This is because the value is passed to the source system to provide an
SCN-consistent data extraction.

This parameter is valid only when the NETWORK_LINK parameter is also specified.
This is because the value is passed to the source system to provide a time-
consistent import.

FLASHBACK_SCN and FLASHBACK_TIME are mutually exclusive.

Oracle DBA Interview Questions and Answers - Datapump

Oracle Datapump Interview Questions and Answers

In which cases imp/exp is used?


-Eliminate database fragmentation
-Schema refresh (move the schema from one database to another)
-Detect database corruption. Ensure that all the data can be read (if the data can
be read that means there is no block corruption)
-Transporting tablespaces between databases
-Backup database objects

Which are the common IMP/EXP problems?


ORA-00001: Unique constraint ... violated - Perhaps you are importing duplicate
rows. Use IGNORE=N to skip tables that already exist (imp will give an error if the
object is re-created) or the table could be dropped/ truncated and re-imported if
we need to do a table refresh..
IMP-00015: Statement failed ... object already exists... - Use the IGNORE=Y import
parameter to ignore these errors, but be careful as you might end up with duplicate
rows.
ORA-01555: Snapshot too old - Ask your users to STOP working while you are
exporting or use parameter CONSISTENT=NO (However this option could create possible
referential problems, because the tables are not exported from one snapshot in
time).
ORA-01562: Failed to extend rollback segment - Create bigger rollback segments or
set parameter COMMIT=Y (with an appropriate BUFFER parameter) while importing.

How can we check DATAPUMP file is corrupted or not?Sometimes we may be in


situation, to check whether the dumpfile exported long time back is VALID or not or
our application team is saying that the dumpfile provided by us is corrupted.
Use SQLFILE Parameter with import script to detect corruption. The use of this
parameter will read the entire datapump export dumpfile and will report if
corruption is detected.
impdp system/*** directory=dump_dir dumpfile=expdp.dmp logfile=corruption_check.log
sqlfile=corruption_check.sql
This will write all DDL statements (which will be executed if an import is
performed) into the file which we mentioned in the command.
How can we find elapsed time for particular object during Datapump or Export?We
have an undocumented parameter �metrics� in DATAPUMP to check how much it took to
export different objects types.
Expdp system/passwd directory=dump_dir dumpfile=expdp_full.dmp
logfile=expdp_full.log full=y metrics=y;

How to move table from one tablespace to another tablespace?


You can use any of the below method:
1.Export the table, drop the table, create definition of table in new tablespace
and then import the data using (imp ignore=y).
2.Create new table in new tablespace then drop the original table and rename
temporary table with original table name.
CREATE TABLE temp_name TABLESPACE new_tablespace as select * from 'source_table';
DROP TABLE real_table;
RENAME temp_name to real_table;

What is the difference between SQL*loader and Import utilities?


Both these utilities are used for loading the data into the database. The
difference is that the import utility relies on the data being produced by another
oracle utility Export while SQL*Loader is a high speed data loading mechanism
allows data to be loaded that has been produced by other utilities from different
data source.SQL * Loader loads data from standard OS files or flat file in oracle
database tables.Export/Import allows moving existing data in oracle format to and
from oracle database.

How to re-organize schema?


We can use dbms_redefinition package for online re-organization of schema objects.
Otherwise using import/export and data pump utility you can recreate or re-organize
your schema.

How we can improve the EXP Performance?


1.Set the BUFFER parameter to a high value (e.g. 2M)
2.If you run multiple export sessions, ensure they write to different physical
disks.

How we can improve the IMP performance?


1.Import the table using INDEXFILE parameter (the import is not done, but a file
which contains the indexes creation is generated), import the data and recreate the
indexes
2.Store the dump file to be imported on a separate physical disk from the oracle
data files
3.If there are any constraints on the target table, the constraints should be
disabled during the import and enabled after import
4.Set the BUFFER parameter to a high value (ex. BUFFER=30000000 (~30MB) ) and
COMMIT =y or set COMMIT=n (is the default behavior: import commits after each
table is loaded, however, this use a lot of the rollback segments or undo space for
huge tables.)
5.Use the direct path to import the data (DIRECT=y)
6.(if possible) Increase DB_CACHE_SIZE (DB_BLOCK_BUFFERS prior to 9i) considerably
in the init<SID>.ora file
7.(if possible) Set the LOG_BUFFER to a big value and restart oracle.

How Datapump works internally? What resources will be utilized at Network level,
in Memory level?

EXPORT STATUS
-------------
jobs
or
ps -ef| grep expdp or ps -ef| grep exp or ps -ef|grep <processid>
or
ls -lrth
tail -f nohup.out
tail -f SOURCE_TABLENAME_EXP.log

cat SOURCE_TABLENAME_EXP.log
(OR)

EXPORT STATUS
-------------

$expdp attach=<JOB_NAME>
username: / as sysdba
EXPDP>STATUS

If required, to kill EXPORT job


CTRL+C
EXPDP>ATTACH=SOURCE_TABLE_EXPORT
EXPDP>STATUS
EXPDP>STOP_JOB=IMMEDIATE (OR) KILL_JOB

IMPORT STATUS
------------
jobs
or
ps -ef| grep impdp or ps -ef| grep imp or ps -ef|grep <processid>
or
ls -lrth
tail -f nohup.out
tail -f IMPORT_SOURCE_TABLENAME_EXP.log

cat IMPORT_SOURCE_TABLENAME_EXP.log

(OR)

IMPORT STATUS
------------
$impdp attach=<JOB_NAME>
username: / as sysdba
IMPDP>STATUS

If required, to kill IMPORT job

CTRL+C
IMPDP>ATTACH=SOURCE_TABLE_IMPORT
IMPDP>STATUS
IMPDP>STOP_JOB=IMMEDIATE (OR) KILL_JOB

g:\prints\interview\db patching.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Database Patching (OPatch)

Patch is required for any bug fix or some additional features. Databse patches are
mainly applied for security fixes, Priority fixes and patchset is used for
upgradation like 10.2.0.1 to 10.2.0.4.
Critical Patch Update(CPU): These are the patches for security fixes and released
each quarter.
Patch Set Update(PSU): These are cumulative patches that include both security
fixes and priority fixes. PSU are the minor version upgrades (e.g., 11.2.0.1.1 to
11.2.0.1.2).
Once PSU is applied, PSU has to be applied each quarter till we upgrade our
database to new base version.

How do we apply Oracle database patches?

Patches are downloaded from metalink (My Oracle Support) and it has readme.txt file
with the patching instructions and we can follow as suggested by oracle with read
me file.

Basic steps to follow for applying database patch:

* Database Version
* OS version
* Opatch Version
* Download CPUJan2012 patch for 11.2.0.2.0
* Unzip the patch and read the instructions from read me file.
* Sessions Status
* Invalid objects
* Shutdown database and listner.
* Backup the $ORACLE_HOME and Inventory
* Go to patch directory : Opatch apply
* Apply Opatch
* Verify the status of patch applied

Post Installation

* Start listener and database.


* Check the status from registry$history
* Recompiling Views in Database

Log location of Opatch:

$ORACLE_HOME/cfgtoollogs/opatch

Significance of utlrp.sql and catcpu.sql:

Utlrp.sql :- location of utlrp.sql is $ORACLE_HOME/rdbms/admin. This script is used


to compile the invalid objects.

Catcpu.sql :- catcpu.sql calls a script called catbundle.sql, which is located at


$ORACLE_HOME/rdbms/admin.
This script will load sql file in database by looking into bundledata_cpu.xml for
file information for a particular patch. It will be creating a dynamic apply sql
file and run it.

Note: Set the appropriate environment variables before applying patches

export ORACLE_HOME=/u03/oracle/JECLN/u01/oracle/PROD/db/tech_st/11.1.0/
export PATH=$PATH:
$HOME/bin:/u03/oracle/JECLN/u01/oracle/PROD/db/tech_st/11.1.0/OPatch/
export PATH=$PATH:$ORACLE_HOME/Opatch
g:\prints\interview\dba interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Q. What is the difference between process and thread.

Creation of new process requires new resources and Address space whereas the thread
can be created
in the same address space of the process which not only saves space and resources
but are also easy to
create and delete, and many threads can exists in a process.

Q. What is main purpose of CHECKPOINT?


A Checkpoint is a database event, which synchronizes the data blocks in memory with
the datafiles on disk.
A checkpoint has 2 purposes:
-1. to establish data consistency
-2. Enable faster database recovery.

Q. What is PGA ?
PGA - Program Global Area
or the Process Global Area is a memory region that contains
data and control information for a single
server process or a single background process.
The PGA is allocated when a process is created and de-allocated when the process is
terminated.
PGA is an area that is used by only one process.

Q. Different type of Database Failures

Statement failure failed SQL is automatically rolled back and an error is returned
to user.
User Process failure abnormal disconnect PMON detects and rollsback and releases
locks.
User Error (drop table, data) DBA is required to recover data (import or incomplete
recovery)
Media Failure Loss or corruption of files DBA needs to apply appropriate recovery.
Instance Failure Abnormal shutdown Instance simply needs restarted, SMON auto
recovers by:
-Rolling forward changes in the redo log not recorded in the data files before
Open of database.
-Rollbacks can occur after the database is open, when block data is requested.

Q. When should more than one DB writer process be used? How many
should be used?
If the UNIX system being used is capable of asynchronous IO then only one is
required,
if the system is not capable of asynchronous IO then up to twice the number of
disks used by Oracle number of DB writers should be specified by use of the
db_writers initialization parameter

Q.What is the use of the RESUMABLE parameter in EXPORT?


The RESUMABLE parameter allows the export to
1. Suspend if a space allocation issue occurs
2. Wait until the space allocation issue is solved
3. Then resume and therefore not to abort, provided a timeout is set appropriately.

Q. Name three advisory statistics you can collect.


Buffer Cache Advice, Segment Level Statistics, & Timed Statistics.
Q. Explain materialized views and how they are used.
Materialized views are objects that are reduced sets of information that have been
summarized, grouped, or aggregated from base tables.
They are typically used in data warehouse or decision support systems.

Tell me the two methods you could use to determine what DDL changes have been made.
Logminer or Streams

Q. Locally Managed TEMP Tablespace is 100% FULL and there is no space available to
add datafile to increase TEMP tablespace. What can you do that might free up TEMP
space?
A.) You can try one of the following to free up TEMP space
1. Issue ALTER TABLESPACE PCTINCREASE 1 followed by
ALTER TABLESPACE PCTINCREASE 0 command;
2. Close some of the idle sessions connected to the database

1.What processes do you follow while implementing changes in production?

2.Beside the DBAs and system administrators, who has access to the "Oracle"
operating system account?

3.How often is the oracle operating system account password changed?

4.Are the DBAs co-located with the teams they support? How is capacity planning
performed?

What are 11g New Features


1) Automatic Diagnostic Repository [ADR]
2) Database Replay
3) Automatic Memory Tuning
4) Case sensitive password
5) Virtual columns and indexes
6) Interval Partition and System Partition
7) The Result Cache
8) ADDM RAC Enhancements
9) SQL Plan Management and SQL Plan Baselines
10) SQL Access Advisor & Partition Advisor
11) SQL Query Repair Advisor
12) SQL Performance Analyzer (SPA) New
13) DBMS_STATS Enhancements
14) The Result Cache
15) Total Recall (Flashback Data Archive)
Note: The above are only top new features, there are other features as well
introduced in 11g which will be included subsequently

11G Background Processes?

The following process are added in 11g as new background processes.


1 dbrm DB resource manager
2 dia0 Diagnosability process
3 fbda Flashback data archiver process
4 vktm Virtual Timekeeper
5 w000 Space Management Co-ordination process
6 smc0 Space Manager process
NOTE : The above six are mandatory processes.

DBWn writes when __ ?


� Checkpoint occurs
� Dirty buffers reach threshold
� There are no free buffers
� Timeout occurs
� RAC ping request is made
� Tablespace OFFLINE
� Tablespace READ ONLY
� Table DROP or TRUNCATE
� Tablespace BEGIN BACKUP
Log Writer (LGWR) writes:
� At commit
� When 1/3rd full
� When there is 1 MB of redo
� Every 3 seconds
� Before DBWn writes

What are the Responsibilities of System Monitor (SMON) ?


� Instance recovery
� Rolls forward changes in redo logs
� Opens database for user access
� Rolls back uncommitted transactions
� Coalesces free space
� Deallocates temporary segments.
Process Monitor (PMON) Cleans up after failed processes by:
� Rolling back the transaction
� Releasing locks
� Releasing other resources
� Restarting dead dispatchers
Checkpoint (CKPT) Responsible for:
� Signaling DBWn at checkpoints
� Updating datafile headers with checkpoint information
� Updating control files with checkpoint information
Archiver (ARCn)
� Optional background process
� Automatically archives online redo logs when ARCHIVELOG mode is set
� Preserves the record of all changes made to the database

Why should we use separate ASM home?


ASM should be installed separately from the database software in its own
ORACLE_HOME directory. This will allow you the flexibility to patch and upgrade ASM
and the database software independently.

How many ASM instances should one have?


Several databases can share a single ASM instance. So, although one can create
multiple ASM instances on a single system, normal configurations should have one
and only one ASM instance per system.

What is ASM Rebalancing?

The rebalancing speed is controlled by the ASM_POWER_LIMIT initialization


parameter. Setting it to 0 will disable disk rebalancing.

What is main purpose of CHECKPOINT?


A Checkpoint is a database event, which synchronizes the data blocks in memory with
the datafiles on disk.
A checkpoint has two purposes:
1. to establish data consistency
2. Enable faster database recovery
The following are the parameter that will be used by DBA to adjust time or interval
of how frequently its checkpoint should occur in database.
LOG_CHECKPOINT_TIMEOUT = 3600; // Every one hour
LOG_CHECKPOINT_INTERVAL = 1000; //number of OS blocks.

What does RESETLOGS option do?

1. Creates a new incarnation of the database, putting a new SCN in all data file
headers.
2. Reset Log Sequence number to 1
3. Reformats ONLINE REDO LOGFILES if they exists

In what scenarios open resetlogs required ?


An ALTER DATABASE OPEN RESETLOGS statement is required,
1. after incomplete recovery (Point in Time Recovery) or
2. recovery with a backup control file.
3. recovery with a control file recreated with the reset logs option.

What to do if my Global Inventory is corrupted ?


No need to worry if your global Inventory is corrupted, you can recreate global
Inventory on machine using Universal Installer and attach already Installed oracle
home by option
-attachHome
./runInstaller -silent -attachHome -invPtrLoc $location_to_oraInst.loc
ORACLE_HOME=�Oracle_Home_Location� ORACLE_HOME_NAME=�Oracle_Home_Name�
CLUSTER_NODES=�{}�

Oracle version 11.2.0.4.0 what does each number refers to?


Oracle version number refers :
11 � for Major database release number
2 � for Database Maintenance release number
0 � for Application server release number
4 � for Component Specific release number
0 � for Platform specific release number

What is Row chaining and how can you find it? and how you will resolve the issue ?
When you are inserting record if a row is not fit into the single block� it will
chain across multiple blocks leaving a pointer between these blocks.

Find using below query


SQL> analyze table <owner>.<table_name>;
SQL> select table_name,chain_cnt from dba_tables where table_name=�tablename';

To Overcome :
create a table with bigger the block size
1) Create tablespace tbs1 data file �/u01/oradata/test/data01.dbf� size 100m
blocksize 16k;
2) alter table tablename move to tbs1;
Here tbs1 is the tablespace name with larger block size and before creating
tablespace it is assumed that you have created a db buffer cache for it.

What is row migration? When does it occur? Where can you find this information?
Row migration happens when update occurs at one column and the row is not adequate
to fit in the block then the entire row will be moved to the new block.

Find using below query


SQL> select table_name,chain_cnt from dba_tables where table_name=�tablename';
To Overcome :
-set pct_free storage parameter for table to adequate value

Do you know about statistics , what is the use of it? What kind of statistics
exists in database?
Statistics is a collection information about data or database
There are different types of statistics that oracle maintains-
1)System-Statistics: statistics about the hardware like cpu speed,I/O speed,read
time write time etc : select * from aux_stats$
2)Object statistics : For a table oracle collects the information about no.of
rows,no.of blocks,avg row length etc.We can view
SQL>select table_name,num_rows,blocks,avg_row_len from dba_tables
for index oracle collect statistics on index column about no.of rows,no.of root
blocks,no.of branch blocks,no.of leaf blocks,no.of distinct values etc.

How to detect locking issues in Database ?


-During this,, you need to find Locking sessions and Kill 1Session among those

Sql>select a.SID "Blocking Session." ,b.SID "Blocked Session" from v$lock a, v$lock
b
where a.SID != b.SID and a.ID1 = b.ID1 and a.ID2 = b.ID2 and b.request > 0
and a.block = 1;

Blocking Session. Blocked Session


----------------- ---------------
56 83

Process for Killing the session


Sql>select sid,serial# from v$session where sid=56;
Sql> alter system kill session '56,83';

How to Relink the oracle binaries


-Run the below command
$ORACLE_HOME/bin/relink all

How to gather Instance hang analysis data


-Use the Oradebug utility
$sqlplus �prelim / as sysdba
Sql>oradebug setmypid
Sql>oradebug unlimit
Sql>oradebug hanganalyze 3

Open another terminal


$sqlplus �prelim / as sysdba
Sql>oradebug setmypid
Sql>oradebug unlimit
Sql>oradebug dump systemstate 256

What will you do, If sqlplus executable is corrupted then


-Run these below commands
$cd $ORACLE_HOME/sqlplus/lib
$make �f ins_sqlplus.mk install

What will you do, If lsnrctl utility is corrupted then


$ORACLE_HOME/network/lib
$make -f ins_net_server.mk install

IF oracle, exp, imp, sqlldr, tkprof utilites are corrupted then


-run these below command
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk install

How to check the detailed error message


-using the �oerr� Utility
$oerr ora 0600

What is ADR (Automatic Diagnostic Repository) ?

In 11g user_dump_dest,core_dump_dest,background_dump_dest are replace by


diagnostic_dest

Sub-dirs under diagnostic_dest

Alert rdbms incidents

The Alert log file are in two format


Log.xml
Alert_<SID>.log
adrci Utility is used to see the content of alert-log or incident details
-below are the commands
$ adrci
Adrci>show alert
Adrci>help
Adrci>show incident

g:\prints\interview\dba questions.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.what is regular activities in current project?
Ans)Monitoring Databse(checking alert log file,issues related to freespace and used
space),Creating Users,Tablespaces,other database objects,Taking Backup(Hot &
Cold),Recovery of the dbarabase in case of disaster,User Management,Tablespace
amnagement,Statspack report,explainplan tkprof...Dblinks,Net8config

2.how many servers you handle?


Ans)Development,Test and Production Server

3.what is the database size?


Ans)350 GB

4.controlfile is missing?no backup?can you explain step by step?


Ans) if u lost one control file, do one thing, Remove lost control file entry in
the parameter file and startup the database using parameter file if u r not using
spfile. After this multiplex the control file. If ur database is not in archive
log mode, u lost both control files, then u have to restore last night complete
backup and startup the database. simply database will be opened. Now ur database is
upto last night. u will loose todays data.

5.controlefile is missing?I hab backup?can you explain step by step?


Ans) If you have atleast one correct control file , copy that control file (Not the
one from backup) to other location & try to open database

6.I have controlfile backup?redolog files is missing?


Ans)
startup mount
recover until cancel;
alter database open resetlogs
Note: if you don't have backup of redolog files.

7.what is the difference ALTER DATABASE BACKUP CONTROLFILE TO TRACE and ALTER
BACKUP CONTROLFILE TO����/BACKUP/�..CONTROLFILE

8.redo log file is missing?what should you do as DBA?


Ans)You cannot recover the redo logs . If you have the database backup including
controlfile and archive logs. Then you can restore the database to the point in
time before you lost the redologs.
Resoter all datafiles to the proper location .
Restore the controlfiles to the location specified in the spfile or pfile.
issue startup mount
restore database using backup controlfile ,
apply all the archivelogs and
issue alter database open reset logs.
This will create a new set of redo logs and then open the database.

9.redolog members is missing?


Ans)select * from v$logfile; check the status of missing file.If it is invalid drop
it as
alter database drop logfile member 'file name';
add a new file member
alter database add logfile member 'file' to group "group no.";

10.userdatafile is missing?no backup?


Ans)Loss of Datafile with no backup of the datafile but archive logs are available
1. startup mount pfile=initDB00.ora
2. alter database drop datafile 'c:\data\datafile1.dbf'
3. alter tablespace USER_DATA offline immediate;
4. alter database create datafile 'd:\newlocation\datafile1.dbf' as
'c:\data\datafile1.dbf'
5. recover tablespace USER_DATA;
6.alter tablespace USER_DATA online;

11.userdatafile is missing?I have backup?


Ans)1.shut abort
2.restore the missing file from coldbackup
3.sqlplus '/as sysdba'
4.startup mount
5.alter databse datafile 'PATH' offline;
6.alter databse open
7.alter database recover automatic datafile 'PATH'
8.alter database datafile 'PATH' online

13.what is hotbackup & coldbackup?explain step by step?


Ans)Cold Backup
shutdown immediate
backup all datafiles, redo logs, control files, parameter files, and password file
to backup media
startup pfile=c:\orant\database\init{sid}.ora
Hot Backup
Alter tablespace user_data
begin backup;
backup all datafiles to backup media
alter tablespace user_data
end backup;

Alter System switch logfile


The begin backup command prevents the SCN in the datafile header from changing, so
in the case of recovery, logs are applied from backup start time.
Repeat process for all tablespaces

14.one table is missing 11.30am.dba found 12.30.? what should you do as DBA?
Ans)
1.shutdown the database
2.take a fresh coldbackup in to 12:30 cold directory
3.restore from the yesterdays coldbackup
4.startup mount
5.alter database recover automatic using backup control file until time "2007-04-
04:11:29:00"
6.Alter database open reset logs
7.$exp file=scott_emp.dmp log=scott_emp.log tables=scott.emp
8.conn as sysdba
9.restore 12:30 cold backup
10.startup the database and import the dumpfile
$imp file=scott_emp.dmp log=scott_emp.log
fromuser=scott touser=scott.

15.archive file is missing?how to configure archive?


Ans)Recovery: Noarchivelog Mode
1. Shutdown the Server
Shutdown Abort
2. Restore data, control, and redo log from the last full backup
3. connect / as sysdba
startup pfile=initDB00.ora
Recovery with Archiving (Complete Recovery)
Enabling Archiving
1. Shutdown immediate
2. Startup mount pfile=initDB00.ora
3. Alter database archivelog
4. Change initDB00.ora setting for (LOG_ARCHIVE_START=TRUE, LOG_ARCHIVE_DEST,
LOG_ARCHIVE_FORMAT)
5. Alter database open
6. Shutdown immediate
7. Full Database Backup
8. Startup pfile=initDB00.ora

18.controlfile ,datafile,redo files is missing but I have RMAN BACKUP?explain step


by step?
Ans)DATAFILE
$ sqlplus "/ as sysdba"
SQL> alter database datafile '/u03/oradata/PROD/devl_PROD_01.dbf' offline;
SQL> !cp -p /u03/oradata/prod1/devl_PROD_01.dbf /u03/oradata/PROD
SQL>alter database recover automatic datafile '/u03/oradata/PROD/devl_PROD_01.dbf';
SQL> alter database datafile '/u03/oradata/PROD/devl_PROD_01.dbf' online;

REDOFILES
Ans) 1.shut abort
2.restore all dbf files from the backup
3.startup mount
4.alter databse recover automatic until cancel
5.recover cancel
6.alter database open reset logs.

25.what is the parallel query?


Ans)Oracle Parallel Query (formerly Oracle Parallel Query Option or PQO) allows one
to break-up a given SQL statement so that its parts can run simultaneously on
different processors in a multi-processor machine. Typical operations that can run
in parallel are: full table scans, sorts, sub-queries, data loading etc.
Parallel Query can improve performance of certain types of operations dramatically
and is commonly used in Decision Support and Data Warehousing applications.

28.i am taking hotbackup?some DML operations is going?where data will store?


(2) Once u put the Tablespace in the Begin Backup mode, The Datafiles Headers
belong to that tablespace are frozen. They will not update till u put the
tablespace out of backup mode

(3) Now everything goes as normal....New Records are inserted into the Datafile and
Records are updating as normal.....normal means what will happen when tablespace is
out of backup mode Except only two things

(1) Except Freezing of The Datafile Headers


(2) Excess Redo
Here Datafile SCN will not update with Current Database SCN.

(4) Once u put of the Backup mode,. Latest SCN will be updated in the Datafile
Headers syncronizing with Database SCN.

(5) If any recovery is needed, Oracle will apply all the archived log files from
Freezed SCN to Latest SCN.
-------------------------------------------------------------------
when tablespace is in the begin backup mode, Database writer does its works as
normal means, it writes the data to data files when check point occurs wether it is
commited or uncommited transactions

32.how to find cpu i/o utilization?


Ans)iostat

35.what is rollback segments,undo segments?


Ans) Oracle Database keeps records of actions of transactiion, before they are
committed and Oracle needs this information to rollback or Undo the Changes to the
database. These records in Oracle are called Rollback or Undo Records. These
records are used to Rollback transactions when a rollback statement is issued or
during recovery of a database or to provide a read consistent view of data.
Until Oracle 8i and also in 9i, Oracle uses Rollback Segments to manage the Undo
Data. Starting with Oracle 9i, DBA's are provided with some a new feature referred
to as "Undo Tablespace" which allows the dba to exert more control on how long Undo
information is retained and also eliminates the complexity of managing Rollback
Segments in certain environments.

Starting with 9i, the rollback segment way is referred to as Manual Undo Management
Mode and the new Undo Tablespaces method as the Automatic Undo Management Mode.
Although both rollback Segments and Undo Tablespaces are supported in Oracle 9i,
Both modes cannot be used. System Rollback segment exists in both the modes. Since
we are all familiar with the manual mode, lets look at the features of the
Automatic Undo Management (Undo Tablespaces )
Init.ora Parameters for Automatic Undo Management
UNDO_MANAGEMENT : This parameter sets the mode in which oracle manages the Undo
Information.

The default value for this parameter is MANUAL so that all your old init.ora files
can be used without any changes. To set the database in an automated mode, set this
value to AUTO. ( UNDO_MANAGEMENT = AUTO)

UNDO_TABLESPACE : This parameter defines the tablespaces that are to be used as


Undo Tablespaces. If no value is specified oracle grabs the first available Undo
Tablespace or if there are none present, Oracle will use the system rollback
segment to startup. This value is dynamic and can be changed online
( UNDO_TABLESPACE = undo_tbs1 )

UNDO_RETENTION : This value specifies the amount of time, Undo is kept in the
tablespace. This applies to both committed and uncommitted transactions since the
introduction of FlashBack Query feature in Oracle needs this information to create
a read consistent copy of the data in the past. Default value is 900 Secs
( UNDO_RETENTION = 500)

UNDO_SUPRESS_ERRORS : This is a good thing to know about in case your code has the
alter transaction commands that perform manual undo management operations. Set this
to true to suppress the errors generated when manual management SQL operations are
issued in an automated management mode.

Creating and Managing Undo Tablespaces :


Undo tablespaces use syntax that is similar to regular tablespaces except that they
use the keyword UNDO. These tablespaces can be created during the database creation
time or can be added to an existing database using the create UNDO Tablespace
command
Create DATABASE uday controlfile ...........
UNDO Tablespace undo_tbs0 datafile '/vol1/data/uday/undotbs0.dbf' ...
Create UNDO Tablespace undo_tbs1
datafile '/vol1/data/uday/undotbs1.dbf' size 25m autoextend on;
All operations like Renaming a data file, Adding a datafile, Online /Offline Swith
or Start Backup / End Backup Switch can be made using the regular alter tablespace
command. All other operations are managed by Oracle in the automated management
mode.

Monitoring :

v$UNDOSTAT : This view contains statistics for monitoring the effects of


transaction execution on Undo Space in the current instance. These are available
for space usage, transaction concurrency and length of query operations. This view
contains information that spans over a 24 hour period and each row in this view
contains data for a 10 minute interval specified by the BEGIN_TIME and END_TIME

36.01555-ora error?
Ans)Error: ORA-01555: snapshot too old (rollback segment too small)
Cause: This error can be caused by one of the problems, as described below.
Action: The options to resolve this Oracle error are:

1. This error can be the result of there being insufficient rollback segments.

A query may not be able to create the snapshot because the rollback data is not
available. This can happen when there are many transactions that are modifying
data, and performing commits and rollbacks. Rollback data is overwritten when the
rollback segments are too small for the size and number of changes that are being
performed.
To correct this problem, make more larger rollback segments available. Your
rollback data for completed transactions will be kept longer.

37.how to check the freespace,used space in oracle?


Ans) SELECT sum(bytes)/1024 "free space in KB"
FROM dba_free_space;
SELECT sum(bytes)/1024 "used space in KB"
FROM dba_segments;
SELECT * FROM DBA_FREE_SPACE
ORDER BY TABLESPACE_NAME, BYTES;
38.which command you used free space in oslevel?
Ans)df -hT

39.can you install in unix,oracle or linux,oracle?

41. When we put tablespace in the backup mode what will the oracle do with
tablespace/datafile (means wht abt DBWR process or data users are updating) ?
Ans)Once u put the Tablespace in the Begin Backup mode, The Datafiles Headers
belong to that tablespace are frozen. They will not update till u put the
tablespace out of backup mode

42)what will happen when the tablespace is in begin backup mode?


Ans) Here u go
(1) Put the Tablespace in the begin backup mode
(2) Once u put the Tablespace in the Begin Backup mode, The Datafiles Headers
belong to that tablespace are frozen. They will not update till u put the
tablespace out of backup mode
(3) Now everything goes as normal....New Records are inserted into the Datafile and
Records are updating as normal.....normal means what will happen when tablespace is
out of backup mode Except only two things
(1) Except Freezing of The Datafile Headers
(2) Excess Redo
Here Datafile SCN will not update with Current Database SCN.
(4) Once u put of the Backup mode,. Latest SCN will be updated in the Datafile
Headers syncronizing with Database SCN.
(5) If any recovery is needed, Oracle will apply all the archived log files from
Freezed SCN to Latest SCN.
-------------------------------------------------------------------
when tablespace is in the begin backup mode, Database writer does its works as
normal means, it writes the data to data files when check point occurs wether it is
commited or uncommited transactions

43.whether the data will be in rollback segments or in datafile when the tablespace
is in Backup mode.
Ans: in the Datafile itself

44.Can you change SHARED_POOL_SIZE online?


Ans: Yes we can change using ALTER SYSTEM command

sql> ALTER SYSTEM SET SHARED_POOL_SIZE=<NEW VALUE>;

Database Interview Questions

Database

Q 1: What are the steps involved in database startup?


Ans: Start an Instance, Mount the database and Open the Database.

Q2: What are the steps involved in database shutdown?


Ans : Close the database ; Dismount the database and Shutdown the instance.

Q3: What is Archived Redo log?


Ans: Acrhived Redo Log consists of Redo Log files that have archived before being
reused

Q4: What is a temporary segment?


Ans: Temporary segments are created by ORACLE when a sql statement needs a
temporary work area to complete execution. When the statement finishes execution ,
the temporary segment extents are released to the system for future use.

Q5: What does a control file contain?


Ans: A control file records the physical structure of the database, database
name,time stamp of database creation,max datafile limit,max redo log group,max log
file members, database archive information,backup information..

Q6:What is a Tablespace?
Ans: A database is divided into Logical storage unit called tablespace. A
tablespace used to grouped related logical structures together

Q7: Explain the relation ship among the database,tablespace and datafiles?
Ans: Each database logically divided in to one or more tablespaces. One or more
datafiles are explicitly created for each tablespace.

Q8:What is Logical structure of the database?


Ans: Database �Tablespaces�segments�Extents�Oracle Blocks

Q9: What is the physical structure of the database?


Ans: Datafiles,Control File and redo log files.

Q10: What are Different types of segments?


Ans: Temp Segement, Undo Segment, Table Segment and Index Segment.

Q11: Can you name few DBMS Package names and their use?
Ans: DBMS_JOBS, DBMS_STATS,DBMS_SQLTUNE..

Q12: How Do you find whether the instance was started with PFILE or SPFILE?
Ans: Sho parameter spfile or query from v$parameter.

Q13: What Column differentiates the v$views to the gv$views and how?
Ans: The INST_ID Column which indicates the instance in a RAC environment the
information came from ..

Q14: Explain an Ora -1555


Ans: You get this error when you get a snap shot too old within roolback.It can
usually be solved by increasing the undo retention or increasing the size of
rollbacks

Q15:What is Diffeernce between a temporary tablespace and a permanent tablespace?


Ans: A temporary tablespace is used for Sort Oprations of no sufficient space found
in PGA. Permanent tablespace stores the true objects of dataase ..

Q16:How Do you add a datafile to a tablespace?


Ans: alter tablespace add datafile size ;

Q17: How Do you resize a datafile?


Ans: alter database datafile resize ;

Q18: What view Would you use to look at th size of a datafile?


Ans: dba_data_files,V$datafile

Q19: What view Would you use to determine free space in a tablespace?
Ans: dba_free_space

Q20: How can you gather statistics on a table?


Ans: The analyze command or using DBMS_STATS package.

Q21: List out the views names we can use to find about undo usage?
Ans: V$undostat,dba_undo_segs

Q22: What is view we can use to find out database locks?


Ans: v$lock

Q23: Using which view will check for session and process details?
Ans: V$session,v$process

Q24: Using which view will you find out , how much % Operation or job completed
sofar it is running in database?
Ans: v$session_longops

Q25: How will you find out running job names from database?
Ans: Querying from dba_jobs,Dba_jobs_running views

Q26:How will find out Database creation time details? What is the column name?
Ans: v$database; created is column

Q27: How will you find out instance startup time?


Ans: v$instance,startup_time

Q28: How do you find archive is enabled for database?


Ans: archive log list or v$database ,log_mode Cloumn

Q29: How will you find active/inactive session count from database?
Ans: select status,count(*) from v$session group by status;

Q30: explain about temporary tablespace groups?


Ans: It is 10g new feature . it is a group of temporary tablespaces. We can get
more details from dba_tablespace_groups if it is enabled.

Q31: What is undo_retention?


Ans : Time specification for undo segments hold the data ..and these reusable are
reusable..

Q32: How will you find undo management is auto or manual?


Ans : Sho parameter undo_management

Q33: If your database contain 4 undo tablespaces..how will you find out which undo
tablespace is used by database?
Ans: Sho parameter undo_tablespace

Q34: If you database contain 5 temporary tablespaces how will you find out what is
default temporary tablespace to databse?
Ans: By querying database_properties

Q35. What is alert log file and how will you find out the location of file from
database?
Ans : Sho parameter dump

UNIX:

Q36: How can you determine if an Oracle Instance is up from the Operating system
level?
Ans: ps �efgrep smon/pmon

Q37: How can u find dead processes?


Ans: ps �efgrep zombie or who �d or ps �efgrep defunc
Q38: Give the command to display space usage on the UNIX File system?
Ans: df �lk or df �lh or df �k/h

Q39: Explain sar and vmstat?


Ans: sar used for to get system activity report and Vmstat reports on virtuval
memory statistics for processes .

Q40: How do you find the Load average of a server?


Ans: using uptime command.

Q41: How do you find out swap usage on a server?


Ans: free �g

Q42: How will you kill a process id at OS level ?


Ans: kill -9

Q43: How will you find out the count of Oracle processes running on server?
Ans: ps �efgrep wc �l

Q44: How will you check if any Rman backup is running?


Ans: ps �efgrep rman

Q45: How will check cron schedule job details?


Ans: Crontab �l

Q46 : How will find ASM instance is running on server?


Ans : ps �efgrep +ASM

Q47 : I have a very big file at OS and I want see last 50 lines of the file
only..Which command will you use?
Ans : tail -50

Q48: How can you find , file last accessed ( modified )date?
Ans : ls �l Q49: How will you find out howmany instances are running on a server?
Ans : ps �efgrep smon (gives all instance names which are running)

Q49 : What is the command we can use to find trace of process at OS level?(means
what process is doing)
And : strace �p

Q50: List components of an Oracle instance?

Ans:
An Oracle instance is comprised of memory structures and background processes.
The Systems Global Area (SGA) and shared pool are memory structures. The process
monitor is a background process (DBWn, LGWR, ARCn, and PMON). The Oracle database
consists of the physical components such as data files; redo log files, and the
control file.

Q51: Which background process and associated database component guarantees that
committed data is saved even when the changes have not been recorded in the data
files?
Ans:
LGWR (log writer) and online redo log files. The log writer process writes data to
the buffers when a transaction is committed. LGWR writes to the redo log files in
the order of events (sequential order) in case of a failure.

Q52: What is the maximum number of database writer processes allowed in an Oracle
instance?
Ans:
The maximum is ten. Every Oracle instance begins with only one database writer
process, DBW0. Additional writer processes may be started by setting the
initialization parameter DB_WRITER_PROCESSES (DBW1 through DBW9).

Q53: Which background process is not started by default when you start up the
Oracle instance?
Ans:
ARCn. The ARCn process is available only when the archive log is running
(LOG_ARCHIVE_START initialization parameter set to true). DBWn, LGWR, CKPT, SMON,
and PMON are the default processes associated with all instances (start by
default).

Q54: Describe a parallel server configuration?


Ans:
In a parallel server configuration multiple instances known as nodes can mount one
database. In other words, the parallel server option lets you mount the same
database for multiple instances. In a multithreaded configuration, one shared
server process takes requests from multiple user processes.

Q55: Choose the right hierarchy, from largest to smallest, from this list of
logical database structures?
Ans:
Database, tablespace, segment, extent, data blocks.

Q56: Which background process is responsible for writing the dirty buffers to the
database files?
Ans:
The purpose if the DBWn is to write the contents of the dirty buffer to the
database file.
This occurs under two circumstances � when a checkpoint occurs or when the server
process searches the buffer cache for a set threshold.

Q57: Which component in the SGA has the dictionary cache?


Ans:
The dictionary cache is part of the shared pool. The shared pool also contains the
library cache and control structures.

Q58: When a server process is terminated abnormally, which background process is


responsible for releasing the locks held by the user?
Ans:
The process monitor (PMON) releases the locks on tables and rows held by the user
during failed processes and it reclaims all resources held by the user. PMON cleans
up after failed user processes.

Q59: What is a dirty buffer?


Ans:
A dirty buffer refers to blocks in the database buffer cache that are changed, but
are not yet written to the disk.

Q60: If you are updating one row in a table using the ROWID in the WHERE clause
(assume that the row is not already in the buffer cache), what will be the minimum
amount of information read to the database buffer cache?
Ans:
The block is the minimum amount of information read/copied to the database buffer
cache.

Q61: What happens next when a server process is not able to find enough free
buffers to copy the blocks from disk?
Ans:
To reduce I/O contention, the DBWn process does not write the changed buffers
immediately to the disk. They are written only when the dirty buffers reach a
threshold or when there are not enough free buffers available or when the
checkpoint occurs.

Q62: Which memory structures are shared? Name two.


Ans:
The library cache contains the shared SQL areas, private SQL areas, PL/SQL
procedures, and packages, and control structures. The large pool is an optional
area in the SGA.

Q63: When a SELECT statement is issued, which stage checks the user�s privileges?
Ans:
Parse checks the user�s privileges, syntax correctness, and the column names
against the dictionary. Parse also determines the optional execution plan and finds
a shared SQL area for the statement.

Q64: Which memory structure records all database changes made to the instance?
Ans:
The redo log files holds information on the changes made to the database data.
Changes are made to the database through insert, update, delete, create, alter, or
drop commands.

Q65: What is the minimum number of redo log files required in a database?
Ans:
The minimum number of redo log files required in a database is two because the LGWR
(log writer) process writes to the redo log files in a circular manner.

Q65: When is the system change numbers assigned?


Ans:
System changed numbers (SCN) are assigned when a transaction is committed. The SCN
is a unique number acting as an internal timestamp, used for recovery and read-
consistent queries. In other words, the SCN number is assigned to the rollback
statement to mark it as a transaction committed.

Q66: Name the parts of the database buffer pool?


Ans:
The database buffer pool consists of the keep buffer pool; recycle buffer pool, and
the default buffer pool.
The keep buffer pool retains the data block in memory.
The recycle buffer pool removes the buffers from memory when it�s not needed.
The default buffer pool contains the blocks that are not assigned to the other
pools.

Q67: List all the valid database start-up option?


Ans:
STARTUP MOUNT, STARTUP NOMOUNT, and STARTUP FORCE.
STARTUP NOMOUNT is used for creating a new database or for creating new control
files. STARTUP MOUNT is used for performing specific maintenance operations such as
renaming data files, enabling or disabling archive logging, renaming, adding or
dropping redo log files, or for performing a full database recovery. Finally,
STARTUP FORCE is used to start a database forcefully, (if you have problems
starting up an instance.) STARTUP FORCE shuts down the instance if it is already
running and then restarts it.

Q68: Which two values from the V$SESSION view are used to terminate a user session?
Ans:
The session identifier (SID) and the serial number (SERIAL #) uniquely identify
each session and both are needed to kill a session. Ex. SQL > ALTER SYSTEM KILL
SESSION �SID�,� SERIAL #�;

Q69: To use operating system authentication to connect the database as an


administrator, what should the value of the parameter REMOTE_LOGIN_PASSWORDFILE be
set to?
Ans:
The value of the REMOTE_LOGIN_PASSWORDFILE parameter should be set to NONE to use
OS authentication. To use password file authentication, the value should be either
EXCLUSIVE or SHARED.

Q70: What information is available in the alert log files?


Ans:
The alert log store information about block corruption errors, internal errors, and
the non-default initialization parameters used at instance start-up. The alert log
also records information about database start-up, shutdown, archiving, recovery,
tablespace modifications, rollback segment modifications, and the data file
modifications.

Q71: Which parameter value is use to set the directory path where the alert log
file is written?
Ans:
The alert log file is written in the BACKGROUND_DUMP_DEST directory. This directory
also records the trace files generated by the background processes. The
USER_DUMP_DEST directory has the trace files generated by user sessions. The
CORE_DUMP_DEST directory is used primarily on UNIX platforms to save the core dump
files. ALERT_DUMP_DEST is not a valid parameter.

Q72: Which SHUTDOWN option requires instance recovery when the database is started
the next time?
Ans:
SHUTDOWN ABORT requires instance recovery when the database is started the next
time. Oracle will also roll back uncommitted transactions during start-up. This
option shuts down the instance without dismounting the database.

Q73: Which SHUTDOWN option will wait for the users to complete their uncommitted
transactions?
Ans:
When SHUTDOWN TRANSACTIONAL is issued, Oracle waits for the users to either commit
or roll back their pending transactions. Once all users have either rolled back or
committed their transactions, the database is shut down. When using SHUTDOWN
IMMEDIATE, the user sessions are disconnected and the changes are rolled back.
SHUTDOWN NORMAL waits for the user sessions to disconnect from the database.

Q74: How do you make a database read-only?


Ans:
To put a database into read-only mode, you can mount the database and open the
database in read-only mode. This can be accomplished in one step by using STARTUP
OPEN READ ONLY.

Q75: Which role is created by default to administer databases?


Ans:
The DBA role is created when you create the database and is assigned to the SYS and
SYSTEM users.

Q76: Which privilege do you need to connect to the database, if the database is
started up by using STARTUP RESTRICT?
Ans:
RESTRICTED SESSION privilege is required to access a database that is in restrict
mode. You can start up the database in restrict mode by using STARTUP RESTRICT, or
change the database to restricted mode by using ALTER SYSTEM ENABLE RESTRICTED
SESSION.

Q77: At which stage of the database start-up is the control file opened?
Ans:
The control file is opened when the instance mounts the database. The data files
and redo log files are opened after the database is opened. When the instance is
started, the background processes are started.

Q78: Which command will �bounce� the database-that is, shut down the database and
start up the database in a single command?
Ans:
STARTUP FORCE will terminate the current instance and start up the database. It is
equivalent to issuing SHUTDOWN ABORT and STARTUP OPEN.

Q79: When performing the command SHUTDOWN TRANASACTIONAL, what actions oracle
performs internally?
Ans:
SHUTDOWN TRANSACTIONAL waits for all user transactions to complete. Once no
transactions are pending, it disconnects all sessions and proceeds with the normal
shutting down process. The normal shut down process performs a checkpoint, closes
data files and redo log files, dismounts the database, and shuts down the instance.

Q80: When you issue the command ALTER SYSTEM ENABLE RESTRICTED SESSION, what
happens to the users who are connected to the database?
Ans:
If you enable the RESTRICTED SESSION when users are connected, nothing happens to
the already connected sessions. Future sessions are started only if the user has
the RESTRICTED SESSION privilege.

Q81: Which view has information about users who are granted SYSDBA or SYSOPER
privilege?
Ans:
A dynamic view of V$PWFILE_USERS has the username and a value of TRUE in column
SYSDBA if the SYSDBA privilege is granted, or a value of TRUE in column SYSOPER if
the SYSOPER privilege is granted.

Q82: What is the recommended configuration for control files?


Ans:
Oracle allows multiplexing of control files. If you have two control files on two
disks, one disk failure will not damage both control files.

Q83: How many control files are required to create a database?


Ans:
You do not need any control files to create a database; the control files are
created when you create a database, based on the filenames specified in the
CONTROL_FILES parameter of the parameter file

Q84: Which environment variable or registry entry variable is used to represent the
instance name?
Ans:
The Oracle_SID environment variable is used to represent the instance name. When
you connect to the database without specifying a connect string, Oracle connects
you to this instance.

Q85: Which initialization parameter cannot be changed after creating the database?
Ans:
The block size of the database cannot be changed after database creation. The
database name can be changed after re-creating the control file with a new name,
and the CONTROL_FILES parameter can be changed if the files are copied to a new
location.

Q86: Which script creates the data dictionary views?

Ans:

The catalog.sql script creates the data dictionary views. The base tables for these
views are created by the script sql.bsq, which is executed when you issue the
CREATE DATABASE command.

Q87: How do you correct a procedure that has become invalid when one of the tables
it is referring to was altered to drop a constraint?
Ans:
The invalid procedure, trigger, package, or view can be recompiled by using the
ALTER COMPILE command.

Q88: How many data files can be specified in the DATAFILE clause when creating a
database?
Ans:
You can specify more than one data file; the files will be used for the SYSTEM
tablespace. The files specified cannot exceed the number of data files specified in
the MAXDATAFILES clause.

Q89: Who owns the data dictionary?


Ans:
The SYS user owns the data dictionary. The SYS and SYSTEM users are created when
the database is created.

Q90: What is the default password for the SYS user?


The default password for the SYS user is CHANGE_ON_INSTALL, and for SYSTEM it is
MANAGER. You should change these passwords once the database is created.

Q91: What is the prefix for dynamic performance views?


Ans:
The dynamic performance views have a prefix of V$. The actual views have the prefix
of V_$, and the synonyms have a V$ prefix. The views are called dynamic performance
views because they are continuously updated while the database is open and in use,
and their contents related primarily to performance.

Q92: What piece of information is not available in the control file?


Ans:
The instance name is not available. The control files include the following:
Database name the control file belongs to, database creation timestamp, data files,
redo log files, tablespace names, current log sequence number, most recent
checkpoint information, and Recovery Manager�s backup information.

Q93: When you create a control file, the database has to be:
Ans:
Not mounted.

Q94: Which data dictionary view provides the names of the control files?
V$CONTROLFILES shows the names of the control files.

Q95: The initialization parameter file has LOG_CHECKPOINT_INTERVAL = 60; what does
this mean?
Ans:
LOG_CHECKPOINT_INTERVAL ensures that no more than a specified number of redo log
blocks (OS blocks) need to be read during instance recovery. LOG_CHECKPOINT_TIMEOUT
ensures that no more than a specified number of seconds worth of redo log blocks
need to be read during instance recovery.

Q96: What will happen if ARCn could not write to a mandatory archive destination?
Ans:
Oracle will write a message to the alert file and all database operations will be
stopped. Database operation resumes automatically after successfully writing the
archived log file. If the archive destination becomes full you can make room for
archives either by deleting the archive log files after copying them to a different
location, or by changing the parameter to point to a different archive location.

Q97: What are the valid status codes in the V$LOGFILE view?
Ans:
Valid status codes V$LOGFILE views include STALE, INVALID, DELETED, or the status
can be blank. STALE means the file contents are incomplete; INVALID means the file
is not accessible; DELETED means the file is no longer used; and blank status means
the file is in use.

Q98: If you have two redo log groups with four members each, how many disks does
Oracle recommend to keep the redo log files?
Ans:
You should keep a minimum of two redo log groups, with a recommended two members in
each group. Oracle recommends that you keep each member of a redo log group on a
different disk. The maximum number of redo log groups is determined by the
MAXLOGFILES database parameter. The MAXLOGMEMBERS database parameter specifies the
maximum number of members per group.

Q99: When does the SMON process automatically coalesce the tablespaces?
Ans:
When the PCTINCREASE default storage of the tablespace is set to 0. You can
manually coalesce a tablespace by using ALTER TABLESPACE COALESCE.

Q100: How would you drop a tablespace if the tablespace were not empty?
Ans:
Use DROP TABLESPACE INCLUDING CONTENTS.
The INCLUDING CONTENTS clause is used to drop a tablespace that is not empty.
Oracle does not remove the data files that belong to the tablespace; you need to do
it manually using an OS command. Oracle updates only the control file.

Q101: Which command is used to enable the auto-extensible feature for a file, if
the file is already part of a tablespace?
Ans:
To enable auto=extension, use ALTER DATABASE DATAFILE AUTOEXTEND ON NEXT MAXSIZE .

Q102: How would you determine how much sort space is used by a user session?
Ans:
The V$SORT_USAGE shows the active sorts in the database; it shows the space used,
username, SQL address, and hash value. It also provides the number of EXTENTS and
number of BLOCKS used by each sort session, and the username. The V$SORT can be
joined with V$SESSION or V$SQL to obtain more information on the session or the SQL
statement causing the sort.

Q103: When a table is updated, where is the before image information (which can be
used for undoing the changes) stored?
Ans:
Rollback segment. Before any DML operation, the undo information (before-image of
data) is stored in the rollback segments. This information is used to undo the
changes and to provide a read-consistent view of the data.

Q104: Which parameter specifies the number of transaction slots in a data block?
Ans:
INITRANS specifies the number of transaction slots in a data block. A transaction
slot is used by Oracle when the data block is being modified. INITRANS reserves
space for the transactions in the block.

Q105: Which data dictionary view would you query to see the free extents in a
tablespace?
Ans:
DBA_FREE_SPACE shows the free extents in a tablespace. DBA_EXTENTS shows all the
extents that are allocated to a segment.

Q106: Which portion of the data block stores information about the table having
rows in this block?
Ans:
Row Data. The table directory portion of the block stores information about the
table having rows in the block. The row directory stores information such as row
address and size of the actual rows stored in the row data area.

g:\prints\interview\dg broker.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Q) How start the DMON process on both the primary and standby databases?

SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;


System altered.

Q) How to add a standby database to the Data Guard broker configuration:

DGMGRL> ADD DATABASE 'db12c_stby' AS CONNECT IDENTIFIER IS 'db12c_stby';


Database "db12c" added

Q) How to Enable dataguard broker configuration ?

DGMGRL> enable configuration;


Enabled.

Q) How to remove DG broker configuration:

DGMGRL> remove configuration;


Removed configuration

Q) Rename the database name in the Data Guard broker ?

DGMGRL> edit database 'db12c_stby' rename to 'STBY';

Q) To turn off redo transport to all remote destinations on the primary database:

DGMGRL> edit database 'DB12C' SET STATE="LOG-TRANSPORT-OFF";

Q) To stop and start redo transport services to specific standby databases:

DGMGRL> edit database 'db12c_stby' SET PROPERTY 'LogShipping'='OFF';


Property "LogShipping" updated
DGMGRL> SHOW DATABASE 'db12c_stby' 'LogShipping';
LogShipping = 'OFF'
DGMGRL> edit database 'db12c_stby' SET PROPERTY 'LogShipping'='ON';
Property "LogShipping" updated
DGMGRL> SHOW DATABASE 'db12c_stby' 'LogShipping';
LogShipping = 'ON'

g:\prints\interview\diff between 1213 to 1222.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Changes in Oracle EBS R12.2.x from R12.1.x
===========================================:

There are many changes in Oracle EBS R12.2.x when compared to Oracle EBS R12.1.x
version.
Few of the major architectural changes and new features are mentioned below,

1. Oracle E-Business Suite R12 (12.2) uses Oracle Fusion Middleware 11g R1 PS3
(11.1.1.4) including WebLogic 10.3.4 as its application server (Note: In previous
version of R12 i.e. 12.0.X and 12.1.X this is 10g R3 i.e. 10.1.3.X). Oracle HTTP
server in R12.2 is 11.1.1.4 .

2. Oracle E-Business Suite R12.2 uses Oracle Application Server 10g R3 (10.1.2.3)
for Forms & Reports (Note: In previous version of R12 i.e. 12.0.X and 12.1.X, forms
are reports are of same version i.e. 10.1.2.3)

3. Default Database for Oracle E-Business Suite R12.2 is 11g R2 (11.2.X) . (Note:
In previous version of R12 i.e. 12.0.X, default database is 11.1 and 12.1.X,
default database is 11.2.0.3)

4. 12.0.X and 12.1.X Oracle JSP Compiler (OJSP) 10.1.3.5 is replaced by WebLogic
JSP Compiler 11.1.1.4 in R12 version 12.2.x

5. In 12.2.x version, a new file "EBSapps.env" is introduced to source the


Environment variables that will help to navigate the system.

g:\prints\interview\difference between resetlogs and noresetlogs.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Difference between RESETLOGS and NORESETLOGS
==============================================:

Use RESETLOGS after incomplete recovery (when the entire redo stream wasn't
applied). RESETLOGS will initialize the logs, reset your log sequence number, and
start a new "incarnation" of the database.

Use NORESETLOGS when doing complete recovery (when the entire redo stream was
applied). Oracle will continue using the existing (valid) log files.

NORESETLOGS

The NORESETLOGS option does not clear the redo log files during startup and the
online redo logs to be used for recovery. Only used in scenario where MANUAL
RECOVERY is started, CANCEL is used, and then RECOVER DATABASE is started.

RESETLOGS
CAUTION: Never use RESETLOGS unless necessary.
Once RESETLOGS is used then the redo log files cannot be used and any completed
transactions in those redo logs are lost!!

Before using the RESETLOGS option take an offline backup of the database.

The RESETLOGS option clears all the online redo logs and modifies all the online
data files to indicate no recovery is needed. After resetting the redo logs none of
the existing log files or data file backups can be used. In the control file, the
log sequence number is modified, which is very important for recovery purposes. The
recovery will be applied only to the log files whose sequence number is greater
than log sequence number in the control file. One has to be very cautious when
using RESETLOGS option. It is important to remember that all datafiles must be
online otherwise they will become useless once the database is up

g:\prints\interview\dp PT.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Data Pump Performance Tuning
=============================:

I was tasked to move an entire small database from 1 server to another and finish
the task ASAP. The reason was the site will be down until the task is completed. A
quick test of exporting, coping files to remote server then importing had the
following numbers:

Export expdp with parallel = 16, generating 1 file only: 13 mins


Copying 12 GB to remote server: 10 mins
Import with parallel = 16: 45 mins
Total Time: 1 hour and 8 minutes.

Here are the commands we initially used:

expdp username/password directory=dump_dir dumpfile=full.dmp logfile=full.log


full=y parallel=16
impdp username/password directory=dump_dir dumpfile=full.dmp logfile=full.log
parallel=16

In our attempt to tune this process, we introduced exporting in parallel to


multiple files and the results were amazing

expdp username/password directory=dump_dir filesize=1G dumpfile=full%U.dmp


logfile=fulllog parallel=16
Execution time: about 2 minutes

We figured the import will be improve significantly as well, but we were a bit
disappointed

impdp username/password directory=dump_dir dumpfile=full%U.dmp logfile=full.log


parallel=16

Execution time: about 30 minutes. Better, but not as expected improvement.


We noticed that during import operation, the process takes a lot of time during
creating indexes, and the first thing came to our mind is to increase the
pga_aggregate_target to big number.

After increasing pga_aggregate_target to 6 GB, performance of import came down to


14 minutes.

Now total time of entire operation: 26 minutes down from 1:08 hours, not bad
We can still improve by copying files in parallel between servers, but this wasn�t
needed.

Tip: This is another tip that will improve importing time. When importing using
Data Pump, exclude statistics and then use dbms_stats package to calculate
statistics in parallel after Data Pump finishes importing. Importing using Data
Pump is done serially (one segment after another, not in parallel) even when you
use the parallel option, Data Pump will still have 1 thread only calculating
statistics.

Here is an example:

impdp username/password EXCLUDE=STATISTICS other options �

g:\prints\interview\ebs integration with sso enable.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
EBS R12 Integration with OAM 11g to enable SSO
===============================================:

High Level Steps to integrate Oracle EBS R12 with OAM for Single Sign-On
Below are the high-level steps to integrate Oracle E-Business Suite with Oracle
Access Manager to enable SSO.
1. Install Database for IAM (OID/OAM)
2. Install Oracle Internet Directory (OID)
3. Install Oracle Access Manager (OAM)
4. Integrate OAM with OID
5. Integrate EBS with OID
6. Install Oracle HTTP Server (OHS)
7. Install WebGate
8. Integrate EBS with OAM
9. WNA configuration (Optional but recommended)
-http://samiora.blogspot.ae/2015/03/wna-configuration-in-oracle-access.html
10. Test OAM-EBS Integration

E-Business Suite (EBS) integration with Oracle Access Manager (OAM) for Single
Sign-On
(SSO) involves integrating EBS with Oracle Internet Directory (OID) for user
synchronization,
pointing OAM�s identity store to use OID, and delegating EBS authentication to OAM.

OAM EBS Integration Components


In order to understand Oracle Access Manager (OAM) integration with Oracle E-
Business Suite, let us first understand various components that are part of OAM-EBS
integration.

1. Oracle Internet Directory (OID)


Oracle Internet Directory (OID) is Lightweight Directory Access Protocol (LDAP)
server from
Oracle where all enterprise users are stored. Users in OID are synchronized with
users in EBusiness
Suite (EBS) using Directory Integration Platform (DIP). Oracle Access Manager
(OAM) should use LDAP Server (like OID or Oracle Virtual Directory- OVD pointing to
this
OID) as its identity store for authentication. There are various version of OID
like 10g & 11g
(11.1.1.2/3/4/5/6/7), as of Oct 2013 latest OID version is 11.1.1.7. Recommended to
use OID version
11.1.17 to integrate with Oracle E-Business Suite R12.1.x/R12.2.x

2. Directory Integration Platform (DIP)


Directory Integration Platform (DIP) 11g is a J2EE application deployed on WebLogic
server
and used for provisioning/synchronization of users/groups across other LDAP servers
&
applications. DIP consists of two type of engine, Synchronization and Provisioning.

Synchronization component is used to sync users/groups between OID and other LDAP
servers
like Microsoft Active Directory (MS-AD) or IBM Directory Server.
Provisioning component is used to sync OID with applications like EBS, Portal, and
Collaboration Suite. For user synchronization between OID and EBS, DIP uses its
provisioning component.
DIP Provisioning component will be used to sync users between OID and E-Business
Suite

3. Oracle Directory Services Manager (ODSM)


Oracle Directory Services Manager (ODSM) is a web application deployed on WebLogic
server
and used to manage OID using web browser. Using ODSM you can configure/manage OID,
and
create/delete users/groups.

4. Oracle WebLogic Server (WLS)


Oracle WebLogic Server (WLS) is J2EE Application Server from Oracle. WebLogic
Domain is
logical component in which all resources (Admin Server, Managed Server, Java
Database
Connectivity(JDBC), Java Messaging Server(JMS)) are deployed/configured. WebLogic
Domain consists of one and only one Admin Server and zero or more managed server.
In EBS-OAM deployment we should use two WebLogic Servers and two WebLogic Domain.
One for OID (DIP & ODSM) and second for OAM.

WebLogic version 10.3.6 (11g) can be used for both OAM & OID (DIP/ODSM) where EBS
AccessGate (EBS-AG) will be deployed on OAM WebLogic Domain.

5. Oracle Access Manager (OAM)


Oracle Access Manager is a J2EE application deployed on Weblogic Server and used as
Authentication & Authorization Server. There are various version of OAM like 10g,
11gR1
(11.1.1.3/5/7), and 11gR2 (11.1.2.0/1/2).

OAM Server consists of,


� OAM Server deployed on WebLogic Managed Server (default port 14100). There is
OAM-Proxy server running in background on default port 5575. Agents (WebGate)
connect to OAM-Proxy Port.
� OAM Console is a web application deployed on WebLogic Admin Server (default port
7001). OAM Console application is used to manage configuration, and define/manage
policies, authentication schemes.
� OAM Configuration is stored in XML file (oam-config.xml) on server and contains
all
OAM configurations like Server Name, port, Webgate details, and Audit store
details.
� OAM Policy Store is a repository (database) which stores policy (details like
which
URL is protected using what authentication/authorization schemes)

6. Oracle HTTP Server (OHS)


Oracle HTTP Server is a Web Server from Oracle on which Web Gate is deployed. Users
are redirected from EBS Middle Tier to this server for authentication (URL of this
server is configured in EBS Profile option �Application Authentication Agent�). OHS
acts as proxyserver to WebLogic Server on which EBS AccessGate (EBS-AG) is
deployed. This OHS server also has mod_wl_ohs configured to forward request to
WebLogic Server where Oracle EBusiness Suite AccessGate (EBS-AG) is deployed.
Note: E-Business Suite R12 comes with its own Oracle HTTP Server (OHS), OHS server
mentioned here is different OHS server than one shipped with EBS R12 technology
stack.

7. Web Gate
Web Gate is a web server plug-in (deployed with WebServer like Apache, OHS, IHS)
which
intercepts user's request and send it to Oracle Access Manager Server to check if
user is authenticated/authorised to access requested resource. Web Gate is
installed on same machine, as
WebServer (OHS) and webgate configuration settings are pointed OHS configuration
file (httpd.conf). For Web Gate to work an instance of Web Gate must be configured
in OAM
Server using Remote Registration (RREG) utility or OAM Console and Web Gate must be
installed with OHS using same user as OHS.

8. mod_wl_ohs
This is module in Oracle HTTP Server (OHS) which forward request from OHS to
WebLogic
Server where EBS Access Gate is deployed as defined in mod_wl_ohs.conf

9. Oracle E-Business Suite Access Gate


EBS AccessGate (EBS-AG) is a Java EE Application that maps a Single Sign-On user
(authenticated via OAM) to an Oracle E-Business Suite user (stored in FND_USER
table), and creates E-Business Suite session for that user. EBS-AG is deployed on
WebLogic Server using ANT script that creates a web application and JDBC connection
to EBS Database. Login Page for E-Business Suite is also configured as part of EBS
AG. There are currently multiple version of E-Business Suite Access Gate i.e. 1.0.2
is certified with OAM 10g R3 where as EBS-AG version 1.1.2.0 is certified with OAM
11g R2 (11.1.2.1).
Note: If WebLogic Server (which hosts EBS-AG) is on different machine than EBS
Middle Tier then you must register node (hosting EBS-AG) in EBS database, create
DBC file and use this DBC file during EBS AccessGate deployment. If EBS-AG and EBS
Middle Tier are running on same machine then you can use existing dbc file under
$FND_SECURE.

10. Profile Option


Profile Option is used in E-Business Suite to update behaviour of environment, two
profile option which are used in Oracle E-Business Suite are "Application SSO Type"
and "Application Authentication Agent".

� Application SSO Type (APPS_SSO) - This profile option can be set only at site
level
from one of four values SSWA, Portal, SSWA w/SSO or Portal w/SSO. To inform
EBusiness
Suite that Single Sign-On is configured and redirect user to Single Sign-On
Page and NOT to Local Login page, set this profile option to either SSWA w/SSO or
Portal w/SSO
� Application Authentication Agent (APPS_AUTH_AGENT) - When this profile option
is set with profile option Application SSO Type, user is redirected to page
generated
from value of this profile option. Lets assume value of profile option Application
SSO
Type is set to http://ohsserver:ohsport/ebsauth_eprd/ then user will be redirected
to page
http://ohsserver:ohsport/ebsauth_dev/OAMLogin.jsp . Value of profile option
Application Authentication Agent is set to format http://server:port/<context_root>
where server is name of server where Oracle HTTP Server (OHS) with Web Gate
installed, port is OHS Listen Port and context_root is context root defined during
AccessGate deployment.
Note- If Application Authenticate Agent profile option is missing ensure you have
below
patches applied as per the version:-
For R12.1.1 � Patch Number � 9824524
For R12.1.2/R12.1.3 � Patch Number � 9454600

g:\prints\interview\edit.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Apps DBA Interview Questions

Q Explain Single Node or Multi Node installation


Single Node � All components of Apps 11i i.e. Database, CM, Forms, Web Server on
single machine.
Multi Node � Apps 11i components on more than one Machine.

Q. Explain single user or multi user installation ?


Single User � Both Database and Application tier are owned by Single Operating
System Account
Multi User � 11i Database Tier is owned by one O.S. User where as Application Tier
is owned by different user.
Note* In both cases Apps is installed as user ROOT

Q. What is difference between express install or advanced install (system specific)


Express Install � Single User, Single Machine install where Apps 11i is installed
on default location, Not much options during install.
Advanced Install � Advanced install with option to define o.s. Users, Mount Points
and advanced installation.

Q. What is difference between fresh database and vision database install types ?
Fresh Database � Database is installed with Apps but with no data
Vision Database � Database installed with Apps with dummy data

Q. What are various components installed after 11.5.10 (11i) install ?


�9iAS (1.0.2.2.2) web server, Developer 6i Forms & Reports, Discoverer, Jinitiator

Q. What is O.S. level software requirement for installing Apps ?


ar, ld, make & X Display server for all unix machines (linux, solaris, IBM, HP Unix
)
with following additional as per O.S.
Linux- gcc, g++, ksh
HP-Unix- cc, acc
IBM AIX � cc, linkx1C
For Windows you need
Microsoft C++, MKS Toolkit, GNU Make

Q. What is minimum approx. disk requirement for 11.5.10 (Note these disk
requirement changes as per type of installation, languages installed and release )
For 11.5.10
Application Tier File System � 26 GB
Database Tier (Fresh install) � 31 GB
Database Tier (Vision install) � 65 GB

Q. What is staging area ?


Staging Area is special directory structure where you can dump 11i installation
software so that you don�t have to insert CD�s during install and these disks will
automatically be picked by Installer.

Q. How you set up staging area ?


Use adautostg.pl to create staging area orcreate required directory manually for
staging like (following directories under Stage11i � startCD, oraApps, oraDB,
oraiAS, oraAppsDB, oraNLS and inside these directories Disk1, Disk2�)

Q. Is it possible to install apps without staging area ?


YesThese questions are very basic and for freshers who mention in their CV�s that
they have installation experience, for advanced installation questions keep looking
at this site

Q. How to compile an Oracle Reports file ?


Utility adrepgen is used to compile Reports. Synatx is given below
adrepgen userid=apps\<psswd> source = $PRODUCT_TOP\srw\filename.rdf
dest=$PRODUCT_TOP\srw\filename.rdf stype=rdffile dtype=rdffile logfile=x.log
overwrite=yes batch=yes dunit=character

Q. What is difference between AD_BUGS & AD_APPLID_PATCHES ?


AD_BUGS holds information about the various Oracle Applications bugs whose fixes
have been applied (ie. patched) in the Oracle Applications installation.
AD_APPLIED_PATCHES holds information about the "distinct" Oracle Applications
patches that have been applied. If 2 patches happen to have the same name but are
different in content (eg. "merged" patches), then they are considered distinct and
this table will therefore hold 2 records.

Q. What exactly happens when you put an Oracle Apps instance in maintenance mode ?
Maintenance mode provides a clear separation between normal runtime operation of
Oracle Applications and system downtime for maintenance. Enabling the maintenance
mode feature
a) shuts down the Workflow Business Events System and
b) sets up function security so that no Oracle Applications functions are available
to users.
Used only during AutoPatch sessions, maintenance mode ensures optimal performance
and reduces downtime when applying a patch. (Source Metalink Note: 233044.1)

Q. Which two tables created at start of Apps Patch & drops at end of Patch ?
FND_INSTALLED_PROCESSES &AD_DEFFERED_JOBS are the tables that get updated while
applying a patch mainly d or unified driver.

Q. If we run autoconfig which files will get effected ?


In order to check list of files changes during Autoconfig , you can run adchkcfg
utility which will generate HTML report. This report will list all files & profile
options going to change when you run AutoConfig.

Q. What is difference between .xml file & AutoConfig ?


Autoconfig is Utility to configure your Oracle Application environment. .xml file
is repository of all configuration from which AutoConfig picks configuration and
polulates related files.

Q. What is .lgi files ?


lgi files are created with patching along with .log files . .lgi files are
informative log files containing information related to patch. You can check .lgi
files to see what activities patch has done. Usually informative logs.

Q. How will you skip worker during patch ?


If in your adctrl there are six option shown then seventh is hidden option.(If
there are seven options visible then 8th option is to Skip worker depending on ad
version).

Q. What is GSM in Oracle application E-Business Suite ?


GSM stands for Generic Service Management Framework. Oracle E-Business Suite
consist of various compoennts like Forms, Reports, Web Server, Workflow, Concurrent
Manager ..
Earlier each service used to start at their own but managing these services (given
that) they can be on various machines distributed across network. So Generic
Service Management is extension of Concurrent Processing which manages all your
services , provide fault tolerance (If some service is down ICM through FNDSM &
other processes will try to start it even on remote server) With GSM all services
are centrally managed via this Framework.

Q. What is FNDSM ?
FNDSM is executable & core component in GSM ( Generic Service Management Framework
discussed above). You start FNDSM services via APPS listener on all Nodes in
Application Tier in E-Business Suite.

Q. What is iAS Patch ?


iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server Component) Usually these are shiiped as Shell scripts & you apply iAS
patches by executing Shell script. Note that by default ORACLE_HOME is pointing to
8.0.6 ORACLE_HOME and if you are applying iAS patch export ORACLE_HOME to iAS . You
can do same by executing environment file under $IAS_ORACLE_HOME

Q. What is difference between mod_osso & mod_ose in Oracle HTTP Server ?


mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle
Servlet Engine.
mod_osso is module in Oracle's HTTP Server serves as Conduit between Oracle Apache
Server & Singl Sign-On Server where as mod_ose is also another module in Oracle's
HTTP Server serves as conduit between Oracle Apache & Oracle Servlet Engine.

Q. What is difference between COMPILE_ALL=SPECIAL and COMPILE=ALL while compiling


Forms ?
Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX
file but COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL,
or .MMB file. This confuses version control and build tools (CVS, Subversion, make,
scons); they believe you've made significant changes to the source.
COMPILE_ALL=SPECIAL does not do this.

Q. What is ps -ef or ps command in Unix ? for work ex < 1 yr


ps is unix/linux utility or executable to find status of process. Used mainly to
find if services/process is running or not.

Q. Can C driver in apps patch create Invalid Object in database ?


No , C driver only copies files in File System. Database Object might be
invalidated during D driver when these objects are created/dropped/modified.
Q. What is dev60cgi & f60cgi ?
cgi stands for Common Gateway Interface and these are Script Alias in Oracle Apps
used to access forms server . Usually Form Server access directly via
http://hostname:port/dev60cgi/f60cgi

Q. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for you ?
This question sounds stupid but this is asked quite often in Apps DBA Interview.
Apps Patch worker can fail in case it doesn't find expected data, object, files or
any thing which driver is trying to update/edit/modify. Possible symptoms may be
underlying tables/objects are invalid, a prereq patch is missing , login
information is incorrect, inconsistency in seeded data...

Q. Is APPS_MRC Schema exists for MRC in 11.5.10 and higher ?


No , apps_mrc schema is dropped with 11.5.10 Upgrade & 11.5.10 new Install. This is
replaced by more Integrated Architecture.

Q. If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?
For products like Payable, Recievables which uses MRC and if MRC is enabled then
each transaction table in base schema related to currency now has an assoicated MRC
Subtables.

Q. When you apply C driver patch does it require database to be Up & Why ?
Yes , database & db listener should be Up when you apply any driver patch in apps.
even if driver is not updating any database object connection is required to
validate apps & other schema and to upload patch history information in database
tables.

Q. What are .odf file in apps patch ?


odf stands for Object Description Files used to create tables & other database
objects.

Q. What to find Form Server log files in forms ?


Form Server Start up log file default location is $OAD_TOP/admin/log/
$CONTEXT_NAME/f60svrm.txt
Forms Run Time Diagnostics default location is $ORACLE_HOME/forms60/log/
$CONTEXT_NAME

Q. How to convert pll to pld file or pld file to pll ?


Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/<passwd>
module_access=file output_file=MSCOSCW1.pld script=yes
Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/<passwd> module_type=library
module_access=file output_file=MSCOSCW1.pll parse=y batch=yes compile_all=special

Q. If by mistake you/someone deleted FNDLIBR can this executable be restored if


Yes, How & if no, what will you do ?
Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables.
Q. What is .pls files which you see with apps ?
.pls file stands for plsql files. In apps patch these files contain code to create
package spec or package body or both.

Q. What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
.ldt & .lct stands for Loader datafile & Loader configuration files, used
frequently in migrating customization, profile options, configuration data, etc..
across Instances.

Q. What is difference between Socket & Servlet Mode in Apps Forms ?


When forms run SOCKET Mode these are dedicated connection between Client Machine &
Form Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms
requests are fulfilled by Jserv in Apache . There will be additional JVM for Forms
Request in that case and you won't start form via adfrmctl.sh.

Q. How to find OUI version ?


OUI stands for Oracle Universal Installer. In order to find how to check OUI
version Click Here on my "How to find Version in Oracle" Page.

Q. What is make program in Unix ?


make is utility in Unix/Linux to maintain , update & generate an file mainly
executable.

Q. In a Multi Node Installation, How will you find which node is running what
SErvices ?
You can query for table FND_NODES and check for column , SUPPORT_CP ( for
Concurrent Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server),
SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.
You can also check same from CONTEXT File (xml file under APPL_TOP/admin)

Q. If your system has more than one Jinitiator, how will the system know, which one
to pick. ?
When client makes a forms connection in Oracle Applications, forms client session
uses configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE
also called as appsweb config file. These days this file is of format
appsweb_$CONTEXT.cfg The initiator version number defined by parameter
jinit_ver_name in this file will be used .

Q. While applying Apps patch using adpatch, if you want to hide the apps password,
how will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password being displayed on Users Screen.

Q. What is importance of IMAP Server in Java Notification Mailer ?


IMAP stands for Internet Message Access Protocol and Java Notification mailer
require IMAP server for Inbound Processing of Notification Mails.

Q. What is GWYUID ?
GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

Q. Where GWYUID defined & what is its used in Oracle Applications ?


GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to database by think clients.

Q. What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?


GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by
Thick Clients like via Forms Connections.

Q. How to check number of forms users at any time ?


Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l
Q. What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line not from the Submit Request Form.
* Corrected by anonymous User (You will see lot of other info from him soon)
. What are few profile options which you update after cloning ?

Rapid clone updates profile options specific to site level . If you have any
profile option set at other levels like server, responsibility, user....level then
reset them.
Q. How to retrieve SYSADMIN password ?

If forgot password link is enabled and sysadmin account is configured with mail id
user forget password link else you can reset sysadmin password via FNDCPASS.

Q. If you have done two node Installation, First machine : Database and concurrent
processing server. 2nd machine: form,web Which machine have admin server/node?

Admin Server will be on First machine with concurrent processing server. More on
Admin Server coming soon..
Q. Whats is TWO_TASK in Oracle Database ?

TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets assume you have database client with tns alias defined as PROD to connect to
Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way
to connect is sqlplus username/passwd@PROD ; now if you don't want to use @PROD
then you set TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql
will check that it has to connect to tnsalias define by value PROD i.e. TWO_TASK
Q. What happens if you don't give cache size while defining Concurrent Manager ?

Lets first understand what is cache size in Concurrent Manager. When Manager picks
request from FND CONCURRENT REQUESTS Queues, it will pick up number of requests
defined by cache size in one shot & will work on them before going to sleep. So in
my views if you don't define cache size while defining CM then it will take default
value 1, i.e. picking up one request per cycle.
Thanks to vish for pointing out that answer to above Q's copied from pervious Q's.
If you find any disperancy do mail me.

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache

Q. How you will start Discoverer in Oracle Apps 11i ?

In order to start dicoverer you can use script addisctl.sh under


$OAD_TOP/admin/scripts/$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util
(under Middle/Application Tier)

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache

Q. What is difference between adpatch & opatch ?

� adpatch is utility to apply oracle apps Patches whereas


� opatch is utility to apply database patches

Q. Can you use both adpatch & opatch in Apps ?


Yes you have to use both in apps , for apps patches you will use adpatch utility
and for applying database patch in apps you will opatch utility.

Q. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh and
appsweb_$CONTEXT_NAME.cfg (defined by environment variable FORMS60_WEB_CONFIG_FILE)
for forms client connection used each time a user initiates forms connection.

Q. What is forms server executable Name ?


f60srvm

Q. What are different modes of forms in which you can start Forms Server and which
one is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in socket mode.
Q. How to confirm if Apps Listener is Up & Running ?
execute below command
lsnrctl status APPS_$SID (replcae SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like

Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully
Q. What is Web Listener ?
Web Listener is Web Server listener which is listening for web Services(HTTP)
request. This listener is started by adapcctl.sh & defined by directive (Listen,
Port) in httpd.conf for Web Server. When you initially type request like
http://becomeappsdba.blogspot.com:80 to access application here port number 80 is
Web Listener port.

Q. How will you find Invalid Objects in database ?


using query
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';

Q. How to compile Invalid Objects in database ?


You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle Database to compile Invalid Database Objects.

Q. How to compile JSP in Oracle Apps ?


You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet
Q. How to confirm if Report Server is Up & Running ?
Report Server is started by executable rwmts60 on concurrent manager Node & this
file is under $ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr ....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output & log file to see if report server can display PDF files.
Q. What is difference between ICM, Standard Managers & CRM in Concurrent Manager ?
� ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds other managers down , it checks & try to restart them. You can say it as
administrator to other concurrent managers. It has other tasks as well.
� Standard Manager These are normal managers which control/action on the requests
& does batch or single request processing.
� CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers & request. If a request is submitted whose execution is clashing or it is
defined not to run while a particular type of request is running then such requests
are actioned/assigned to CRM for Incompatibilities & Conflict resolution.

Q. What is use of Apps listener ?


Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as APPS_$SID is mainly used for listening requests for services like FNDFS &
FNDSM.
Q. How to start Apps listener ?
In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also start it by command
lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)
Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
Well If you are running GL Month end reports or taxation reports annually these
reposrts might take couple of days. Some of these requests are very resource
intensive so you can have one node running long running , resource intensive
requests while other processing your day to day short running requets.
another scenario is when your requests are very critical and you want high
resilience for your Concurrent Processing Node , you can configure PCP. So if node1
goes down you still have CM node available processing your requests.

Q. What is content of dbc file & why its important ?


DBC file is quite important as whenever Java or any other program like forms want
to connect to database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST
...., I will explain these parameters in other questions else in my BLOG
Q. There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"

Q. What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Applications 11i for viewing output files & log files. As most of apps
dba's are not clear about Report Server & RRA, I'll discuss one on my blog and
update link here .

Q. What is PCP is Oracle Applications 11i ?


PCP is acronym for Parallel Concurrurent processing. Usually you have one
Concurrent Manager executing your requests but if you can configure Concurrent
Manager running on two machines (Yes you need to do some additional steps in order
to configure Parallel Concurrent Processing) . So for some of your requests primary
CM Node is on machine1 and secondary CM node on machine2 and for some requests
primary CM is on machine2 & secondary CM on machine1.

Q. What is access_log in Apache ?


access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like
198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms
/registry/Registry.dat HTTP/1.1" 200 4117
Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug
2006 at 03:15 AM , 200 is status code returned by Apache which means page returned
successfully (Status Code 302 means page redirected , 404 page not found, 500+
Internal Server error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes.
This file is quite useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format
in Apache configuration file ( httpd.conf)

Q. What are main configuration files in Web Server (Apache) ?


Main configuration files in Oracle Apps Web Server are
� httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
� jserv.conf, ssp_init.txt, jserv.properties, zone.properties
� plsql.conf, wdbsvr.app, plsql.conf
Q. What is wdbsvr.app file used for? What's full path of this file? What's
significance of this file ?
I'll again suggest you don't just remember answer & try to solve mystery behind
this file. First where this file exists ? You can find this file under
$IAS_ORACLE_HOME/Apache/modplsql/cfg
Based on file location I am sure you can say this is related to Apache, & looking
into modplsql/cfg , I am sure you will say its related to mod_pls (mod plsql
component of Apache/Oracle 11i WebServer) configuration file. This file is used by
mod_plsql component of Apache to connect to database. So when you type url
http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds that request
is for /pls/ then Apache delegates this request to mod_pls component which in turn
pick this file & check if there is any DAD with name SID (in our example its
VISION11I) &
Sample entry in wdbsvr.app
[DAD_VISION11I]
connect_string = VISION11I
password = apps
username = APPS
default_page = fnd_web.ping
On typing http://hostname:port/pls/VISION11I , it will connect to database using
apps schema & will return you page fnd_web.ping ( where fnd_web is package & ping
is procedure or vise versa).
So story about this file doesn't stop here , this url which I mentioned about is
quite useful in troubleshooting so you can check if database connection is working
fine or not. Another thing you want to check about this file is since it stores
APPS password you need to change here whenever you change apps password .
Oracle Apps DBA Interview Question�s with Answer�s 2 comments
If You have any questions relating Oracle APPS DBA Please use comment box and POST
your questions. I will try my best to answer your queries.
1)I am applying a patch , can I open another session and run adadmin ?
Ans: Yes, We can run unless you are running a process where workers are involved
2)I am applying a patch , can I open another session in another node and run
adpatch?
Ans:No because it will create tables while running first session when you start the
2nd session it will fail due to the first
1. How to determine Oracle Apps 11i Version ?
Ans : select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME��������11.5.10.2
2. How to find Database version ?
Ans : SQL> select * from v$version;
The command returns the release information, such as the following:Oracle9i
Enterprise Edition Release 9.2.0.7.0 � ProductionPL/SQL Release 9.2.0.7.0 �
ProductionCORE 9.2.0.7.0 ProductionTNS for 32-bit Windows: Version 9.2.0.7.0 �
ProductionNLSRTL Version 9.2.0.7.0 � Production
3. How to find opatch Version ?
Ans : opatch is utility to apply database patch , In order to find opatch version
execute�$ORACLE_HOME/OPatch/opatch version�
You can check OPatch -lsinventory
4. How to find out invalid objects in the database
Ans : select count(*) from dba_objects where status =�INVALID�
5. How you will see hidden files in linux/solaris?
Ans : ls -la
6. How to find that the database is 64-bit/32-bit?
Ans : $RDBMS_ORACLE_HOME/bin/file oracle
7. What is top command?
Ans : top is a operating system command, it will display top 10 processes which are
taking high cpu and memory. 8. What is a patch?Ans : A patch can be a solution for
a bug/it can be a new feature.
9. What are the different types of patches?
Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.
8. What is a oneoff patch?
Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s
9. What is a mini pack ?
Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I
10. What is Family pack ?
Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.
11. What is Maintanance pack ?
Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9
12. What is a Rollup patch?
Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9
13. What is consilidated patch?
Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.
14. How u will find whether a patch is applied/not?
Ans : Query ad_bugs.
15. What is the other table where u can query what are the patches applied?
Ans : Ad_applied_patches
16. What is the difference between ad_bugs and ad_applied_patches?
Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.
17. How u apply a patch?
Ans : adpatch
18. What inputs you need to apply a patch other than driver name and etc?
Ans : apps and system passwords
19. What are the table u r adpatch will create and when?
Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it
will apply d,g and u drivers
20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?
Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.
21. If it is a multinode installation which driver we need to apply on which node?
Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to
apply on all nodes.
22.While applying a application patch is that necessary that u r database and
listener should be up?
Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?
Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS
tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.
24. What is adctrl?
Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.
25. Can u name some of the menu options in adctrl?
Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.
26. How to skip a worker and why?
Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.
27. How adpatch knows what are the pre-req�s for the patch which it is applying?
Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.
28. What is FNDLOAD ?
Ans: FNDLOAD is a utility which is similar to sqlloder but loads code objects into
database, where as SQLLOADER loads data objects into database.
29. What c-driver will do?
Ans: C-drive copies the files from patch unzipped directory to required location in
u r application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.
30. How adpatch will know the file versions of the patch delivered files?
Ans:With each patch a file with name f.ldt is delivered , which contain the file
versions of the files dilivered with the patch. Adpatch will use this file to
compare the file versions of files its delivering with the file on file system.
31. What is the adpatch log file location?
Ans : APPL_TOP/admin/SID/log
32. What is the worker log file name and its location?
Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log
33. How u will know what are the files the patch is going to change just my
unzipping the patch?
Ans:When u unzip a patch it will keep all the files related to a particular product
under that directory inside u r patch directory for example if the patch delivering
files related to FND product then it will create a sub directory under the patch
directory with the name FND in which it will put all related files to that product
34. What is the significance of backup directory under u r patch directory?
Ans:When we apply a patch it will keep the copy of the files which its going to
change in file system.
35. What are the different modes you can run your adpatch?
Ans :1.Interactive � default mode
2.Non interactive � Use defaults files to store prompt values
(adpatch defaultsfile= interactive=no)
3. Test � Without actually applying a patch just to check what doing.(adpatch
apply=no)
36. How u will monitor u r applications as well as database?
Ans: We have our custom scripts which is sheduled to run at a specific time which
will monitor whether applications and databases are up/not. And it will mail us if
some processes is not running. And we have one script which will check database
alert log for ORA errors and mails it to us . Based on this we will react.
37. What are the latest ORA errors u have encountered?
Ans: Useually we will get the ORA errors like unable to extend the tablespace by so
and so size. And we will check those tablespaces for space, if space is not there
we will resize the datafile and add one more datafile.
38. Which table u will query to check the tablespace space issues?
Ans : bytes column in dba_free_spaces and dba_data_files
39. Which table u will query to check the temp tablespace space issues?
Ans : dba_temp_files
40. What is temp tablespace? And what is the size of temp tablespace in u r
instances?
Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.
41. What is autoconfig?
Ans : Autoconfig is an adutility which is used to maintain application environment
and configuration files.
42. What are the parameter autoconfig will ask for?
Ans : Context file name and apps password
43. What is context file?
Ans : Context file is a central repositary, which stores all application
configuration information. The name is like _ .xml
44. How you will find autoconfig is enabled/not for u r applications?
Ans: 1. Open any env / configuration files, the first few lines will tell u that
this files are maintained by autoconfig.2. If contextname.xml file is there in
APPL_TOP/admin
45. How autoconfig will create env and configuration files?
Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.
46. In how many phases autoconfig will run?
Ans : Autoconfig will run in 3 phases.
1.INIT � Instantiate the drivers and templates
2.SETUP � Fill the templated with values from xml and create files
3.PROFILE � Update the profile values in database.
47. What is the location of adconfig log file?
Ans : APPL_TOP/admin//log/
48. Is it possiable to restore a autoconfig run?
Ans : Adconfig will create a restore.sh script at $APPL_TOP/admin//out/. This
restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.
49. How to run autoconfig in test mode?
Ans : adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test
mode and create the difference file which tells us what is going to change , when u
actually run autoconfig.
50. How to find autoconfig is enabled or not for database?
Ans: If we have appsutil directory under RDBMS_ORACLE_HOME
51. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?
Ans : j.zip52.
52.What is apps.zip/appsbrog2.zip file?
Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files
required for oracle application.Apps.zip was used to old application version, but
from 11.5.8 onwards its appsbrog2.zip
53. What is the location of apps.zip/appsbrog2.zip?
Ans : AU_TOP/java and JAVA_TOP
54. What is for �validating apps schema� option in adadmin?
Ans: It will check for the corrupted objects in apps schema
55. What is �compile apps schema� option in adadmin?
Ans : It will compile the invalid database objects.
56. How to find invalid objects in database?
Ans : select count(*) from dba_objects where status=�INVALID�;
57. 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.
58. 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.
59. 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).
60. What is Multi-Org?
Ans: If this is enabled we can store multiple organization information in a single
oracle application instance.
61. What is the configuration file for adutilities (like adadmin,adconfig etc)?
Ans: adconfig.txt @APPL_TOP/admin
62. 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.
63. How to find the version of a file?
Ans : 1. adident Header 2. strings -a filename grep Header
64. What is adodfcmp utility?
Ans : This utility is used to recreate/repair corrupted database objects from
odf(object defination files) files.
65. How you will change apps password?
Ans: FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS
66. What if apps password is changed with alter command?
Ans : Applications won�t work.
66. What is the difference between alter and FNDCPASS in changing apps password?
Ans : FNDCPASS will update some fnd tables other than standard tables.
67. Where the FNDCPASS utility is located?
Ans : Concurrent node @FND_TOP/bin
68. How to find out what component of u r oracle applications were installed on
which node?
Ans : Xml file (context file)
69. How to find the version of httpd/Apache web server?
Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version
70. What is the configuration file for httpd and what is the location of it ?
Ans : httpd.conf @IAS_ORACLE_HOME/Apache/Apache/conf
71. Where you will see when you have some problem with u r webserver(httpd/Apache)?
Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs
72. When Apache starts what other components its start ?
Ans : PL/SQL Listener, Servlet Engine, OJSP Engine
73. 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.
74. What is self service application?
Ans : Whatever part of u r oracle application u r able to see through web browser
is self service.
75. Where u will see when u r not able to get self service applications?
Ans : access_log,error_log, error_pls, jserv.log, wdbsvr.app(for apps password)
76. What is the location of jserv.log?
Ans : IAS_ORACLE_HOME/Apache/Jserv/log
77. What is the location of wdbsvr.app ?
Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg
78. What are jserv.conf and jserv.properties files?
Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.
79. What is mean by clearing cache and bouncing apache?
Ans : 1. Stop apache (adapcctl.sh stop apps)
2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html directory
(rm �r _oa__html)
3. Start apache (adapcctl.sh start apps)
80. What is forms configuration file and its location?
Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin
81. What are the different modes u can start u r form server?
Ans : socket and servlet
82. What is the difference beween socket and servlet mode?
Ans : In socket mode forms sessions are represented by f60webmx
In servlet mode forms sessions are represented by apache processes.
83. What is forms metric server and client?
Ans : When there are more than one form sever instances then forms metric server
and clinet will be used to load balance.
84. Where the forms server related errors will be logged?
Ans : access_log and error_log
85. What is report server configuration and log file name and its location?
Ans : Configuration file � REP_.ora
Log file � REP_.log @806_ORACLE_HOME/reports60/server
86. What is CGIcmd.dat file and its location?
Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server
87. What is the significance of DISPLAY variable?
Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in Reports.
88. Where is the concurrent manager log file located?
Ans : $COMMON_TOP/admin//log or $APPLCSF/$APPLLOG
89. Is apps password necessary to start all the components of oracle application?
Ans : No. Only to start/stop concurrent managers apps password is needed.
90. What is a concurrent manager?
Ans : A concurrent manager is one which runs concurrent requests.
91. What are the different types of concurrent managers?
Ans : 1. Internal concurrent manager � Will start all other managers and monitor
2. Standard Manager � All concurrent request by default will to go this
3. Conflict resolution manager � Concurrent programs with incompatabilites will be
handled by this
4. Transaction manager � Handle all transaction requests
92. What are actual and target count in �Adminster Concurrent Managers form�?
Ans : Target is the no. of concurrent processes a manager is supposed to
start(specified in the defination of concurrent manager).Actual is the no. of
processes a manager started actually.
Target and Actual should be always same.
93. What if Target and Actual are not same?
Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.
94. What are work shifts?
Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.
95. What if internal concurrent manager target and actual are not same?
Ans : we need to bounce the concurrent manager using adcmctl.sh
96. How to bounce a single concurrent manager?
Ans : From frontend using �Administer Concurrent Manager form�.
97. When we change apps password , is it necessary to bounce application?
Ans : Only we need to bounce concurrent managers.
98. What is 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
99. What is the other script by which u can start apache other than adapcctl.sh?
Ans : apachectl @IAS_ORACLE_HOME/Apache/bin
100. What is the configuration file for PL/SQL listener?
Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf
101. How to skip copy portion while applying a patch?
Ans : Adpatch options=nocopyportion
102. How to merge patches and what type of patches can be merged?
Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv
103. What is the Tiered architecture of u r instance?
Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.
104. How to find formserver version?
Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.
105. 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 request form�.
106. What is apps listener?
Ans : Apps lintener 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�.
107. 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.
108. How to find the application version like 11.5.8/11.5.9�.?
Ans : select release_name from fnd_product_groups;
109. How to find the database/sqlplus version?
Ans : select banner from v$version;
110. How to find out what are the languages enabled in u r applications?
Ans : Query fnd_languages
111. What is the size of u r database?
Ans : 200 to 500 GB
112. How to find operating system version?
Ans : uname �a
113. 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.
114. 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.
115. 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.
116. How to kill a database session?
Ans : alter system kill session �&sid,&sno�;
117. How to find adconfig is enabled for oracle operating system user/database?
Ans : If appsutil directory is there in RDBMS_ORACLE_HOME
118. Which files tell u the database helath?
Ans : alert log file @RDBMS_ORACLE_HOME/admin//bdump
119. How to apply a rdbms patch?
Ans : Using opatch
120. How to find opatch is enabled or not for u r database?
Ans : If Opatch directory exists under RDBMS_ORACLE_HOME.
121. What is the pre-req for applying a rdbms patch?
Ans : Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc
122. What is Inventroy?
Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)�s
bookkeeping. The inventory stores information about: All Oracle software products
installed in all ORACLE_HOMES on a machine 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.
123. What are different types of inventories?
Ans: The Global inventory (or Central inventory) The Local inventory (or Home
inventory)
124. 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
de-installer in order to keep the Global Inventory synchronized.
125. 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.
126. 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
127. 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.
128. Explain the cloning process?
Ans :1. Run adpreclone as applmgr and oracle user on source Perl adpreclone.pl
dbTier as oracle user Perl adpreclone.pl appsTier as applmgr user
2. Take the cold/hotbackup of source database
3. Copy the five directories appl,comn,ora , db,data to target
4. Rename the directories, and change the permisssion
5. Set the inventory in oraInst.loc
6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold
7. If the backup type is hotbackup then Perl adcfgclone.pl dbTechStack. Create the
control file on target from the control script trace file from source Recover the
database Alter database open resetlogs
8. Run autoconfig with the ports changed as per requirement in xml.
9. Run perl adcfgclone.pl appsTier as applmgr
10. Run autoconfig with the ports changed as per requirement in xml.
129. What is the location of adpreclone.pl for oracle user?
Ans : RDBMS_ORACLE_HOME/appsutil/scripts/
130. What is the location of adpreclone.pl for applmgr user?
Ans : $COMMON_TOP/admin/scripts/
131. What is the location of adcfgclone.pl for oracle user?
Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin
132. What is the location of adcfgclone.pl for applmgr user?
Ans : $COMMON_TOP/clone/bin
133. What is statspack?
Ans : Statspack is a database utility to gather database and session level
performance information.
134. How to install statspack?
Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin
Note more details on statspack refer metalink noteid: 149113.1
135. How to enable trace at database level?
Ans : set init.ora parameter sql_trace
136. How to enable trace for a session?
Ans: Alter system set sql_trace=true;
Execute the sql query
Alter system set sql_trace=false;
This will create a trace file at
$RDBMS_ORACLE_HOME/admin/contextname/udump with the spid of the current sql
session.
137. How to enable trace for other session?
Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)
Eg: To enable trace for sql session with sid 8SQL> exec
sys.dbms_system.set_sql_trace_in_session(8,121,true);
PL/SQL procedure successfully completed.
To disable trace
SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);
138.What is the location of inint.ora ?
Ans : $RDBMS_ORACLE_HOME/dbs
139. What is that trace files contains and the utiliy used to read them?
Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.
140. What is the syntax for tkprof?
Ans: tkprof explain=apps/ sys=no
141.How do we find adpreclone is run in source or not ?
Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user
and $COMMON_TOP for applmgr user.
143. How to find trace file for a given concurrent request id?
Ans : Go to $RDBMS_ORACLE_HOME/admin//udump
grep � � *
144. What is a database link? How to create it?
Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.
1.Login as oracle user
2.sqlplus �/as sysdba�
3. create database link connect to identified by using �;
Ex
SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps using
�TEST2';
Database link created.
SQL> select name from v$database@ TEST1_TO_TEST2;
NAME
���
TEST2
SQL>select db_link from dba_db_links;
4. Add destination database tns entry in tnsnames.ora
145. How many clonings u have done?
Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise
just 2 or 3.
146. What u know abt RMAN?
Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.
147. What is netapp?
Ans : Netapp is a storage technology.
148. What is formserver url?
Ans :http://hostname.domain:/dev60cgi/f60cgi
149. 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.
150. What is discoverer server?
Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.
151. What is discoverer viewer url?
Ans: /discoverer4i/viewer152. What is discoverer plus url?
Ans : 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: /OA_HTML/jsp/fnd/aoljtest.jsp
154. What is adsplicer?
Ans : Adsplicer is a uitility used to register off cycle products.
155. What is licence manager?
Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.
156. 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.
158. How to compile a form using f60gen?Ans :
f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS
output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special
160. 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. 161. What is
mean by enabling maintanance mode?
Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.
162. Is that necessary to enable maintanance mode while applying a patch?
Ans : We can even apply a patch without enabling maintanance mode with the
following option
Adpatch options=hotpatch
163. How to find out oracle application framework version?
Ans : 1. Through aoljtest2. cd $COMMON_TOP/html/3. adident Header OA.jsp
164. 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 are applied to this oracle home.
165. Is that necessary to shutdown database while applying a database patch?
Ans : Yes.
166. What is the command line utility to submit a concurrent request?
Ans : CONSUB
167. 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.
168. How you will find out discoverer version?
Ans : cd $806_ORACLE_HOME/discwb4/lib strings libd* grep �Version:�
169. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?
Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:
Opatch apply no_inventory
172. Have you applied rdbms patches and for what?
Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.
173. What are the patch errors , you have encountered?
Ans :1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.
2) Unable to generate jar files under JAVA_TOP AutoPatch error: Failed to generate
the product JAR files Solution:Run adjkey -initialize ����to creat identitydb.obj
file which will beused by adjava to sign jar files.
174. How Frequently you apply patches
Ans : As and when I get a requirement.
175. What type of patches you have applied so far?
Ans : One-off,Mini,Family
177. What are the clone errors, you have encountered?
Ans : Error:
RC-50013: Fatal: Failed to instantiate
driver/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drvCauseThe source
instance has files that adpreclone flags as �autoconfigable� but in reality they
are not. So adpreclone.pl adds these files into the instconf.drv. Then when
adcfgclone.pl is run on target it looks for the template file to instantiate for
these files and since there isn�t a template file adcfgclone.pl fails.
SolutionModify the target�s instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl
178. What are the real time problems you have encountered and how you trouble
shooted that?
Ans:1. Concurrent Program is erroing out with snapshot too old error. To resolve
this we have added space to temp tablespace.2. Concurrent Program is erroing out
with unable to extent a perticular tablespace by so and so extents. To resolve this
we have added on more data file to that tablespace.3. When we are trying to start
apache with adapcctl.sh script after a autoconfig run, its saying that �node id is
not matching with the application server id�. To resolve this we have updated the
server id column in fnd_nodes table with the server id value in dbc file.
179. How you will find workflow version?
Ans : Run wfver.sql@FND_TOP/sql script as apps user
180 . When forms are running in servlet mode then the environment variables
required for forms must be defined in what file and its location?
Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.
181. How to find out which patch driver is applied(like c,d,g or u)?
Ans: query ad_patch_drivers.
182. How to find out whether a language patch is applied for a perticular patch?
Ans : Query ad_patch_driver_langs.
183. How to validate that sysadmin password is correct or not from backend?
Ans: select fnd_web_sec.validate_login(�SYSADMIN�,�Qwert8765') from dual;
184. How to compile jsp�s(other than from adadmin)?
Ans: Force compilation of all jsps using the following command ojspCompile.pl
�compile �flush
185. How to rotate logs for apache logs?
Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.
186. Other way of checking whether MRC is enabled or not besides using adadmin?
Ans : select multi_currency_flag from fnd_product_groups;
187. How to compile rdf?
Ans: Either using adadmin or rwcon60
189. How to change file/directory owner in linux/solaris?
Ans : chown � R :
Ex: chown � R applmgr:dba testappl
190. How to change the permission of file/directory in linux/solaris?
Ans : chmod �R
Ex : chmod �R 755 testappl
191. What are the files which contain apps password?
Ans :
1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg
2. CGIcmd.dat@806_ORACLE_HOME/reports60/server
3. wfmail.cfg@FND_TOP/resource � optional
4. CatalogLoader.conf@OA_JAVA � optional
5. CatalogLoader.xml@OA_HTML � optional
192. What is the script to find out ICM status?
Ans : afimchk.sql@FND_TOP/sql
193. What is the script to list the concurrent request status?
Ans: afrqrun.sql@FND_TOP/sql
194. What is the script that Lists managers that currently are running a request?
Ans : afcmrrq.sql@FND_TOP/sql
195) How can I determine whether a template is customizable or non-customizable?
Ans : If a keyword �LOCK� is present at the end of the file entry in the respective
driver, then it is a non-customizable template. If the �LOCK� keyword is not seen,
then that template can be customized.
196) How to find out JDBC version :
Ans : In the middle tier, edit the jserv.properties file located in the
IAS_ORACLE_HOME/Apache/Jserv/etc directory- Locate the wrapper.classpath that is
pointing to the jdbc zip file/opt/oracle/apps/$TWO_TASK/comn/java/jdbc14.zip
197)How to findout XML Parser Version
Ans : SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION from sys.dual;
198)How to find out WorkFlow Version
Ans SQL> select TEXT Version from WF_RESOURCES where TYPE = �WFTKN� and NAME =
�WF_VERSION�;
199) How to find a file version in Application DB:
select v.version,v.CREATION_DATE,c.CREATION_DATE from AD_FILES c,AD_FILE_VERSIONS v
where c.FILENAME like �ARPURGEB.pls� AND c.file_id = v.file_id AND c.app_short_name
= �AR�;
When a copy driver (C) or the copy portion of a unified driver (U) are aborted for
any reason, upon reapplying, the CREATION_DATE and/or LAST_UPDATE_DATE columns in
the patching history tables (Ex: AD_FILE_VERSIONS)are not updated to show the
proper installation date but are left with the 01-01-1950 date. you can resolve the
issuse by applying the latest ad.I patch.
200) How to check whether the product is install,shared and Not installed in Apps.?
Ans : By using below Query we can find.
SQL>select t.application_name, t.application_id, i.patch_level,
decode(i.status,�I�,�Fully Installed�,�N�,�Not
Installed�,�S�,�Shared�,�Undetermined�) statusfrom fnd_product_installations i,
fnd_application_vl twhere i.application_id = t.application_idorder by
t.application_id;
Q. How would you know that your applications setup is a using shared APPL_TOP
configuration ?
� If you apply a patch, it should be visible on all nodes (APPL_TOP) which are part
of shared APPL_TOP configuration.
� Since APPL_TOP is on a shared disk, create file in APPL_TOP from one node, it
should be visible from other nodes.
To Know more on shared APPL_TOP check metalink note
243880.1 Shared APPL_TOP FAQ
384248.1 Sharing The Application Tier File System in Oracle E-Business Suite
Release 12
233428.1 Sharing the Application Tier File System in Oracle Applications 11i
Q. What is difference between shared APPL_TOP and shared Application Tier ?
� In shared APPL_TOP, only APPL_TOP & COMMON_TOP are shared across multiple middle
tier where as in Shared Application Tier ORACLE_HOME (Middle Tier 806 & iAS
directory) are also shared except configuration files (iAS).
Q. How would you know about which servers are running on a particular node ?
i) Check value of variable, isConc, isWeb, isForms, isAdmin in CONTEXT FILE
ii) Control scripts � only the services which are running from particular node will
have the corresponding control scripts installed on that node (This answer is
partially right, depending on AD & FND version).
iii) Check FND_NODES table
Q. Adsplice � I have a 3 node installation: 1. Forms 2. Web 3. CM/Admin/Reports
and DB which node I will run the adsplice on, to install a new product ?
� You must run adsplice on all nodes (APPL_TOPs) so that application utilities
recognize new product.

Q. There are four Oracle Databases running on a mahine. How would you check the
location of their Oracle Homes ?
� Check entry in oratab file
� If you know any other way to find out update it as comment
Q. How would you check if the tablespace is in backup mode ?
� Check in v$backup
SQL> SELECT d.tablespace_name, b.status FROM dba_data_files d, v$backup b
WHERE d.file_id = b.FILE# and b.STATUS = �ACTIVE� ;
Q. When Database is up, listener is up. listener.ora and tnsnames.ora both are
configured properly, still client is not being able to make a connection to the
database. What may be the possible issues ?
� Firewall blocking db port between client and server
� Authentication restricted in sqlnet.ora (Client allowed from only selected
machines)
Q. What is �Custom TOP� in apps ?
� Custom top is similar to other tops under APPL_TOP but containing custom (client)
specific functionality. Apps DBA need to define custom TOP and register all custom
code under CUSTOM TOP
Q. if you find that under $FND_TOP/secure directory, there are many .dbc files, how
would you know which is the correct one ?
� System picks up dbc file based on profile option value �Applications Database ID�
Oracle Apps DBA Interview Question : Apps / SSO / OID integration
Q. How to find if your E-Business Suite is integrated with SSO/OID (10g Identity
Management)
� There are multiple ways to find out Apps 11i/R12 is integrated with SSO/OID
a) Check if SSOSDK schema exists (in Apps 11i/R12) and check table in SSOSDK schema
b) Check if log file exists at $OAD_TOP/rgf/$CONTEXT_NAME/sso
c) Profile option Option �Application SSO Types�
Q. If Single Sign-On server & OID is down, can users still login ?
Yes, use localLogin
Q. Name few Profile Option w.r.t. SSO Integration
- Application SSO Types
� Application SSO login types
� Application SSO Auto link User
* Make sure you know about these profile option as explain these profile option and
how they effect SSO Integration
Q. Which SSO build version you are currently working ?
- Build 1, 2.1, 2.2, 3, 3.1, 4, 5, 6
Q. What is OID version you used for Apps-SSO/OID Integration ?
Latest certified OID version is 10.1.4.0.1 (Other certified were 10.1.2.0.2,
9.0.4 )
Q. What was direction of User synchronization ?
- From OID to Apps
� Apps to OID
� Bidirectional
Q. What extra steps you need to do after changing apps password in SSO Integrated
Apps Instances ?
� Update provisioning profile in OID with new apps password
Q. If new users created is not able to login, how will you troubleshoot ?
- Check if user exist in both Apps (FND_USER) and OID (If not check if user
provisioning is working fine)
� If user exist check Password (in FND_USER) is set to External (If set to LOCAL
user should try AppsLocalLogin.jsp)
Q. User is currently set to Login via SSO, what steps you need to do to change user
for Local Login
(AppsLocalLogin.jsp)
� Set Profile Option �Applications SSO Login Types� to LOCAL or BOTH
� Reset User Password using FNDCPASS
� Login using URL /OA_HTML/AppsLocalLogin.jsp
Q. Where is log file for Apps Registration to SSO/OID ?
$APPLRGF/sso ($COMMON_TOP/rgf/$CONTEXT_NAME/sso)
Q. Where is log file for User Provisioning ?
On OID Node under $ORACLE_HOME/ldap/odi/log
Q. How you clone Oracle Apps (11i/R12) Instance Integrated with OID/SSO
On Apps
� Clone E-Business Suite using Rapid Clone
On OID/SSO
� Migrate User/Groups from source to target using ldifwrite & bulkload.sh
� Migrate Password Policy, DAS Admin Group
and finally Register target Apps to Target OID/SSO
Q. What all issues you encountered during SSO/OID Integration ?
Q. What is Subscription List ?
Q. What is mapping file w.r.t. User provisioning between Apps & OID and what is
default location of oracle shipped
mapping file in Apps ?
� $FND_TOP/admin/template/*.tmp
Q. What is ODISRV in OID ?
ODISRV stands for Directory Integration Server and used during user provisioning
between Apps and OID
Q. How to load initial Set of user from Apps to OID or Vice-Versa ?
From Apps to OID
� Create intermediate LDIF file
� Using ldifmigrator create final LDIF file
� Use bulkload to load ldif file containing users to OID
� Finally create subscription for bulkloaded users
From OID to Apps
� Use ldifwrite to create dump of users into LDIF file
� Using LDAPUserImport to import user to apps
DBA Interview Questions with Answers Part7
My database was terminated while in BACKUP MODE, do I need to recover?
If a database was terminated while one of its tablespaces was in BACKUP MODE (ALTER
TABLESPACE xyz BEGIN BACKUP;), it will tell you that media recovery is required
when you try to restart the database. The DBA is then required to recover the
database and apply all archived logs to the database. However, from Oracle 7.2, one
can simply take the individual datafiles out of backup mode and restart the
database.
SQL> ALTER DATABASE DATAFILE �C:\PATH\FILENAME� END BACKUP;
One can select from V$BACKUP to see which datafiles are in backup mode From
Oracle9i onwards, the following command can be used to take all of the datafiles
out of hotbackup mode:
SQL>ALTER DATABASE END BACKUP;
Note: This command must be issued when the database is mounted, but not yet opened.
Does Oracle write to data files in begin/hot backup mode?
When a tablespace is in backup mode, Oracle will stop updating its file headers,
but will continue to write to the data files. When in backup mode, Oracle will
write complete changed blocks to the redo log files. Because of this, increased log
activity and archiving during on-line backups. To solve this problem, simply switch
to RMAN backups.
Difference Consistent and Inconsistent Backup
The backup taken in shutdown state or in same point in time are referred to as
consistent. Unlike an inconsistent backup, a consistent whole database backup does
not require recovery after it is restored, here all header of datafile belongs to
writable tablespace have the same SCN. These datafile donot have any change past
this check point SCN. The SCN of datafile header matches exactly controlfile
checkpoint.
An inconsistent backup is a backup of one or more database files that you make
while the database is open or after the database has shut down abnormally. This
means that the files in the backup contain data taken from different points in
time. This can occur because the datafiles are being modified as backups are being
taken. Not any of the above mentioned properties are exist here. A recovery
(Applying all the archive and online redo logs) is needed in order to make the
backup consistent.
Difference between restoring and recovering?
Restoring involves copying backup files from secondary storage (backup media) to
disk. This can be done to replace damaged files or to copy/move a database to a new
location.
Recovery is the process of applying redo logs to the database to roll it forward.
One can roll-forward until a specific point-in-time (before the disaster occurred),
or roll-forward until the last transaction recorded in the log files.
Difference between Complete and Incomplete Recovery?
Complete recovery involves using redo data or incremental backups combined with a
backup of a database, tablespace, or datafile to update it to the most current
point in time. It is called complete because Oracle applies all of the redo changes
contained in the archived and online logs to the backup. Typically, you perform
complete media recovery after a media failure damages datafiles or the control
file.
Incomplete recovery, or point-in-time recovery we do not apply all of the redo
records generated after the most recent backup or when archive redo log is missing.
Because you are not completely recovering the database to the most current time,
you must tell Oracle when to terminate recovery. You can perform the following
types of media recovery.
Time based Recovery, Cancel based Recovery, Change based Recovery, Log sequence
Recovery
What happens when we open the database with Resetlogs option after incomplete
recovery?
The RESETLOGS operation creates a new incarnation of the database�in other words, a
database with a new stream of log sequence numbers starting with log sequence 1.
Before using the OPEN RESETLOGS command to open the database in read/write mode
after an incomplete recovery, it is a good idea to first open the database in read-
only mode, and inspect the data to make sure that the database was recovered to the
correct point. If the recovery was done to the wrong point, then it is easier to
re-run the recovery if no OPENRESETLOGS has been done.
Difference between online and offline backups?
A hot (or on-line) backup is a backup performed while the database is open and
available for use (read and write activity). Except for Oracle exports, one can
only do on-line backups when the database is ARCHIVELOG mode. A cold (or off-line)
backup is a backup performed while the database is off-line and unavailable to its
users. Cold backups can be taken regardless if the database is in ARCHIVELOG or
NOARCHIVELOG mode.
It is easier to restore from off-line backups as no recovery (from archived logs)
would be required to make the database consistent. Nevertheless, on-line backups
are less disruptive and doesn't require database downtime.
Point-in-time recovery (regardless if you do on-line or off-line backups) is only
available when the database is in ARCHIVELOG mode.
What is the difference between Views and Materialized Views in Oracle?
Views evaluate the data in the tables underlying the view definition at the time
the view is queried. It is a logical view of your tables, with no data stored
anywhere else. The upside of a view is that it will always return the latest data
to you. The downside of a view is that its performance depends on how good a select
statement the view is based on. If the select statement used by the view joins many
tables, or uses joins based on non-indexed columns, the view could perform poorly.
Materialized views are similar to regular views, in that they are a logical view of
your data (based on a select statement), however, the underlying query result set
has been saved to a table. The upside of this is that when you query a materialized
view, you are querying a table, which may also be indexed. Materialized views
having several other advantages over simple view.
What happens when you set CONTROL_FILE_RECORD_KEEP_TIME to 0
Never set CONTROL_FILE_RECORD_KEEP_TIME to 0. If you do, then backup records may be
overwritten in the control file before RMAN is able to add them to the catalog. As
we know that The CONTROL_FILE_RECORD_KEEP_TIME initialization parameter determines
the minimum number of days that records are retained in the control file before
they are candidates for being overwritten.
How to find the last refresh of your database (when the recovery with resetlogs
performed)?
If the cloned database has been opened with RESETLOGS option, you can try checking
out V$DATABASE.RESETLOGS_TIME. if the V$DATABASE.CREATED is not equal to
V$DATABASE.RESETLOGS_TIME...there is a possibility that it might be opened with
resetlogs option. I don't have the required set up to check and confirm this
myself....but this is something you can get it a shot.
Command to find files created a day before
find . -type f -mtime 1 -exec ls -lth �{}� \;
Initially Flashback Database was enabled but noticed Flashback was disabled
automatically long time ago. What is the Issue?
Reason:
It could be because the flashback area 100% Once Flashback Area become 100% full
then oracle will log in Alert that Flashback will be disabled and it will
automatically turn off Flash Back without user intervention.
How can I check if there is anything rolling back?
It depends on how you killed the process. If you did and alter system kill session
you should be able to look at the used_ublk block in v$transaciton to get an
estimate for the rollback being done. If you killed to server process in the OS and
pmon is recovering the transaction you can look at V$FAST_START_TRANSACTIONS view
to get the estimate
How do you see how many instances are running?
In Linux, Unix the command: ps -ef|grep pmon
In Windows: services.msc
Which is more efficient Incremental Backups using RMAN or Incremental Export?
Rman
The current logfile gets damaged. What you can do now?
Once current redolog file is damaged, instance is aborted and it needs recovery
upto undamaged part. Only undamaged part can be recovered. Here DBA must apply time
based recovery, means it can be a point in time or specified by SCN. It leads to
incomplete recovery
Where should the tuning effort be directed?
Consider the following areas for tuning in order to increase performance of DB
Application Tuning:
Experience showed that approximately 80% of all Oracle system performance problems
are resolved by coding optimal SQL. Also consider proper scheduling of batch tasks
after peak working hours.
Memory Tuning:
Properly size your database buffers (shared pool, buffer cache, log buffer, etc) by
looking at your buffer hit ratios. Pin large objects into memory to prevent
frequent reloads.
Disk I/O Tuning:
Database files needs to be properly sized and placed to provide maximum disk
subsystem throughput. Also look for frequent disk sorts, full table scans, missing
indexes, row chaining, data fragmentation, etc
Eliminate Database Contention:
Study database locks, latches and wait events carefully and eliminate where
possible.
Tune the Operating System:
Monitor and tune operating system CPU, I/O and memory utilization. For more
information, read the related Oracle FAQ dealing with your specific operating
system.
What are the common Import/ Export problems?
ORA-00001: Unique constraint (...) violated - You are importing duplicate rows. Use
IGNORE=NO to skip tables that already exist (imp will give an error if the object
is re-created).
ORA-01555: Snapshot too old - Ask your users to STOP working while you are
exporting or use parameter CONSISTENT=NO
ORA-01562: Failed to extend rollback segment - Create bigger rollback segments or
set parameter COMMIT=Y while importing
IMP-00015: Statement failed ... object already exists... - Use the IGNORE=Y import
parameter to ignore these errors, but be careful as you might end up with duplicate
rows.
By mistake a use drop or truncate a Table then what is the best method to recover
it?
There are several methods possibly through RMAN such as:
Restore and recover the primary database to a point in time before the drop. This
is an extreme measure for one table as the entire database goes back in time.
Restore and recover the tablespace to a point in time before the drop. This is a
better option, but again, it takes the entire tablespace back in time.
Restore and recover a subset of the database as a DUMMY database to export the
table data and import it into the primary database. This is the best option as only
the dropped table goes back in time to before the drop.
How to find running jobs in oracle database
select sid, job,instance from dba_jobs_running;
?select sid, serial#,machine, status, osuser,username from v$session where
username!='NULL'; --all active users
select owner, job_name from DBA_SCHEDULER_RUNNING_JOBS; --for oracle 10g
How to find long running jobs in oracle database
select username,to_char(start_time, 'hh24:mi:ss dd/mm/yy') started, time_remaining
remaining, message from v$session_longops
where time_remaining = 0 order by time_remaining desc
Login without password knowledge
This is not the genuine approach consider it as a practice.
SQL> CONNECT / as sysdba
Connected.
SQL> SELECT password FROM dba_users WHERE username='SCOTT';
PASSWORD
--------------- ---------------
F894844C34402B67
SQL> ALTER USER scott IDENTIFIED BY anything;
User altered.
SQL> CONNECT scott/anything
Connected.
OK, we're in. Let's quickly change the password back before anybody notices.
SQL> ALTER USER scott IDENTIFIED BY VALUES 'F894844C34402B67';
User altered.
While applying the CPU Patch why we need to update the Oracle Inventory?
Because when you apply the CPU it updates the oracle binaries.

1)How to find database version?

SQL> select * from v$version;

2)How to find Opatch version?

/u01/db/tech_st/11.1.0/OPatch
[oracle@apps OPatch]$ opatch version
Invoking OPatch 11.1.0.6.2

OPatch Version: 11.1.0.6.2

3)How to find operating system version?

[oracle@apps OPatch]$ cat /etc/*release*


Enterprise Linux Enterprise Linux AS release 4 (October Update 6)

Its mean you are on operating system version 4.

Solaris:
======
isainfo -v

Uname -X

4)How to find operating system isw 32 bit or 64 bit?

[oracle@apps OPatch]$ uname -m


i686
[oracle@apps OPatch]$

i386 or i686 then it is 32 bit


x86_64 is 64bit

5)How to check jdbc connection?

select count(*),module from v$session where program like %jdbc% group by module;

6)what is the location of context file in 11i/r12?

Database side: $ORACLE_HOME/appsutit/<sid>.<hostname>.xml

11i *: $APPL_TOP/admin/<sid>_<hostname>.xml
R12*: $INST_TOP/appl/admin

7)How to run autoconfig in 11i/R12?

The procdure is same in 11i and R12 but the location is different.

cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
in the above location you will find adautocfg.sh file.just give filename and hit
enter it will ask for apps password.

R12
===

cd $ADMIN_SCRIPTS_HOME (OR) cd $INST_TOP/admin/scripts

in the above location you will find adautocfg.sh file.just give filename and hit
enter it will ask for apps password.

if you run adautocfg.sh file which in turn call adconfig.sh file which further call
adconfig.pl.you should not worry about the later two script its only for
information.

8)what if my context file itself corrupted,can i create a new one?

yes you can we have utility called adblxml to build context file.
but in R12 we don't have this.

9)if we run autoconfig which files will get effected?

cd $AD_TOP/bin
ls -tlrh adchkcfg.sh ===>run this file it will ask for apps password ,you can use
it in 11i/r12
adchkcfg.sh ===> It will generate HTML report.
This report will list all files and profile options going to change when you run
autoconfig.

10)what is the difference between xml file and autoconfig?

Xml file is repositary of all configuration files.


Autoconfig picks configuration and update related files.

11)How do you reduce the patch timings?

Mering patches using admrgpch.


use default file.
Use various adpatch options like nocompiledb or nocompilejsp etc.

12)what do you do if patch fails.?

Review adpatch logfile to determine the cause of the error.


fix the issue.
Restart the patch.
when adpatch asks if you want you continue with your previous sessions.
adpatch will skip already completed jobs,and pick up from where it left.

13)where would i find .rf9 file,and what exactly it does?

cd $APPL_TOP/admin/<SID>/restart
.rf9 file used during the restart of the patch incase of patch failure because of
some reason.

14)while applying apps patch ,if you want to hide apps password.how will that
possible?

adpatch flags=hidepw

15)when you apply c driver patch does it require database to be up and why?

Yes,database and database listener should be up and running when you apply any
dirver patch in apps.Even if driver is not updating any database objects connection
is required to validate apps &
other schema and to upload patch history information in database tables.

16)Can 'C' driver in apps patch create invalid objects in database?

No.'C' driver only copies files from patch top to appl top.
Database object might be invalided during 'D' driver when these objects are
created/dropped/modified.

17)Difference between adpatch and opatch?


adpatch is a utility to apply oracle apps patches.
Opatch is a ulility to apply database patches.

18)what is the pre requisite to apply Opatch?


Database should be down.
19)How do you find out what patches have been applied on database?
opatch lsinventory.

20)How to rollback the Opatch?


opatch rollback

21)How to apply database patch?


opatch apply

22)How to go for help on Opatch?


opatch help

23)How do you know the kernel version?

uname -r.

[oracle@apps ~]$ uname -r


2.6.9-67.0.0.0.1.ELhugemem
[oracle@apps ~]$

24)How do you know the database has invalid objects?

select count(*) from dba_objects where status='INVALID';

25)what happens when you give open resetlogs.?


log sequence number will be re set.

26)In multinode intallation,how you will find which node is running what services?

use fnd_nodes to get the details.

27)what is the utility to upgrade database from one version to another version.

dbua.

28)How to find if your database is 32 bit or 64 bit (useful while applying


patches)?

[oracle@apps ~]$ cd $ORACLE_HOME/bin


[oracle@apps bin]$ file oracle
oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
[oracle@apps bin]$

29)How to find version of any file in oracle apps?

/u02/apps/apps_st/appl/au/12.0.0/forms/US
[applmgr@apps US]$ adident Header IGSPR004.fmb
IGSPR004.fmb:
$Header APPSTAND.fmb 115.33 2002/04/04 11:13:40 pkm ship
$
$Header IGSPR004.fmb 120.0 2005/07/05 12:49 appldev noship
$
[applmgr@apps US]
(OR)

[applmgr@apps US]$ strings -a


/u02/apps/apps_st/appl/au/12.0.0/forms/US/ZXGLXST.fmb|grep -i 'Header'
FDRCSID('$Header: APPSTAND.fmb 120.6 2006/03/06 09:59 mzasowsk ship
$');
$Header: APPSTAND.fmb 120.6 2006/03/06 09:59 mzasowsk ship
$
FDRCSID('$Header: ZXGLXST.fmb 120.28.12010000.1 2008/07/28 05:15 appldev ship
$');
$Header: ZXGLXST.fmb 120.28.12010000.1 2008/07/28 05:15 appldev ship

30)How to find any reports versoin?

Use adident Header <Report filename>

31)How to find oracle apps version?

SQL> select release_name from fnd_product_groups;

RELEASE_NAME
--------------------------------------------------
12.1.1

SQL> select name from v$database;

NAME
---------
PROD

32)adident utility used for what?

To find the version of any file.

33)what is multinode system?


If the database and application services are maintained on different servers,then
it is said to be mutli node.

34)what is single node system?


If the database and application services maintained on only one server ,then it is
said to be single node.

35)How to check if a patch is applied or not?

select bug_number,creation_date from apps.ad_bugs where bug_number='&bug_number';

36)what are various types of oracle a patches?


Click on the below link to check in details.

48)How to check my workflow version in oracle R12 EBS?

SQLPLUS>@$FND_TOP/sql/wfver.sql

101) What URL you use to access Disco viewer & Disco plus .
http://hostname.domain/discoverer4i/viewer
http://hostname.domainname:port/discoverer/viewer (10gAS)
http://hostname.domainname:http_port/discoverer/viewer ( R12)
http://hostname.domainname:port/discoverer/plus (10gAS)

if any pre requisite patches are to applied.


OR
If the worker tries to drop a package,but already package is locked.
@$AD_TOP/sql/adcompsc.sql AR AR%
cd $COMMON_TOP/admin/install/$CONTEXT_NAME

Click on the below link to check in details.


http://abduulwasiq.blogspot.in/p/errorssolutions.html

37)How to compile jsp in 11i/R12?


http://abduulwasiq.blogspot.in/2013/04/to-compile-jsp-as-soon-as-you-access.html

38)How to compile invalid object in the database?


(OR)

How to compile package/procdure and funcation?

Click on the below link to check in details.


http://abduulwasiq.blogspot.in/2013/04/how-to-compile-invalid-objects-with.html

39)what is the diference between ICM,Standard manager and CM in concurrent manager?


Click on the below link to check in details.
http://abduulwasiq.blogspot.in/p/concurrent-manager-issues.html

40)How can you determine if an Oracle instance is up from the operating system
level?
[oracle@apps ~]$ ps -ef|grep -i pmon
oracle 26829 1 0 18:18 ? 00:00:00 ora_pmon_PROD
oracle 31937 31839 0 19:18 pts/3 00:00:00 grep -i pmon
[oracle@apps ~]$

41)How to check database listener is up and running from the operating system
level?

[oracle@apps bin]$ ps -ef|grep -i lsnr


oracle 26949 1 0 18:25 ? 00:00:00 /u01/db/tech_st/11.1.0/bin/tnsls nr
LISTENER -inherit
oracle 27191 26799 0 19:10 pts/1 00:00:00 grep -i lsnr

42)Where would you look for errors from the database engine?

alert logfile.

43)How to check how many instances are running in your server?

[oracle@apps ~]$ ps -ef|grep -i pmon|wc -l


5

44)What command would you use to create a backup control file?

SQL> alter database backup controlfile to trace as '/u02/oracle/control.sql';

Database altered.
SQL>

45)How to find the used/free and total size of the database?

SQL> select sum(bytes/1024/1024/1024) "Used size of the db in GB" from


dba_segments;

Used size of the db in GB


-------------------------
28.8906403

SQL> select sum(bytes/1024/1024/1024) "Free size of the db in GB" from


dba_free_space;

Free size of the db in GB


-------------------------
7.14793396

SQL> select sum(bytes/1024/1024/1024) "Total size of the db in GB" from


dba_data_files;

Total size of the db in GB


--------------------------
36.0429077

46)How do you switch from an init.ora file to a spfile?

SQL>create pfile from spfile.

File created.

SQL>

47)How do you add a data file to a tablespace?


How do you resize a data file?
How to add a tempfile?
Click on the below link to check in details.
http://abduulwasiq.blogspot.in/p/fresher-alerts-monitoring.html

48)50)How to check my java version in R12 EBS?


[applmgr@apps US]$ $ORACLE_HOME/jdk/bin/java -fullversion
java full version "1.4.2_14-b05"
[applmgr@apps US]$

49)How to check my forms version in R12 ebs?

[applmgr@apps ~]$ $ORACLE_HOME/bin/frmcmp_batch|grep Forms| grep Version


Forms 10.1 (Form Compiler) Version 10.1.2.3.0 (Production)
[applmgr@apps ~]$

50)How to check my Apache version in R12 EBS?

[applmgr@apps ~]$ $IAS_ORACLE_HOME/Apache/Apache/bin/httpd -version


Server version: Oracle-Application-Server-10g/10.1.3.4.0 Oracle-HTTP-Server
Server built: Jul 7 2008 14:58:00
[applmgr@apps ~]$

51)How to check my pl/sql version in R12 EBS?

[applmgr@apps ~]$ $ORACLE_HOME/bin/frmcmp_batch|grep PL/SQL|grep Version


PL/SQL Version 10.1.0.5.0 (Production)
[applmgr@apps ~]$

52)How to check my jre version R12 EBS?

[applmgr@apps ~]$ cat $FORMS_WEB_CONFIG_FILE|grep sun_plugin_version

sun_plugin_version=1.6.0_07

[applmgr@apps ~]$

53)How to find workflow version in oracle apps R12?

SQL> select TEXT from WF_RESOURCES where


NAME='WF_VERSION'; 2

TEXT
--------------------------------------------------------------------------------
2.6.0
54)How to check whether forms are in servlet mode/Socket mode?

By default forms are running in servlet in R12.


[applmgr@apps US]$ grep -i s_frmConnectMode $CONTEXT_FILE
<forms_connect oa_var="s_frmConnectMode">servlet</forms_connect>
[applmgr@apps US]$

OR

[applmgr@apps US]$ grep connectMode $FORMS_WEB_CONFIG_FILE


connectMode=servlet
[applmgr@apps US]$

[applmgr@apps US]$ cat $FORMS_WEB_CONFIG_FILE|grep serverURL=


serverURL=/forms/lservlet
[applmgr@apps US]$

55)What do we have in FND_NODES?

FND_NODES table contains information about node_names and services enabled on a


node.
In multinode instance if you want to know which node is running what services, You
can query the fnd_nodes and get that information.

56)What is the meaning QA,SIT,DEV,UAT,PRE-PROD,PROD Instance?


QA - Tesing Instance
SIT - System Integration Testing
DEV - Developement
UAT- User Acceptence Testing
STAGE - Pre-production Instance
Prod - Production/actuall instance where the business is running.

57)How to verify the sysadmin password from command line?

This utility can be used to verify the GUEST/ORACLE password


SQL>select fnd_web_sec.validate_login('SYSADMIN','<sysadmin_password>')from dual;

If it returns Y then sysadmin password is correct.


If it returns N then sysadmin password is incorrect.

Ex:
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN123') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN123')
--------------------------------------------------------------------------------
N
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN')
--------------------------------------------------------------------------------
Y

58)What is the Significancy of US Folder?

It is nothing but language specification by default it is in american language. We


can have multiple languages folders based on installed languages. We can find the
details from fnd_languages tables.
FND_LANGUAGES -- COL --INSTALLED_FLAG I,B,D

I--INSTALLED,
B--BASE,
D--DISABLE

select language_code,nls_language from fnd_languages where installed_flag like 'B';

59) What is meant by Custom Top and what is the Purpose?

Custom Top is nothing but Customer Top, which is created for customer only. we can
have multiple custom tops based on client requirement. It is used to store
developed & customized components. whenever we apply application patches it will
over ride on all the modules except custom top. that's why we will use custom top.

60)What is US folder in the Custom Top?


It is a language specific folder used to store the G.U.I like reports and forms.

61)How to find latest patchset level for module installed?


select APP_SHORT_NAME, max(PATCH_LEVEL) from AD_PATCH_DRIVER_MINIPKS GROUP BY
APP_SHORT_NAME;

62)What are the tables adpatch will create and when?

Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it will


apply d,g and u drivers.

63)I am applying a patch, can I open another session in another node and run
adpatch?
No.

64)How you will know what are the files the patch is going to change just my
unzipping the patch?

When we unzip a patch it will keep all the files related to a particular product
under that directory inside you are patch directory for example if the patch
delivering files related to GL product then it will create a sub directory under
the patch directory with the name GL in which it will put all related files to that
product.

65)What is the significance of backup directory under patch directory?

When we apply a patch it will take the backup of the files which it is going to
change during patching and it is done under backup directory of the patch.

66)How to skip copy portion while applying a patch?


adpatch options=nocopyportion

67)What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that particular worker has failed. We need to troubleshoot and restart the worker.

68)What is iAS Patch ?


iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server Component) Usually these are shipped as Shell scripts & you apply iAS
patches by executing Shell script.

69)Where is Concurrent Manager Log file location?


By default standard location is $APPLCSF/$APPLLOG, in some cases it can go to
$FND_TOP/log as well.

70)What is adsplice utility?


adsplice in oracle apps is utility to add a new product to EBS.

71) What is GWYUID?

GWYUID stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

72) Where GWYUID defined & why is it used in Oracle Applications?

GWYUID is defined in dbc i.e. Database Connect Descriptor file. It is used to


connect thin clients to database.

73) What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID?

GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by


Thick Clients like via Forms Connections.

74)What is the executable to generate jar files?

adjava
75)How do you relink an executable of a product?
By relinking option in adadmin or adrelink

76) How do you relink AD product executable and usage?

adrelink.sh and adrelink.sh force=y "ad adsplice"


77) When do you relinking?
When you miss an executable file.
When there is a problem with any executable file.
When any product executable gets corrupted.

78)How do you know whether apps listener is up or not?

[applmgr@apps scripts]$ lsnrctl status APPS_PROD

LSNRCTL for Linux: Version 10.1.0.5.0 - Production on 13-MAY-2013 10:43:03

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=apps)(Port=1626))
STATUS of the LISTENER
------------------------
Alias APPS_PROD
Version TNSLSNR for Linux: Version 10.1.0.5.0 - Production
Start Date 13-MAY-2013 10:35:35
Uptime 0 days 0 hr. 7 min. 28 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u02/inst/apps/PROD_apps/ora/10.1.2/network/admin/list
ener.ora
Listener Log File /u02/inst/apps/PROD_apps/logs/ora/10.1.2/network/apps_
prod.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=apps.user.com)(PORT=1626)))
Services Summary...
Service "FNDFS" has 1 instance(s).
Instance "FNDFS", status UNKNOWN, has 1 handler(s) for this service...
Service "FNDSM" has 1 instance(s).
Instance "FNDSM", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[applmgr@apps scripts]$

OR

[applmgr@apps scripts]$ adalnctl.sh status

adalnctl.sh version 120.3

Checking status for listener process APPS_PROD.

LSNRCTL for Linux: Version 10.1.0.5.0 - Production on 13-MAY-2013 10:45:02

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=apps)(Port=1626))
STATUS of the LISTENER
------------------------
Alias APPS_PROD
Version TNSLSNR for Linux: Version 10.1.0.5.0 - Production
Start Date 13-MAY-2013 10:35:35
Uptime 0 days 0 hr. 9 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u02/inst/apps/PROD_apps/ora/10.1.2/network/admin/listener.ora
Listener Log File
/u02/inst/apps/PROD_apps/logs/ora/10.1.2/network/apps_prod.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=apps.user.com)(PORT=1626)))
Services Summary...
Service "FNDFS" has 1 instance(s).
Instance "FNDFS", status UNKNOWN, has 1 handler(s) for this service...
Service "FNDSM" has 1 instance(s).
Instance "FNDSM", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

adalnctl.sh: exiting with status 0

adalnctl.sh: check the logfile


/u02/inst/apps/PROD_apps/logs/appl/admin/log/adalnctl.txt for more information ...

[applmgr@apps scripts]$

79)How to start apps listener?

syntax:lsnrctl <options> APPS_SID

[applmgr@apps scripts]$ lsnrctl start APPS_PROD

LSNRCTL for Linux: Version 10.1.0.5.0 - Production on 13-MAY-2013 10:46:13

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Starting /u02/apps/tech_st/10.1.2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.1.0.5.0 - Production


System parameter file is
/u02/inst/apps/PROD_apps/ora/10.1.2/network/admin/listener.ora
Log messages written to
/u02/inst/apps/PROD_apps/logs/ora/10.1.2/network/apps_prod.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=apps.user.com)(PORT=1626)))

Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=apps)(Port=1626))
STATUS of the LISTENER
------------------------
Alias APPS_PROD
Version TNSLSNR for Linux: Version 10.1.0.5.0 - Production
Start Date 13-MAY-2013 10:46:13
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u02/inst/apps/PROD_apps/ora/10.1.2/network/admin/listener.ora
Listener Log File
/u02/inst/apps/PROD_apps/logs/ora/10.1.2/network/apps_prod.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=apps.user.com)(PORT=1626)))
Services Summary...
Service "FNDFS" has 1 instance(s).
Instance "FNDFS", status UNKNOWN, has 1 handler(s) for this service...
Service "FNDSM" has 1 instance(s).
Instance "FNDSM", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[applmgr@apps scripts]$

80)what are the two tables will create while applying the patches?
FND_INSTALL_PROCESSES and AD_DEFERED_JOBS

81)How do you know whether concurrent manager is up and running?

[applmgr@apps scripts]$ ps -fu applmgr|grep -i fnd|wc -l


12
[applmgr@apps scripts]$

82)List some ad utilities and their functions?


adadmin, adctrl, adpatch, adlicmgr, admrgpch, adsplice and adworker.

83)How to find patch level of product or minipack level?

select application_id,oracle_id,patch_level from fnd_product_installations where


patch_level like '%GL%';

84)When we use hot patch?

if we want to apply adpatch without enabling maintenance mode.

85)When do you run preclone on producton?

if any changes made to either techstack,database or any patches are applied.

86)Are the existing DB connections dropped if the DB listener is restarted ?

No existing users will be able to continue their work. Any new connection will not
be able to go through.

87)Whats the need to adpreclone.pl?

ADPRECLONE is a feature provided in Oracle Applications 11i/R12 to clone the system


i.e create a replica of source system for testing purpose.

ADPRECLONE � Used as a pre-requisite before starting the cloning procedure


adpreclone creates a staging directory under $COMMON_TOP

for e.g : $COMMON_TOP/clone


adpreclone.pl captures all the drivers and templates required to clone the target
system using the source systems information.

88)Suppose we need to apply AR and AP patches � can we merge the patches together
and apply ?
Yes we can merge them and apply as they belong to the same family ( Finance
Module ).

89)FNDFS and FNDSM � Difference and whats the significance?.

FNDFS � Also known as RRA(Report Review Agent) is the default text viewer within
Oracle Applications, which allows users to view report output and log files.

FNDSM � Executable and a service required for GSM(Generic Service Management). It


is initiated by starting Oracle Apps Listener.

90)Which table stores the Application URL ? (http://hostname.domain.port)?

SQL> select home_url from icx_parameters;

HOME_URL
--------------------------------------------------------------------------------
http://apps.user.com:8000/OA_HTML/AppsLogin

SQL>

91)What is APPLSYSPUB ?

Applsyspub schema is responsible for password checking.The default password is


pub.Applsyspub is used for authentication by having read only views.

92) Which two parameters are required when we do clone using RMAN ?

db_file_name_convert and log_file_name_convert.

93) What is APPS and APPLSYS users ?


APPS :
======
Owns all the applications code in thedatabase. APPS Schema Contains Synonyms to
the objects of All Products (AP,AR, GLetc ) and Triggers, views, packages,
procedures, functions but the owner of all GL tables is GL user , AP tables is AP ,
and AR tables is AR Schema. Apps is a schema which does not contain any tables of
itself. The default password is apps.

APPLSYS :
==========
Applsys schema contains all the tables required for administarative purpose. The
default password is apps.
APPLSYS schema contains shared APPS foundation objects like FND,AD,WF related data
like tables and Indexes.

94)Why do we keep the same password for APPS & APPLSYS ?

This is required during Oracle Applications Login. The process is as follows :

a) Initial Sign on (http://hostname.domain.com:port)

This uses APPLSYSPUB schema to authenticate and validate AOL username & password
(OPERATIONS/WELCOME using GUEST user account).

Once this aunthentication is validated successfully we get to see the


responsibility page.
b) Selecting the assigned responsbility requires APPLSYS schema validation and then
it connects to APPS schema.

c) Since it uses both applsys and apps during signon process this expects both the
password to be identical. Try changing apps password to something else and try to
login, the validation at the last stage would fail.

95)What would happen if you change the passwords for APPS, APPLSYS with �alter
user� command?.

Changing the apps password using �alter user� corrupts the password

Oracle Application stores passwords in FND_USER and FND_ORACLE_USERID

Column Value Keys


FND_USER APPS password username/password
FND_ORACLE_USERID user password APPS password
The APPLSYS.FND_ORACLE_USERID table contains all the Oracle Applications related
database accounts � there is one database account for each Oracle Applications
module (i.e., GL = General Ledger). The application needs access to these database
schemas to perform various functions, thus it must have access to the database
account password. All the passwords in the FND_ORACLE_USERID table are encrypted
using the APPS password as the key.

Thus changing the password using �Alter User� command will not reflect the password
in FND_ORACLE_USERID.

96)How to clean fnd_nodes table?

exec fnd_conc_clone.setup_clean;
97)Where custom top information will be there ?
/u01erpapp/appl/APPLSYS.env file.
98)After applying patch why we need to take snapshot and what is the use of it ?

Snapshot is a view of the system at specific time. In apps, Patch Wizard uses
Global snapshot to determine which patches have been applied to the system and
Autopatch uses APPL_TOP snapshot to determine what patches have been applied to
that APPL_TOP.
Snapshot actually records the list of files,file versions and bug fixes. Both
snapshot are views, they are created once during installation and then updated
during patching. APPL_TOP snapshot information is stored in the AD_SNAPSHOTS,
AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables.

99)what happen after running adcfgclone.pl?

it will take input and build xml file.


after building xml file,it runs autoconfig.
It register the ORACLE_HOME with GLOBAL INVENTORY.

Note: it is not going to update the inventory incase of manual clone.

100)Why we need to put maintenance mode when we are applying a patch ?******

pre requisite to apply a patch.


Oracle recomendation.
To improve the performance by minimizing the down time.
=========

Enabling the maintenance mode feature shuts down the Workflow Business Events
System and sets up function security so that no Oracle Applications functions are
available to users. Used only during AutoPatch sessions, maintenance mode ensures
optimal performance and reduces downtime when applying a patch.

Main reason:
Meta link id [ID 233044.1] ==> check for heading Maintenance Mode

102)How to Compile JSP�s without using adadmin in oracle application 11i?

perl -x $JTF_TOP/admin/scripts/ojspCompile.pl �-compile

103)When we required to compile a menu?


when we change menu.

104)How database knows which pre requsite patch to apply?

b<patch number>.ldt which tells the database to apply the pre requisite patch.

105)How do we know impact of the patch?

check for .lgi file.

cd $APPL_TOP/admin/SID/log.

106)How worker fails?


unable to find the target object.
space issue in object.
locks in any object.
if any invalid.
If the worker creating an object, but already exists.
Login information is incorrect.

107)How do we compile a specific schema in oracle apps?

syntax: @$AD_TOP/sql/adcompsc.sql <username> <password>%

108)How do we migrate concurrent programs from dev to production?

FNDLOAD.

Workflow related components we use WFLOAD.

109)How can we skip a worker?

BY using adctrl ==>8th hidden options.

110)what is the reason for the workers to be running long?


May be locks on the object.

111)can we skip running workers?

Yes,but it is not recommended.

112)why adconfig.txt changes?

When we run autoconfig.

when we apply any technology related patches.

113)How can we change the structure of oracle apps?

By applying the patches.

114)How can we generate dbc file?.

By running autoconfig.
cd $INST_TOP/admin/install
By executing a file adgendbc.sh file.
Its better to run adgendbc.sh file as it will take less than a minute to create dbc
file where as autoconfig will take more than 5mins.
As a dba we have to save the time.

115) What is forms server executable Name ?

f60srvm

116)How to check number of forms users at any time ?

Forms Connections initiate f60webmx connections so you can use

[applmgr] ps -ef | grep f60webmx | wc -l

10

117)What are .odf file in apps patch ?

odf stands for Object Description Files used to create tables & other database
objects.

118)What is GWYUID ?

GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

119)Where GWYUID defined & what is its used in Oracle Applications ?

GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to


connect to database by thin clients.

120)What is consilidated patch?

Consolidated patches will come into pictures after upgrades from one version of
applications to anoter, all post upgrade patches will a consolidated and given as

consolidated patch.
121)What are the table u r adpatch will create and when?

Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it will


apply d,g and u drivers

122)Which table you will query to check the temp tablespace space issues?

dba_temp_files

123)In how many phases autoconfig will run?

Autoconfig will run in 3 phases.

1.INIT � Instantiate the drivers and templates


2.SETUP � Fill the templated with values from xml and create files
3.PROFILE � Update the profile values in database.

124)Is it possiable to restore a autoconfig run?

Partially. Adconfig will create a restore.sh script at $APPL_TOP/admin//out/. This


restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.

125)How to run autoconfig in test mode?

adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test mode and
create the difference file which tells us what is going to change , when u actually

run autoconfig.

126)What is �compile apps schema� option in adadmin?

It will compile the invalid database objects.

127)How to enable trace at database level?

set init.ora parameter sql_trace

128)How to enable trace for a session?

Alter system set sql_trace=true;

Execute the sql query

Alter system set sql_trace=false;

This will create a trace file at

$RDBMS_ORACLE_HOME/admin/contextname/udump with the spid of the current sql


session.

129)What is a database link? How to create it?

If we want to access objects of another database from this database then we need a
database link from this database to the other.

1.Login as oracle user

2.sqlplus �/as sysdba�

3. create database link connect to identified by using �;

Ex

SQL> create database link DEV1_TO_DEV2 connect to apps identified by apps using
�DEV2';

Database link created.

SQL> select name from v$database@ DEV1_TO_DEV2;

NAME

���

DEV2

SQL>select db_link from dba_db_links;

4. Add destination database tns entry in tnsnames.ora

130)What is formserver url?

http://hostname.domain:/dev60cgi/f60cgi

131)What is jinitiator?

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.

132)What is adsplicer?

Adsplicer is a uitility used to register off cycle products.

133)What is licence manager?

Licence manager(adlicmgr) utility is used to licence/unlicence , enable new


languages,enbale country specific functionality.

134)What is tnsping?

tnsping is command used to check the connectivity to the database server node from
other nodes.

135)How to find out oracle application framework version?

1. Through aoljtest

2. cd $COMMON_TOP/html/
3. adident Header OA.jsp

136)What is the command line utility to submit a concurrent request?

CONSUB

137)How to find out whether a language patch is applied for a particular patch?

Query ad_patch_driver_langs.

138)How to validate that sysadmin password is correct or not from backend?

select fnd_web_sec.validate_login(�SYSADMIN�,'Pa66word') from dual;

139)How to findout XML Parser Version?

SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION from sys.dual;

140)can you apply a patch without putting oracle application in maintenance mode
11i/r12?
Yes,we can using adpatch optoins=hotpatch

141)How to start the apache server?


adapcctl.sh start

142)What happens when you delete alert log file?

[oracle@devuser bdump]$ ls -ltrh alert*.log


-rw-r----- 1 oracle dba 45K Feb 22 15:21 alert_PROD.log

Now i will remove alert logfile.

[oracle@devuser bdump]$ rm alert_PROD.log

let's do something so that it will write to alert log file.

[oracle@devuser bdump]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 22 15:23:53 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate


Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 1218412 bytes
Variable Size 67111060 bytes
Database Buffers 113246208 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -
Production
With the Partitioning, OLAP and Data Mining options

Now check alert logfile it will get created.

[oracle@devuser bdump]$ ls -ltrh *.log


-rw-r--r-- 1 oracle dba 4.5K Feb 22 15:24 alert_PROD.log
[oracle@devuser bdump]$

143)Which process will write to alert logfile?

Server process.

144)How to check whether your database startup with the pfile or spfile ?

SQL> startup
ORACLE instance started.

Total System Global Area 188743680 bytes


Fixed Size 1218412 bytes
Variable Size 67111060 bytes
Database Buffers 113246208 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
SQL> show parameter spfile;

NAME TYPE VALUE


------------------------------------ ----------- ------------------------------
spfile string /u01/home/oracle/product/10.2.
0/db_1/dbs/spfilePROD.ora

SQL> show parameter pfile;

NAME TYPE VALUE


------------------------------------ ----------- ------------------------------
spfile string /u01/home/oracle/product/10.2.
0/db_1/dbs/spfilePROD.ora
SQL>

You can also check by usin below command

SQL> select name,value from v$parameter2 where name like '%spfile%';

NAME
VALUE
--------------------------------------------------------------------------------
--------------------------------------------------
spfile
/u01/home/oracle/product/10.2.0/db_1/dbs/spfilePRO

D.ora
145)How to put the database in archivelog mode ?

SQL> shutdown immediate


Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount


ORACLE instance started.

Total System Global Area 188743680 bytes


Fixed Size 1218412 bytes
Variable Size 67111060 bytes
Database Buffers 113246208 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -
Production
With the Partitioning, OLAP and Data Mining options

[oracle@devuser bdump]$ sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 22 15:26:49 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> archive log list


Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/home/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 0
Current log sequence 1

To put the database in archive log mode use below command.

SQL> alter database archivelog;

Database altered.

SQL> archive log list


Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/home/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 0
Next log sequence to archive 1
Current log sequence 1
Also you can check with below commands.

SQL> select archiver from v$instance;

ARCHIVE
-------
STARTED

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

146)How to change the dbid ?


1)shutdown immediate
2)startup mount
3) os level nid target=/ (/ means operating system authentication or sysdba
privileges)

Current dbid is 219858109.

SQL> select name,dbid from v$database;

NAME DBID
--------- ----------
EBSOFDP 219858109

SQL>

SQL> shutdown immediate;


Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount


ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 1218412 bytes
Variable Size 67111060 bytes
Database Buffers 113246208 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL>

nid is utility to change the dbid/dname .for help use nid help=y.
TO change dbid/dbname you need to have sysdba privileges.

[oracle@devuser PROD]$ nid help=y

DBNEWID: Release 10.2.0.1.0 - Production on Fri Feb 22 18:00:31 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Keyword Description (Default)


----------------------------------------------------
TARGET Username/Password (NONE)
DBNAME New database name (NONE)
LOGFILE Output Log (NONE)
REVERT Revert failed change NO
SETNAME Set a new database name only NO
APPEND Append to output log NO
HELP Displays these messages NO

[oracle@devuser PROD]$ nid target=/

DBNEWID: Release 10.2.0.1.0 - Production on Fri Feb 22 18:00:41 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to database EBSOFDP (DBID=219858109)

Connected to server version 10.2.0

Control Files in database:


/u01/home/oracle/product/10.2.0/db_1/ebsofdp/control01.ctl
/u01/home/oracle/product/10.2.0/db_1/ebsofdp/control02.ctl
/u01/home/oracle/product/10.2.0/db_1/ebsofdp/control03.ctl

Change database ID of database EBSOFDP? (Y/[N]) => Y

Proceeding with operation


Changing database ID from 219858109 to 631773769
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control01.ctl -
modified
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control02.ctl -
modified
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control03.ctl -
modified
Datafile /u01/home/oracle/product/10.2.0/db_1/PROD/system01.dbf - dbid changed
Datafile /u01/home/oracle/product/10.2.0/db_1/PROD/undotbs01.dbf - dbid changed
Datafile /u01/home/oracle/product/10.2.0/db_1/PROD/sysaux01.dbf - dbid changed
Datafile /u01/home/oracle/product/10.2.0/db_1/PROD/users01.dbf - dbid changed
Datafile /u01/home/oracle/product/10.2.0/db_1/PROD/temp01.dbf - dbid changed
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control01.ctl - dbid
changed
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control02.ctl - dbid
changed
Control File /u01/home/oracle/product/10.2.0/db_1/ebsofdp/control03.ctl - dbid
changed
Instance shut down

Database ID for database EBSOFDP changed to 631773769.


All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database ID.
DBNEWID - Completed succesfully.

above steps are very important which are highlighted in yellow color and in pink .

[oracle@devuser PROD]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 22 18:01:49 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.


SQL> startup
ORACLE instance started.

Total System Global Area 188743680 bytes


Fixed Size 1218412 bytes
Variable Size 62916756 bytes
Database Buffers 117440512 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SQL> alter database open resetlogs;

Database altered.

SQL> archive log list


Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/home/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1

Now dbid changed successfully.

SQL> select name,dbid from v$database;

NAME DBID
--------- ----------
EBSOFDP 631773769

SQL>1)shutdown immediate
2)startup mount
3) os level nid target=/ (/ means operating system authentication or sysdba
privileges)

Current dbid is 219858109.

SQL> select name,dbid from v$database;

NAME DBID
--------- ----------
EBSOFDP 219858109

SQL>

147)what are different modes of forms in which you can start form server and which
is the default in oracle apps 11i/R12?

There are two modes of forms.


1)Servlet
2)Socket

We can switch from servlet to socket and socket to servlet and it depends on the
business what they
like it.
By defalut forms are running in servlet mode in oracle apps R12.

Can we create Tables in the Apps Schema?


How to confirm if report server is up and running?

what are the varios option available with adpatch?

what is load balancing?

what is oraInventory?

where is OraInst.loc file located?

what is the admin server?

how do you apply the patch?and what are the steps?

what is APPLCSF means?

what is the location of dbc file?

where is the adpatch logfile?

how you will apply a patch when it is not in maintenance mode?

where to check for log files after autoconfig is executed?

How to find OUI version?


1) What is APPS and APPLSYS users ?
APPS :
APPS is the runtime user for E-Business Suite. Owns all the applications code in
the
database. APPS Schema Contains Synonyms to the objects of All Products (AP,AR, GL
etc ) and Triggers, views, packages, procedures, functions but the owner of all GL
tables is GL user , AP tables is AP , and AR tables is AR Schema. Apps is a schema
which does not contain any tables of itself. The default password is apps.
APPLSYS :
Applsys schema contains all the tables required for administarative purpose. The
default password is apps.
APPLSYS schema contains shared APPS foundation objects like FND,AD,WF related data
like tables and Indexes.
2) What is APPLSYSPUB ?
Applsyspub schema is responsible for password checking.The default password is
pub.Applsyspub is used for authentication by having read only views.
3) Why do we keep the same password for APPS & APPLSYS ?
This is required during Oracle Applications Login. The process is as follows :
a) Initial Sign on (http://hostname.domain.com:port)
This uses APPLSYSPUB schema to authenticate and validate AOL username & password
(OPERATIONS/WELCOME using GUEST user account).
Once this aunthentication is validated successfully we get to see the
responsibility page.
b) Selecting the assigned responsbility requires APPLSYS schema validation and then
it connects to APPS schema.
c) Since it uses both applsys and apps during signon process this expects both the
password to be identical. Try changing apps password to something else and try to
login, the validation at the last stage would fail.
4) What would happen if you change the passwords for APPS, APPLSYS with �alter
user� command.
Changing the apps password using �alter user� corrupts the password
Oracle Application stores passwords in FND_USER and FND_ORACLE_USERID
Column Value Keys
FND_USER APPS password username/password
FND_ORACLE_USERID user password APPS password
The APPLSYS.FND_ORACLE_USERID table contains all the Oracle Applications related
database accounts � there is one database account for each Oracle Applications
module (i.e., GL = General Ledger). The application needs access to these database
schemas to perform various functions, thus it must have access to the database
account password. All the passwords in the FND_ORACLE_USERID table are encrypted
using the APPS password as the key.
Thus changing the password using �Alter User� command will not reflect the password
in FND_ORACLE_USERID.
5) How would you recover the executable once lost ?
What would happen � if FNDLIBR executable is deleted from $FND_TOP/bin while the
Application is up and running.
Any executable that is lost can be recreated using adadmin using
Option 2 : Maintain Applications Files menu
Then
Option 1 : Relink Applications programs
If a DBA deletes the FNDLIBR executable during runtime users will still be able to
run the reports however if a DBA tries to restart the service it will raise an
error.
Manager Log file shows the error :
Starting PATCH_0913@PATCH Internal Concurrent Manager � shell process ID 29919
logfile=/patchapps/oracle/inst/apps/PATCH_erppatch/logs/appl/conc/log/PATCH_0913.mg
r
PRINTER=noprint
mailto=applpatch
restart=N
diag=N
sleep=30
pmon=4
quesiz=1
Reviver is ENABLED
sh: line 34: FNDLIBR: command not found
The PATCH_0913@PATCH internal concurrent manager has terminated with status 127 �
giving up.
6) Which table stores the Application URL ? (http://hostname.domain.port)
select * from icx_parameters;
OR
SELECT PROFILE_OPTION_VALUE
FROM FND_PROFILE_OPTION_VALUES
WHERE
PROFILE_OPTION_ID = (SELECT PROFILE_OPTION_ID FROM FND_PROFILE_OPTIONS WHERE
PROFILE_OPTION_NAME =�APPS_FRAMEWORK_AGENT�) AND LEVEL_VALUE=0;
7) Elaborate on �splice� in adsplice ?
AD Splicer registers off-cycle product as a valid Oracle Applications product for
the given release
� The splicing process enables AutoPatch and AD Administration to recognize the
off-cycle product
� AD Splicer uses control files to manage the splicing process
� These are not related to the database control files
Off-cycle products are generally released as patches. All product files and control
files necessary to splice in the product are included in the patch.
There is one product configuration file, called newprods.txt. The product
configuration file must be edited for your specific system before the off-cycle
product can be properly spliced.
8) FNDFS and FNDSM � Difference and whats the significance.
FNDFS � Also known as RRA(Report Review Agent) is the default text viewer within
Oracle Applications, which allows users to view report output and log files.
FNDSM � Executable and a service required for GSM(Generic Service Management). It
is initiated by starting Oracle Apps Listener.
9) What is OC4J ? � Used for Application Server
OC4J (Oracle Containers for Java/ J2EE) provides an execution environment for J2EE
applications. It is needed by iAS & Developer (10.1.2 and 10.1.3) in R12.
10) What is OPMN ?
OPMN is installed and configured with every Oracle Application Server installation
type and is essential for running Oracle Application Server.
Oracle Process Manager & Notification Server (OPMN) is a new addition to R12 E-
Business Suite Technology Stack. OPMN manages all Oracle Application Server 10g
Components (like 1. Oracle HTTP Server, 2. OC4J etc)
11) Suppose we need to apply AR and AP patches � can we merge the patches together
and apply ?
Yes we can merge them and apply as they belong to the same family ( Finance
Module )
12) Whats the need to adpreclone.pl?
ADPRECLONE is a feature provided in Oracle Applications 11i/R12 to clone the system
i.e create a replica of source system for testing purpose.
ADPRECLONE � Used as a pre-requisite before starting the cloning procedure
adpreclone creates a staging directory under $COMMON_TOP
for e.g : $COMMON_TOP/clone
adpreclone.pl captures all the drivers and templates required to clone the target
system using the source systems information.
13) Can we clone the instance without adpreclone � is it recommended.
Yes we can clone the instance without running adpreclone and it is always referred
to as �MANUAL CLONING�. Although it is not recommended by Oracle, DBA�s prefer this
way when they have to refresh only the database.
14) What would �u� driver do while applying a patch ?
U driver is a unified driver supplied in all the patches in R12
Prior to R12 in 11i patches were released with 3 specific drivers
i) c driver � Copies the files provided by the patch to their respective tops
ii) d driver � Executes the files copied the c driver into the database for e.g :
packages, ldt files, xdf files etc
iii) g driver � Generates forms and reports provided in the patch.
This consumes a lot of time as a DBA needs to run the patch utility everytime a
driver needs to be applied and hence resulting in long down time.
To avoid this process and reduce the downtime ORACLE has released unified drivers
referred as �U� driver which is a combination of these 3 drivers and will execute
the patch sequentially from c driver to d driver and then g driver.
15) Why is the Batch Size defined as 1000 by default ?
This is to decide the rows for commits during a patch or any administrative tasks
that are in progress.
16) Can I open another session and run adadmin while a patch application is in
progress?
Yes you can run provided none of the workers are running for the current patch
process.
17) Are the existing DB connections dropped if the DB listener is restarted ?
No existing users will be able to continue their work. Any new connection will not
be able to go through.
18) How to compile invalid objects from the middle tier ?
You can complie invalid objects using adadmin
Option 3 : and then Option 1
19) How to find what Oracle Application client is using ?
select release_name from fnd_product_groups;
20) How to check the version of any file in Oracle Applications ?
Go to the TOP directory
cd $AP_TOP/patch/115/sql
strings -a filename |grep �$Header

1)What happens if the ICM goes down?

All the other managers will keep working. ICM only takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.

2)How will you speed up the patching process?

You can merge multiple patches.


You can create a response file for non-interactive patching.
You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.

3)How will you handle an error during patching?

Look at the log of the failed worker, identify and rectify the error and restart
the worker using adctrl utility.

4)Provide a high-level overview of the cloning process and post-clone manual steps.

Run pre-clone on the source (all tiers), duplicate the DB using RMAN (or restore
the DB from a hot or cold backup), copy the file systems and then run post-clone on
the target (all tiers).
Manual steps (there can be many more):
Change all non-site profile option values (RapidClone only changes site-level
profile options).
Modify workflow and concurrent manager tables.
Change printers.

5)Provide an introduction to AutoConfig. How does AutoConfig know which value from
the XML file needs to be put in which file?

AutoConfig uses a context file to maintain key configuration files. A context file
is an XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which determines which values to pick from the XML file.

6)Can you tell me a few tests you will do to troubleshoot self-service login
problems? Which profile options and files will you check?

Check guest user/password in the DBC file, profile option guest user/password, the
DB.
Check whether apache/jserv is up.
Run IsItWorking, FND_WEB.PING, aoljtest, etc.

7)What could be wrong if you are unable to view concurrent manager log and output
files?
Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME and
LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at the FND_NODES
table. Look at the FNDFS_entry in tnsnames.ora.

8)How will you change the location of concurrent manager log and output files?

The location of log files is determined by parameter $APPLCSF/$APPLLOG and that of


output files by $APPLCSF/$APPLOUT.

9)If the user is experiencing performance issues, how will you go about finding the
cause?

Trace his session (with waits) and use tkprof to analyze the trace file.
Take a statspack report and analyze it.
O/s monitoring using top/iostat/sar/vmstat.
Check for any network bottleneck by using basic tests like ping results.

10)How will you change the apps password?

Use FNDCPASS to change APPS password.


Manually modify wdbsvr.app/cgiCMD.dat files.
Change any DB links pointing from other instances.

11)Provide the location of the DBC file and explain its significance and how
applications know the name of the DBC file.

Location: $FND_TOP/secure directory.


Significance: Points to the DB server amongst other things.
The application knows the name of the DBC file by using profile option
"Applications Database Id."

1.) What's the diff. btw. 'adconfig.sh' and 'adautocfg.sh'

You will use script adautocfg.sh (on both Database & Application tier) which inturn
will call adconfig.sh , which further will calladconfig.pl. You should not worry
about later two scripts its for information only. adautoconfig.sh is script which
you use to run autoconfig.

2.) Do I need to run autoconfig on both appl and db node after I change user
applsys password.

yes, first on db tier and next on apps tier

3.) Must I stop all running application processes before I run autoconfig. i.e by
running adstpall.sh?

Yes, if you are running autoconfig on application tier u need to stop the
application tier, always database should be up

4.) Is it better to run adautocfg.sh on 11.5.10.2 rather that adconfig.sh.

Refer question 1, alway we run adautocfg.sh


1)What happens if the ICM goes down?

All the other managers will keep working. ICM only takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.

2)How will you speed up the patching process?

You can merge multiple patches.


You can create a response file for non-interactive patching.
You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.

3)How will you handle an error during patching?

Look at the log of the failed worker, identify and rectify the error and restart
the worker using adctrl utility.

4)Provide a high-level overview of the cloning process and post-clone manual steps.

Run pre-clone on the source (all tiers), duplicate the DB using RMAN (or restore
the DB from a hot or cold backup), copy the file systems and then run post-clone on
the target (all tiers).
Manual steps (there can be many more):
Change all non-site profile option values (RapidClone only changes site-level
profile options).
Modify workflow and concurrent manager tables.
Change printers.

5)Provide an introduction to AutoConfig. How does AutoConfig know which value from
the XML file needs to be put in which file?

AutoConfig uses a context file to maintain key configuration files. A context file
is an XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which determines which values to pick from the XML file.

6)Can you tell me a few tests you will do to troubleshoot self-service login
problems? Which profile options and files will you check?

Check guest user/password in the DBC file, profile option guest user/password, the
DB.
Check whether apache/jserv is up.
Run IsItWorking, FND_WEB.PING, aoljtest, etc.

7)What could be wrong if you are unable to view concurrent manager log and output
files?
Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME and
LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at the FND_NODES
table. Look at the FNDFS_entry in tnsnames.ora.

8)How will you change the location of concurrent manager log and output files?

The location of log files is determined by parameter $APPLCSF/$APPLLOG and that of


output files by $APPLCSF/$APPLOUT.

9)If the user is experiencing performance issues, how will you go about finding the
cause?

Trace his session (with waits) and use tkprof to analyze the trace file.
Take a statspack report and analyze it.
O/s monitoring using top/iostat/sar/vmstat.
Check for any network bottleneck by using basic tests like ping results.

10)How will you change the apps password?

Use FNDCPASS to change APPS password.


Manually modify wdbsvr.app/cgiCMD.dat files.
Change any DB links pointing from other instances.

11)Provide the location of the DBC file and explain its significance and how
applications know the name of the DBC file.

Location: $FND_TOP/secure directory.


Significance: Points to the DB server amongst other things.
The application knows the name of the DBC file by using profile option
"Applications Database Id."

1)I submitted a concurrent request.It was running fine and it takes just 5 minutes
to finish..Bt today its taking 1hr bt still its not yet been finished.Then how do
you troubleshoot?Plz explain all the possiblities?

2)forms server is having problems...then how will you troubleshoot?kindly explain


me the steps?

3)If mountpoint gets full then how will we know..everytime we dont go to the server
and we wont issue df -h.Then how can we know that its getting full?

4)Patch was applied fine in test instance bt when it came to production instance
its taking lot of time then how to troubleshoot?

5)On development instance you are applying patch.But you couldnt complete it within
maintainence time..then what will you do?will you up the instance without applying
the patch or what will you do that time?

6)same as above for production database?


7> how to know which products are actually installed in my database?

8> how many concurrent users are currently loggedin to the application and
database?

9> What is local=no?its a connection from remote pc?then even if we connect from
directly into the server also we are getting local=no?then whats exactly local=no
process and how to know the user id and name ?

10> What u mean by it, we do a American upgrade patch which is used to upgrade from
11i to R12

what is the default database for 11.5.10.2 and for r12?

11> Consolidate Upgrade patches sir...CU 1 and CU 2 like that wil be there rite? so
what is the highest CU patch for 11.5.10.2 and for r12.

12)what is TXK and ADX?

13> workflow queries

1)update profile options

2)updating workflow configuration

3)changing apps password like this i said sir

How to update profile options sir they asked me?

what is a workflow?

what is workflow configuration?

what changes u do in ur cloned instance to configure tat?

what is smtp?

what is workflow mailer?

what is imap?

14> What are the advantages and disadvantages of cloning?

diff between database reorganisation,database refresh,cloning?what is the diff?

what are the post cloning steps in apps side?

15>
what happens when we run

perl adcfgclone.pl dbconfig target xml file path.Wil it run autoconfig ?

why dont we just run autoconfig by ourselves without giving that command??

plz tell me
16> Why do we always run adcfgclone.pl on dbtier first then on appstier?

what happens when we run adpreclone and adcfgclone?

Apps DBA interview Questions


1. What is a snapshot? In which table we get Information?
2. How will check Apache is working in Front-end and Back End
3. Write down the methods to identify whether the application is in maintenance
mode or not
4. What is the result of unsetting APPLCSF
5. How are the AOL Developers Environment variables set
6. How do we get access to the initial sigon to application?
7. From where are the Report files picked up for execution
8. Where are the Reports plsql files located
9. Which ORACLE HOME is used by ad utilities
10. Which file contains the product dependencies information
11. When apps password is given wrong for adstpall.sh, what is the effect on the
services
12. What are the Various Statuses of Workers
13. How do you restart a failed patch process
14. What are the table/tables created when workers are initiated and in which
schema
15. Create defaults file for "Compile Apps Schema"
16. Execute "Compile Apps Schema" in noninteractive mode
17. Where are the custom files placed
18. Difference between ad_bugs and ad_applied patches
19. What happened Relink adslpice and adpatch?
20. What are Oracle Apps DBA Important Tables we use in daily activities?
21. What is .lct and .ldt files in Patch Directory?
22. What are the tables updated when you apply application patch?
23. Can you apply Opatch without inventory? If there is no inventory, how do you
apply Opatch?
24. What are the tables get created during Apps Patching?
25. How do you hide apps password during adpatching? (adpatch flags=hidepw)
26. What is interoperability patch
27. How do you compile jsp files?
28. Types of profile options?
29. Opatch log file location?
30. How do you clone a context file or how do you change existing port pool?
31. How do you run autoconfig in test mode?
32. What are mandatory users in oracle apps?
33. What is the location of apache and plsql cache?
34. What is adlicmgr ?
35. When do you relinking?
36. What is DAD?
37. How do you compile a schema?
38. What is the utility to clean the concurrent manager tables?
39. How do you stage the 11.5.10 Apps software?
40. ADPATCH has failed and it indicated there was an error with a worker. What
steps can be taken to investigate this problem?
41. How can I check to see if a concurrent manager is running?
42. Where do concurrent request or manager logfiles and output files go?
43. What is the function of the 'Conflict Resolution Manager'?
44. Unable to Bring Up Concurrent Manager after Running Autoconfig.
45. When should I run AutoConfig?
46. Which files / profile options get changed when I run AutoConfig?
47. What is cloning?
48. How do I determine if my system is Rapid Clone enabled?
49. Can I clone from one operating system version to another?
50. Can I change the database dbf files layout while cloning?
51. What is the difference between Concurrent Requests, Programs, and Processes
52. What is iAS Patch?
53. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for you?
54. When you apply C driver patch does it require database to be Up & Why?
55. What are the important options to reduce patch down time?
56. Can you apply patch without putting Applications 11i in Maintenance mode?
57. What is difference between adpatch & opatch? Can you use both adpatch & opatch
in Apps?
58. Why do I have invalid objects? What causes them? How you identify them ?
59. Is there a file that lists all of the patches that have been applied to the
application?
60. What is the difference between apps listener & web listener?
61. Why only for Concurrent Manager, we specify apps/apps password & not for other?
62. What�s the significance of batch size? What r the effects when we increase r
decrease the batch size it defaults to 1000.
63. What is the purpose of using the option Phtofile in adpatch?
64. How do I configure AutoConfig for a multi-node system?
65. How do you identify the No. of nodes in Middle tier and db Tier
66. What is a Shared APPL_TOP? How do you identify whether it is a shared appl_TOP
or not?
67. What is a Jinitiator? (Jinitiator is the Oracle JVM used to run the applet
instead of using browsers own JVM)
68. Where would i find .rf9 file, and what exactly it dose?
69. What is .dbc file, where its stored , what�s use of .dbc file ?
70. What is the use of adident utility ?
71. What is adsplice utility ?
72. How can you licence a product after installation ?
73. What is access_log in apache , what entries are recored in access_log ? Where
is default location of this file ?
74. How to determine Oracle Apps 11i Version ?
75. What is PCP is Oracle Applications 11i ?
76. How to convert pll to pld file or pld file to pll ?
77. Where are the Application usrs details stored?
78. How to find plsql version?
79. When do you use startmgr.sh script? Where its locate?
80. What is the yellow Bar Issues?

some more
Posted on: 2012-06-15 05:43:09 By: akr14feb
1. How do we take care of customization while doing an upgrade.what kind of
roadmaps do u give to client before upgrading.

2. Tell me few autoconfig issues which you have faced.

3. How do you recommend to your client for applying cpu patches.How to they impact
the business.

4. Have you applied timezone patches. why do you apply how do they the affect the
business if they are not applied

5. why apps and applsys should have same password. can't we have diff password for
each.

6. In R12 multi node installation why all the node status( support_cp,support_forms
etc ) is marked yes on all nodes in fnd_nodes table.-- is this represents the
concept of unified appl top.

7. what is the use of cpu patches, what happens if we do not apply


these cpu patches.( i understand these are critical patch updates and
to resolve security vulnerabilities but can please explain me briefly
what do these actually meant for and how do they help in resolving
security issues with few examples)

8. what is the use of psu patches ( patch set updates, i understand


that both cpu and psu are db patches and both are released quaterly,
can you please throw some more light on it .

9.what is version conflict while patching and how to resolve it

10. How to answer this question in an interview " How many implementation
Projects are you involved / worked ". Is it better to say that i am
involved only in support or is it ok to say one or two implementation
projects. How long does an implementation project goes and what is the
process or procedure to start with and how to answer these questions
and what are involved.

11.Difference between 3460000 and 3480000 when both are used to upgrade
to 11.5.10.2

12.a. Actually the apps upgrade from 11.5.10 to 11.5.10.cu2 was


successful but when i checked the services the concurrent services
where not coming up. As usual i did a cmclean and later try to up the
cm it did not and later tried almost all options which were there in
metalink fnd_nodes.setup, updating node name in concurrent queues and
least running the autoconfig but no use.

13. we used the gsm profile and set it to N , the fndlibr process are
up but the target and source values are not same and log file show as
service started and ended

14. I thought to apply the latest autoconfig patch but the patch tells
me to upgrade to dev 6i, i thought it is of no issue to upgrade dev6i
if it is a conc mgr issue.

Please Post Oracle Core DBA interview Questions


Posted on: 2012-08-21 14:22:33 By: RameshVoora
Hi all,
Please Post Oracle Core DBA interview Questions

Please Post Oracle Core DBA interview Questions

Need Oracle Core DBA Interview Questions


Posted on: 2012-08-21 14:23:49 By: RameshVoora
hi,

Please Post Oracle Core DBA interview Questions


Re: Need Oracle Core DBA Interview Questions
Posted on: 2012-09-12 11:13:04 By: akr14feb

How many memory layers are in the shared pool?


How do you find out from the RMAN catalog if a particular archive log has been
backed-up?
How can you tell how much space is left on a given file system and how much space
each of the file system�s subdirectories take-up?
Define the SGA and how you would configure SGA for a mid-sized OLTP environment?
What is involved in tuning the SGA?
What is the cache hit ratio, what impact does it have on performance of an Oracle
database and what is involved in tuning it?
Other than making use of the statspack utility, what would you check when you are
monitoring or running a health check on an Oracle 8i or 9i database?
How do you tell what your machine name is and what is its IP address?

How would you go about verifying the network name that the local_listener is
currently using?
You have 4 instances running on the same UNIX box. How can you determine which
shared memory and semaphores are associated with which instance?
What view(s) do you use to associate a user�s SQLPLUS session with his o/s process?
What is the recommended interval at which to run statspack snapshots, and why?
What spfile/init.ora file parameter exists to force the CBO to make the execution
path of a given statement use an index, even if the index scan may appear to be
calculated as more costly?
Assuming today is Monday, how would you use the DBMS_JOB package to schedule the
execution of a given procedure owned by SCOTT to start Wednesday at 9AM and to run
subsequently every other day at 2AM.
How would you edit your CRONTAB to schedule the running of /test/test.sh to run
every other day at 2PM?
What do the 9i dbms_standard.sql_txt() and dbms_standard.sql_text() procedures do?
In which dictionary table or view would you look to determine at which time a
snapshot or MVIEW last successfully refreshed?
How would you best determine why your MVIEW couldn�t FAST REFRESH?
How does propagation differ between Advanced Replication and Snapshot Replication
(read-only)?
Which dictionary view(s) would you first look at to understand or get a high-level
idea of a given Advanced Replication environment?
How would you begin to troubleshoot an ORA-3113 error?
Which dictionary tables and/or views would you look at to diagnose a locking issue?
An automatic job running via DBMS_JOB has failed. Knowing only that �it�s failed�,
how do you approach troubleshooting this issue?
How would you extract DDL of a table without using a GUI tool?
You�re getting high �busy buffer waits� - how can you find what�s causing it?
What query tells you how much space a tablespace named �test� is taking up, and how
much space is remaining?
Database is hung. Old and new user connections alike hang on impact. What do you
do? Your SYS SQLPLUS session IS able to connect.
Database crashes. Corruption is found scattered among the file system neither of
your doing nor of Oracle�s. What database recovery options are available? Database
is in archive log mode.
Illustrate how to determine the amount of physical CPUs a Unix Box possesses (LINUX
and/or Solaris).
How do you increase the OS limitation for open files (LINUX and/or Solaris)?
Provide an example of a shell script which logs into SQLPLUS as SYS, determines the
current date, changes the date format to include minutes & seconds, issues a drop
table command, displays the date again, and finally exits.
Explain how you would restore a database using RMAN to Point in Time?
How does Oracle guarantee data integrity of data changes?
Which environment variables are absolutely critical in order to run the OUI?
What SQL query from v$session can you run to show how many sessions are logged in
as a particular user account?
Why does Oracle not permit the use of PCTUSED with indexes?
What would you use to improve performance on an insert statement that places
millions of rows into that table?
What would you do with an �in-doubt� distributed transaction?
What are the commands you�d issue to show the explain plan for �select * from
dual�?
In what script is �snap$� created? In what script is the �scott/tiger� schema
created?
If you�re unsure in which script a sys or system-owned object is created, but you
know it�s in a script from a specific directory, what UNIX command from that
directory structure can you run to find your answer?
How would you configure your networking files to connect to a database by the name
of DSS which resides in domain icallinc.com?
You create a private database link and upon connection, fails with: ORA-2085:
connects to . What is the problem? How would you go about resolving this error?
I have my backup RMAN script called �backup_rman.sh�. I am on the target database.
My catalog username/password is rman/rman. My catalog db is called rman. How would
you run this shell script from the O/S such that it would run as a background
process?
Explain the concept of the DUAL table.
What are the ways tablespaces can be managed and how do they differ?
From the database level, how can you tell under which time zone a database is
operating?
What�s the benefit of �dbms_stats� over �analyze�?
Typically, where is the conventional directory structure chosen for Oracle binaries
to reside?
You have found corruption in a tablespace that contains static tables that are part
of a database that is in NOARCHIVE log mode. How would you restore the tablespace
without losing new data in the other tablespaces?
How do you recover a datafile that has not been physically been backed up since its
creation and has been deleted. Provide syntax example.

Re: Need Oracle Core DBA Interview Questions


Posted on: 2012-11-06 17:54:23 By: RameshVoora
Thank you Sir,

if possible try to send some answers..


am not getting ans for issues.

Some more on Oracle Apps DBA


Posted on: 2012-11-08 18:52:22 By: akr14feb
Oracle Application DBA 11i Interview Questions - I

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

The Following are the few of Apps DBA 11i interview question, PLease watch this
space for more question. These questions are intended to help newbee DBA to start
their career as Oracle Apps DBA.

Please provide your comments on usefulness on the below Q & A.


1. How to determine Oracle Apps 11i Version ?
Ans : select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME-----------------------11.5.10.2

2. How to find Database version ?


Ans :

SQL> select * from v$version;


The command returns the release information, such as the following:Oracle9i
Enterprise Edition Release 9.2.0.7.0 - ProductionPL/SQL Release 9.2.0.7.0 -
ProductionCORE 9.2.0.7.0 ProductionTNS for 32-bit Windows: Version 9.2.0.7.0 -
ProductionNLSRTL Version 9.2.0.7.0 - Production

3. How to find opatch Version ?


Ans : opatch is utility to apply database patch , In order to find opatch version
execute"$ORACLE_HOME/OPatch/opatch version"

4. How to find out invalid objects in the database


Ans : select count(*) from dba_objects where status ='INVALID'

5. How you will see hidden files in linux/solaris?


Ans : ls -la

6. How to find that the database is 64-bit/32-bit?


Ans : $RDBMS_ORACLE_HOME/bin/file oracle

7. What is top command?


Ans : top is a operating system command, it will display top 10 processes which are
taking high cpu and memory. 8. What is a patch?Ans : A patch can be a solution for
a bug/it can be a new feature.
9. What are the different types of patches?

Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

8. What is a oneoff patch?

Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s

9. What is a mini pack ?

Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I
10. What is Family pack ?

Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.
11. What is Maintanance pack ?

Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9
12. What is a Rollup patch?

Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

13. What is consilidated patch?

Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

14. How u will find whether a patch is applied/not?

Ans : Query ad_bugs.


15. What is the other table where u can query what are the patches applied?

Ans : Ad_applied_patches

16. What is the difference between ad_bugs and ad_applied_patches?

Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

17. How u apply a patch?

Ans : adpatch
18. What inputs you need to apply a patch other than driver name and etc?

Ans : apps and system passwords


19. What are the table u r adpatch will create and when?

Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it


will apply d,g and u drivers

20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

21. If it is a multinode installation which driver we need to apply on which node?

Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to


apply on all nodes.
22.While applying a application patch is that necessary that u r database and
listener should be up?

Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?

Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS


tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

24. What is adctrl?


Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.

25. Can u name some of the menu options in adctrl?


Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

26. How to skip a worker and why?

Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

27. How adpatch knows what are the pre-req�s for the patch which it is applying?

Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.

28. What is FNDLOAD ?


Ans: FNDLOAD is a utility which is similar to sqlloder but loads code objects into
database, where as SQLLOADER loads data objects into database.

29. What c-driver will do?


Ans:

C-drive copies the files from patch unzipped directory to required location in u r
application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.
30. How adpatch will know the file versions of the patch delivered files?
Ans:

With each patch a file with name f.ldt is delivered , which contain the file
versions of the files dilivered with the patch. Adpatch will use this file to
compare the file versions of files its delivering with the file on file system.

31. What is the adpatch log file location?


Ans : APPL_TOP/admin/SID/log

32. What is the worker log file name and its location?
Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

33. How u will know what are the files the patch is going to change just my
unzipping the patch?
Ans:

When u unzip a patch it will keep all the files related to a particular product
under that directory inside u r patch directory for example if the patch delivering
files related to FND product then it will create a sub directory under the patch
directory with the name FND in which it will put all related files to that product

34. What is the significance of backup directory under u r patch directory?


Ans:

When we apply a patch it will keep the copy of the files which its going to change
in file system.

35. What are the different modes you can run your adpatch?
Ans :

1.Interactive � default mode

2.Non interactive � Use defaults files to store prompt values

(adpatch defaultsfile= interactive=no)

3. Test � Without actually applying a patch just to check what doing.(adpatch


apply=no)

4. Pre-install � (adpatch preinstall=y)

This mode will be usefull to discrease upgrade downtime as its applies bus fixes
without running SQL,EXEC and generate portion of patch.

36. How u will monitor u r applications as well as database?


Ans:

We have our custom scripts which is sheduled to run at a specific time which will
monitor whether applications and databases are up/not. And it will mail us if some
processes is not running. And we have one script which will check database alert
log for ORA errors and mails it to us . Based on this we will react.
37. What are the latest ORA errors u have encountered?
Ans:

Useually we will get the ORA errors like unable to extend the tablespace by so and
so size. And we will check those tablespaces for space, if space is not there we
will resize the datafile and add one more datafile.

38. Which table u will query to check the tablespace space issues?
Ans : bytes column in dba_free_spaces and dba_data_files

39. Which table u will query to check the temp tablespace space issues?
Ans : dba_temp_files

40. What is temp tablespace? And what is the size of temp tablespace in u r
instances?
Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.

41. What is autoconfig?


Ans : Autoconfig is an adutility which is used to main application environment and
configuration files.

42. What are the parameter autoconfig will ask for?


Ans : Context file name and apps password

43. What is context file?


Ans : Context file is a central repositary, which stores all application
configuration information. The name is like _ .xml

44. How you will find autoconfig is enabled/not for u r applications?


Ans: 1. Open any env / configuration files, the first few lines will tell u that
this files are maintained by autoconfig.2. If contextname.xml file is there in
APPL_TOP/admin

45. How autoconfig will create env and configuration files?


Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.

46. In how many phases autoconfig will run?


Ans : Autoconfig will run in 3 phases.

1.INIT � Instantiate the drivers and templates

2.SETUP � Fill the templated with values from xml and create files

3.PROFILE � Update the profile values in database.

47. What is the location of adconfig log file?


Ans : APPL_TOP/admin//log/
48. Is it possiable to restore a autoconfig run?
Ans :

Partially. Adconfig will create a restore.sh script at $APPL_TOP/admin//out/. This


restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.

49. How to run autoconfig in test mode?


Ans :

adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test mode and
create the difference file which tells us what is going to change , when u actually
run autoconfig.

50. How to find autoconfig is enabled or not for database?


Ans:

If we have appsutil directory under RDBMS_ORACLE_HOME

51. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?
Ans : j.zip52.

52.What is apps.zip/appsbrog2.zip file?


Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files
required for oracle application.Apps.zip was used to old application version, but
from 11.5.8 onwards its appsbrog2.zip

53. What is the location of apps.zip/appsbrog2.zip?


Ans : AU_TOP/java and JAVA_TOP

54. What is for �validating apps schema� option in adadmin?


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

55. What is �compile apps schema� option in adadmin?


Ans : It will compile the invalid database objects.

56. How to find invalid objects in database?


Ans : select count(*) from dba_objects where status=�INVALID�;

57. 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.

58. 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.
59. 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).

60. What is Multi-Org?


Ans: If this is enabled we can store multiple organization information in a single
oracle application instance.

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

62. 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.

63. How to find the version of a file?


Ans : 1. adident Header 2. strings -a filename grep Header

64. What is adodfcmp utility?


Ans : This utility is used to recreate/repair corrupted database objects from
odf(object defination files) files.

65. How you will change apps password?


Ans: FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS

66. What if apps password is changed with alter command?


Ans : Applications won�t work.

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

67. Where the FNDCPASS utility is located?


Ans : Concurrent node @FND_TOP/bin

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

69. How to find the version of httpd/Apache web server?


Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version

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

71. Where you will see when you have some problem with u r webserver(httpd/Apache)?
Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs

72. When Apache starts what other components its start ?


Ans : PL/SQL Listener, Servlet Engine, OJSP Engine

73. 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.

74. What is self service application?


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

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

76. What is the location of jserv.log?


Ans : IAS_ORACLE_HOME/Apache/Jserv/log

77. What is the location of wdbsvr.app ?


Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg

78. What are jserv.conf and jserv.properties files?


Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.

79. What is mean by clearing cache and bouncing apache?


Ans :

1. Stop apache (adapcctl.sh stop apps)

2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html directory

(rm �r _oa__html)

3. Start apache (adapcctl.sh start apps)

80. What is forms configuration file and its location?


Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin

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

82. What is the difference beween socket and servlet mode?


Ans :

In socket mode forms sessions are represented by f60webmx


In servlet mode forms sessions are represented by apache processes.

83. What is forms metric server and client?


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

84. Where the forms server related errors will be logged?


Ans : access_log and error_log

85. What is report server configuration and log file name and its location?
Ans : Configuration file � REP_.ora

Log file � REP_.log @806_ORACLE_HOME/reports60/server

86. What is CGIcmd.dat file and its location?


Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server

87. What is the significance of DISPLAY variable?


Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in Reports.

88. Where is the concurrent manager log file located?


Ans : $COMMON_TOP/admin//log or $APPLCSF/$APPLLOG

89. Is apps password necessary to start all the components of oracle application?
Ans : No. Only to start/stop concurrent managers apps password is needed.

90. What is a concurrent manager?


Ans : A concurrent manager is one which runs concurrent requests.

91. What are the different types of concurrent managers?


Ans :

1. Internal concurrent manager � Will start all other managers and monitor

2. Standard Manager � All concurrent request by default will to go this

3. Conflict resolution manager � Concurrent programs with incompatabilites will be


handled by this

4. Transaction manager � Handle all transaction requests

92. What are actual and target count in �Adminster Concurrent Managers form�?

Ans : Target is the no. of concurrent processes a manager is supposed to


start(specified in the defination of concurrent manager).Actual is the no. of
processes a manager started actually.
Target and Actual should be always same.

93. What if Target and Actual are not same?


Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.

94. What are work shifts?


Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

95. What if internal concurrent manager target and actual are not same?
Ans : we need to bounce the concurrent manager using adcmctl.sh

96. How to bounce a single concurrent manager?


Ans : From frontend using �Administer Concurrent Manager form�.

97. When we change apps password , is it necessary to bounce application?


Ans : Only we need to bounce concurrent managers.

98. What is 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

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

100. What is the configuration file for PL/SQL listener?


Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

101. How to skip copy portion while applying a patch?


Ans : Adpatch options=nocopyportion

102. How to merge patches and what type of patches can be merged?
Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv

103. What is the Tiered architecture of u r instance?


Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.

104. How to find formserver version?


Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.

105. 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 request form�.

106. What is apps listener?


Ans : Apps lintener 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�.

107. 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.

108. How to find the application version like 11.5.8/11.5.9�.?


Ans : select release_name from fnd_product_groups;

109. How to find the database/sqlplus version?


Ans : select banner from v$version;

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

111. What is the size of u r database?


Ans : 200 to 500 GB

112. How to find operating system version?


Ans : uname �a

113. 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.

114. 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.

115. 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.

116. How to kill a database session?


Ans : alter system kill session '&sid,&sno';

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

118. Which files tell u the database helath?


Ans : alert log file @RDBMS_ORACLE_HOME/admin//bdump

119. How to apply a rdbms patch?


Ans : Using opatch

120. How to find opatch is enabled or not for u r database?


Ans : If Opatch directory exists under RDBMS_ORACLE_HOME.

121. What is the pre-req for applying a rdbms patch?


Ans : Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc

122. What is Inventroy?

Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)'s
bookkeeping. The inventory stores information about: All Oracle software products
installed in all ORACLE_HOMES on a machine 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.

123. What are different types of inventories?


Ans:

The Global inventory (or Central inventory) The Local inventory (or Home inventory)

124. 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
de-installer in order to keep the Global Inventory synchronized.

125. 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.

126. 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

127. 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.

128. Explain the cloning process?

Ans :
1. Run adpreclone as applmgr and oracle user on source Perl adpreclone.pl dbTier as
oracle user Perl adpreclone.pl appsTier as applmgr user

2. Take the cold/hotbackup of source database

3. Copy the five directories appl,comn,ora , db,data to target

4. Rename the directories, and change the permisssion

5. Set the inventory in oraInst.loc

6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold

7. If the backup type is hotbackup then Perl adcfgclone.pl dbTechStack. Create the
control file on target from the control script trace file from source Recover the
database Alter database open resetlogs

8. Run autoconfig with the ports changed as per requirement in xml.

9. Run perl adcfgclone.pl appsTier as applmgr

10. Run autoconfig with the ports changed as per requirement in xml.

129. What is the location of adpreclone.pl for oracle user?


Ans : RDBMS_ORACLE_HOME/appsutil/scripts/

130. What is the location of adpreclone.pl for applmgr user?


Ans : $COMMON_TOP/admin/scripts/
131. What is the location of adcfgclone.pl for oracle user?
Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin

132. What is the location of adcfgclone.pl for applmgr user?


Ans : $COMMON_TOP/clone/bin

133. What is statspack?


Ans : Statspack is a database utility to gather database and session level
performance information.

134. How to install statspack?


Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin
Note more details on statspack refer metalink noteid: 149113.1

135. How to enable trace at database level?


Ans : set init.ora parameter sql_trace

136. How to enable trace for a session?


Ans: Alter system set sql_trace=true;

Execute the sql query

Alter system set sql_trace=false;

This will create a trace file at

$RDBMS_ORACLE_HOME/admin/contextname/udump with the spid of the current sql


session.

137. How to enable trace for other session?


Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)
Eg: To enable trace for sql session with sid 8SQL> exec
sys.dbms_system.set_sql_trace_in_session(8,121,true);

PL/SQL procedure successfully completed.


To disable trace

SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);

138.What is the location of inint.ora ?


Ans : $RDBMS_ORACLE_HOME/dbs
139. What is that trace files contains and the utiliy used to read them?

Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.

140. What is the syntax for tkprof?


Ans: tkprof explain=apps/ sys=no

141.How do we find adpreclone is run in source or not ?


Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user
and $COMMON_TOP for applmgr user.

143. How to find trace file for a given concurrent request id?
Ans : Go to $RDBMS_ORACLE_HOME/admin//udump

grep � � *

144. What is a database link? How to create it?

Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.
1.Login as oracle user

2.sqlplus �/as sysdba�

3. create database link connect to identified by using '';


Ex
SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps using
'TEST2';
Database link created.
SQL> select name from v$database@ TEST1_TO_TEST2;
NAME

---------

TEST2

SQL>select db_link from dba_db_links;

4. Add destination database tns entry in tnsnames.ora

145. How many clonings u have done?


Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise
just 2 or 3.

146. What u know abt RMAN?


Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.

147. What is netapp?


Ans : Netapp is a storage technology.

148. What is formserver url?


Ans :http://hostname.domain:/dev60cgi/f60cgi
149. 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.

150. What is discoverer server?


Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.

151. What is discoverer viewer url?


Ans: /discoverer4i/viewer152. What is discoverer plus url?
Ans : 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: /OA_HTML/jsp/fnd/aoljtest.jsp

154. What is adsplicer?


Ans : Adsplicer is a uitility used to register off cycle products.

155. What is licence manager?


Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.

156. 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.

158. How to compile a form using f60gen?Ans :


f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS
output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special

160. 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. 161. What is
mean by enabling maintanance mode?
Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.

162. Is that necessary to enable maintanance mode while applying a patch?

Ans : We can even apply a patch without enabling maintanance mode with the
following option
Adpatch options=hotpatch

163. How to find out oracle application framework version?

Ans : 1. Through aoljtest2. cd $COMMON_TOP/html/3. adident Header OA.jsp

164. 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 are applied to this oracle home.

165. Is that necessary to shutdown database while applying a database patch?


Ans : Yes.

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


Ans : CONSUB

167. 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.

168. How you will find out discoverer version?


Ans : cd $806_ORACLE_HOME/discwb4/lib strings libd* grep 'Version:'

169. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?

Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:
Opatch apply no_inventory

172. Have you applied rdbms patches and for what?

Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.

173. What are the patch errors , you have encountered?


Ans :

1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.

2) Unable to generate jar files under JAVA_TOP AutoPatch error: Failed to generate
the product JAR files Solution:Run adjkey -initialize -----------to creat
identitydb.obj file which will beused by adjava to sign jar files.

174. What is adjkey? What files it will create?


Ans : adjkey is an adutility which will create digital signature, which will be
used to sign all t" admin?
mailto:adsign.txt@APPL_TOP>adsign.txt@APPL_TOP/adminappltop.cer@APPL_TOP/adminident
itydb.obj@applmgr home

175. What are the post installation task?


Ans : Running adjkey �initialize and then runnning adadmin to regerate jar files.

177. What are the clone errors, you have encountered?

Ans : Error:
RC-50013: Fatal: Failed to instantiate
driver/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drvCauseThe source
instance has files that adpreclone flags as 'autoconfigable' but in reality they
are not. So adpreclone.pl adds these files into the instconf.drv. Then when
adcfgclone.pl is run on target it looks for the template file to instantiate for
these files and since there isn't a template file adcfgclone.pl fails.
SolutionModify the target's instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl

178. What are the real time problems you have encountered and how you trouble
shooted that?
Ans:1. Concurrent Program is erroing out with snapshot too old error. To resolve
this we have added space to temp tablespace.2. Concurrent Program is erroing out
with unable to extent a perticular tablespace by so and so extents. To resolve this
we have added on more data file to that tablespace.3. When we are trying to start
apache with adapcctl.sh script after a autoconfig run, its saying that �node id is
not matching with the application server id�. To resolve this we have updated the
server id column in fnd_nodes table with the server id value in dbc file.

179. How you will find workflow version?


Ans : Run wfver.sql@FND_TOP/sql script as apps user

180 . When forms are running in servlet mode then the environment variables
required for forms must be defined in what file and its location?
Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.

181. How to find out which patch driver is applied(like c,d,g or u)?
Ans: query ad_patch_drivers.

182. How to find out whether a language patch is applied for a perticular patch?
Ans : Query ad_patch_driver_langs.

183. How to validate that sysadmin password is correct or not from backend?
Ans: select fnd_web_sec.validate_login('SYSADMIN','Qwert8765') from dual;

184. How to compile jsp's(other than from adadmin)?

Ans: Force compilation of all jsps using the following command ojspCompile.pl
--compile --flush

185. How to rotate logs for apache logs?

Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.

186. Other way of checking whether MRC is enabled or not besides using adadmin?

Ans : select multi_currency_flag from fnd_product_groups;

187. How to compile rdf?


Ans: Either using adadmin or rwcon60

189. How to change file/directory owner in linux/solaris?


Ans : chown - R :
Ex: chown - R applmgr:dba testappl

190. How to change the permission of file/directory in linux/solaris?


Ans : chmod �R
Ex : chmod �R 755 testappl
191. What are the files which contain apps password?
Ans :

1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg

2. CGIcmd.dat@806_ORACLE_HOME/reports60/server

3. wfmail.cfg@FND_TOP/resource - optional

4. CatalogLoader.conf@OA_JAVA - optional

5. CatalogLoader.xml@OA_HTML - optional

192. What is the script to find out ICM status?


Ans : afimchk.sql@FND_TOP/sql

193. What is the script to list the concurrent request status?


Ans: afrqrun.sql@FND_TOP/sql

194. What is the script that Lists managers that currently are running a request?
Ans : afcmrrq.sql@FND_TOP/sql

195) How can I determine whether a template is customizable or non-customizable?

Ans : If a keyword "LOCK" is present at the end of the file entry in the respective
driver, then it is a non-customizable template. If the "LOCK" keyword is not seen,
then that template can be customized.
196) How to find out JDBC version :

Ans : In the middle tier, edit the jserv.properties file located in the
IAS_ORACLE_HOME/Apache/Jserv/etc directory- Locate the wrapper.classpath that is
pointing to the jdbc zip file/opt/oracle/apps/$TWO_TASK/comn/java/jdbc14.zip

197)How to findout XML Parser Version

Ans : SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION from sys.dual;

198)How to find out WorkFlow Version

Ans :

SQL> select TEXT Version from WF_RESOURCES where TYPE = 'WFTKN' and NAME =
'WF_VERSION';

199) How to find a file version in Application DB:


select v.version,v.CREATION_DATE,c.CREATION_DATE from AD_FILES c,AD_FILE_VERSIONS v
where c.FILENAME like 'ARPURGEB.pls' AND c.file_id = v.file_id AND c.app_short_name
= 'AR';

When a copy driver (C) or the copy portion of a unified driver (U) are aborted for
any reason, upon reapplying, the CREATION_DATE and/or LAST_UPDATE_DATE columns in
the patching history tables (Ex: AD_FILE_VERSIONS)are not updated to show the
proper installation date but are left with the 01-01-1950 date. you can resolve the
issuse by applying the latest ad.I patch.

200) How to check whether the product is install,shared and Not installed in Apps.?
Ans :

SQL>select t.application_name, t.application_id, i.patch_level,


decode(i.status,�I',�Fully Installed�,�N�,'Not
Installed�,'S�,'Shared�,'Undetermined�) statusfrom fnd_product_installations i,
fnd_application_vl twhere i.application_id = t.application_idorder by
t.application_id;

1)I am applying a patch , can I open another session and run adadmin ?
Ans:
Yes, unless you are running a process where workers are involved

2)I am applying a patch , can I open another session in another node and run
adpatch?
Ans:
No

Q)What is your day to day activity as an Apps DBA?


Ans:
As an Apps DBA we monitor the system for different alerts (Entreprise Manager or
third party tools used for configuring the Alerts) Tablespace Issues, CPU
consuption
Database blocking sessions..etc
Regular maintanance activies like cloning,patching,custom code migrations (provided
by developers)
Working with user isses.

Q)How often Do you patch?


Ans: Usually for non-production the patching request comes aroung weekly 4-6 and
the same patches will be applied to Production in the outage or maintanance window.
Production has weekly maintance window (Eg Sat 6PM to 9PM) where all the changes
(patches) will applied on production.

Q)How often Do you clone?


Ans: Cloning happens biweekly or monthly depending on the organization
requierement.

Q)What change control/management or CCB?


Ans: Every organization has change control process, Change control process is no
change goes into production witout proir testing on non-production instance.
Eg: If a user encouters an issue in production instance and the fix for the issue
is known, Still the fix should not be applied directly on production, as it is not
tested.
The same fix need to be first applied on a non-prod instance where the similar
issue is happening and test the issue and instance stability.
Once user is happy with the results the change or fix will be implemented to
production with the approval from Change control Board, CCB is a managemant team
who reviews all the changes being deployed to production,
Depending on the need and criticality and testing results they approve the change
movement to production instance.

Q)How much time does it take to upgrade, clone ?


Ans: Clone usually takes around 48hrs to copy and configure and upgrade depends on
the database size and module involved.
upgrade from 11.5.9 to 11.5.10.2 will take around 3-4 days and 11i to R12 upgrade
will take around 4-5 days.

Q)What is the meaning QA,CRP,SIT,DEV,UAT,PRE-PROD,PROD Instance?


QA - Tesing Instance
CRP - Conference Room Pilot
SIT - System Integration Testing
DEV - Developement
UAT- User Acceptence Testing
STAGE - Pre-production Instance
Prod - Production/actuall instance where the business is running

Q)What do we have in FND_NODES?Ans:


FND_NODES table contains information about node_names and services enabled on a
node.
In multinode instance if you want to know which node is running what services, You
can query the fnd_nodes and get that information.

Q)when do we run FND_CONC_CLONE.SETUP_CLEAN ?


Ans:
FND_NODES table contains node information, If you have cloned test instance from
production still the node information of production will be present after clone in
the test instance.
we use FND_CONC_CLONE.SETUP_CLEAN to cleanup FND_NODES table in the target to clear
source node information as part of cloning.
Below syntax to execute:
SQL> sho user
USER is "APPS"
SQL> EXEC FND_CONC_CLONE.SETUP_CLEAN;
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.

This will delete all the entries in the fnd_nodes table, to populate it with target
system node information, Run autoconfig on DB node and Applications node.

Q)How verify the sysadmin password from command line?


Ans:
This utility can be used to verify the GUEST/ORACLE password
SQL>select fnd_web_sec.validate_login('SYSADMIN','')from dual;
If it returns Y then sysadmin password is correct
If it returns N then sysadmin password that we are using
Eg:
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN123') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN123')
--------------------------------------------------------------------------------
N
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN')
--------------------------------------------------------------------------------
Y

Q)List out few Apps related tables ?


Ans:
CONCURRENT REQUEST/PROGRAM/MANAGERS
-------------------
FND_CONCURRENT_QUEUES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_QUEUE_SIZE

FND/AOL Tables
--------------
FND_APPL_TOPS
FND_LOGINS
FND_USER
FND_DM_NODES
FND_TNS_ALIASES
FND_NODES
FND_RESPONSIBILITY
FND_DATABASES
FND_UNSUCCESSFUL_LOGINS
FND_LANGUAGES
FND_APPLICATION
FND_PROFILE_OPTION_VALUES

AD/Patches
-------------
AD_APPLIED_PATCHES
AD_PATCH_DRIVERS
AD_BUGS
AD_INSTALL_PROCESSES
AD_SESSIONS
AD_APPL_TOPS

Q) How To find the latest application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE updated,ROW_SOURCE_COMMENTS "how it is done",BASE_RELEASE_FLAG
"Base version" FROM AD_RELEASES where END_DATE_ACTIVE IS NULL

Q) How to find out if any patch except localisation patch is applied or not, if
applied, that what all drivers it contain and time of it's application
select A.APPLIED_PATCH_ID, A.PATCH_NAME, A.PATCH_TYPE, B.PATCH_DRVIER_ID,
B.DRIVER_FILE_NAME, B.ORIG_PATCH_NAME, B.CREATION_DATE, B.PLATFORM, B.SOURCE_CODE,
B.CREATIONG_DATE, B.FILE_SIZE, B.MERGED_DRIVER_FLAG, B.MERGE_DATE from
AD_APPLIED_PATCHES A, AD_PATCH_DRIVERS B where A.APPLIED_PATCH_ID =
B.APPLIED_PATCH_ID and A.PATCH_NAME = ''

Q) How to know that if the patch is applied successfully, applied on both node or
not, start time of patch application and end time of patch application, patch top
location , session id ... patch run id */
select D.PATCH_NAME, B.APPLICATIONS_SYSTEM_NAME, B.INSTANCE_NAME, B.NAME,
C.DRIVER_FILE_NAME, A.PATCH_DRIVER_ID, A.PATCH_RUN_ID, A.SESSION_ID, A.PATCH_TOP,
A.START_DATE, A.END_DATE, A.SUCCESS_FLAG, A.FAILURE_COMMENTS from AD_PATCH_RUNS A,
AD_APPL_TOPS B, AD_PATCH_DRVIERS C, AD_APPLIED_PATCHES D where A.APPL_TOP_ID =
B.APPL_TOP_ID AND A.PATCH_DRIVER_ID = C.PATCH_DRIVER_ID and C.APPLIED_PATCH_ID =
D.APPLIED_PATCH_ID and A.PATCH_DRIVER_ID in (select PATCH_DRIVER_ID from
AD_PATCH_DRIVERS where APPLIED_PATCH_ID in (select APPLIED_PATCH_ID from
AD_APPLIED_PATCHES where PATCH_NAME = '')) ORDER BY 3;

Q) Howto find the base application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE when updated, ROW_SOURCE_COMMENTS "how it is done" from
AD_RELEASES where BASE_RELEASE_FLAG = 'Y'

Q) How To find all available application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE when updated, END_DATE_ACTIVE "when lasted", CASE WHEN
BASE_RELEASE_FLAG = 'Y' Then 'BASE VERSION' ELSE 'Upgrade' END "BASE/UPGRADE",
ROW_SOURCE_COMMENTS "how it is done" from AD_RELEASES

Q) How To get file version of any application file which is changed through patch
application
select A.FILE_ID, A.APP_SHORT_NAME, A.SUBDIR, A.FILENAME, max(B.VERSION) from
AD_FILES A, AD_FILE_VERSIONS B where A.FILE_ID = B.FILE_ID and B.FILE_ID = 86291
group by A.FILE_ID, A.APP_SHORT_NAME, A.SUBDIR, A.FILENAME

Q) How To get information related to how many time driver file is applied for bugs
select * from AD_PATCH_RUN_BUGS where BUG_ID in (select BUG_ID from AD_BUGS where
BUG_NUMBER = ''

Q) How To find latest patchset level for module installed


select APP_SHORT_NAME, max(PATCH_LEVEL) from AD_PATCH_DRIVER_MINIPKS GROUP BY
APP_SHORT_NAME

Q) How To find what is being done by the patch


select A.BUG_NUMBER "Patch Number", B. PATCh_RUN_BUG_ID "Run Id",D.APP_SHORT_NAME
appl_top, D.SUBDIR, D.FILENAME, max(F.VERSION) latest, E.ACTION_CODE action from
AD_BUGS A, AD_PATCH_RUN_BUGS B, AD_PATCH_RUN_BUG_ACTIONS C, AD_FILES D,
AD_PATCH_COMMON_ACTIONS E, AD_FILE_VERSIONS F where A.BUG_ID = B.BUG_ID and
B.PATCH_RUN_BUG_ID = C.PATCH_RUN_BUG_ID and C.FILE_ID = D.FILE_ID and
E.COMMON_ACTION_ID = C.COMMON_ACTION_ID and D.FILE_ID = F.FILE_ID and A.BUG_NUMBER
= '' and B.PATCH_RUN_BUG_ID = ' < > ' and C.EXECUTED_FLAG = 'Y' GROUP BY
A.BUG_NUMBER, B.PATCH_RUN_BUG_ID, D. APP_SHORT_NAME, D>SUBDIR, D.FILENAME,
E.ACTION_CODE

Q) How To find Merged patch Information from database in Oracle Applications


select bug_number from ad_bugs where bug_id in ( select bug_id from
ad_comprising_patches where patch_driver_id =(select patch_driver_id from
ad_patch_drivers where applied_patch_id =&n) );
Q) How toto know, what all has been done during application of PATCH
Select J.PATCh_NAME, H.APPLICATIONS_SYSTEM_NAME Instance_Name, H.NAME,
I.DRIVER_FILE_NAME, D.APP_SHORT_NAME appl_top,D.SUBDIR, D.FILENAME, max(F.VERSION)
latest, E.ACTION_CODE action from AD_BUGS A, AD_PATCH_RUN_BUGS
B,AD_PATCH_RUN_BUG_ACTIONS C, AD_FILES D, AD_PATCH_COMMON_ACTIONS E,
AD_FILE_VERSIONS F, AD_PATCH_RUNS G,
AD_APPL_TOPS H, AD_PATCH_DRIVERS I, AD_APPLIED_PATCHES J where A.BUG_ID = B.BUG_ID
and
B.PATCH_RUN_BUG_ID = C.PATCH_RUN_BUG_ID and C.FILE_ID = D.FILE_ID and
E.COMMON_ACTION_ID = C.COMMON_ACTION_ID
and D.FILE_ID = F.FILE_ID and G.APPL_TOP_ID = H.APPL_TOP_ID and G.PATCH_DRIVER_ID =
I.PATCH_DRIVER_ID and
I.APPLIED_PATCH_ID = J.APPLIED_PATCH_ID and B.PATCH_RUN_ID = G.PATCH_RUN_ID and
C.EXECUTED_FLAG = 'Y' and
G.PATCH_DRIVER_ID in (select PATCH_DRIVER_ID from AD_PATCH_DRIVERS where
APPLIED_PATCH_ID
in (select APPLIED_PATCH_ID from AD_APPLIED_PATCHES where PATCH_NAME = 'merged'))
GROUP BY J.PATCH_NAME, H.APPLICATIONS_SYSTEM_NAME, H.NAME, I.DRIVER_FILE_NAME,
D.APP_SHORT_NAME, D.SUBDIR,
D.FILENAME, E.ACTION_CODE
Q) How to find out Patch level of mini Pack
Select product_version,patch_level from FND_PROUDCT_INSTALLATIONS where patch_level
like '%&shortname%';
Replace short name by name of Oracle Apps Minipack for which you want to find out
Patch level . ex.
AD - for Applications DBA
GL - for General Ledger
PO - Purchase Order

Q)List out Profile Options Useful for Oracle Apps DBA?


Here is the list of few profile options which Apps DBA use frequently.
**It is not necessary that you as Apps DBA must know all profile options**
Applications Help Web Agent
Applications Servlet Agent
Applications Web Agent
Concurrent: Active Request Limit
Concurrent: Hold Requests
Concurrent: Multiple Time Zones
Concurrent: Report Access Level
Concurrent: Report Copies
Concurrent: Request priority
Database Instance
Enable Security Group
FND: Debug Log Filename
FND: Debug Log Level
Forms Runtime Parameters
Gateway User ID
ICX: Discoverer Launcher
ICX: Forms Launcher
ICX: Report Launcher
ICX: Limit Connect
ICX: Limit time
ICX: Session Timeout
MO Operating Unit
Node Trust Level
RRA: Delete Temporary Files
RRA: Enabled
RRA: Service Prefix
RRA: Maximum Transfer Size
Self Service Personal Home Page Mode
Sign-On: Audit Level
Signon Password Failure Limit
Signon Password Hard to Guess
Signon Password Length
Signon Password No Reuse
Site Name
Socket Listener Port
TCF: Host
TCF: Port
TWO TASK
Viewer: Text

Some more
Posted on: 2012-12-23 09:53:14 By: akr14feb
1. What is a snapshot? In which table we get Information?
2. How will check Apache is working in Front-end and Back End
3. Write down the methods to identify whether the application is in maintenance
mode or not
4. What is the result of unsetting APPLCSF
5. How are the AOL Developers Environment variables set
6. How do we get access to the initial sigon to application?
7. From where are the Report files picked up for execution
8. Where are the Reports plsql files located
9. Which ORACLE HOME is used by ad utilities
10. Which file contains the product dependencies information
11. When apps password is given wrong for adstpall.sh, what is the effect on the
services
12. What are the Various Statuses of Workers
13. How do you restart a failed patch process
14. What are the table/tables created when workers are initiated and in which
schema
15. Create defaults file for �Compile Apps Schema�
16. Execute �Compile Apps Schema� in noninteractive mode
17. Where are the custom files placed
18. Difference between ad_bugs and ad_applied patches
19. What happened Relink adslpice and adpatch?
20. What are Oracle Apps DBA Important Tables we use in daily activities?
21. What is .lct and .ldt files in Patch Directory?
22. What are the tables updated when you apply application patch?
23. Can you apply Opatch without inventory? If there is no inventory, how do you
apply Opatch?
24. What are the tables get created during Apps Patching?
25. How do you hide apps password during adpatching? (adpatch flags=hidepw)
26. What is interoperability patch
27. How do you compile jsp files?
28. Types of profile options?
29. Opatch log file location?
30. How do you clone a context file or how do you change existing port pool?
31. How do you run autoconfig in test mode?
32. What are mandatory users in oracle apps?
33. What is the location of apache and plsql cache?
34. What is adlicmgr ?
35. When do you relinking?
36. What is DAD?
37. How do you compile a schema?
38. What is the utility to clean the concurrent manager tables?
39. How do you stage the 11.5.10 Apps software?
40. ADPATCH has failed and it indicated there was an error with a worker. What
steps can be taken to investigate this problem?
41. How can I check to see if a concurrent manager is running?
42. Where do concurrent request or manager logfiles and output files go?
43. What is the function of the �Conflict Resolution Manager�?
44. Unable to Bring Up Concurrent Manager after Running Autoconfig.
45. When should I run AutoConfig?
46. Which files / profile options get changed when I run AutoConfig?
47. What is cloning?
48. How do I determine if my system is Rapid Clone enabled?
49. Can I clone from one operating system version to another?
50. Can I change the database dbf files layout while cloning?
51. What is the difference between Concurrent Requests, Programs, and Processes
52. What is iAS Patch?
53. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for you?
54. When you apply C driver patch does it require database to be Up & Why?
55. What are the important options to reduce patch down time?
56. Can you apply patch without putting Applications 11i in Maintenance mode?
57. What is difference between adpatch & opatch? Can you use both adpatch & opatch
in Apps?
58. Why do I have invalid objects? What causes them? How you identify them ?
59. Is there a file that lists all of the patches that have been applied to the
application?
60. What is the difference between apps listener & web listener?
61. Why only for Concurrent Manager, we specify apps/apps password & not for other?
62. What�s the significance of batch size? What r the effects when we increase r
decrease the batch size it defaults to 1000.
63. What is the purpose of using the option Phtofile in adpatch?
64. How do I configure AutoConfig for a multi-node system?
65. How do you identify the No. of nodes in Middle tier and db Tier
66. What is a Shared APPL_TOP? How do you identify whether it is a shared appl_TOP
or not?
67. What is a Jinitiator? (Jinitiator is the Oracle JVM used to run the applet
instead of using browsers own JVM)
68. Where would i find .rf9 file, and what exactly it dose?
69. What is .dbc file, where its stored , what�s use of .dbc file ?
70. What is the use of adident utility ?
71. What is adsplice utility ?
72. How can you licence a product after installation ?
73. What is access_log in apache , what entries are recored in access_log ? Where
is default location of this file ?
74. How to determine Oracle Apps 11i Version ?
75. What is PCP is Oracle Applications 11i ?
76. How to convert pll to pld file or pld file to pll ?
77. Where are the Application usrs details stored?
78. How to find plsql version?
79. When do you use startmgr.sh script? Where its locate?
80. What is the yellow Bar Issues?

some more
Posted on: 2013-04-09 09:10:35 By: akr14feb
http://www.appsdbatraining.com/2011/03/17/oracle-apps-dba-interview-questions-vi/

some more
Posted on: 2013-06-17 21:47:10 By: akr14feb
http://oracle-latest-technology.blogspot.in/2011/03/apps-dba-tutorial-01-
concurrent-manager.html

Some more
Posted on: 2013-06-27 18:17:06 By: akr14feb
http://www.appsdbatraining.com/2013/03/25/oracle-apps-dba-r12-interview-questions/?
fb_action_ids=3268953420302&fb_action_types=og.likes&fb_ref=below-
post&fb_source=other_multiline&action_object_map=%7B
%223268953420302%22%3A497420333656343%7D&action_type_map=%7B%223268953420302%22%3A
%22og.likes%22%7D&action_ref_map=%7B%223268953420302%22%3A%22below-post%22%7D

Oracle Database Administration Scripts | DBA Bundle


Posted on: 2014-02-24 05:33:12 By: aothman
Dears,
This tool call it the DBA Bundle , it�s a tar file contains a group of most useful
shell scripts that help the database administrator in the day to day tasks in a
smart, safe and easy way, some of these scripts are old but it still doing it�s job
efficiently :-)

http://dbamind.wordpress.com/2014/02/16/oracle-database-administration-scripts-dba-
bundle/
http://www.youtube.com/watch?v=Zw4liZDvgLk

Re: Some more


Posted on: 2014-04-02 00:34:27 By: akr14feb
Few questions i remember:

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

1) adpatch - preinstall mode purpose

2) question on Gather schema statistics

3) RAC failover (at concurrent request level)

4) SQL profiling/tuning

5) R12.2 latest features

6) how to reduce patching downtime at R12 upgrade stage

7) post clone steps

8) long running concurrent request issue --- how to troubleshoot

9) active database feature 11g

10) RMAN catalog, nocatalog difference

11) RMAN recovery scenarios

12) questions on weblogic

13) cloning - multinode to singlenode how do u do ?

14) adpreclone.pl dbTier & appsTier --- what happens in background & same with
adcfgclone.pl

15) shared application tier

16) how do u speed up patching process in shared application tier - Distributed AD

17) dataguard configuration

18) SSO/OID --- how to configure,deconfigure

19) migrate database from Non-ASM to ASM

20) cloning - dbTechStack

21) if you don't know apps passwd, then how do u proceed?

22) Apps login flow

23) after running cmclean.sql do u run autoconfig?

24) if db is down, can u connect to RMAN ?


25) if users unable to login into front end apps,then how do u troubleshoot?

26) issues faced during db upgrade process ? (asked abt some unique constraint
error)

27) adpatch options

28) how do u come to conclusion whether u need to apply a patch in hotpatch or cold
mode ?

29) scan feature in RAC

30) startup/stop sequence --- db,asm,nodeapps,cluster

31) how to build asm instance from scratch ?

Re: Some more


Posted on: 2014-05-25 11:08:16 By: akr14feb
what are space management issues ? for apps

what are user management issues ? for apps

Q) Tell me about last project and your oracle expirience ?

Q) what are your responsibilities on daily basis ? weekly and monthly ?

Q ) Explain about your change control/management process ?

Q) what are the modules you supported ?

Q) DId you use any ticketing system ?

Q) Did you work in Production Enviorment ? explain the Procedure of some tasks
acheived ?

Q) Explain about your team ?(number of apps dba , their roles and responsibilites)

Q) what are the meetings you are involved in day to day activities ? (weekly
meetings,monthly meetings)

Q) Do you have global users ? Number of global users you supported ?

Q) Explain any issue what you trouble shooted with Global users ?

Q) How many concurrent managers are there ? how did you come up with the right
number of concurrent managers ? who are involved in this process

Q) How good are you in Performance tunning ? on Apps side ,

please explain

Q) what are the tools you used for migration of apps objects Explain?

Q) DId you work on code migration on all the instances ? (dev ,and Prod) explain
the procedure?

Q) How many Instances were you supporting ?

Some more
Posted on: 2014-06-15 11:04:09 By: akr14feb
Apps DBA Interview Questions

Q: Why we need to put maintenance mode when we are applying a patch ?

A: Maintenance mode provides a clear separation between normal runtime operation of


Oracle Applications and system downtime for

maintenance. Enabling the maintenance mode feature shuts down the Workflow Business
Events System and sets up function security so

that no Oracle Applications functions are available to users. Used only during
AutoPatch sessions, maintenance mode ensures

optimal performance and reduces downtime when applying a patch. For more
information, refer to Preparing your System for Patching

in Oracle Applications Maintenance Utilities.

Q: After applying patch why we need to take snapshot and what is the use of it ??
A: Snapshot is a view of the system at specific time. In apps, Patch Wizard uses
Global snapshot to determine which patches have

been applied to the system and Autopatch uses APPL_TOP snapshot to determine what
patches have been applied to that APPL_TOP.

Snapshot actually records the list of files,file versions and bug fixes. Both
snapshot are views, they are created once during

installation and then updated during patching. APPL_TOP snapshot information is


stored in the AD_SNAPSHOTS, AD_SNAPSHOT_FILES, and

AD_SNAPSHOT_BUGFIXES tables

Q: Whether we can apply 2 patches at a time without merging them, why ??

A: We can�t apply 2 patches at a time because when patch started it will create 2
tables in db (AD_DEFERRED_JOBS AND

FND_INSTALL_PROCESSES). If you apply patches at a time both will try to create


those 2 tables in db, so both will fail.

Q. After applying patch whether we can revert it back ?

A: No, as it is going to update some tables in db.

Q. Whether we need to run adpreclone everytime when we clone, why ?

A: We have to run adpreclone if there are changes in any customizations or any


other tablespaces like if applied any AD patches,

Big Patches, Minipacks, ATG patches, Tech Stack, and AD Patches. If there are no
changes, then i don�t think there is any need to

preclone it again.

Example: When you run adpreclone.pl, it essentially does an �alter database backup
controlfile to trace� and stores the information from

that in a file within ${ORACLE_HOME}/appsutil. This represents all of the datafiles


in the database at that particular time. The information

gathered at this time represents the state of the source at this time. If you does
not run adpreclone.pl again when u do clone next time,

Your backup (your target) represents an earlier time (prior to the addition of that
datafile), so the �create controlfile� step

that adcfgclone is doing is going to fail.

Q: Which files it will call when we run adcmctl.sh start apps/apps ?

A: It will call FNDLIBR executable, which will be located in $FND_TOP/bin.

Q: What are the main tables related to concurrent manager ?

A: FND_NODES

FND_CONCURRENT_PROCESSES (fcproc)
FND_CONCURRENT_REQUESTS (fcr)

FND_CONCURRENT_QUEUES (fcq)

FND_CONCURRENT_PROGRAMS (fcprog)

FND_EXECUTABLES

FND_CP_SERVICES

FND_CONCURRENT_QUEUE_SIZE

FND_CONCURRENT_QUEUE_CONTENT

FND_CONCURRENT_PROGRAM_SERIAL

FND_CONCURRENT_TIME_PERIODS

FND_CONCURRENT_PROCESSORS

Q: What is FNDFS ??

A: Report Review Agent(RRA) also referred by executable FNDFS is default text


viewer in Oracle Applications 11i for viewing

output files and log files. As most of Applications DBA�s are not clear about
Report Server and RRA.

Q: What is FNDSM ?? It has seperate name, what it is ?

A: FNDSM is executable & core component in GSM. GSM stands for Generic Service
Management Framework. Oracle E-Business Suite

consist of various compoennts like Forms, Reports, Web Server, Workflow, Concurrent
Manager .. Earlier each service used to start

at their own but managing these services (given that) they can be on various
machines distributed across network. So Generic

Service Management is extension of Concurrent Processing which manages all your


services , provide fault tolerance (If some

service is down ICM through FNDSM & other processes will try to start it even on
remote server) With GSM all services are

centrally managed via this Framework.

Q: How to check whether ICM is up and running from backend ?

A: ps -ef | grep LIB

ps �ef | grep CPMGR

ps �ef | grep FNDCPMBR

$FND_TOP/sql/afcmstat.sql � Displays all the defined managers, their maximum


capacity, pids, and their status.
afimchk.sql � Displays the status of ICM and PMON method in effect, the ICM�s log
file, and determines if the concurrent manger

monitor is running.

afcmcreq.sql � Displays the concurrent manager and the name of its log file that
processed a request.

afrqwait.sql � Displays the requests that are pending, held, and scheduled.

afrqstat.sql � Displays of summary of concurrent request execution time and status


since a particular date.

afqpmrid.sql � Displays the operating system process id of the FNDLIBR process


based on a concurrent request id. The process id

can then be used with the ORADEBUG utility.

afimlock.sql � Displays the process id, terminal, and process id that may be
causing locks that the ICM and CRM are waiting to

get. You should run this script if there are long delays when submitting jobs, or
if you suspect the ICM is in a gridlock with

another oracle process.

Q: Which component is responsible for PCP failover ?

A: When PCP is enabled, can you check that FNDSM is running on all your CCM nodes?
That process is mainly reponsible to getting

the failovers to happen and also start up CCMs

Q: Where custom top information will be there ?

A: $APPL_TOP/APPLSYS.env file.

Q: What will happen when we run adpreclone ?

A: It will collect all info of the environment and store in seperate template
files.

Q: Which two parameters are required when we do clone using RMAN ?

A: DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT

Q: How to clean FND_NODES table?

A: EXEC FND_CONC_CLONE.SETUP_CLEAN

1. What is the pre-req for applying a rdbms patch?

Ans : OraInventory should be set in file oraInst.loc @/var/opt/oracle or /etc

2. What is OraInventroy?
Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)�s
bookkeeping. The orainventory stores information about: All Oracle software
products installed in all ORACLE_HOMES on a machine 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.

3. What are different types of inventories?

Ans: The Global orainventory (or Central inventory) The Local inventory (or Home
inventory)

4. What is Global orainventory?

Ans : The Global oraInventory 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 OraInventory 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 OraInventory 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
de-installer in order to keep the Global OraInventory synchronized.

5. What is local Orainventory?

Ans : There is one Local OraInventory 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 OraInventory gets updated whenever a
patch is applied to the ORACLE_HOME, using OUI.

6. 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

7. 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.

8. Explain the cloning process?

Ans :

1. Run adpreclone as applmgr and oracle user on source Perl adpreclone.pl dbTier as
oracle user Perl adpreclone.pl appsTier as applmgr user

2. Take the cold/hotbackup of source database

3. Copy the five directories appl,comn,ora , db,data to target

4. Rename the directories, and change the permisssion

5. Set the inventory in oraInst.loc


6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold

7. If the backup type is hotbackup then Perl adcfgclone.pl dbTechStack. Create the
control file on target from the control script trace file from source Recover the
database Alter database open resetlogs

8. Run autoconfig with the ports changed as per requirement in xml.

9. Run perl adcfgclone.pl appsTier as applmgr

10. Run autoconfig with the ports changed as per requirement in xml.

9. What is the location of adpreclone.pl for oracle user?

Ans : RDBMS_ORACLE_HOME/appsutil/scripts/

10. What is the location of adpreclone.pl for applmgr user?

Ans : $COMMON_TOP/admin/scripts/

11. What is the location of adcfgclone.pl for oracle user?

Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin

12. What is the location of adcfgclone.pl for applmgr user?

Ans : $COMMON_TOP/clone/bin

13. What is statspack?

Ans : Statspack is a database utility to gather database and session level


performance information.

14. How to install statspack?

Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin

Note more details on statspack refer metalink noteid: 149113.1

15. How to enable trace at database level?

Ans : set init.ora parameter sql_trace

16. How to enable trace for a session?

Ans: Alter system set sql_trace=true;

Execute the sql query

Alter system set sql_trace=false;

This will create a trace file at

$RDBMS_ORACLE_HOME/admin/contextname/udump with the spid of the current sql


session.

17. How to enable trace for other session?


Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)

Eg: To enable trace for sql session with sid 8SQL> exec
sys.dbms_system.set_sql_trace_in_session(8,121,true);

PL/SQL procedure successfully completed.

To disable trace

SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);

18.What is the location of inint.ora ?

Ans : $RDBMS_ORACLE_HOME/dbs

19. What is that trace files contains and the utiliy used to read them?

Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.

20. What is the syntax for tkprof?

Ans: tkprof explain=apps/ sys=no

21.How do we find adpreclone is run in source or not ?

Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user


and $COMMON_TOP for applmgr user.

23. How to find trace file for a given concurrent request id?

Ans : Go to $RDBMS_ORACLE_HOME/admin//udump

grep � � *

24. What is a database link? How to create it?

Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.

1.Login as oracle user

2.sqlplus �/as sysdba�

3. create database link connect to identified by using �;

Ex

SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps using
�TEST2';

Database link created.

SQL> select name from v$database@ TEST1_TO_TEST2;

NAME

���
TEST2

SQL>select db_link from dba_db_links;

4. Add destination database tns entry in tnsnames.ora

25. How many clonings u have done?

Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise


just 2 or 3.

26. What u know abt RMAN?

Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.

27. What is netapp?

Ans : Netapp is a storage technology.

28. What is formserver url?

Ans :http://hostname.domain:/dev60cgi/f60cgi

29. 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.

30. What is discoverer server?

Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.

31. What is discoverer viewer url?

Ans: /discoverer4i/viewer152. What is discoverer plus url?

Ans : 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: /OA_HTML/jsp/fnd/aoljtest.jsp

32. What is adsplicer?

Ans : Adsplicer is a uitility used to register off cycle products.

33. What is licence manager?

Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new


languages,enbale country specific functionality.

34. 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.

35. How to compile a form using f60gen?Ans :

f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS


output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special

36. 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. 161. What is
mean by enabling maintanance mode?

Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.

37. Is that necessary to enable maintanance mode while applying a patch?

Ans : We can even apply a patch without enabling maintanance mode with the
following option

Adpatch options=hotpatch

38. How to find out oracle application framework version?

Ans : 1. Through aoljtest2. cd $COMMON_TOP/html/3. adident Header OA.jsp

39. 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 are applied to this oracle home.

165. Is that necessary to shutdown database while applying a database patch?

Ans : Yes.

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

Ans : CONSUB

41. 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.

42. How you will find out discoverer version?

Ans : cd $806_ORACLE_HOME/discwb4/lib strings libd* grep �Version:�


43. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?

Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:

Opatch apply no_inventory

44. Have you applied rdbms patches and for what?

Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.

45. What are the patch errors , you have encountered?

Ans :

1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.

2) Unable to generate jar files under JAVA_TOP AutoPatch error: Failed to generate
the product JAR files Solution:Run adjkey -initialize ����to creat identitydb.obj
file which will beused by adjava to sign jar files.

46. What is adjkey? What files it will create?

Ans : adjkey is an adutility which will create digital signature, which will be
used to sign all t� admin?
mailto:adsign.txt@APPL_TOP>adsign.txt@APPL_TOP/adminappltop.cer@APPL_TOP/adminident
itydb.obj@applmgr home

47. What are the post installation task?

Ans : Running adjkey �initialize and then runnning adadmin to regerate jar files.

48. What are the clone errors, you have encountered?

Ans : Error:

RC-50013: Fatal: Failed to instantiate


driver/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drvCauseThe source
instance has files that adpreclone flags as �autoconfigable� but in reality they
are not. So adpreclone.pl adds these files into the instconf.drv. Then when
adcfgclone.pl is run on target it looks for the template file to instantiate for
these files and since there isn�t a template file adcfgclone.pl fails.
SolutionModify the target�s instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl

49. What are the real time problems you have encountered and how you trouble
shooted that?

Ans:1. Concurrent Program is erroing out with snapshot too old error. To resolve
this we have added space to temp tablespace.2. Concurrent Program is erroing out
with unable to extent a perticular tablespace by so and so extents. To resolve this
we have added on more data file to that tablespace.3. When we are trying to start
apache with adapcctl.sh script after a autoconfig run, its saying that �node id is
not matching with the application server id�. To resolve this we have updated the
server id column in fnd_nodes table with the server id value in dbc file.

50. How you will find workflow version?

Ans : Run wfver.sql@FND_TOP/sql script as apps user

51 . When forms are running in servlet mode then the environment variables required
for forms must be defined in what file and its location?

Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.

52. How to find out which patch driver is applied(like c,d,g or u)?

Ans: query ad_patch_drivers.

53. How to find out whether a language patch is applied for a perticular patch?

Ans : Query ad_patch_driver_langs.

54. How to validate that sysadmin password is correct or not from backend?

Ans: select fnd_web_sec.validate_login(�SYSADMIN�,'Qwert8765') from dual;

55. How to compile jsp�s(other than from adadmin)?

Ans: Force compilation of all jsps using the following command ojspCompile.pl
�compile �flush

56. How to rotate logs for apache logs?

Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.

57. Other way of checking whether MRC is enabled or not besides using adadmin?

Ans : select multi_currency_flag from fnd_product_groups;

58. How to compile rdf?

Ans: Either using adadmin or rwcon60

59. How to change file/directory owner in linux/solaris?

Ans : chown � R :

Ex: chown � R applmgr:dba testappl

60. How to change the permission of file/directory in linux/solaris?

Ans : chmod �R

Ex : chmod �R 755 testappl

61. What are the files which contain apps password?

Ans :
1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg

2. CGIcmd.dat@806_ORACLE_HOME/reports60/server

3. wfmail.cfg@FND_TOP/resource � optional

4. CatalogLoader.conf@OA_JAVA � optional

5. CatalogLoader.xml@OA_HTML � optional

62. What is the script to find out ICM status?

Ans : afimchk.sql@FND_TOP/sql

63. What is the script to list the concurrent request status?

Ans: afrqrun.sql@FND_TOP/sql

64. What is the script that Lists managers that currently are running a request?

Ans : afcmrrq.sql@FND_TOP/sql

65. How can I determine whether a template is customizable or non-customizable?

Ans : If a keyword �LOCK� is present at the end of the file entry in the respective
driver, then it is a non-customizable template. If the �LOCK� keyword is not seen,
then that template can be customized.

66. How to find out JDBC version :

Ans : In the middle tier, edit the jserv.properties file located in the
IAS_ORACLE_HOME/Apache/Jserv/etc directory- Locate the wrapper.classpath that is
pointing to the jdbc zip file/opt/oracle/apps/$TWO_TASK/comn/java/jdbc14.zip

67. How to findout XML Parser Version

Ans : SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION from sys.dual;

68. How to find out WorkFlow Version

Ans :

SQL> select TEXT Version from WF_RESOURCES where TYPE = �WFTKN� and NAME =
�WF_VERSION�;

69. How to find a file version in Application DB:

select v.version,v.CREATION_DATE,c.CREATION_DATE from AD_FILES c,AD_FILE_VERSIONS v


where c.FILENAME like �ARPURGEB.pls� AND c.file_id = v.file_id AND c.app_short_name
= �AR�;

When a copy driver (C) or the copy portion of a unified driver (U) are aborted for
any reason, upon reapplying, the CREATION_DATE and/or LAST_UPDATE_DATE columns in
the patching history tables (Ex: AD_FILE_VERSIONS)are not updated to show the
proper installation date but are left with the 01-01-1950 date. you can resolve the
issuse by applying the latest ad.I patch.

70. How to check whether the product is install,shared and Not installed in Apps.?
Ans :

SQL>select t.application_name, t.application_id, i.patch_level,


decode(i.status,�I�,�Fully Installed�,�N�,�Not
Installed�,�S�,�Shared�,�Undetermined�) statusfrom fnd_product_installations i,
fnd_application_vl twhere i.application_id = t.application_idorder by
t.application_id;

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

Oracle Applications Question Answer

1. What is the configuration file for adutilities (like adadmin,adconfig etc)?

Ans: adconfig.txt @APPL_TOP/admin

2. 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.

3. How to find the version of a file?

Ans : 1. adident Header 2. strings -a filename grep Header

4. What is adodfcmp utility?

Ans : This utility is used to recreate/repair corrupted database objects from


odf(object defination files) files.

5. How you will change apps password?

Ans: FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS

6. What if apps password is changed with alter command?

Ans : Applications won�t work.

7. What is the difference between alter and FNDCPASS in changing apps password?

Ans : FNDCPASS will update some fnd tables other than standard tables.

8. Where the FNDCPASS utility is located?

Ans : Concurrent node @FND_TOP/bin

9. How to find out what component of u r oracle applications were installed on


which node?

Ans : Xml file (context file)

10. How to find the version of httpd/Apache web server?

Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version


11. What is the configuration file for httpd and what is the location of it ?

Ans : httpd.conf @IAS_ORACLE_HOME/Apache/Apache/conf

12. Where you will see when you have some problem with u r webserver(httpd/Apache)?

Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs

13. When Apache starts what other components its start ?

Ans : PL/SQL Listener, Servlet Engine, OJSP Engine

14. 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.

15. What is self service application?

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

16. Where u will see when u r not able to get self service applications?

Ans : access_log,error_log, error_pls, jserv.log, wdbsvr.app(for apps password)

17. What is the location of jserv.log?

Ans : IAS_ORACLE_HOME/Apache/Jserv/log

18. What is the location of wdbsvr.app ?

Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg

19. What are jserv.conf and jserv.properties files?

Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.

20. What is mean by clearing cache and bouncing apache?

Ans :

1. Stop apache (adapcctl.sh stop apps)

2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html directory

(rm �r _oa__html)

3. Start apache (adapcctl.sh start apps)

21. What is forms configuration file and its location?

Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin

22. What are the different modes u can start u r form server?

Ans : socket and servlet


23. What is the difference beween socket and servlet mode?

Ans :

In socket mode forms sessions are represented by f60webmx

In servlet mode forms sessions are represented by apache processes.

24. What is forms metric server and client?

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

25. Where the forms server related errors will be logged?

Ans : access_log and error_log

26. What is report server configuration and log file name and its location?

Ans : Configuration file � REP_.ora

Log file � REP_.log @806_ORACLE_HOME/reports60/server

27. What is CGIcmd.dat file and its location?

Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server

28. What is the significance of DISPLAY variable?

Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in Reports.

29. Where is the concurrent manager log file located?

Ans : $COMMON_TOP/admin//log or $APPLCSF/$APPLLOG

30. Is apps password necessary to start all the components of oracle application?

Ans : No. Only to start/stop concurrent managers apps password is needed.

31. What is a concurrent manager?

Ans : A concurrent manager is one which runs concurrent requests.

32. What are the different types of concurrent managers?

Ans :

1. Internal concurrent manager � Will start all other managers and monitor

2. Standard Manager � All concurrent request by default will to go this

3. Conflict resolution manager � Concurrent programs with incompatabilites will be


handled by this

4. Transaction manager � Handle all transaction requests


33. What are actual and target count in �Adminster Concurrent Managers form�?

Ans : Target is the no. of concurrent processes a manager is supposed to


start(specified in the defination of concurrent manager).Actual is the no. of
processes a manager started actually.

Target and Actual should be always same.

34. What if Target and Actual are not same?

Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.

35. What are work shifts?

Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

36. What if internal concurrent manager target and actual are not same?

Ans : we need to bounce the concurrent manager using adcmctl.sh

37. How to bounce a single concurrent manager?

Ans : From frontend using �Administer Concurrent Manager form�.

38. When we change apps password , is it necessary to bounce application?

Ans : Only we need to bounce concurrent managers.

39. What is 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

40. What is the other script by which u can start apache other than adapcctl.sh?

Ans : apachectl @IAS_ORACLE_HOME/Apache/bin

41. What is the configuration file for PL/SQL listener?

Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

42. How to skip copy portion while applying a patch?

Ans : Adpatch options=nocopyportion

43. How to merge patches and what type of patches can be merged?

Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv

44. What is the Tiered architecture of u r instance?

Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.

45. How to find formserver version?


Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.

46. 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 request form�.

47. What is apps listener?

Ans : Apps lintener 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�.

48. 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.

49. How to find the application version like 11.5.8/11.5.9�.?

Ans : select release_name from fnd_product_groups;

50. How to find the database/sqlplus version?

Ans : select banner from v$version;

51. How to find out what are the languages enabled in u r applications?

Ans : Query fnd_languages

52. What is the size of u r database?

Ans : 200 to 500 GB

53. How to find operating system version?

Ans : uname �a

54. 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.

55. 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.

56. 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.

57. How to kill a database session?

Ans : alter system kill session �&sid,&sno�;

58. How to find adconfig is enabled for oracle operating system user/database?

Ans : If appsutil directory is there in RDBMS_ORACLE_HOME

59. Which files tell u the database helath?

Ans : alert log file @RDBMS_ORACLE_HOME/admin//bdump

60. How to apply a rdbms patch?

Ans : Using opatch

61. How to find opatch is enabled or not for u r database?

Ans : If Opatch directory exists under RDBMS_ORACLE_HOMEOracle Apps DBA

Interview Questions � III

1. How to determine Oracle Apps 11i Version ?

Ans : select RELEASE_NAME from fnd_product_groups;

You should see output like

RELEASE_NAME��������11.5.10.2

2. How to find Database version ?

Ans :

SQL> select * from v$version;

The command returns the release information, such as the following:Oracle9i


Enterprise Edition Release 9.2.0.7.0 � ProductionPL/SQL Release 9.2.0.7.0 �
ProductionCORE 9.2.0.7.0 ProductionTNS for 32-bit Windows: Version 9.2.0.7.0�
ProductionNLSRTL Version 9.2.0.7.0 � Production

3. How to find opatch Version ?

Ans : opatch is utility to apply database patch , In order to find opatch version
execute�$ORACLE_HOME/OPatch/opatch version�
4. How to find out invalid objects in the database

Ans : select count(*) from dba_objects where status =�INVALID�

5. How you will see hidden files in linux/solaris?

Ans : ls -la

6. How to find that the database is 64-bit/32-bit?

Ans : $RDBMS_ORACLE_HOME/bin/file oracle

7. What is top command?

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

8. What is a patch?

Ans : A patch can be a solution for a bug/it can be a new feature.

9. What are the different types of patches?

Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

10. What is a oneoff patch?

Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s

11. What is a mini pack ?

Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

12. What is Family pack ?

Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.

13. What is Maintanance pack ?

Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9

14. What is a Rollup patch?

Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

15. What is consilidated patch?

Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

16. How u will find whether a patch is applied/not?

Ans : Query ad_bugs.


17. What is the other table where u can query what are the patches applied?

Ans : Ad_applied_patches

18. What is the difference between ad_bugs and ad_applied_patches?

Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

19. How u apply a patch?

Ans : adpatch

20. What inputs you need to apply a patch other than driver name and etc?

Ans : apps and system passwords

21. What are the table u r adpatch will create and when?

Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it


will apply d,g and u drivers

22. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?

Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

23. If it is a multinode installation which driver we need to apply on which node?

Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to


apply on all nodes.

24.While applying a application patch is that necessary that u r database and


listener should be up?

Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

25. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?

Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS


tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

26. What is adctrl?

Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.
27. Can u name some of the menu options in adctrl?

Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

28. How to skip a worker and why?

Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

29. How adpatch knows what are the pre-req�s for the patch which it is applying?

Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.

30. What is FNDLOAD ?

Ans: FNDLOAD is a utility which is similar to sqlloder but loads code objects into
database, where as SQLLOADER loads data objects into database.

31. What c-driver will do?

Ans: C-drive copies the files from patch unzipped directory to required location in
u r application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.

32. How adpatch will know the file versions of the patch delivered files?

Ans: With each patch a file with name f.ldt is delivered , which contain the file
versions of the files dilivered with the patch. Adpatch will use this file to
compare the file versions of files its delivering with the file on file system.

33. What is the adpatch log file location?

Ans : APPL_TOP/admin/SID/log

34. What is the worker log file name and its location?

Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

35. How u will know what are the files the patch is going to change just my
unzipping the patch?

Ans: When u unzip a patch it will keep all the files related to a particular
product under that directory inside u r patch directory for example if the patch
delivering files related to FND product then it will create a sub directory under
the patch directory with the name FND in which it will put all related files to
that product

36. What is the significance of backup directory under u r patch directory?

Ans: When we apply a patch it will keep the copy of the files which its going to
change in file system.

37. What are the different modes you can run your adpatch?
Ans :

1.Interactive � default mode

2.Non interactive � Use defaults files to store prompt values

(adpatch defaultsfile= interactive=no)

3. Test � Without actually applying a patch just to check what doing.(adpatch


apply=no)

4. Pre-install � (adpatch preinstall=y)

This mode will be usefull to discrease upgrade downtime as its applies bus fixes
without running SQL,EXEC and generate portion of patch.

38. How u will monitor u r applications as well as database?

Ans: We have our custom scripts which is sheduled to run at a specific time which
will monitor whether applications and databases are up/not. And it will mail us if
some processes is not running. And we have one script which will check database
alert log for ORA errors and mails it to us . Based on this we will react.

39. What are the latest ORA errors u have encountered?

Ans: Useually we will get the ORA errors like unable to extend the tablespace by so
and so size. And we will check those tablespaces for space, if space is not there
we will resize the datafile and add one more datafile.

40. Which table u will query to check the tablespace space issues?

Ans : bytes column in dba_free_spaces and dba_data_files

41. Which table u will query to check the temp tablespace space issues?

Ans : dba_temp_files

42. What is temp tablespace? And what is the size of temp tablespace in u r
instances?

Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.

43. What is autoconfig?

Ans : Autoconfig is an adutility which is used to main application environment and


configuration files.

44. What are the parameter autoconfig will ask for?

Ans : Context file name and apps password

45. What is context file?

Ans : Context file is a central repositary, which stores all application


configuration information. The name is like _ .xml

46. How you will find autoconfig is enabled/not for u r applications?


Ans: 1. Open any env / configuration files, the first few lines will tell u that
this files are maintained by autoconfig.2. If contextname.xml file is there in
APPL_TOP/admin

47. How autoconfig will create env and configuration files?

Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.

48. In how many phases autoconfig will run?

Ans : Autoconfig will run in 3 phases.

1.INIT � Instantiate the drivers and templates

2.SETUP � Fill the templated with values from xml and create files

3.PROFILE � Update the profile values in database.

49. What is the location of adconfig log file?

Ans : APPL_TOP/admin//log/

50. Is it possiable to restore a autoconfig run?

Ans : Partially. Adconfig will create a restore.sh script at $APPL_TOP/admin//out/.


This restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.

51. How to run autoconfig in test mode?

Ans : adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test
mode and create the difference file which tells us what is going to change , when u
actually run autoconfig.

52. How to find autoconfig is enabled or not for database?

Ans: If we have appsutil directory under RDBMS_ORACLE_HOME

53. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?

Ans : j.zip52.

54.What is apps.zip/appsbrog2.zip file?

Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files


required for oracle application.Apps.zip was used to old application version, but
from 11.5.8 onwards its appsbrog2.zip

55. What is the location of apps.zip/appsbrog2.zip?

Ans : AU_TOP/java and JAVA_TOP

56. What is for �validating apps schema� option in adadmin?

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

57. What is �compile apps schema� option in adadmin?


Ans : It will compile the invalid database objects.

58. How to find invalid objects in database?

Ans : select count(*) from dba_objects where status=�INVALID�;

59. 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.

60. 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.

61. 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).

62. What is Multi-Org?

Ans: If this is enabled we can store multiple organization information in a single


oracle application instance.

Interview question on adutilities and others

Where all ADUTILITIES EXE'S LOCATED?

$AD_TOP/bin
For each utility three files are presented.
[applvision@apps bin]$ ls -ltrh adadmin adadminnew adadmin_wrapper
-rwxr-xr-x 1 applvision applmgr 9.2K Dec 31 2006 adadmin_wrapper
-rwxr-xr-x 1 applvision applmgr 9.2K Mar 27 2009 adadmin
-rwxr-xr-x 1 applvision applmgr 3.5M Mar 30 2009 adadminnew
[applvision@apps bin]$

First two files are wrapper files and both are same in size.

==>adadmin will internall call adadminnew


==>adadminnew is key executable which calls adadmin.

What happen if we lost adadminnew?

adadmin will not work.

Scenario:

[applvision@apps bin]$ mv adadminnew adadminnew_14sep2013


[applvision@apps bin]$ adadmin
sh: /apps/vision/apps/apps_st/appl/ad/12.0.0/bin/adadminnew: No such file or
directory
[applvision@apps bin]$

What we had to do if we lost adadminnew?


If we lost adadminnew we can recreate it by using adrelink.sh.

[applvision@apps bin]$ mv adadminnew adadminnew_14sep2013


[applvision@apps bin]$ adadmin
sh: /apps/vision/apps/apps_st/appl/ad/12.0.0/bin/adadminnew: No such file or
directory
[applvision@apps bin]$

Now fire the below command to recreate it.

$AD_TOP/bin/adrelink.sh force=y "ad admin adadmin"

NOTE: force=y indicates to check for all libraries.

if we lost adrelink.sh and adlicmgr.sh script.Is it possible to regenrate it?

Both are the shell scripts.Its not possible to regenerate it.


we need to copy it from other server.

How can we generate env file?

BY using adadmin
Choose Maintain Applications file menu.
Create application environment file
Above is applicable in 11i and in R12 i don't see this option.
(or)
Run autoconfig.

if we lost dbc,can we recreate it?


Yes ,we can re create dbc file.
To generate dbc file run autoconfig(OR) Execute adgendbc.sh script.

Form where fmx is generated?

All the executable for forms are generated from fmb files.
cd $AU_TOP/forms/US.

Using adadmin is it possible to relink ad product?


No,we cannot do it using adrelink.sh

what is the configuration file of adutilities?


adconfig.txt which is located at $APPL_TOP/admin.

How oracle will know some adadmin session is running or not?

It will know from restart file.


cd $APPL_TOP/admin/$SID/restart
<name>.rf9

If rf9 is there,it assumes that some adutilities are running.


if any adadmin session failed then we restart adadmin session then it will read the
information from restart file.

can we use adadmin in non-interactive mode?


Yes,we can use it using addefaultsfile.

Which adutlilty will not create table in the database?


adident utility will not create table in the dataabase.

Why we need to generate JAR files?

For certain patches,post patch activity.


During upgradation of oracle apps.

We can generate jar files in two ways.


Normal generation
=================
it will generate missing or out of date jar files.

Force generation
================
Force generation will generate all jar files.

What we had to do if we lost forms binary file?


Copy the binary file from another server.

What is the default form when we launch oracle application form?

FNDSCSCG.fmx
It is located in $FND_TOP/forms/US

What is the executable file when we are regenerating the forms?


in Oracle apps 11i f6ogen and in r12 frmcmp_batch.

What is the executable file when we are regenerating message files?


FNDMDGEN.FMX which is located at $FND_TOP/bin

What is the executable when we are regenerating reports?


rwcon60 in oracle application 11i.

How can we generate dbc file?


By running auto config.
By executing adgendbc.sh file which is located at $COMMON_TOP/admin/install/
$CONTEXT_NAME
and in R12 $INST_TOP/install/admin.adgendbc.sh

APPS DBA INTERVIEW QUESTIONS

Bismillah
=========

1. What are Ad utilities?

Ad utilities stand for the application DBA utilities. These are a set of tools used
for
installing, up gradating, maintaining and patching Oracle Applications. There are
around
15 Ad utilities, which are shipped along with Oracle Applications.

2. What is maintenance mode and how to enable/disable the same?

Maintenance mode is a feature which is introduced in 11.5.10. For doing any


maintenance activity in the application system like applying patches, the
maintenance
mode needs to be enabled in the application system. It can be enabled/disabled
using the
adutility adadmin. In the adadmin main menu, there is an option �Change Maintenance
Mode� which is used for changing the maintenance mode.

3. What is the log file location for all the Ad utilities?

The default log file location for all the Ad utilities is $APPL_TOP/admin/
$TWO_TASK/log. The log file is in the format <adutility_name>.log. For example the
log file of the adadmin will have the name adadmin.log.

4. What is adadmin and why is it used?

Adadmin (Ad administration) is used to perform a number of administrative tasks to


maintain the Oracle Applications. Adadmin ensure that Oracle Applications run
smoothly.

The Adadmin performs two types of works � one which is performed at database level
and other which is performed at the file system level. The users are requires to
provided
all the inputs at the Adadmin prompt which normally involves choosing from the
various
options from the Adadmin menu. This doesn�t mean that Adadmin can�t be used non-
interactively. You can run some task non-interactively also and this is really
useful for
scheduling routine tasks that require little or no user intervention.

5. Can adadmin be scheduled to run in a non-interactive mode?

Yes, adadmin can be scheduled to run at a later time in a non-interactive mode

6. How is adadmin run in a non-interactive mode?

To run adadmin in non-interactive mode, you must at first create a defaults file.
Once the
defaults file is created, you can run the adadmin in non-interactive mode using
this file.
To create a defaults file, specify defautlsfile= <filename> at the Ad
Administration
command line. The defaults file must be located under APPL_TOP/admin/<SID>.
$adadmin defaultsfile=APPL_TOP/admin/emstest/default.txt
In order to choose which task the defaults file will run, you add menu_option=<menu
choice> to the utility start command. For example,

7. What options are available in the adadmin main menu?


The following options are available in the adadmin main menu.
AD Administration Main Menu

. Generate Applications Files menu


. Maintain Applications Files menu
. Compile/Reload Applications Database Entities menu
. Maintain Applications Database Entities menu
. Change Maintenance Mode
. Exit AD Administration

8. What are the adadmin activities that can be run in a parallel way?
The following adadmin tasks are supported to be run in parallel mode.
� Recreate grants and synonyms
� Compile APPS schema

� Maintain multiple reporting currencies schema


� Convert to Multi-org
� Generate message files
� Generate form files
� Generate report files

9. Which options of adadmin can and cannot be run in a non-interactive way?


Starting form AD.I all the options of the adadmin can be run in non-interactive
way.

10. Do Ad utilities support the help option?

Yes, starting from AD.I all Ad utilities support the �help� option. The help can be
invoked by typing
<AD Utility name> help=y
The only exception to this is admrgpch that takes �help option.

11. What does the option generate message files do in adadmin?

This is the first option in the menu if adadmin. This option takes care if
generating all the
Oracle message files. Oracle Application uses these files to display messages. This
task
generates message binary files (extension .msb) from Oracle Application library
tables.
Once this option is selected, it asks a couple of questions like the number of
workers for

parallel processing and the list of products for which the message files need to be
generated.

12. How can you regenerate all the forms files using adadmin and what does it do
internally?

The generate forms files option of adadmin takes care of generating the forms files
(extension .fmx) from binary forms definition files (extension .fmb). These binary
forms
definition files are normally located at $AU_TOP, and the executables files are
stored
under each product�s directory. Oracle Applications use the binary form files to
display
data entry forms. Like the previous option, this option also asks for a couple of
questions
before generating the forms. This task should be performed anytime you have issues
with
a form or a set of forms.

13. You have accidentally deleted the environment file. How can you recreate it?

You can recreate the environment file by using the option create applications file
from
adadmin. This option creates an environment file that defines your system
configuration.
It prompts for Oracle Applications environment name.

14. In adadmin there is an option validate APPS schema. What does it mean and what
does it do?

Validating APPS schema means verifying the integrity of the APPS schema. It checks
whether the apps schema has proper roles and privileges or not. It determines the
problems you must fix specific to APPS schema as well as the problems you must fix
not
specific to the APPS schema. This task produces a report named <APPS schema name>.
1st which is located at $APPL_TOP/admin/$TWO_TASK/out.
Validation of the APPS schema is in turn taken care by a SQL script advrfapp.sql.
The
location of the same is $AD_TOP/admin/sql. The same script can also be run from the
sql
prompt.

15. How do you recreate the grants and the synonyms for the APPS schema?

The recreation of the grants and the synonyms in the APPS schema can be done using
the option recreate grants and synonym for the APPS schema available in the
adadmin. This task takes care of recreating grants and synonyms for APPLSYSPUB,
recreates grants in some packages from SYSTEM to APPS and recreating grants and
synonyms for APPS schema.

Each product�s data objects are created in its own schema (such as the GL schema)
but
the user accesses all the data objects through the APPS schema, therefore the APPS
schema must have the appropriate grants and synonyms for those objects.

This task runs two SQL files:


� Runs $FND_top/admin/sql/afpub.sql to set up grants and synonyms for the
Applications
Public Schema (APPLSYSPUB by default)
� Runs $AD_TOP/admin.sql/adappsgs.pls for every Oracle Applications base product
schema

16. What is the significance of the DUAL table? Who owns this table and how many
rows it should have?

The DUAL table is created automatically by Oracle along with the data dictionary.
It is located in the schema of SYS. It has one column named DUMMY of type VARCHAR2
and contains one row with a value of �X�. In case it has more than one row,
application system may not function properly.

17. What is ad splice? What does it do?

Oracle often releases new products after the base release of Oracle Applications.
These
products are known as off cycle products. Ad splice is the utility which takes care
of
incorporating and off cycle product into Oracle Applications so that it is
recognized by
the ad utilities as a valid Oracle Application product. Ad splice registers off
cycle
products as active in the system and as a result the ad utilities recognize the off
cycle
products as valid product for a specific release. Then you can use adpatch to
install the
product�s component file system and database object.

18. What does ad splice set up?


Ad splice sets up the following:
� The product�s database account
� The product�s physical location <PRODUCT>_TOP

� Logical $<PRODUCT>_TOP � need to run the created environment file afterwards


option

19. What are the three files which ad splice requires at the time of splicing?
The three files are newproducts.txt, <prod>prod.txt and <prod>terr.txt, where
<prod>
refers to the product name.

20. Explain the significance of the ad splice control files.


Ad splice requires two types of control files.
� Product definition file: There are two product definition files per sliced
product
(prod_name)prod.txt which contains language independent information for product and
(prod_name)terr.txt which contains language dependent information for the product.
Since both of the files define the product and the associated language, these files
must not
be edited. The ad splice control files must be copied to the APPL_TOP/admin
directory.
� Product configuration file: The product configuration newprods.txt file contains
all the
parameters which are required to splice a new product.
The following is the given entry from the newprods.txt

The entries are discussed below.


� Product: This is the new product which will be spliced by ad splice. So, this
entry
should not be edited.
� Base_product_top: This is the base directory which contains the new product which
is
normally the APPL_TOP.
� Oracle_schema: This identifies the Oracle schema where the database objects for
this
product are created. This should be the same as product name.

� Sizing factor: This is the sizing factor which the Oracle Applications use when
creating
the tables and index for this product. The default value of 100 refers to 100%
which
means that the objects are created with the defaults size as determined by Oracle
and the
default value is recommended.

� Main_tspace: This is the default tablespace for the product.


� Index_tspace: This is the default index tablespace for the product.
� Temp_tspace: This is the tablespace for the Oracle schema�s temporary segments,
for
example, TEMP.
� Default_tspace: It specifies the default tablespace where this product�s objects
are
created.

21. What is distributed AD?

Distributed AD is introduced after AD.H which allows workers processing to be


distributed across multiple nodes. This can be used only on the application systems
that
are using a shared application tier file system. For example, to run an AutoPatch
session
with a total of nine workers, say four workers on the local node and five workers
on a
remote node, distributed AD can be used.

22. What is the advantage of distributed AD?

With distributed AD, the workers can utilize the additional resources of the remote
nodes where they are running apart from the primary node. This capability improves
scalability, performance, and resource utilization and completion of worker in a
faster time.

23. What is maintaining snapshot information and how can it be done?

Basically, there are two types of snapshots: APPL_TOP snapshot and global snapshot.
An APPL_TOP snapshot lists patches and versions of files in the APPL_TOP. A global
snapshot lists patches and latest versions of files in the entire applications
system (that is
across all APPL_TOP). Both APPL_TOP snapshots and global snapshots may be either
current view snapshot is created once and updated to maintain a consistent view. A
named view snapshot is a copy of the current view snapshot at a particular time
(not
necessarily the latest current view snapshot) and is not updated.
A complete current view snapshot is required for automatic prerequisite patch
checking
to operate. During the installation, RapidInstall created a current snapshot as a
baseline.
And, each time you run AutoPatch; it automatically creates a new (updated) snapshot
so
that the information is current as of the application of the patch
The same can be done using the adadmin utility.

24. Which ad utility is used to restart the failed workers?


For restarting the failed workers the utility adctrl is used.

25. What is the hidden option in adctrl?


The eighth and last option is adctrl is the hidden option. It�s used for skipping
and
restarting the failed workers.

26. Explain briefly the different status of the workers.


Following are the different status of workers:
Assigned
The manager assigned a job to the worker.
Completed
The worker completed the job
Failed
The worker has encountered a problem and has failed.
Fixed, Restarted
You fixed the problem and the failed job has restarted.
Restarted
The worker has restarted a job.
Running
The worker is running a job.
Wait
The worker is idle.

27. Can adctrl be run in non-interactive way? If yes, how?

Yes, adctrl can be in a non-interactive way exactly in the same way it runs for
adadmin.
The same defaults file which is used for the adadmin can also be used for running
adctrl
in non-interactive manner. Only the menu option needs to be added for running the
adctrl
in case same defaults file is used. If you want to
create a new defaults file then the same can be created exactly in the same way as
created
for adadmin.

Given below is the example of running adctrl in non-interactive mode:

adctrl interactive=n\

defaultsfile=$APPL_TOP/admin/emstest/ctrldefs.txt\
menu_option=SHOW_STATUS \
logfile=adctrl.log

The menu option for the defaults file for adctrl is listed below:
ACKNOWLEDGE_QUIT

Tell manager that a worker acknowledges quit


INFORM_FAILURE
Tell manager that a worker failed its job

RESTART_JOB
Tell worker to restart a failed job

SHOW_STATUS
Show worker status

SHUTDOWN_WORKER

Tell worker to quit

START_WORKER

Restart a worker on the current machine

28. What is adrelink and why is it used?

Adrelink is the executable which is used to relink ad executables with Oracle


product
libraries contained within the Oracle Applications Technology Stack Oracle_Home.
All
product executables can be linked using the relink application executables menu on
the
adadmin maintain application files submenu except an ad executable which has to be
manually relinked using ad relink. Normally programs that need to be updated after
a
patch are automatically relinked by AutoPatch.

29. What is the force=y option while using the adrelink.sh?

The option force=y will relink the executables regardless the status of the
libraries or the object files. Force=n will relink only if the libraries or object
files are some recent than the current executable program.

30. What is ODF comparison utility and how is it used?

The object description file comparison utility is known as adodfcmp. Each Oracle
application product is made up of one or more building blocks. For example, journal
entry is one building block of Oracle General Ledger. There is an object descriptor
file
(ODF) describing the tables, views, indexes, sequences and privilege sets for the
particular building block.
The ODF comparison utility compares an ODF with the database objects in an Oracle
account, detects any differences in database structure, and runs SQL
statements to remove the differences, so that the objects in the account will match
the
descriptions in the ODF file. The ODF comparison utility is used to compare the
data
model of a customer�s data to a standard set of data model files form the current
Oracle
application release. It can optionally modify the database to match the standard
data
model. ODF comparison compares the building block to the ODF.

1. What is cloning and why is cloning of an instance required?

Cloning is the process of creating an identical copy of the Oracle application


system.
Cloning of application system is required due to following reasons:
� Creating a test copy of your production system before up gradation
� To test some patches
� Periodically refreshing a test system from your production system in order to
keep the

test system up-to-date


� Creating a development copy of your environment to be used by the developers
� Moving an existing system to a different machine

2. How many types of cloning are available?


There are two types of cloning methods available for Oracle Applications. One is
adclone
and other is rapidclone.

3. What is the difference between adclone and rapidclone?

Adclone is an Oracle provided utility to clone application system. This utility is


used to clone application system for release 11.5.1 to 11.5.5 for system which are
not autoconfig enabled, whereas rapidclone is used for those system which are
autoconfig enabled.

4. What are the steps involved in adclone?


Adclone involves four simple steps:
� Running rapid install
� Copying the source database
� Copying the source application file system
� Updating the configuration information

5. What is rapidclone?
Rapid clone is the new cloning utility which is used for autoconfig enabled
environments.
Rapid clone leverages the new installation and configuration technology utilized by
RapidInstall.

6. How do I determine if my application system is autoconfig enabled or not

There are a couple of ways to check if the environment is autoconfig enabled or


not. You
can check your environment in the following ways:
� Open the environment file APPLSYS.env or APPSORA.env in your APPL_TOP. If the
top of the file says that it is maintained by autoconfig, then your system is
probably using
autoconfig. Apart from those files, opening any other important configuration files
gives
the information this file is managed by autoconfig if your application system is
maintained by autoconfig.

� Check for the applications context file in the APPL_TOP/admin directory. This
file will typically be named <SID>,xml or <SID>_<HOSTNAME>.xml. If the application
system is autoconfig enabled there will be a corresponding xml file

� Check for the applications context file in the RDBMS ORACLE_HOME under the
appsutil directory. This file will typically be named <SID>.xml or
<SID>_<HOSTNAME>.xml. If the application system is autoconfig enabled there will
be a corresponding xml file

7. I have the context file in the APPL_TOP admin directory and all my configuration
files
also say that the application system is managed by autoconfig but when I login to
the
database server I am not able to see the context file. Is my application system
really
autoconfig enabled?
It means that autoconfig is not enabled in the database tier. You need to enable
the
autoconfig in the database tier also.

8. Can I clone an application system from one operating system to another?

Yes, you can do a cloning from one platform to another as long as the target
application
system platform is binary compatible with the source system platform. For example,
you
can do a cloning from a lower version of Solaris to higher version of Solaris but
not from
Solaris to Windows. Also with in a same platform, you can clone from a 32bit source
system to a 64bit target system.

9. My source and target platforms have different binaries. Say I have AIX platform
in the
source and I want the target platform in Linux. Is there any way I can clone the
environment

Yes, you can clone or migrate the application system from any platform to Linux or
any supported Unix platform. For doing this, you need to refer the metalink note
migrating to Linux within Oracle Applications.
10. Is it possible to clone from a single node installation to a multiple node
installation?
Yes, you can clone a single node installation to a multiple node installation using
the
rapid clone.

11. Explain briefly the steps to clone from a single node to a multi-node cloning?

Once the database cloning is over, the next step is to login to the APPL_TOP as the
owner of application file system viz, applmgr and run the adcfgclone.pl from the
COMMAN_TOP/clone bin. While running adcfgclone.pl, it asks �Does the target system
have more than one application tier server node�. Enter yes. Then it prompts for
the
target system�s concurrent processing node, admin node, forms node and the Web
node.
Fill in node details from where you want these processes to run. It then prompts
for the
various mount point details and creates the context file for you. Follow the same
process
form all the nodes.

12. You have a multi-node shared APPL_TOP. Explain briefly the cloning process for
the same.

If you have a shared APPL_TOP then apart from running the adcfgclone.pl you also
need
to run �adclonectx.pl sharedappltop� for sharing the APPL_TOP from all the nodes.
In
this case, you need to run adcfgclone.pl only from the first node and you can
create the
context file using the adclonectx.pl in the other nodes by giving the reference to
the XML
file of the first node. Then you need to run the txkSOHM.pl form
$FND_TOP/patch/115/bin which will create the 8.0.6 and iAS Config Home for your
application system.

13. Can you clone a multi-node APPL_TOP to a single node APPL_TOP? Explain
briefly the process for the same.

Yes, you can clone a single node APPL_TOP form a multi-node APPL_TOP. For this,
you have to merge multiple APPL_TOP and COMMAN_TOP files system into a single
APPL_TOP and COMMAN_TOP. For doing the same, the first step would be to login to
each application tier node and run the �maintain snapshot task� from the adadmin.

Once done, login to one of the APPL_TOP and run the adpreclone.pl for merging the
APPL_TOP. The same can be run using the command:
$ cd <COMMAN_TOP>/admin/scripts/<CONTEXT_NAME>
$perl adpreclone.pl apps Tier merge
Once done, you need to login to the other nodes and run the adoreclone.pl for
merging all
the APPL_TOP�s but from the other nodes the command would be different.
Login as the APPLMGR user to each of the secondary nodes being merged and run:
$ cd <COMMAN_TOP>/admin/scripts/<CONTEXT_NAME>
$ perl adpreclone.pl appltop merge

For creating a clone of the multi-node APPL_TOP to a single node APPL_TOP you need
to merge all the multi-node APPL_TOPs to a single APPL_TOP. You can merge all the
APPL_TOPs together in a separate mount point so that the source application system
is not affected with the clone.
Copy the following directories from the first node to the place you want to create
the
merged APPL_TOP.
<APPL_TOP>
<OA_HTML> (when this directory exists)

<OA_JAVA>
<COMMAN_TOP>/util
<COMMAN_TOP>/clone
<COMMAN_TOP>/_pages (when this directory exists)
<806 ORACLE_HOME>
<iAS ORACLE_HOME>

From the other APPL_TOPs recursively copy:


Directory <COMMAN_TOP>/clone/appl
-to-

Directory <COMMAN_TOP>/clone/appl on the merged APPL_TOP


Configure the merged APPL_TOP by running the command
$ cd <COMMAN_TOP>/clone/bin
$ perl adcfgclone.pl apps Tier

It will create the single node APPL_TOP in the regular way.

14. Does rapid cloning take care of updating all the profile options?
Rapidclone only takes care of the site level profile options. All the other profile
options
need to be manually updated.

15. How do you prepare the template before cloning the application system?

You can prepare the template executing the following commands from the database and
the application tier.
� At database tier: Login as Oracle user and run the following cd < RDBMS
ORACLE_HOME>/appsutil/scripts/<CONTEXT_NAME>
Perl adpreclone.pl db tier
� At the Application tier: Login as applmgr and run the following:
cd <COMMAN_TOP>/admin/scripts/<CONTEXT_NAME>perl adpreclone.pl apps tier

16. From the APPL-TOP, what are the files that you need to copy for creating a
clone
application system?
You need to copy the following files from the APPL_TOP
� APPL_TOP

� OA_HTML
� OA_JAVA
� OA_JRE_TOP
� COMMAN_TOP>/util
� COMMAN_TOP>/clone
� COMMAN_TOP>/_pages (if this directory exists
� 806 ORACLE_HOME
� iAS ORACLE_HOME

17. What exactly happens when you run adpreclone.pl? Does it anyway effect the
source
application system?

Adpreclone.pl prepares the source system to be cloned by collecting information


about
the database and creates various templates of files containing source specific
hardcoded
values. It collects all the information about the source application system, the
port
numbers of the source application system etc. These templates are stored in the
appsutil/template directory.

18. If you are told to clone a environment manually without using rapidclone, how
will
you do it?

For doing a manual clone, you need to change all the configuration files with the
correct
path of the APPL_TOP, product top, database SID, and port numbers. For doing the
same, you need to change the following important configuration files.

$APPL_TOP/APPLSYS.env or APPSORA.env

$APPL_TOP/admin/adovars.env
$APPL_TOP/admin/hostname_twotask.xml
$APPL_TOP/admin/topfile.txt
$APPL_TOP/admin/adjborg.txt
$APPL_TOP/admin/adjborg2.txt
$FND_TOP/secure/hostname_twotask.dbc
$OA_HTML/bin/appsweb.cfg
Once these changes are done, you need to update the FND_PROFILE_OPTIONS value

table in the database with the correct values of all the profiles and the FND_NODES
with the node information. Here we are assuming that you are keeping the existing
technology stack for doing the cloning. If you are bringing the technology stack
also from the source env, you also need to change all the apache configuration
files with the correct port and then need to link the iAS_ORACLE_HOME and the
middle tier ORACLE_HOME and then run the autoconfig. Once done, start all the
services.

19. How can you reduce time in cloning? What are the steps you can follow to clone
an
environment quickly?

These are the steps you can follow to clone an env quickly. If the technology stack
of the source and the target environment are at the same patch level then you need
not copy the 8.0.6 ORACLE_HOME and the IAS_ORACLE_HOME every time. You can keep the

existing technology stack. Before deleting the APPL_TOP, you can take a backup of
the
existing context file (the xml file in $APPL_TOP/admin) and then once the APPL_TOP
and COMMAN_TOP copy is done then you can revert back the same xml file rather than
regenerating the same. If you are using the same XML file, you need not run the
rapidclone as simply running of autoconfig will take care of all the things. In
case you are
using the shared APPL_TOP, you need to run the script txtSOHM.pl from
$FND_TOP/patch/115/bin which will create the 8.0.6 and iAS Config Home for your
application system.

20. Can I clone a cloned application system?


Yes, you can clone a cloned application system.

21. Is it possible that I use different set of ports for the cloned application
system rather
than the one which I am using for the source application system?
Yes, you can choose any port pool for the cloned application system. Adclone
prompts
for the port pool at that time put the port pool in which you want to run
application
system.

22. How adcfgclone.pl knows the values for the target application system?

Adcfgclone.pl prompts for the values required to create the new context file used
to configure the target system. You need to provide the values for the prompts
which adcgfclone.pl uses for creating and configuring the target application
system.

23. What are the various questions that adcfgclone.pl prompts for and what should I
answer to the prompts?

In the database tier, it prompts for the following:


� Target database SID
� Target system domain name
� Target instance is a Real Application Cluster (RAC) instance (y/n)
� Current node is the first node in an N node RAC Cluster (y/n)
The tool will then ask for the number of nodes that will exist in the final RAC
instance
and gather, the following information for every node:
� Hostname
� Database Sid
� Instance number
� Listener port
� Private interconnect name
� RDBMS ORACLE_HOME path
� Number of DATA_TOP
� DATA_TOP mount points
In the application tier, it prompts for the following:
� Database server hostname
� Does the target system have more than one application tier server node (y/n)
The tool with them prompt for the hostname of:

� Concurrent processing node


� Administration node
� Forms server node
� Web server node
� Is the target system APPL_TOP divided into multiple mount points (y/n)?
If yes, the tool will then prompt for each auxiliary mount information.
� APPL_TOP mount point

� APPL_TOP aux.1 � APPL_TOP aux.2 � APPL_TOP aux.3

� COMMAN_TOP mount point


� 8.0.6 ORACLE_HOME mount point
� iAS ORACLE_HOME mount point
� Location of JDK 1.3.1

� Port pool number:[0-99]

24. Does clone preserve the patch history?


Yes, Rapid Clone preserves the patch history. The following patch history is
preserved
even after the clone.

� RDBMS ORACLE_HOME: Preserve the OUI oraInventory.


� iAS ORACLE_HOME: preserve the OUI oraInventory.
� 806 ORACLE_HOME: preserve the patch level and Oracle inventory.
� APPL_TOP and Database: preserve the patch level and history tables.

1. What is concurrent manager?

When an Oracle Application user submits a request to run a program, it�s called
concurrent request. Concurrent manager are the programs, which are responsible for
running the concurrent requests. When a user submits a report to be run as a
concurrent
request, the job enters in a request queue. Concurrent managers continuously read
request
from the master queue and run the requests based on the request�s schedule,
priority, and
compatibility rules. Concurrent managers run in background and they take care of
initiating and completing the concurrent requests.

2. What are the different types of concurrent manager?


Oracle Applications consist of several types of concurrent managers. The important
ones are internal manger, standard manager and conflict resolution manager. Apart
from these, you can define your own custom concurrent manager.

3. What is an internal concurrent manager?

The internal manager is the one which is responsible for controlling all other
concurrent
managers. Its main task is to ensure that all other concurrent managers are up and
running. The internal concurrent manager starts, sets the number of active
processes,
monitors and terminates all other concurrent processes through requests made to the
service manager, including restarting any failed processes. The internal concurrent
manger also starts and stops, and restarts the service manager for each node.

4. What is conflict resolution manager?

The conflict resolution manager takes care of resolving the program


incompatibilities and
checks if a request in queue can be run in parallel with the running request. It
also takes
care of resolving the program incompatibilities. If a program is identified as run
alone,
then the conflict resolution manager prevents the concurrent managers� form
starting
other programs in the same conflict domain.
When a program lists other program as being incompatible with it, the conflict
resolution
manager prevents the program from starting until any incompatible programs in the
same
domain have completed running.

5. What is a standard manager?

The standard manager is the master concurrent manager. This manager is always
running
and it can take care of processing any concurrent request. It has no specialization
rules.
This manager runs 24 hours a day for the whole year. The definition of this manager
should never be altered. In case if you alter the definition of the standard manger
and you
have not defined additional managers to run your requests, some of the programs may
not
run in a proper way.

6. How do I enable/disable the conflict resolution manager?

There is a system profile option �Concurrent: Use ICM�. The default value of this
profile
option is No which allows the conflict resolution manager to be started. Setting
the same
to Yes will cause the conflict resolution manager to be shutdown and the internal
concurrent manager will take care of the conflict resolution duties. Using the
internal
concurrent manager to resolve the conflicts is not recommended.

7. What are the difference ways to start concurrent manager?


Concurrent manager can be started using the script adcmctl.sh located at the
locations of
the scripts or with the startmgr utility located at $FND_TOP/bin.

8. What are the different ways to stop concurrent manager?

Concurrent manager can be stopped using the script adcmctl.sh. It can also be
stopped using the Concsub utility. Form the operating systems, the concurrent
manager can be stopped by querying the FNDLIBR process and killing the same.

9. In administer concurrent manager form there are two columns labeled as actual
and
target. What are these columns and what is their significance?

Target column lists the number of processes that should be running for each manager
for
this particular workshift. Actual column lists the number of processes that are
actually
running. If the actual column is zero, there are no processes running for this
manager. If
the target column is zero, then either a workshift has not been assigned to this
manager,
or the current workshift does not specify any target processes. If the target
column is not
zero, then the manager processes have either failed to start up, or has gone down.

10. How do I run/schedule a concurrent request from operating system level without
logging in to the application?
A concurrent request can be schedule/run from the operating system using the
CONCSUB utility. CONCSUB means Concurrent Submit.

22 pg

11. What are the different ways to check if concurrent manager (CM) is running or
nor?

There are a couple of ways through which one can check if the CM is running or not.
Form the operating system, it can be checked by querying the FNDLIBR process. Form
the forms, it can be checked from the Navigation > Concurrent > Manager >
Administer.
It can be also checked using the scripts adcmctl.sh status and finally it can also
be
checked from Oracle Application Manger.

12. What is the default location of the concurrent manger logfiles?


The concurrent manager log files can be located in one of the following places:
1) If the environment variable $APPLCSF is set, the default location is $APPLCSF/
$APPLLOG
2) If the environment variable $APPLCSF is not set, the logs go to $FND_TOP/
$APPLLOG

13. I have submitted a request and it�s showing the status inactive/no manager.
Concurrent manager is up and running and the request are being picked after some
time.
What could be the reason for the same?

f the concurrent manager is up and running and the request goes to the status
inactive/no
manager for some time it means that cache cycle is less. Cache size is set on the
Concurrent> Manager> Define form. Basically, this regulates how many requests a
manager will pick up for each sleep cycle. The solution is either to increase the
cache size
of the manager or increase the actual number of the manager process. The manager
could
be standard manager or any other manager for which the issue is coming.

14. I have submitted a request; it has gone to pending standby status for a long
time
whereas other requests are getting completed normally without any issues. What
could be
the reasons?

If any particular request is going to pending standby status and others are getting
completed, it means that either it is waiting for the output of some other request
or is
conflicting with some other request. If the request is conflicting, check the queue
of the
conflict resolution manager for troubleshooting.

15. How do I process more concurrent requests in parallel?

If you want to process more requests simultaneously, there are two ways for the
same � one, increase the number of the target process for the manager and second,
change the cache size of the concurrent manager.

16. When do the tables FND_CONCURRENT_REQUESTS and


FND_CONCURRENT_PROCESS need to be purged?

When the tables reach 20,000 rows, the performance beings to diminish. You may want
to run purge concurrent request on a regular basis, depending on the amount of
requests being run.

17. What are the concurrent request log file and output file naming conventions?

Request log files: 1<request id>.req


Output files: If $APPCPNAM is not set: <username>.
<request id>
If $APPCPNAM = EQID: o<request id>.out
If $APPCPNAM = USER: <username>.out

Where: <request id> = The request id of the concurrent request


And: <username> = The id of the user that submitted the request
Manager log files:
ICM log file: Default is std.mgr, can be changed with the mgrname startup parameter
Concurrent manager log: w<XXXXXX>.mgr
Transaction manager log: t<XXXXXX>.mgr
Conflict Resolution manager log: c<XXXXXX>.mgr
Where: <XXXXXX> is the concurrent process id of the manger.

18. What happens when the internal concurrent manager dies? Are all the managers
also
killed immediately after it?
No, if the internal manager dies, the request continues to run normally except for
the
queue control requests.

19. Does the internal manager run or schedule any request for itself

No, the internal manager does not run or schedule any request. It has nothing to do
with
scheduling requests, or deciding which manager will run a particular request. Its
function
is only to run �queue control� requests, which are requests to startup or shutdown,
other
managers. It is responsible for startup and shut down of the whole concurrent
processing
facility, and it also monitors the other managers periodically, and restarts them
it they
should go down. It can also take over the conflict resolution manager�s job, and
resolve
incompatibilities.

20. If the internal manager goes down, do I need to kill all the managers before
restarting
the internal manager?
No, if the internal manager goes down you need not kill all the managers. You can
simply
start the internal manager using startmgr.

21. Can I delete concurrent manager?


Yes, you can delete any concurrent manager. For deleting, query for the manager in
the
defined concurrent manager form and then delete the row.
Deleting the predefined concurrent managers is not recommended and it should never
be
done. Deletion may cause instability in the system.

22. What is internal monitor?


This manager is used to implement parallel concurrent processing. It monitors
whether
the ICM is still running, and if the ICM crashes, it will restart it on another
node.

23. How do I clean out concurrent manager tables?


For cleaning concurrent manager tables, Oracle provides a script called
cmclean.sql.
24. I hit the restart button to start the standard manager but it still doesn�t
start?

Asking a manager to restart sets the status to restart. The internal concurrent
manager will
start in the next process monitor session or the next time internal concurrent
manager
starts. Use activate, to start a manager immediately. Also, when a manager is
deactivated
manually, the internal concurrent manager will not restart it. You will need to set
it to
restart, or activate it manually.

25. I tired to stop the concurrent manager using the script adcmctl.sh. I can still
see from the operating system that a few FNDLIBR processes are still running and
adcmctl.sh is not able to stop the concurrent manager completely. What do I do in
this situation?
If you are not able to stop the concurrent manager using the script, query for the
FNDLIBR process using the command
Ps �ef | grep FNDLIBR

And then kill all the process using the command


Kill -9 <process id>
If there are more than one process of the FNDLIBR, you can kill all them in one go
using
the command
Ps �ef | grep FNDLIBR | awk �{ print $2}� | xargs kill � 9

26. What are the circumstances in which you need to bounce the concurrent manager?
The following are the situations in which one may need to bounce the concurrent
manager:
� When you modify the definition of the printers
� When you modify the environment variables. Say you have changed the APPLTMP and
APPLTMP variable

� When all the requests are pending or hanging

27. What are the reasons a concurrent manager hangs?


The concurrent manager hangs due to many reasons. A few of them are:
� Long running jobs
� The internal manager was activated by someone other than owner of the application
system
� The operating system files system is ful

� It�s not able to create the log file


� You�ve shut down the internal manager, but actual has a number in it
� The database is hanging may be because the archive log files have filled
� There could be some ORA error that�s coming
� Pending/standby requests are too many

28. How can you stop concurrent manager using the CONSCUB utility?
Concurrent manager can be stopped using the CONSCUB utility by the following
command:
CONCSUB apps/apps@<dbname> SYSADMIN �system Administrator� SYSADMIN
CONCURRENT FND SHUTDOWN
29. What are the different parameters of the startmgr utility?
The parameters of the startmgr utility is given in the following table.

Parameters
Description
Default
Sysmgr
Sqlplussername/password that owns the foundation tables
Applsys/<passwd>
Mgrname
The name of the manager
Internal manager
Log file
The log file of the manager
$FND_TOP/$APPLLOG/$mgr
name.mgr

or

$APPLCSF/$APPLLOG/$mgrname.mgr
Step
The number of seconds the ICM should wait before checking new request from the
table
FND_CONCURRENT_REQUESTS
60 Seconds
Restart

If the CM goes down abnormally it will automatically restart the manager. Y = the
number of minutes the ICM waits before restarting the manager
N=not to restart after abnormal termination
mailto
MAILTO is a list of users who should receive mail whenever the manager terminates
Current user
Printer
The default printer for sending the output files
Diag
This is used for diagnosis. If the CM is started with the parameter diag=y then
full
diagnostic output is prodiced in the log file
N
Pmon
The number of sleep cycles ICM will wait before checking failed Managers
20
Quesiz

Number of pmon cycles the ICM wairs between times it checks for normal changes in
concurrent manager operation. Normal changes include the start or end of a work
shift and changes to the concurrent manager definitions entered in the Define
Concurrent Manager form. (Default 1)
1

30. What exactly happens when a concurrent request is submitted?


Once a concurrent request is submitted by the user, the table
FND_CONCURRENT_REQUESTS is automatically updated with the details of the
request. The table is also updated with the information about the schedule of the
concurrent request whether it�s immediately scheduled or scheduled at a fixed
time. Once the request is scheduled to run the concurrent manager checks the
FND_CONCURRENT_REQUESTS table to find out I the request is incompatible with
any other request. If the request is incompatible then the conflict resolution
manager
takes care of the request and finds out what are the incompatibilities and resolves
them. If
there are no incompatibilities, it�s checked whether any special manager is there
to take
care of this request then it goes to the queue of that manager else the standard
manager
takes care of the same. Once the request is processed, the
FND_CONCURRENT_REQUESTS table is updated with the status.

31. In the administer concurrent manager form, what is the significance of the
terminate
button?

The terminate button is used to terminate any concurrent manager. When you
terminate
internal manager, all the managers automatically get deactivated and all the
running
requests are terminated. If you want to terminate a particular manager, select the
manager
and click the terminate button. The status of the manager changes to deactivate
after a
few seconds and all the requests processed by that manager are immediately
terminated.
Once a manager is terminated, it doesn�t restart automatically. You have to
manually
restart it using the restart button.

32. In administer concurrent manager form, what is the significance of the


deactivate
button and how can you deactivate a manager from there?

For deactivating a particular manager, select the manager and press the deactivate
button.
In case of deactivation, all the requests processed by the manager are allowed to
complete
before the manager shuts down. If you deactivated the internal manager, all the
managers
automatically get deactivated but all the running requests are allowed to complete
before
the manger is shut down. This is the only difference between termination and
deactivation. In termination, all the running requests are terminated immediately
where as
in case of deactivation all the running requests are allowed to complete first.

33. In administer concurrent manager form, what is the significance of the verify
button
and for which managers it�s available?

The verify button becomes enable only when you select the internal manager. One of
the
functions of the internal manger is to monitor the processes of each concurrent
manger.
The process of monitoring the other concurrent manger by internal manager is known
as
the PMON cycle. When you click the verify button you can force the process
monitoring
or the PMON activity to occur. The verify button is also available for the conflict
resolution manager which checks for the program incompatibilitie

34. What is parallel concurrent processing and what is the significance of the
same?

Parallel concurrent processing is the way to distribute concurrent managers across


multiple nodes in a cluster, massively parallel, or networked environment. It helps
in
distributing the load across multiple nodes thereby fully utilizing the hardware
resource.
The following are the advantages of the parallel concurrent processing:

Load Distribution Since the concurrent processing is distributed among multiple


servers,
as a result the load is distributed across various nodes which results in high
performance.
Fault Tolerance When a node fails, the concurrent processes continues to run on
other
nodes, as a result the work is not hampered.
Single Point of Control The ability to administer concurrent managers running on
multiple nodes from any node in a cluster, massively parallel, or networked
environment.

35. Explain briefly how parallel concurrent processing works?

In case of parallel concurrent processing, all the managers are assigned a primary
and a
secondary node. The managers are started in their primary node by default. In case
of
node failure or Oracle instance failure, all the concurrent managers on that node
are
switched to their secondary nodes. Once the primary node is available again the
concurrent managers on the secondary nodes are migrated back to the primary node.
During the migration process, a manager may be spread across both primary and
secondary nodes.
In case of parallel concurrent processing, it may happen that in a node where
parallel
concurrent processing is configured; the Oracle instance may or may not be running.
The
node which is not running Oracle, the concurrent managers connects via Net8 to a
node
which is running Oracle.
The internal concurrent manager can run on any node, and can activate and
deactivate
concurrent managers on all nodes. Since the internal concurrent manager must be
active
at all times, it needs high fault tolerance. To provide this fault tolerance,
parallel
concurrent processing uses internal monitor processes. The job of the internal
monitor
process is to constantly monitor the internal manager and start it when it fails.
Only one
internal monitor process can be active on a single node. You decide which nodes
have an
internal monitor process when you configure your system. You can also assign each
internal monitor process a primary and a secondary node to ensure fail over
protection.
Internal monitor processes, like concurrent managers, can be assigned work shifts,
and
are activated and deactivated by the internal concurrent manager.
The concurrent log and output files from requests that run on any node are
accessible
online from any other node. Users need not log onto a node to view the log and
output
files form requests running on that node.

36. Where can I define the primary and the secondary nodes for the concurrent
manager
from?

For defining the primary and secondary nodes of each manager, you need to launch
forms
with system administer and need to navigate the Concurrent > Manager > Define form.
Query for the manager in which you want to define the primary and secondary node.
In
this screen, put the values for the primary and the secondary nodes and save.

37. I have defined for nodes of the concurrent manager. Now do I need to start the
concurrent manager from all the nodes?

No, even if you have defined the concurrent manager in four different nodes you
need not
start the concurrent manager from all the nodes. You just need to start the
concurrent
manager form the primary node and GSM takes care of starting the concurrent manager
from all the other nodes.

38. My request is making error out with the error � unable to create temporary
files
XXXXX.tmp. How do I fix it?
This issue normally comes if the values of $APPLTMP, $APPLPTMP in the APPL_TOP

and the utl_file _dir parameter of the database are not in sync. All the three
variables
should be exactly the same. If these issues come, change the values to make all
these
three in sync. If you change the values in the APPSORA.env, you need to bounce the
concurrent manager for the changes to get effected. In case if you change the
values of
the init.ora, you need to bounce the database to reflect the changes. (Of course
you need
to bounce the application tier also if you are bouncing the database.)
39. The user comes to you saying that the request is taking a lot of time to
complete.
What will be your approach for debugging it?

You can do the following to debug the same.


� You can run a trace on the request id to find the expensive sql�s and then tell
the
developer to fix the same.
� You can check the program incompatibilities in the concurrent request.
� You can check the query which the concurrent program is executing and see if it
is
creating any locks in the database
� Many times the users schedule the request to run at a later time.

You can check the parameters with which the request is run. (For example, once a
user came saying that request is not printing the output. On checking the possible
things, it was realized that he scheduled the request with print copies = 0.)

40. How can you know which trace file is created for the particular request?
You can find out the same using the script given below. The trace will be located
in the
udump location of the database server.
Promt
Accept request promt �please enter the concurrent request id for the appropriate
concurrent program:�
Promt

Column 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 off
SELECT �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_file_name||
Execname.subroutine_name ,

�Status :
�||decode (phase_code,�R�,�Running�)
||�-�||decode (status_code,�R�,�Normal�),
�STD 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_concurrent_program_v1 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_applicaiton_id =
Execname.application_id
And
Prog.executable_id=execname.executable_id;

41. What are the things that need to be taken care when you define a concurrent
program?

When defining a concurrent program the following things need to be taken care.
� Selecting an executable file to run the program
� Choosing the execution method for the program (when defining your executable in

define concurrent program executable)


� Defining parameters for the program, if any
� Defining printing information
� Specifying any incompatible program that must not run while the program runs
� Choosing whether to allow users to run this report from the run reports form or
from
within a form. If the latter option is chosen, the form from which you want to
kick-off
your program need to be modified. If the first option is chosen, the program needs
to be
added to a report security group.

42. How do you schedule concurrent requests?

For scheduling the concurrent requests, you need to click the schedule button while
submitting the request. The concurrent program can be scheduled only once,
periodically
or on some specific days. You can also save this schedule for future reference and
can
use the same schedule for a different concurrent program by using the option apply
a
saved schedule. If you don�t schedule the request then by default the concurrent
requests
are submitted immediately.

43. What does the completion option mean at the time of submitting a request?

The completion option refers to what Oracle Application will do once the request is
completed. It can notify people via email, can save the output in a file, can take
a print
out of the same or simply won�t do anything.
44. What is a work shift?

The work shift defines the time for which the concurrent manager is active. You can
define some fixed date or time for manager or can make the manager run
24*7 making it active all the times. The work shifts are defined by using the work
shift
form from the following navigation > Concurrent > Manager > Work Shifts.
45. What are the important scripts related to the concurrent managers and what are
their
location?

The following SQL scripts located under $FND_TOP/sql are useful when diagnosing
concurrent manager problems.
1. afimchk.sql Informs about the status of the ICM and PMON method.
2. afcmstat.sql Lists active manager processes.
3. afrqrun.sql Lists all the running, waiting and terminating requests.
4. afrqwait.sql Lists requests that are constrained and waiting for the ICM to
relea
5. afrqscm.sql Prints log file name of managers that can run a given request. It
can be
used to check for possible errors when a request stays in pending status. It
requires a
request id value.
6. afcmcreq.sql Prints the log file name of the manager that processed the request.
7. afrqstat.sql Summary of completed concurrent requests grouped by completion
status
and execution type. It requires number of days prior to the current date, when to
report
parameter.
8. afimlock.sql Lists locks that the internal concurrent manager is waiting to get.
9. afcmrrq.sql Lists managers that currently are running a request.

46. What are the things you need to check if you are not able to view the logs of
the
concurrent manager?

� You need to cross check the TNS entries.


� You need to check the DBC file.
� You need to check if the Apache/Jserv is running properly.
� You need to check if the connect descriptor is correct.
CRACKING
THE
ORACLE Apps DBA
-by JOYJEET BANERJEE
INTERVIEW 325 Frequently Asked Questions

Contents:

1. Architecture
2. Installation
3. Forms
4. Concurrent Manager
5. Patching
6. Ad Utilities
7. Cloning
8. Up gradation
9. R12

1.
ARCHITECTURE
1. Describe the architecture of Oracle Applications.

Oracle Applications follow a three-tier architecture:


(1) Database-tier containing the RDBMS database,
(2) Middle-tier containing various servers like forms server, web server,
concurrent
processing server, admin server, reports server, and discoverer server, and
(3) Desktop-tier, the client desktop, through which users access Oracle
Applications

2. Does a tier mean a physical machine?

No, a tier does not mean a physical machine. It is basically a logical portioning.
Each tier has more than one physical server and each physical server can
accommodate mire than one different tier. For example, the middle-tier can be
configured in 4-5 different servers and any server can be used for hosting database
as well as Web server.

3. How is the three-tier architecture different from client server architecture


model and
which is better model?

In a Client-server architecture, you need to install the application software in


all the
client�s machines. If you are using 100 computers as clients, you need to install
the
application software in 100 computers. The three-tier architecture eliminates this
issue.
The application software is hosted centrally in the middle tier and there is no
need to
install it in all the client�s machines.

4. If I am not installing the client software in the desktop PC, then how will I
acces
oracle Applications?

The Client desktop accesses Oracle Applications through Java enabled Web browser
with
JInitiator and forms client applet.

5. What is forms client applet?


For running forms from the client computer, the forms client applet must run in
the client desktop. It supports all Oracle Application forms including the custom
forms. The forms client applet is a collection of JAR (Java Archive) files. These
JAR files contain all the classes, required to run the presentation layer of Oracle
Applications.

6. What is JInitiator?

Oracle JInitiator enables end-users to run Oracle forms services applications


directly
within Netscape Navigator or Internet Explorer on Windows 2000, Windows NT4.0, and
Windows XP platforms.

Oracle JInitiator is implemented as a plug-in (Netscape Navigator) or ActiveX


Object
(Microsoft Internet Explorer). It allows you to specify the use of the Oracle-
certified java
Virtual Machine (JVM) on Web clients instead of relying in the default JVM provided
by
the browser.

Oracle JInitiator is automatically downloaded to a client machine from the


application
server for the first time. The client Web browser encounters an HTML file that
specifies
the use of Oracle JInitiator. The installation and updating of Oracle JInitiator id
performed using standard plug-in mechanism provided by the browser.

7. Do I need to download and install JInitiator every time I log in to oracle


Applications?
No, the JInitiator needs to be installed only once. After the JInitiator is
installed, the
client�s desktop is configured and nothing needs to be done from the client�s
machine.

8. What is Oracle Applications technology layer?

Oracle Applications technology layer provides common basic functionality across all
Oracle Applications product families. The Oracle Applications technology layer is a
collection of product whose functionality is used by all the modules of Oracle
Applications.

9. What are the components of Oracle Applications technology layer?

Oracle Applications technology layer comprises the following products:


� Oracle Application DBA (AD)
� Oracle Application Object Library (FND)
� Oracle Common Modules (AK)

� Oracle Application Utilities (AU)


� Oracle Alert (ALR)
� Oracle Workflow(WF)
� Oracle Applications Framework (FWK)
� Oracle XML Publisher (XML)
10. What does database tier consist of?
Database tier consists of Oracle database, which stores all the data. The database
server
contains Oracle Home and data files.

11. How many Oracle Homes are there in Oracle Applications and what is the
importance
of each one of them?
Oracle Applications have three Oracle Homes:

I. Database Oracle Home in the database tier that acts as the Oracle Home for the
Oracle
database.

II. Oracle Home in the applications tier, also known as 8.0.6 Oracle Home. It is
called the
technology stack Oracle Home and used by forms, reports and discoverer.

III. iAS Oracle Home, used by the Oracle HTTP server. It is used by the Web
listener.

12. Can I enable real application clusters in the database tier along with Oracle
Applications?

Yes, real application clusters can also be configured with Oracle Applications. In
that
case, more than one instance of Oracle runs and the data files are stored at a
central
location accessible from the entire instance.

13. What does the application tier consist of?

The application tier is the place where the application software is located. It
also hosts a
large number of servers which interact with the database and the client-tier. The
application tier architecture shifts software administration from the desktop to
the middle
tier removing the burden of installing the application software at every client.
The
application tier also supports load balancing among multiple forms server,
concurrent
processing server to provide optimum scalability and performance.

14. Which servers are hosted from the application tier?


The following six servers constitute the application tier:

� Oracle HTTP server (Apache)


� Forms server
� Reports server
� Admin server
� Concurrent processing server
� Discoverer server

15. What is Oracle HTTP server?


Oracle HTTP server is the Web server which is used by Oracle Applications. It
processes all the requests received from the clients. The Web server includes a
couple of additional components like Web listener, Jserv (Java Servlet Engine) and
Java Server Pages.

16. What is the difference between Apache and Oracle HTTP server?
Oracle HTTP server is the customized form of the Apache. Oracle has customized the
Apache Web server as per its own requirement which is known as the Oracle HTTP
server.

17. What is the function of the Oracle HTTP (Apache) server?

The Web listener accepts the HTTP requests coming from the client browsers, and the
Web server services the request. If the URL needs advanced processing then it
forwards
the same to the servlet engine which in turn contacts the database for processing
the
request and returns back to Web listener. If the incoming request needs parsing a
JSP file
then the following sequence occurs. The client browser makes a request to the Web
listener. The Web listener checks the nature of the request and then contacts the
Jserv
(Servlet Engine) where it runs a JSP. The JSP contacts the database for the
information
and returns a HTML page which is in turn displayed in the Web browser.

18. How does Oracle HTTP (Apache) server work?

The Web server works in the following way:


� The user clicks a hyperlink on his desktop.
� The browser contacts the web listener with the URL. If possible, the HTTP
listener
services the request itself by returning a sample HTML page. In case it needs JSP
parsing
then - the Web listener redirects the same to Servlet Engine (Jserv) for running a
JSP;
- the JSP in turn contacts the metadata dictionary in the database where it gets
the
information from the application table to construct the HTML page;
- the Web server returns the resulting HTML page back to the browser.

19. Where are Apache log filers located, and what are these files?
Apache log files are stored in $IAS_ORACLE_HOME/Apache/Apache/logs. The log

files are error_log, error_log_pls, access_log and access_log_pls.

20. Where are Apache configuration files stored and what are the important Apache
configuration files?

Apache configuration files are stored in $IAS_ORACLE_HOME/Apache/Apache/conf


directory. The main configuration files are httpd.conf, apps.conf, httpd_pls.conf,
oprocmgr.conf, and oracle_apache.conf.

21. How do I know which file -httpd.conf or httpds.conf- is being used by the
Apache?

The same can be determined by examining the script apachectl which is located at
$IAS_TOP/Apache/Apache.bin. It is internally called by the script adapcctl.sh which
is
located at the scripts location. In the script apachectl, there is a variable httpd
defined,
which points to either the httpd or the httpds executable. If the httpd variable in
the
apachectl script calls httpd, Apache configuration depends on httpd.conf. If the
apachectl
script calls httpds, Apache configuration depends on httpds.conf.

22. In case of a shared APPL_TOP, where do I see the configuration files and the
log
files for the Apache?
In case of a shared APPL_TOP, the techstack home is also shared across all the
different
server so all the Apache and Jserv configuration files are stored in
$IAS_CONFIG_HOME directory. There will be a separate $IAS_CONFIG_HOME
directory for each node of the application system.

23. I have done a couple of customizations in apps.conf, jserv.properties but each


time I
run the autoconfig it is overwriting the customizations. What do I do?

To overcome this problem, go to the #FND_TOP/admin/template directory. There also,


you will see all those configuration files. Make a directory custom in the
$FND_TOP/admin/template directory and copy all the files where you want to do the
customization from $FND_TOP/admin/template to $FND_TOP/admin/template/custom
and do the customizations in the files in custom directory. Now run autoconfig. To
explain this, lets take an example. Say you want to do some customization in the
apps.conf file. The usual location of the apps.conf file is
$IAS_ORACLE_HOME/Apache/Apache/conf. the same file is also available in the
$FND_TOP/admin/template directory. Copy the apps.conf file from
$FND_TOP/admin/template directory to custom directory. Make all the customizations
in the apps.conf file in the custom directory. Now run autoconfig. The
customization will
now be read from the files in custom directory.

24. Where are Jserv configuration files stored?

Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc.

25. What are the important configuration files which are used for making Apache run
along with Jserv?

� $APACHE_TOP/Apache/conf/httpd.conf (or httpds.conf, depending on your platform)


� $APACHE_TOP/Jserv/etc/Jserv.conf
� $APACHE_TOP/Jserv/etc/Jserv.properties
� $APACHE_TOP/Jserv/etc/zone.properties
� $APACHE_TOP/Apache/conf/oracle_apache.conf
� $APACHE_TOP/Ojsp/conf/ojsp.conf
Where $APACHE_TOP refers to the $IAS_ORACLE_HOME/Apache directory.

26. Where are Jserv log files located?


The Jserv log files are located in the $IAS_ORACLE_HOME/Apache/Jserv/log directory
and in the format mod_jserv.log.

27. Where are JVM log files located?


The JVM log files are located in the $IAS_ORACLE_HOME/Apache/Jserv/log/jvm
directory.

28. How do I check the version of Apache?


The version of the same can be checked using the command
$IAS_ORACLE_HOME/Apache /Apache/bin/httpd �v.

The output is given similar to as given below.


httpd �v
Server version: Oracle HTTP Server Powered by Apache/1.3.19 (Unix)
Server built: Dec 6 2005 13:41:10 (iAS 1.0.2.2.2 rollup 5)

29. When I login to the Oracle Applications from the PHP-based applications, login
page
simply hangs. What approach should I follow for the debugging?

If the login page hangs, the first step would be to check the Apache log files. Go
to the
Apache log directory and check for the access_log and error_log. You will get some
information there. If you are not able to find anything then check for the Jserv
logs from
there you will get some information. Also, check the logs of the JVM. Try to
analyse all
the errors that you are able to debug anything then do as AOL diagnostics test
which will
tell you where the issue is. You can also enable debug for Apache, Jserv if you are
not
getting any pointer from the logs.

30. How do I enable debug for Apache?

Edit the httpd.conf/httpds.conf file to enable debug for apache. Find the following
section in the apache configuration file and set the Log Level to debug. You may
want to make a backup of this file before you edit. Now the Apache log files will
be written with debug information. You also need to bounce the Apache after the
making the changes.

31. How do I enable debug for Jserv?

Edit the Jserv.conf to enable debug for the Jserv module. Find the following
section in
Jserv.conf and ser the LogLevel to debug. Also, edit the Jserv.properties to enable
debug
for the java portion of the Apache Jserv find the following section in
Jserv.properties and
set log=true, log.timestamp=true, and the logging for the channels to true
log.channels=true. You also need to bounce the apache after making the changes. Now
the log files will be written with the debug information.

32. How can I launch AOL diagnostics test?


The AOL diagnostics test can be launched using the following URL.
http(s)://< host><domain>:<port>/OA_HTML/jsp/fnd/aoljtest.jsp
It prompts for the database hostname, SID, port name, apps userid and apps
password. In
case of RAC environments, you have to give the JDBC URL.

33. How do I know about the location of JDBC URL?

The JDBC URL is there in the DBC file in the $FND_TOP/secure directory. Open the
file and you will get the JDBC URL from there.

34. How do I test whether my DBC file is valid or not?

You can check the validity of the DBC file using the AdminAppServer utility. Run
the
following command java oracle.apps.fnd.security.AdminAppServer appsun/appspw
STATUS DBC = [path to dbc]/[dbc_name].dbc
This should return STATUS: VALID

35. I have accidentally deleted DBC file or my status of the DBC file is invalid,
how do I
recreate the same?
Run Autoconfig. It will recreate the DBC file else you can also create the same by
running the script adgendbc.sh located at $COMMON_TOP/admin/install directory.

36. What is plsql cache and what is its importance?

The mod_pls component of the Apache caches some database content to file. The plsql
cache also known as database cache is of the type session and plsql cache. The
session
cache is used to store the session information and the plsql cache is used to store
the plsql
cache which is used mod_pls. It is stored in the
$IAS_ORACLE_HOME/Apache/modplsql/cache directory.

37. How do I enable PL/SQL logging?

Edit the file wdbsvr.app, which is usually founded in


$ORACLE_HOME/Apache/modplsql/cfg/ and set the following two parameters �
debugModules=all and LoggingLevel=Debug

38. What is admin server?


The admin server is that node of the APPK_TOP from which all the maintenance
activities for Oracle Applications are performed
39. What kind if maintenance activities can be performed form admin server?

The following maintenance activities can be performed from the admin server.
� Applying the patches
� Maintaining Oracle Applications
� Applying the ad utilities
� Upgrading Oracle Applications

40. Does admin server also have a process like Apache and forms server?
No, the admin server doesn�t have an operating system process like Apache or forms
server. It is basically a node of the APPL_TOP.

41. What is concurrent processing server?

When an Oracle Application user submits a request to run a program, it�s called
concurrent requests. Concurrent manager are the program responsible for running the
concurrent requests. Concurrent requests are processed from concurrent processing
server.

42. What is forms server?

The forms server is that server from which the forms are hosted. It�s component of
middle tier. The forms server can be hosted from more than one node and the load
balancing can be implemented with the forms. The forms user interface is used in
the
desktop clients for working in Oracle Applications.

43. Explain briefly, how the connection of the forms server works?

This is how the forms server works.

� Browser sends request (URL) to HTTP Listener (Apache)


� HTML page is retrieved (static) or generated (dynamic)

When the Web server receives the URL, it interprets it. If the URL points to a
static file,
the file will be retrieved from storage. If the URL points to a CGI script, the
file will
essentially be the same as the static version, but some pieces of
that file will be dynamically generated by the CGI script. If dynamic, CGI script
asks
load balancing server for least loaded server. If the URL points to a CGI script,
the CGI
script will poll the load balancing server.
� HTTP Listener sends HTML page back to browser

Browser decodes HTML page, and detects the <APPLET> tag indicating a Java Applet.
As the browser decodes the HTML file returned by the Web server, it detects the
<APPLET> tag. This is the designator that indicates a java Applet. Specifically,
this is
the thin client that will connect to the forms server.

The <APPLET> tag contains the name Applet, along with numerous parameters
including (a) the name of the form to run, (b) the name of the forms server to use,
(c)
login information, (d) any other parameters you need to pass to your forms session.
� Browser sends request (URL) to HTTP Listener for Java Applet

The browser asks the Web server to send it to the Java Applet. Java Applets are
stored
in .class or Java Archive (JAR) files. Oracle Applications use JAR files. JAR files
are
compressed archives that contain multiple .class files. Oracle Applications use JAR
files
because they speed up the downloading of the Java Applet. There are many JAR files
that
Applications must download to run.
� HTTP Listener returns Applet (JAR files) to browser

Browser receives Java Applet (JAR files) and begins to run them in its JVM
(JInitiator).
The JVM JInitiator checks the version of the files being sent. If the version of
the JAR
files is newer than the version cached on the client, JInitiator will continue the
download.
If the version is the same or older, JInitiator will begin to run the cached Java
files. Java
Applet is now running in the JVM. Browser is no longer part of the equation. The
Java

thin client connects to the forms listener via a TCP/IP socket or an HTTP port. The
forms
listener is already started, and listens for these requests.
� Forms Listener allocates a forms runtime engine

When the Forms Listener gets the request, it starts a new forms runtime engine for
this
thin client. This started forms runtime engine can either be a newly spawned
process, or it
can be an allocation of an already running process (which greatly speeds up the
connection process).
� Java Applet connection is passed from Forms Listener to forms runtime engine

The Forms Listener hands-off the connection to the thin client, and then has no
further role in the process. Forms runtime engine loads module(s) needed to run the
requested form. When the thin client connected, it passed a parameter entry,
serverArgs. In that parameter entry, there was a name of a form to run. At this
point, the forms runtime engine loads the form and any libraries and/or menus
required by that form.
� Forms runtime engine opens a connection to the database
The details of this connection depend on the whether the Forms Runtime Engine is a
newly spawned process, or if it was allocated from a pool of already running
processes.

44. What is load balancing?

Load balancing is a server process that monitors loading on all of the forms
servers. Each
of the forms servers runs a load balancing client which keeps the load balancing
server
apprised of its load.
45. How can you find how many forms users are connected to the application system
form the operating system level?
You can do the same by querying the f60webmx process and counting the same. You can
use the following command to check this.
Ps �ef | grep f60webmx | wc �l

47pg

46. In my PC, I can see lots of JInitiators are installed. How can I find which
JInitiator is
being used by the forms process?

When the forms is launched, the Java console displays all the information about the
forms process. There it displays which version of the JInitiator the forms is
using.
Alternatively, you can also open the appsweb.cfg file and check the parameter
jinit_ver_name in that file. It will tell which version of the JInitiator is being
used.

47. What is reports server?

Reports server is also a component of the middle tier and is hosted in the same
node of the concurrent processing server. Report server is used to produce business
intelligence reports. Report server is started by executable rwmts60 which is
located at
$ORACLE_HOME/bin

48. How can you check from the operating system whether the reports server is up
and
running?
Reports server can be checked from operating system by querying for the process

rwmts60. You can check the same using the following command.
Ps �ef | grep rwmts60

49. How can you compile a report manually?

You can do the same using the adrepgen utility as shown below.
adrepgen apps/<apps_passwd>source=$PRODUCT_TOP/srw/filename/rdf
dest=$PRODUCT_TOP/srw/filename.rdf stypr=rdfile dtype=rdffile
logfile=<path_of_log> overwrite=yes batch=yes dunit=character

50. What is discoverer and why it is used?

Discoverer is an intuitive ad hoc query, reporting, analysis and Web-publishing


tool that
empowers business users at all levels of the organization to gain immediate access
to
information from data marts, data ware houses, online transaction processing
systems and
Oracle e-business suite. The discoverer server comprises Oracle Discoverer 4i, a
key
component of the Oracle9i Application server (9iAS). Discoverer 4i is tightly
integrated
with Oracle Applications which allow users to employ Discoverer to analyze data
from
selected business area in human resources, purchasing, process manufacturing
financials
and other products. The discoverer server complements the reports server by
allowing
performance of ad hoc queries and analysis of the resulting query output. It also
allows
users to perform projections based on possible changes to the business environment
or
other strategic factors.

51. How can you start the discoverer server?

Discoverer start script addisctl.sh is available in the $OAD_TOP/admin/scripts/


$CONTEXT_NAME location. Alternatively, you can also use the startall.sh script
located at $ORACLE_HOME/discwb4/util directory.

52. What is the product directory in the APPL_TOP and what is the importance of the
same?

For each product there is a separate directory in the APPL_TOP. There are more than
two
hundred products in the 11.5.10 release. The product directories are named with the
product�s standard abbreviation like bis for Business Intelligence System, ec for
e-
commerce.
The product files are stored in the product directories.
<Prod_Top> refers to <APPL_TOP> / <prod> / version. For example
$FND_TOP=$APPL_TOP/fnd/11.5.0.
Under each product top there are a large number of directories. If we go to FND_TOP
directory, We will see the following directories.
(appmgr01) emstestappl � bash $ cd $FND_TOP
(appmgr01) 11.5.0 � bash $ pwd
/slot01/appmgr/emstestappl/fnd/11.5.0

(appmgr01) 11.5.0 � bash $ ls


3rdparty fndenv.env html lib media patch secure xml
Admin forms include log mesg reports sql driver
Bin help java mds out resource usrxit
(appmgr01) 11.5.0 � bash $

53. What are the important configuration files available in APPL_TOP?


Following are the important configuration files available in the APPL_TOP.
APPLSYS.env/APPSORA.env

Adovars.env
SID.xml
Adconfig.txt
Adjareas.txt
Topfile.txt
Appsweb.cfg
Hostname_SID.dbc
Adpltfrm.txt
Adjborg.txt
Adjborg2.txt

54. What is the significance of the appsweb.cfg file and where is it located?
This file defines the parameter values used by forms Web CGI. This is the main
configuration file used by the forms. This file contains the following details:
� Forms server Name, ServerPort, DomainName
� Database Connection Parameters
� JInitiator Version
This file is located at $OA_HTML/bin.

55. What is the significance of the DBC file and whether is it located?

The DBC stands for database connection. This is the file which is responsible for
establishing a connection between the database and the APPL_TOP. The DBC file
stores
all the information for successful connection to the database. The DBC file
contains the
values of GWYUID, FNDNAM, and TWO_TASK & GUEST_USER_PWD.
GWYUID stands for Gateway User ID and should have APPLSYSPUB/PUB as User
ID/Password
The defaults User ID/Password for Oracle Applications is guest/guest, guest/oracle,
oracle/guest. This User ID/Password should match with the record available in the
fnd_profile_options table.
The location of this file is $FND_TOP/secure.

56. What is the significance of GWYUID?


It is used to connect to database by thick clients.

57. What is the difference between GWYUID and GUEST_USER_PWD?

GWYUID is used by thick clients to connect to the database. For example, forms uses
the
GWYUID to get connected. Whenever a new forms connection is established, it uses
APPLSYSPUB/PUB to authenticate the session, whereas GUEST_USER_PWD
(Guest/Oracle) is used by JDBC thin client.

58. If you go to FND_TOP/secure directory, you can see lots of DBC files located
there.
How do you find which one is used by the application system?
To find out which DBC file is used by the application system you can query for the
profile Application Database ID. If the profile name is SID then SID.dbc is used by
the
application.

59. What is the significance of the admin directory in the APPL_TOP?

The $APPL_TOP/admin directory contains the scripts and the files which are used by
the AD utilities. This directory also contains the log and output files created
during patching and running of ad utilities. Following are the important files in
the $APPL_TOP/admin directory.
� <sid>.xml � This is the context file which is used by the Oracle Applications
� Adovars.env � This is an important configuration file about which we have already
discussed
� <sid>/log � This directory contains all the logfiles which are generating during

patching or by the running of Ad utilities


� <sid>/out � This directory contains all the output files
� Text files � This directory contains a large number of text files which contains
various
information about the application system and are referred during autopatch

60. How can you change the password of the application users?

The password of the application users as well as the password of all the schemas
including apps can be changed using the ENDCPASS utility. For running the
FNDCPASS, you need to have the system and the apps password. FNDCPASS is run in
the following manner.

FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLYSYS WELCOME


FNDCPASS apps/apps 0 Y system/manager ORACLE GLGLI
FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME

61. What is �0� and �Y� in flag in FND executables like FNDCPASS, FNDLOAD?
�0� means the request id. Since the request is not submitted via the Concurrent
Request
submission forms, request id zero is assigned to it.
�Y� indicates the method of invocation. It�s invoked directly from the operating
system
and not through the concurrent request.

62. What are the tables which store the information about the various application
users
and their passwords?
Two tables � FND _USERS and FND_ORACLE_USERID � store the information about
the application users and the passwords.

63. How can you delete an application user

You can�t delete an application user but you can put the end date the application
user
making the user inactive.

64. In case of a multi-node installation, how can you check which service is being
run
from which node?

There are two ways to find the same information.


You can open the CONTEXT_FILE in the APPL_TOP/admin and check the information.
You can check for the FND_NODES table and check the column, SUPPORT_CP (for
Concurrent Manger) SUPPORT_FORMS (for forms server), SUPPORT_WEB (web
server), SUPPORT_ADMIN (admin server), and SUPPORT_DB (for database tier).

65. What is OATM and what is its significance?

OATM refers to the Oracle Application tablespace model. In the previous releases of
Oracle Applications, there were two tablespace for each product. One was for data
and
the other was for the index and there user to be a lot of overhead in managing all
the
tablespaces. The new tablespace model replaces the old tablespace model by 12
tablespaces making it lot easier to manage the tablespaces.

66. Is apps password stored in any flat file outside database?


Yes the apps password file is stored in the file called wdbsvr.app located at
$IAS_ORACLE_HOME/Apahe/modplsql/cfg.

67. Where are all the middle tier start/stop scripts located?

The scripts for managing the middle tiers are located in


COMMON_TOP/admin/scripts/<sid> directory. For running these scripts, login to the
application tier as the owner of the application file system and source the
environment
using the environment <sid>.env located in the $APPL_TOP. All the scripts create a
log
file which shows the status of the server. The log file written in the directory
$COMMON_TOP/admin log/<sid>. Each component of the middle tier has a separate
log file.

68. What is the script for the start/stop of Apache?

The Apache server can be started with the script adapcctl.sh.


The parameters that accepts is start, stop, and status.
Adapcctl.sh { start | stop | status }
The Apache startup script is customized for the Oracle Applications in such a way
that it
takes of starting the Jserv, modplsql and the TCF socket server automatically once
the
apache is started.
The log file which is created by the script is adapcctl.txt and it is located at
the location of
the log file.

69. What is the script for starting/stopping the forms server?

The forms server can be controlled with the script adfrmctl.sh which is located at
the
common locations of all the scripts viz $COMMON_TOP/admin/scripts/<sid>. The
forms server can be started/stopped in the following way.
Adfrmctl.sh { stop | start | status }
The log file which is created by the scripts is f60svrm.txt available at he common
location of the log files.
Alternatively, the forms server can also be started manually without using the
scripts with
the f60ctl executable which is located at $ORACLE_HOME/bin. This is 8.0.6 Oracle

Home and should not be confused with the Oracle Home of the database server.
The forms server can be started manually in the following way.
F60ctl start port=<port name> mode=socket exe=f6owebmx logfile=/location of
logfile.

70. How you can start the reports server?

Reports server can be controlled with a script adrepctl.sh. It uses the executable
FNDSVCRG which is located at $FND_TOP/bin. The defaults name of the reports server
log file is rep60_<sid>.txt and is located at same place along with the log files
of the
other components of the middle tier.
Reports server can be controlled by
Adrepctl.sh { start | stop | status }

71. How you can start/stop all the middle tier components at one go?
For starting and stopping all the middle tiers, Oracle provides two different
scripts which
take care of starting and stopping all the middle tiers at one go.

For starting all the middle tiers, the script is adstrtal.sh. It takes the apps
user id and apps
password as parameters.
Adstrtal.sh < appsusername/appspassword>
Similarly, for stopping all the middle tiers at one go, the script is adstpal.sh.
This also
takes the apps user if and apps password as parameters.
Adstpal.sh <appsusername/appspassword>
Both these scripts create a logfile in which it contains detailed information. The
logfile
name is in the following format <Month><Date><Hour><Minute>.log
It gives a formatted report in the log file with the details of which components
are started,

which are already running, which are disable and which are not running.
1. How do I check from the server if the forms server is running or not?
Check for the process f60cd. If the process is running it means the forms are up
and
running.
2. How do I change the port of the forms server?
Modify the file appsweb.cgf which is available at $OA_HTML/bin
3. How do I enable FRD (forms Runtime Diagnostics)

For enabling FRD, login to forms as sysdmin. Then add �&record=collect&log=�


without
the quotes to the profile option ICX%FORMS%LAUNCHER.
The FRD can also be enable by appending the same on the forms URL
play=&record=collect&log=/tmp/form l.frd
For example, if the forms URL is
http://ap6105rt.us.oracle.com:8012/dev60cgi/f60cgi?config=SCMTSTl
Then add the following in the URL.
http://ap6105rt.us.oracle.com:8012/dev60cgi/f60cgi?config=SCMTSTl
play=&record=collect&log=/tmp/form l.frd

4. How do you relink the f60webmx executable?


It can done from the command line by using the syntax adrelink.sh force=y �fnd
f60webmx�

5. My forms server is up and running but while connecting to the forms I am getting
the
error �your connection to the server was interrupted. This can be due to a result
of
network error, or a failure on the server. You will need to reestablish your
session�, what
do I do?
Relink the f60webmx and then bounce the forms server.

6. What is FORMS^)_TIMEOUT?
This is an environment setting which refers to the maximum idle time before
f60webmx
shuts down. This will only terminate an idle middle tier process.

7. How do I generate an FMD file manually?

It can be generated from the command line using the following command:
F60gen module=form_name.fmb userid=apps/apps outpur_file=form_name.fmx
module_type=form batch=yes compile_all=special

8. How can I generate a PLL file manually?


It can be generate from the command line using the following command:
F60gen module=library_name.pll userid=apps/apps module_type=library batch=yes
compile_all=special

9. How can I generate an MMB file manually?


It can be generated from the command line using the following command:
F60gen module=FNDMENU.mmb userid=apps/apps output_file=FNDMENU.mmx
module_type=menu batch=yes compile_all=special

10. What are important files related to forms?

� Adfmcctl.sh � This script starts and stops the forms metric client for apps
instance located in $COMMAN_TOP/admin/scripts. It uses the forms d2lc60 executable
to accomplish this.

� Adfmsctl.sh � This script starts and stops the forms metric server for apps
instance
located in $COMMAN_TOP/admin/scripts. It uses the forms d2ls60 executable to
accomplish this.
� Adfrmctl.sh � This script starts and stops the forms server listener located in
$COMMAN_TOP/admin/scripts. It calls the f60ctl founded in
$ORACLE_HOME/6iserver/bin of IAS.
� Appsweb.cfg � This file defines parameter values used by the forms web CGI
located in
$OA_HTML/html/bin. It has the details of the forms server port, host, domain etc.
� Appsbase.html � This is the default HTML file for starting an applet using
JInitiator and
is located in $OA_HTML/<language>
� D2lc60.txt � This is the forms metric client log file, located in
$COMMAN_TOP/admin/install
� D2ls60.txt � This is the forms metric server log file, located in
$COMMAN_TOP/admin/instal
� F60svrm.txt � This is the adfrmctl.sh log file located in
$COMMAN_TOP/admin/install. This is not the same as the forms server log file which
not only logs start up and shut down info but also client connectivity. For
example, which
client IP is associated with which f60webmx process and debug stack trace info.
� Oracle Applications.dat � This file determines the path Oracle Apps uses to find
their
icons and is located in $JAVA_TOP/oracle/fnd/formsClient

11. I am not able to launch the forms through the php. It�s simply hanging however
I am
able to launch the direct forms, how should I fix this?
If you are not able to launch the forms then check for profile ICX: Forms Launcher
system profile. Set properly the forms URL here and you should be able to launch
the
forms.

12. What is the ICX: forms launcher system profile is used for?

This profile option is used by the self service Web application personal home page
(also known as ICX) to determine the base URL needed to launch an application,
which in this case is a forms application.

13. What should ICX: forms launcher be set to?


ICX: forms launcher is set to http://hostname:port/dev60cgi/f60cgi? You can
optionally
add some parameters to this URL to enable tracing.

14. What is FORMS60_CATCHTERM?

FORM60_CATCHTERM is an environment setting that enables or disable the forms


abnormal termination handler which catches middle tier crashes and cleans up by
removing temp files, closing db connections and writing diagnostic info to the dump
file
or the forms server log file.

15. How do you determine version information about a Oracle Applications forms?

Form the Oracle Applications; open the form whose version you want to know. Go to
the
menu bar, select Help>About Oracle Applications. Near the bottom of the information
screen, you will find a heading of �FORMS�. Under this heading you will find the
name
and version information of the currently selected form.

16. How do you enable tracing for the forms session and where is the trace file
located?

You can start the tracing for the particular forms session by the going to the menu
bar of
the Oracle Applications forms session and by selecting Tools and then Trace Enable.
Once you click Enable it will tell you the full path and name of the trace file.
It�s
normally located in the udump location of the database server.
17. I want to launch the direct forms for debugging but when I try to launch the
direct
forms I get the error, �This application server is not authorized to access this
database�.
How can I launch the direct forms?

By default the launch of direct forms is not supported in Oracle Applications.


Still if you want to launch the forms directory then you must set the security off
for doing the same. The direct forms can be accessed using the URL given below.
http://<Apache hostname>.<domain>:<Web port>/dev60cgi/f60cgi

The following command is used for turning the authentication off java
oracle.apps.fnd.security.AdminAppServer apps/apps AUTHENTICATION OFF
DBC=<name of dbc file>
Once the authentication is set to off then the direct forms URL can be accessed.

18. After logging to the forms you are getting the error � the Menu compilation has
failed
or Oracle Error there is no valid responsibility available. How will you
troubleshoot the
same?

If you are getting the errors like this it means that the system has not been
completely
taken out of the maintenance mode or it is still there in the maintenance mode.
Once the
system is out of the maintenance mode you will be able to login.

19. When the forms are being launched you can see a yellow bar in the bottom. How
to
fix the same?

Regenerate the JAR file using adadmin. The problem will be fixed.

20. What is the difference between the forms running in socket mode and servlet
mode?

If the forms are run in the socket mode, there will be a dedicated connection
between the
client desktop and the forms server whereas when the forms are started in the
servlet
mode, the forms request are processed by the Jserv.

21. How do I find whether the forms are running in servlet mode or in socket mode?
For checking the same, query the f60 process. It will reply in which mode the forms
is
running.

22. How do I change form the socket to servlet mode and vice versa?

For doing the same, login to the Oracle Applications manager and follow the
navigation
>Site Map> Autoconfig. From there, you will be able to change from socket mode to
servlet mode and vice versa. You have to run autoconfig form the backend and bounce
the forms server after doing the same.
2INSTALLATION
1. What is the minimum disk space requirement for installing Oracle Applications?
The approximate file sizes in a single-node installation are:
� Application tier file system � 26 GB (includes iAS/8.0.6 ORACLE_HOME
COMMON_TOP, and APPL_TOP)
� Database tier file system (fresh install with a production database) � 31GB
� Database tier file system (fresh install with a Vision Demo database) � 65GB
� Total space for a single node system, not including stage area, is 57GB for a
fresh install with a production database, and 91GB for a fresh install with a
Vision Demo database.
2. How much stage area is required for RapidInstall?
To run RapidInstall from a stage area, you need at least 24GB to accommodate the
files.
3. How much space an additional language needs?
To install an additional language, it needs approximately around 10GB space.
4. Do in need to install any other software before starting the RapidInstall?

Before installing Oracle Applications, the JDK needs to be installed. The version
of JDK
which needs to be installed depends on which version of Oracle Applications you
want to
install. The latest 11.5.10 release of Oracle Applications needs JDK1.4.2. Apart
from
JDK, you must have Perl 5.00.53 installed and which should be there in your PATH.
If
you don�t have Perl installed, download the same from www.perl.com.

5. Can I start the RapidInstall with any user?

RapidInstall needs to be started only wit the root user. It can also be started
with any
other user as well, but that is not recommended as you have two different users �
one for
database and other for application file system.

6. How many operating system users I need for Installing Oracle Application

Oracle recommends that you should have two Unix users for Installing Oracle
Applications � one Oracle user (Oracle) who owns the file system of the database
and
one application (applmgr) user who owns the application file system.
7. What are the individual disks included in the Release 11i software Bundle?
The 11.5.10 software comes in DVD format. The individual disks included in the
Release 11i software bundle are labeled as follows:
� Start Here � Disk l
� APPL_TOP � Disk n
� RDBMS � Disk n
� Tools � Disk n
� Database � Disk n

8. Is the NLS software included with the RapidInstall DVD bundle?


No, the NLS software is not included with the RapidInstall bundle. You need to
order the
NLS supplement software separately for each additional language which you want to
install along with Oracle Applications.

9. How do I create the stage area of the RapidInstall?


For creating a stage area, the script adautostg.pl needs to be run as follows:
$ cd /mnt/cdrom/Disk/rapidwiz
$ perl adautostg.pl

10. How many directories are there in the stage area of Oracle Applications?
The following six directories are there in the stage area of Oracle Applications.
� StartCD
� oraApps
� oraDB
� oraiAS
� oraAppDB
� oraNLS (Optional only if you have a NLS Software)

11. What pre-install checks should I make to ensure a successful installation?


� Verify the correct user and groups have been created, as documented in installing
Oracle Applications.
� Verify the required disk space is available, as documented in installing Oracle
Applications.

� Verify the file system base install directories have write access granted to the
user that
will own the software (on UNIX the RapidInstall Wizard may be run as root but the
install runs as the user that will owns the software, therefore this user must have
write
access to the baser install directories).
� Verify the required ports are available for the installation.
� Verify system parameters are sufficient for the Oracle software (especially the
database)
to run.
� Verify the all the OS patches have been applied as per Oracle documentation.

12. What is a single node installation?

Single node installations is the one in which all the servers (concurrent
processing, forms,
Web, reports), the database and all product directories are installed on a single
node. In
other words, in single node installation the entire Oracle Applications are
installed on a
single server.

63 pg

13. Where is a single node installation generally used?

The single node installation is generally used for smaller installations and also
used for
demonstration purpose.

14. What is an express configuration?

Express configuration installs a fully configured single node system with either a
fresh
database or Vision Demo database. Only a few basic parameters such as database
name,
top level install directories and port settings needs to be specified in this and
express
configuration take care of installing Oracle Applications with out any user
intervention.

15. What is configuration file and why is it used?

During installation RapidInstall asks many questions from the user. It saves all
the
configuration parameters you enter in a new configuration file (config.txt) which
it uses
to configure the system for the new installation. In case the installation fails
the same
configuration file can be used for restarting the installation without answering
all the
questions again from the scratch. For multi-node installation, this configuration
file is
used for the installation in other nodes.

16. I have started RapidInstall but nothing is coming in the screen. What could be
the
reason?
The display might not be set properly. Set the display and start RapidInstall
again.

17. What is a multi-node installation?


A multi-node installation is the one in which the database tier and the application
tier are
installed across two or more modes.

18. In a multi-node installation how do I find what services are nothing from which
node?

The context file sid_hostname.xml in $APPL_TOP/admin will have the information


about the same. It can also be queried from the table FND_NODES. You can query the
following columns � SUPPORT_CP for concurrent manager, SUPPORT_FORMS fo

orms server, SUPPORT_WEB for the apache host and SUPPORT_ADMIN to know the
admin tier.
19. What benefits do I get with multi-node installation?

Multi-node installation distributes the server process across different servers.


For
example, in a typical example of multiple node, the database in hosted in one
physical
server the apache is hosted from the some other server, the forms are hosted in
some
other server, the concurrent manager and reports server is hosted from the some
other
server. This helps in distributing the load across various servers and as a result
the overall
performance of the application system increases.
20. Incase of multi-node installation, I will have multiple APPL_TOP�s. How will I
manage all the different APPL_TOP�s?

Incase if multi-node installation, various components of the middle tier are hosted
across
different physical servers. Shared APPL_TOP means the APPL_TOP will be installed
only in one of the physical servers and all the other servers of the application
tier will
shard the file system of the APPL_TOP. Any changes made in the shared APPL_TOP
file system are immediately visible on all nodes. This helps a lot in managing the
application system, Incase if patching, it needs to be done only once as all the
servers
share the same APPL_TOP. With 11.5.10 release, RapidInstall creates a shared
APPL_TOP by default for multi-node installation.

21. What is Shared APPL_TOP and how does it help in case of multi-node
installation?

Incase of multi-node installation, various components of the middle-tier are hosted


across
different physical servers. Shared APPL_TOP means the APPL_TOP will be installed
only in one of the physical servers and all the other servers of the application
tier will
share the file system of the APPL_TOP. Any changes made in the shared APPL_TOP file
system are immediately visible on all nodes. This helps a lot in managing the
application
system. In case of patching it needs to be done only once as all the servers share
the same
APPL_TOP. With 11.5.10 release, RapidInstall creates a shared APPL_TOP by default
for multi-node installation.

22. What is a shared application tier file system?

In a shared application tier file system installation, the APPL_TOP, the


COMMON_TOP,
and the applications technology stack (ORACLE_HOMEs) are installed on a shared disk
resource mounted to each node in the system. There nodes can be used to provide
standard application tier services, such as forms, Web and concurrent processing.
Any
changes made in the shared application tier file system are immediately visible on
all
nodes.

23. What Operating systems can use the shared APPL_TOP?


All RapidInstall platforms except Windows support a shared application tier
infrastructure.

24. Can I share the APPL_TOP across different platforms of operating system?
No, sharing of the APPL_TOP is not possible across different platforms because the
binaries and libraries of the application file system are platform specific.

25. As of now I am using two different APPL_TOP. Can I merge the existing
APPL_TOPs to go for the shared APPL_TOP model?
Yes, you can merge APPL_TOPs which are spread across different nodes. The metalink
document 23428.l. mentions in details about doing the same.

26. What is load balancing?

Load balancing distributes processes for Oracle Applications across multiple nodes.
This
distribution of the workload improves the performance and enhances scalability. If
the
load balancing then even if the component is down, the application system continues
to
work. For example, if Apache load balancing is enabled across two nodes then in
case
one of the nodes in down, all the incoming connections will automatically be
redirected
to the other node.

27. In which servers load balancing can be enabled?


The load balancing can be enabled in the forms server, Web server as well as the
concurrent processing server

28. Which products are installed by default along with RapidInstall?

RapidInstall installs all the products automatically regardless of their licensed


status.
However, you must register products you have licensed so that they are flagged in
the
system as active. An active flag marks products for inclusion in patching and other
tasks
that you will perform to update and maintain your system after the initial
installation.

29. How can I tell what is installed and licensed after finishing an install?

The script AD_TOP/sql/adute.sql against the APPS user schema will generate a
detailed file (adutconf.lst) with information about the database configuration and
what products are installed and licensed after the rapid installation process
complete.

30. I have already done the installation but forgot to license a product I want to
use. Can I
license it after the installation?

Yes, licensing can be done after the installation. You can do in two ways.
1) Go to AD_TOP and run the script adlicmgr.sh. This will prompt for the additional
products to be licensed.
2) From Oracle Applications Manager go to OAM > License Manger > License
additional products.

31. I have already done the installation. Now I want to add an additional language.
Is it
possible?
Yes, it�s possible to add a separate language after the installation. For this, you
need to
make the language as active from Oracle Applications Manger and need to download
and
install the NLS software.

32. I don�t want to use the defaults port that�s being used by RapidInstall. What
options
do I have for changing the ports to some other value?

There are two options for assigning different ports rather than using the default
ports
while running RapidInstall.
1) You can use the port pool option with which you can increment all the port
values at
one go. Say you choose a port pool of 5 then all your port values will be
incremental by 5
from the default value.
2) You can use the Advance Edit button for assigning the ports of your choice but
make

sure that the ports which you are assigning are not in use.

33. What are the pre-install checks performed by RapidInstall?


The RapidInstall takes care of the following checks.
1) Port availability: The port you have selected is available or clashing with some

existing port.
2) Port Uniqueness: There is no duplicate defined port for the processes.
3) File space check: It ensures whether the file system have sufficient space for a
smooth
installation.

4) OS Patch Check: It ensures that the right operating system patches are there or
not.
5) Operating system check: It checks the operating system.
6) File system check: It checks whether the files are mounted properly and have
correct
permission.
7) Host/domain check: It verifies the hostname and the domain name.
8) System utilities check: It checks whether the linking utilities like make, ld
and cc are
available or not.
9) OS user and group check: It checks that the OS user exists and the OS user is a
part of

correct group.

34. How much time does RapidInstall normally take?


RapidInstall approximately takes around 5 � 6 hours to complete in a single node.

35. Once the installation is done, what checks RapidInstall does to ensure that the
installation is successful?
RapidInstall checks the following to ensure the installation is successful.
1) Database availability check: The database is up and running
2) Environment file check: Checks whether the environment file is created properly
3) DBC file check: The DBC file has been created (location $FND_TOP/secure)
4) HTTP check: Check s if the apache is up and running
5) JSP check: Checks if the JSPs are working fine
6) PHP check: Checks if the PHPs are working fine

36. Where are RapidInstall log files written?


RapidInstall log files for Application tier are located under
$APPL_TOP/admin/<SID>_<hostname>/log.
The Log files for database tier are located under
$ORACLE_HOME/appsutil/log/<SID>_<hostname>
The log file is of the following formatXXXXXXX.log. WhereXXXXXXXX =
MMDDHHMM � date and time of run

37. What information is written in the log files of the RapidInstall of db and
application
tier?
In the db tier RapidInstall log file contains the following information:

� Rapid wizard version


� Date and time install session started
� Rapid wizard source location
� Command line arguments for this execution
� Location of configuration file
� Install session information
o Host name

o Host operating system


o User running install
� Results of:
o Host name

o Port availability check


o Operating system check
o Port uniqueness check
o File system check
o File space check
o Host/domain check
o OS patch checks
o System utilities check
� Results of the actual installation:
o Installation drivers
o XML file creation
o Control file creation
o ADX database utility
The application tier log file contains the following information:
� Results of the actual Installation

� Instantiation drivers
� XML creation

� Control file creation


� ADX database utility
� Results of the post install checks
� Database availability check
� Environment file check
� DBC file check
� HTTP check

� JSP check
� PHP check
� 806infrun.log-Windows only-Updating Registry with Tools 8.0.6 ORACLE_HOME
information
� Iasinfrun.log-Windows only-Updating Registry with Tools iAS ORACLE_HOME
information
� iASInstalling-Information on Unzipping stages for oraiAS-Tools 8.0.6 and iAS
Techstack
� installAppl.log-Information on Unzipping stages for oraAPPS-APPS_TOP
� installiasinf.log-Information in creating the Registry update.inf files

1. What is the difference between patch, minipack and maintenance pack

In simple language,
Patch + Patch = Minipack
Minipack + Minipack = Maintenance Pack

Patches are created and released by Oracle whenever some new enhancements are made
in Oracle Applications or if there is some issue with Oracle Applications. A patch
may
contain a fix for a single issue or a collection of issues.
During a release cycle, a product combines all the individual patches in to a
minipack.
When these minipacks are combined together into a single patch, it is called a
maintenance pack. In earlier release, these minipacks were referred as patch sets
and
maintenance packs were referred as release updates.

2. What are the different types of driver a patch can have?


A patch can have the following kinds of driver.

� Copy driver known as C driver


� Database driver known as D driver
� Generation driver known as G driver
� Unified driver known as U driver

3. What is a copy driver (C driver) and what does it do?

The copy driver copies all the files that are there in the patch to the APPL_TOP.
The
copy driver is named as c<patch number>.drv. Apart from copying the files to the
APPL_TOP, the copy driver also does the following tasks.

� Copies the files that are there in the patch to the $APPL_TOP.
� Extracts the appropriate files from each product�s C library.
� Relinks the Oracle Applications products.
� Regenerates the JAR files and compiles the Java Server Pages (JSP) files.
� Compares the files in the patch with the files in the $APPL_TOP. If the files in
the
patch are of higher version then only adpatch copies the files from patch to
$APPL_TOP

4. What is a database driver (D driver) and what does it do?

The database driver contains all the commands to change the database object. Just
like
the copy driver, the database driver is also named as d<patch number>.drv. The
database
driver applies all the assorted scripts copied by the copy driver to the database.
There are
many scripts that make changes to the database which are applied by the D driver.
Here is
the brief description of all the scripts that are run by the D driver.
� It makes a list of all the invalid objects that are there in the database.
� Runs SQL scripts which make changes to the database objects.
� Compiles all the invalid objects that are there in the database.

5. What is a generate driver (G driver) and what does it do?

Just like the copy driver and database driver, the generate driver is also named as
g<patch
number>.drv. The generate driver regenerates all the forms, reports and pl/sql
libraries
that have been affected by the patch.

6. What is unified driver (U driver) and what does it do?

The unified driver is combination of C, D and G drivers. It performed the acts in


the
order of C, D and G drivers. For unified driver, the same naming convention
follows. It�s
also named as u<patch number>.drv. It requires only a single execution of
AutoPatch.

7. How is a patch applied in an application system?

A patch is applied in using the adpatch utility. It�s an interactive utility which
prompts for
the various details like the patch number, driver details, number of workers, apps
password and system password. When all the details are provided, adpatch applies
the
patch.

73 pg

8. What exactly happens when a patch is applied? What is the sequence of steps
adpatch
follows?
The AutoPatch extracts the appropriate files from the product library. It compares
the
extracted object modules with their corresponding files in the patch directory. If
a file in
the patch directory is a more recent version than the product�s current file,
AutoPatch
backs up the product�s current file in to a subdirectory of the patch directory.
Specifically, it backs up
<PROD>_TOP/<subdir(s)>.<old_file_name>
To
<patch_dir>.backup/<env_name>/<appl_top_name>/<prod>/<subdir(s)>/ \
<old_file_name>.

Where <patch_dir> is the patch directory, <env_name> is the Applications


Environment
name, <appl_top_name> is the APPL_TOP name, and <prod> is the name of the product
being patched.
It also replaces each product�s outdated files with newer files from the patch
directory.
It applies changed Java class files and regenerates JAR files as needed.
It loads the new object modules in to the libraries.
It relinks the Oracle Applications products with the Oracle Server.
It runs SQL scripts and exec commands, which change Oracle Applications database
objects. By default, AutoPatch does this in parallel.
It copies any specified HTML or media files to their respective destinations.
It generates Oracle Forms files.
It generates Oracle Reports files.
It generates Oracle Graphics files.
It appends a record of how it changed your system to applptch.txt in the
$APPL_TOP/admin/<SID> directory
It records summary information of actions actually performed to applpsum.txt
located
under APPL_TOP/admin.
It updates the various ad tables like ad_applied_patches, ad_bugs with the status
of the
patch.

9. I want to apply a couple of patches in my application system. Can I apply all


the
patches together?

No, you can�t apply all the patches together. You can apply only one patch at a
time. If you want to apply multiple patches together, then you can merge all the
patches together using the merge patch utility and can apply the merged patch at
one go.

10. How can I apply a patch in a non-interactive manner?

You can apply a patch in a non-interactive manner using a patch defaults file. The
defaults file stores all the information that is normally asked by the adpatch and
uses
them to apply the patch in a non-interactive manner.

11. How do I create a defaults file for applying a patch in a non-interactive


manner?
For creating the defaults file for the first time we need to give the following at
the
prompt.
(appmgr01) bash $ adoatch\ defaultsfile=$APPL_TOP/admin/$TWO_TASK/def.txt

This will prompt all the questions that are normally asked during interactive
patching. Answer all the questions and when asked for the directory where your
patch has been unloaded, enter an abort at he command prompt. This will create a
def.txt file at the location specified in the command prompt. Verify whether this
defaults file is created properly or not. Once the defaults file is created for the
application system, we can run AutoPatch in non interactive way.

12. What is the test mode of adpatch and why is it used?

The test mode is used to determine the action of the patch without actually
applying the
patch. When the patch is run in test mode it does not perform any action as such
but
documents the operations it would have performed. In other words, it lists each
file it
would have copied, generated, executed or relinked. This is used when you want to
know
what wxactly the patch is going to do and what is going to be the impact of the
same.

13. How can you apply a patch in the test mode?


You can apply a patch in the test mode by typing adpatch apply = no at the command
prompt.

14. Under what circumstances one needs to run a patch in a pre-install mode and how
is it
run?

Pre-install mode is normally used to update AD utilities before an upgrade to


Oracle
Applications. This is run from the command prompt by invoking the following
command.
Adpatch preinstall = y

15. From release 11.5.10 onwards one needs to put his application system into
maintenance mode before applying any patch. How can I apply any patch without
putting
my application system into maintenance mode?

You can apply a patch without putting the application system into maintenance mode
by
using the hotpatch option. Type the following from the command line.
Adpatch options = hotpatch

16. I was applying a patch and the patch failed. I contacted Oracle support and
they
advised me to apply one more patch as a fix and then restart my previously failed
patch
from the point where it had failed. How do I do that?
If you want to restart your patch from the point where it failed then backup the
out and
restart directories from the $APPL_TOP/admin/$TWO_TASK. Also take a backup of the
FND_INSTALL_PROCESS and AD_DEFERRED_JOBS table from the database and

apply the new patch. Once the new patch is applied, put the files that have taken
the
backup in the place and revert the old table. You should be able to apply the patch
from
the point where is failed.

17. How can I determine the effects a patch will have on my application system?
You can do the patch impact analysis through the patch wizard in the Oracle
Applications
Manger. The patch impact analysis feature of patch wizard will give the following
details.

� The total number of files in the patch


� The number of files the patch will install
� The products that will have updated files
� The files that will be introduced by the patch
� The files on the target system that will be changed by the patch
� The files with dependencies on patched files

18. I have a two node APPL_TOP. Do I need to apply adpatch from all the nodes?

If you have a shared APPL_TOP which is mounted across both the nodes then you need
not apply patches from both the nodes. But if shared APPL_TOP is not
enabled and you are maintaining two different APPL_TOP from two different servers
then you have to apply the adpatch from both the nodes.

19. In case of multi-node installation, how do I know which driver file needs to be
run
from which application server?

In case of a multi-node installation, you need to run the C driver from all the
nodes as it
copies the files that are there in the patch to the APPL_TOP. The D driver needs to
be run
only once from the admin tier and the G driver needs to be run from the servers
where the
forms servers are hosted.

20. How do I know what servers are hosted from which nodes?
You can check the same either from the Oracle Application Manger�s dashboard or
from
the context file or from the FND_NODEs table.

21. In my patch only U driver is there. I tried applying the patch earlier but it
failed due to some database issue. I have fixed that issue and now I want only the
D and G driver�s portions to run and I don�t want to run the C driver portion of
the patch again. Can I do the same?
Yes, you can skip the C driver part from the patch by typing the following at the
command prompt
Adpatch options = nocopyportion.
Similarly, you can skip the D and G drivers part also by the option
nodatabaseportion and
nogenerateporion.

22. While applying patch using adpatch, how can you hide the passwords?
You can use adpatch flags = hidepw while applying patches to hide apps or system
password

23. What happens if I apply the driver in the wrong sequence? Say I apply the G
driver
before the C and D drivers?

The driver always needs to be applied in the C, D and G sequence. If you try to run
the G
driver before the C driver the patch won�t be able to find the forms which the G
driver
wants to generate, as the C driver has not copied them in the APPL_TOP and hence
the
path will fail.

24. What are AutoPatch restart files?

Restart files store information about completed processing in the event of a patch
or
system failure. They allow AutoPatch, AutoUpgrade, and AD Administration to
continue
processing at the point where they stopped.
The restart files are located at $APPL_TOP/admin/<SID>/restart.

25. Where do I find the log files of the patch?

The patch log files are located in the $APPL_TOP/admin/$TWO_TASK/log directory. The
default name of the patch log file is adpatch.log but it is recommended to change
it as patch driver.log in order to identify the patch log easily.

26. What are all the log files which the patch creates?
Running the patch creates the following log files.
� Adpatch.log : It contains the information about the patch run.
� Adpatch.lgi : It contains the other information about the patch run.
For example, the files which has not been copied by the adpatch.
� Adrelink.log : It contains the relinking information which the patch does.
� Adworkxx.log : it contains the various workers log.

27. How to find if a patch is applied in an instance or not?


You can query the tables ad_applied_patches to find out I fhte patches have been
applied
to the instance or not. You can also check the ad_bugs to find if a patch is
applied or not.

28. What is difference between ad_applied_patches and ad_bugs tables for finding
the
patch information?
The table ad_applied_patches is updated only if the patch is applied by the adpatch
utility. If the patch is a part of some other big patch then that information won�t
be there
in the ad_applied_patch as it is not applied using adpatch. But that patch
information will
be there in ad_bugs. Alsom if all the patches are applied using the adpatch
utility, that
information is also stored in the ad_bugs table.

29. While applying patch, it�s showing me �tafnw1� as default APPL_TOP value. What
does it mean?

� �t� stands for �tier�


� �a� stands for the �admin� tier
� �f� stands for the �forms� tier
� �n� stands for the �node� tier
� �w� stands for the �Web� tier

30. I was applying a patch and the workers have failed. How do I skip and restart
the
failed workers?
For this, you need to open a new terminal and invoke the adctrl utility. Choose the
eighth
options which are generally hidden for skipping and restarting the worker.

31. You were applying a patch and it has failed. What do you do?

If the patch has failed then the first step would be to check the patch log file to
find out where exactly it has failed. If the patch fails at D driver or G driver
then you should also check the workers log to find out the exact error. Then try to
fix the issue. If it is fixed, restart the patching using the adctrl utility.

32. You have applied a patch which brings new files to the APPL_TOP but after
applying the patch the users are complaining that they are not able to see the new
changes. How do you troubleshoot this?

Check the log file of the patch in the log location. You will get some clue whether
adpatch has copied or applied that file or not. Else clear the cache from the
server and
bounce the apache.

33. How do I clear the cache from the server?

In the COMMON_TOP directory, there will a directory starting with _pages. This is
the
directory where the files are cached in the server. Delete all the files from there
for
clearing the cache.

34. You have to apply a multiple number of patches. How can you reduce the
downtime?
You can reduce the patching time in a number of ways.
� You can merge all the patches into one single patch using admergepatch admrgpch.
� You can choose the max number of the workers which your CPU permits.
� In case you are applying all the patches one by one, you can choose the options

nocompiledb nocompilejsp and nolink so that compilation of the invalids object,


jsp�s
and relinking can be skipped till the last patch is applied. In the last patch you
can
compile all of them and do the relink.
1. Is the upgrade process same if you want to upgrade to 11.5.10 from 11i and non-
11i
instances?

No, the upgrade process is different if you are upgrading from an 11i instance to
11.5.10
and from non-11i instance to 11.5.10.
2. What are the pre-upgrade steps that need to be taken for the up gradation of a
non-11i
instance to 11.5.10?

The important steps that need to be taken before an upgrade are:


� You need to take a complete backup of the application system
� You need to run the TUMS utility
� You need to review the TUMS report
� You need to maintain the multilingual tables
� You need to rename the custom database objects
� You need to check attachment file upload directory
� You need to save the custom.pll
3. What is TUMS? Why is it required to run TUMS before doing an upgrade?

TUMS is a utility to help customers reduce the number of steps necessary in the
upgrade.
It looks at a customer�s specific situation, and identifies which steps are
irrelevant for that
customer. The output of TUMS can be used to reduce upgrade time. The upgrade manual
scripts (TUMS) is used to create a report that lists the upgrade steps that don�t
apply to
Oracle Application installation. You can ignore the steps that are generated with
the
report of TUMS.

For generating the TUMS report, you need to download and apply the TUMS 3422686
patch from metalink using the adpatch utility. The TUMS patch needs to be applied
for both 10.7 and 11.0.x version of Oracle Applications.

Once the patch is applied successfully, the adtums.sql script is used to generate
the
TUMS report. For the <DIRECTORY> value, enter the full path of the directory that
you
want the TUMS report to be written to. This directory must be listed in the

UTL_FILE_DIR parameter of your init.ora before TUMS can write the report and must
have the appropriate permissions to write the report (tums.html).
4. After the application of the TUMS patch, where does the script adtums.sql need
to be
run from?
If you are upgrading from release 10.7, the script needs to be run from the
following
location:
For UNIX users:
$ cd $AD_TOP/patches/107/sql
$ sqlplus <APPS username> / < APPS password>

@adtums.sql <DIRECTORY>
For Windows users:
C:\> cd %AD_TOP%\patches\107\sql
C:\> sqlplus <APPS username>/<APPS password>
@adtums.sql <DIRECTORY>
If you are upgrading from release 11.0, the script needs to be run from the
following
location:
For UNIX users:
$ cd $AD_TOP/patches/110/sql
$ sqlplus <APPS username> / < APPS password>

@adtums.sql <DIRECTORY>
For Windows users:
C:\> cd %AD_TOP%\patches\110\sql
C:\> sqlplus <APPS username>/<APPS password>
@adtums.sql <DIRECTORY>

5. What is the significance of custom.pll and what does it contain?

Custom.pll is the custom library. If you have done some customization in Oracle
Applications, you must preserve the custom library (custom.pll) which contains the
details of the customizations done in the application system. It is used to migrate
to 11i

6. What is the actual upgrade process for doing an upgrade foe a non-11i
application
system?

Once all the pre-upgrade tasks are done, we can start the actual upgrade. The
upgrade
starts with running RapidInstall. It needs to run twice � one for doing the actual
upgrade
and secondly, for configuring all application systems once the upgrade is complete.
This

is the sequence in which the upgrade works from a 10.7 or 11.0.x release to
11.5.10CU2.
� Enter configuration parameters and run RapidInstall
� Run autoUpgrade to upgrade products and database objects
� Run AutoPatch to apply the patches
� Run RapidInstall to configure and start all the servers and services

7. If I run the RapidInstall, does it mean that it creates a new application system
for me?
What happens to the existing database?
RapidInstall connects to the existing database and creates the new database
ORACLE_HOME, APPL_TOP and the Tech stack. Once the RapidInstall is run,
you need to migrate the existing database to 9i run AutoUpgrade and then to switch
to the new application system. Once this is done, you need to take care of all the
customizations is the new APPL_TOP, apply the required patches and then run the
RapidInstall again to configure all the servers.

8. What is AutoUpgrade and why do we need to run AutoUpgrade?

Once the RapidInstall is run successfully the next step is to run AutoUpgrade. It
is used to upgrade Oracle application product from the earlier version to the base
version of the latest release. It can be started from the command prompt by
invoking the AutoUpgrade utility by typing adaimgr.

9. Where is the location of the adaimgr log files?

I. If the environment variable $APPLCSF is set, the default location is $APPLCSF/


$APPLLOG
II. If the environment variable $APPLCSF is not set, the logs go to $FND_TOP/
$APPLLOG

10. Explain briefly the steps in the AutoUpgrade process?


There are three steps in the AutoUpgrade process:
1. Choosing database parameters
The first option is the adaimgr main menu which is used for choosing the database

parameters. Form this screen, you can do the following:


� Changing the default Oracle user id and password for each product
� Setting the sizing factor for new objects of a product or for new products
� Setting the table spaces for new products
� Changing the table spaces for existing products

2. Choosing overall tasks and their parameters


This is the second option in the AutoUpgrade main menu. It displays the tasks that
AutoUpgrade will do during the upgrade processing. You can do the following form
this
screen.

� Create applications environment file


� Verify files necessary for install/upgrade
� Install or upgrade database objects

3. Running the selected tasks

This is the third step in the AutoUpgrade process. Here it prompts for the
following:
� How do you wish to enable parallel concurrent processing
� Do you wish to use the 8.3 file name convention [No]
� Enter the common area for the log and the out files
� Enter the directory for applications temporary files
� Enter the directory for reports temporary files
� Enter the Web server host machine
� Enter the port number
Once all the information is given, the AutoUpgrade starts running and verifies the
files
for all the products one by one.

11. Explain in details what are the pre-upgrade steps for upgrading to 11.5.10 for
11i
application system?
The following are the pre-upgrade steps for the upgrade process for 11i application
system.
Announcing downtime

The first step towards an upgrade is announcing a downtime. All the users must be
communicated with the downtime well in advance and the downtime should be planned
in such a way that it affects the least in terms of revenue. Ideally the upgrade
should be
planned in weekends or holidays where you can afford to have a downtime.
Backing up application system

85 pg

A full backup of the database and the APPL_TOP must be taken before starting the
upgrade process so that in case of any upgrade failures you can revert back to the
existing
system. A cold backup of the database should be taken with the normal shutdown.
Running TUMS utility

TUMS is a utility to help customers reduce the number of steps necessary in the
upgrade.
It looks at a customer�s specific situation, and identifiers which steps are
irrelevant for
that customer. The output of TUMS can be used to reduce upgrade time. The upgrade
manual script (TUMS) is used to create a report that lists the upgrade steps that
don�t
apply to Oracle Application installation. You can ignore the steps that are
generated with
the report of TUMS.
The TUMS for 11.5.10 maintenance pack report will be created in the directory
UTL_FILE_DIR. So make sure that this directory has proper write permission.
Once the patch is applied successfully, the TUMS report can be generated using the
following command:
$ cd $AD_TOP/patch/115/sql
$ sqlplus <APPS username>/<APPS password>
@adtums.sql <DIRECTORY>
For updating the auto config tech stack components, you need to apply the patch
4489303. Make sure you follow all the steps as mentioned in the readme of the
patch.
Running tech stack validation utility

Apply the patch 4318672 in all the nodes of the APPL_TOP to install the utility
which
verifies the minimum technology stack components version and the other
configuration
requirements which are associated with the 11.5.10 CU 2 maintenance pack. Once this
patch is applied you need to run the technology stack validation utility at the
APPL_TOP
as well as at the database.
The utility can be run with the following command:
At APPL_TOP
$ADPERLPRG $FND_TOP/patch/115/bin/TXKScript/p1

- script=$FND_TOP/patch/115/bin/txkVa111510MP.p1
- txktop=$APPLTMP
- appspass=<apps_password>
- outfile=$APPLTMP/txkVa111510MP.html

A full backup of the database and the APPL_TOP must be taken before starting the
upgrade process so that in case of any upgrade failures you can revert back to the
existing
system. A cold backup of the database should be taken with the normal shutdown.
Running TUMS utility

TUMS is a utility to help customers reduce the number of steps necessary in the
upgrade.
It looks at a customer�s specific situation, and identifiers which steps are
irrelevant for
that customer. The output of TUMS can be used to reduce upgrade time. The upgrade
manual script (TUMS) is used to create a report that lists the upgrade steps that
don�t
apply to Oracle Application installation. You can ignore the steps that are
generated with
the report of TUMS.
The TUMS for 11.5.10 maintenance pack report will be created in the directory
UTL_FILE_DIR. So make sure that this directory has proper write permission.
Once the patch is applied successfully, the TUMS report can be generated using the
following command:
$ cd $AD_TOP/patch/115/sql
$ sqlplus <APPS username>/<APPS password>
@adtums.sql <DIRECTORY>
For updating the auto config tech stack components, you need to apply the patch
4489303. Make sure you follow all the steps as mentioned in the readme of the
patch.
Running tech stack validation utility

Apply the patch 4318672 in all the nodes of the APPL_TOP to install the utility
which
verifies the minimum technology stack components version and the other
configuration
requirements which are associated with the 11.5.10 CU 2 maintenance pack. Once this
patch is applied you need to run the technology stack validation utility at the
APPL_TOP
as well as at the database.
The utility can be run with the following command:
At APPL_TOP
$ADPERLPRG $FND_TOP/patch/115/bin/TXKScript/p1

- script=$FND_TOP/patch/115/bin/txkVa111510MP.p1
- txktop=$APPLTMP
- appspass=<apps_password>
- outfile=$APPLTMP/txkVa111510MP.html

At Database
$ADPERLPRG $ORACLE_HOME/appstil/bin/TXKScript/p1
- script=$ORACLE_HOME/appsutil/bin/txkVa111510MP.p1
- txktop=$ORACLE_HOME
- appspass=<apps_password>
- outfile=$ORACLE_HOME/appsutil/temp/txkVa111510MP_DB.html
-The utility must return the �[ALLPASS]� status on each application tier server
node as

well as database server nodes in order for you to be able to continue with the
installation of the release 11.5.10 maintenance pack. If the �[FAIL]� status is
returned for any test on any node, you must take the specified action to fix the
problem, re-run the utility on each node that reported a failure, and ensure that
the �[ALLPASS]� status is returned.
Converting to OATM model (optional)

The 11.5.10 release of Oracle Application introduces a new Oracle Application


Tablespace Model (OATM) consisting only twelve tablespaces. In this model, each
database object is mapped to a tablespace based on its input output characters,
which
include object size, life span, access methods and locking granularity. This model
facilitates easier maintenance, reduced space usage, and run-time performance gains
for
Oracle applications. The OATM uses locally managed tablespaces. In previous release
of
11i, each product was allocated two separate tablespaces � one for index and the
other for
data. But with OATM the total number of tablespace has been reduced to 12 including
temporary tablespace, system tablespace, and undo segments. If your application
system
is on a previous release then you can switch to OATM model using the Oracle
Application Tablespace Migration Utility. This is an optional step.
Configuring database for new products

The database must be configured for the new products, which are added since the
release of 11i. For this, you need to apply the patch 3180164 which takes care of
adding the new product details in your environment. Follow all the steps as
mentioned in the readme of the patch.
Product specific steps

Apart from these steps there are many product specific pre-install steps that need
to be done before the application of the maintenance pack. Since these tasks are
specifically related to products that are installed so we are not discussing the
same here. You must check this with the Oracle manual while doing an upgrade.

12. Explain in details the actual upgrade steps for upgrading to 11.5.10 for an 11i
application system.
The following are the actual upgrade steps for upgrading to 11.5.10 for an 11i
application
system.
Stop middle tier

Shutdown all the components of the middle tiers before starting the patching. For
stopping the same, you can use the script adstpall.sh which is located in the
$APPLCSF/scripts/<sid> directory.
Upgrading database

Before applying the 11.5.10 CU2, the database must be upgraded to 9i release 2 or a
higher version of Oracle RDBMS. If you are planning to upgrade to 9.2.0 version
then
you must follow the steps given in the metalink note 216550.1 and if
you are planning to upgrade to 10g release 1 then you must follow the steps given
in the
metalink note 282038.1.
Apply 11.5.10 CU 2 maintenance pack

Apply the 11.5.10 CU 2 patch 3480000. in case you have a multiple node APPL_TOP
then the patch should be applied at the admin tier at first and then should be
applied in
all the other nodes of the APPL_TOP one by one. If you have any other languages
installed other than American English then you must apply the NLS patch immediately
after the base patch. In case you are upgrading from release 11.5.4 or earlier
version, you
must run the adadmin and choose the option �Maintain multi-lingual tables�. The NLS
patch also needs to be applied from all the nodes in case of a multiple node
installation.

The autopatch also takes care of performing the post-installation steps during the
patching itself like compiling Apps schema, compiling the flexfields, maintaining
MRC,
compiling JSPs, generating JAR files, generating forms etc. which earlier needs to
be
done manually after patching.

13. What are the post-upgrade steps that need to be followed once the upgrade is
done

The following are the post-upgrade steps.


Start middle tier
Once the 11.5.10 CU 2 patch has been successfully applied, you can start all the
middle
tiers. You are starting the middle tiers for testing purpose only, so the access to
the users

to the application system should not be given till you complete all the steps.
Registering new products
The new products, that are added, don�t get registered in the database
automatically. They
need to be done manually. For this, you have to use the license manager which can
be
invoked using the Oracle Application Manger.
Dropping MRC schema

The Multiple Reporting Currencies (MRC) schema is no longer used anymore. You can
safely drop the schema at any time. This can be done online also and no downtime is
required for this. The following script needs to run for doing the same.
$ cd $APPL_TOP/admin
$ sqlplus SYSTEM/<SYSTEM password>
@addrpmrc.sql <APPLSYS_USERNAME> SAFE
Product-specific tasks

Apart from all these tasks, there are a lot many product-specific tasks that need
to be
done as a part of Oracle Application Upgradation. Consult the Oracle manual for
getting
a list of all those tasks.
Sanity testing

Once all the product specific tasks are done, do a sanity test to check that the
environment is working fine. If you are facing some issue after the upgradation,
then
contact the Oracle support with full details of the error.
Announce environment to users

Once the sanity testing is done and all the logins are working fine then announce
the environment to the users so that they can start using it. Take a complete
backup of the environment as soon as possible.

14. How can you upgrade the database or the techstack using the RapidInstall

For starting the database or techstack upgrade using the RapidInstall, the
RapidInstall
screen is invoked by typing rapidwiz � techstack from the command prompt. It then
gives
two options to choose from
Upgradation to 9i ORACLE_HOME
Upgrading to 9iAS 1.0.2.2.2.
Interview questions:

1. What is Location of Jserv configuration files?


Jserv configuration files are located in $IAS_ORACLE_HOME/Apache/Jserv/etc
2. What is wdbsvr.app file used for? What's full path of this file? What's
significance of
this file?
I'll again suggest you don't just remember answer & try to solve mystery behind
this file.
First where this file exists ?
You can find this file under $IAS_ORACLE_HOME/Apache/modplsql/cfg

Based on file location I am sure you can say this is related to Apache, &
looking into modplsql/cfg, I am sure you will say its related to mod_pls (mod plsql
component of Apache/Oracle 11i WebServer) configuration file. This file is used by
mod_plsql component of Apache to connect to database. So when you type url
http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds that request
is for
/pls/ then Apache delegates this request to mod_pls component which in turn pick
this
file & check if there is any DAD with name SID (in our example its VISION11I) &
Sample entry in wdbsvr.app
[DAD_VISION11I]
connect_string = VISION11I
Password = apps
Username = APPS
default_page = fnd_web.ping

On typing http://hostname:port/pls/VISION11I, it will connect to database using


apps
schema & will return you page fnd_web.ping (where fnd_web is package & ping is
procedure or vise versa).

3. What are various components in Application/Middle Tier.


In Application Tier various components are Web Server, Forms Server , Reports
Server,
Concurrent Manager, Admin Server & Discoverer Server.
4. What is APPL_TOP, COMN_TOP, ORA_TOP.....
XXX_TOP is top level directory in Oracle Application 11i for respective Component.
To
know more about various TOP's Click Here
5. What are issues you encountered during Oracle Applications 11i?
Answer to this question will depend on issues you encountered. Don't lie infront of
Interviewer. If you have not installed applications 11i accept it.
6. What's difference between TWO user & single User Apps 11i Install ? What are
advantages/disadvantages of two ?
7. What�s US directory in $AD_TOP or under various product TOP's .

US directory is default language directory in Oracle Applications. If you have


multiple languages Installed in your Applications then you will see other languages
directories besides US, that directory will contain reports, fmx and other code in
that respective directory like FR for France, AR for arabic, simplifies chinese or
spanish.

8. What are main concurrent Manager Types.


ICM - Internal Concurrent Manager Manager which manages concurrent Managers
Standard Managers
Which Manage processing of requests?

CRM - Conflict Resolution Managers Resolve conflicts in case of incompatibility.

9. Where is Concurrent Manager log file location.


By default standard location is $APPLCSF/$APPLLOG , in some cases it can go to
$FND_TOP/log as well.

10. Where would i find .rf9 file, and what exactly it dose?
These files are used during restart of patch in case of patch failure because of
some
reason.

11. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why it�s used?

This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is


usually in directory $OA_HTML/bin on forms tier.
This file is used by any forms client session. When a user try to access forms ,
f60webmx
picks up this file and based on this configuration file creates a forms session to
user/client.

12. What is multi node system ?

Multi Node System in Oracle Applications 11i means you have Applications 11i
Component on more than one system. Typical example is Database, Concurrent Manager
on one machine and forms, Web Server on second machine is example of Two Node
System.

13. Can you clone from multi node system to single node system & vice versa ?
Yes, this is now supported via Rapid Clone, Check if your system has all pre-req.
patches
for Rapid Clone and you are on latest rapid clone patch.

14. Does rapid clone takes care of Updating Global oraInventory or you have to
register
manually in Global OraInventory after clone?
Rapid Clone will automatically Update Global oraInventory during configuration
phase.
You don't have to do any thing manually for Global oraInventory.

15. What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database
connection

information used by application tier to connect to database.


This file is in directory $FND_TOP/secure also called as FND_SECURE

16. What things you do to reduce patch timing? You can take advantage of following
-
Merging patches via admrgpch
Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
Staged APPL_TOP during upgrades
Increase batch size (Might result into negative)

17. How you put Applications 11i in Maintenance mode ?

Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to

put apps in maintenance mode you can use adpatch options=hotpatch feature.

18. Can you apply patch without putting Applications 11i in Maintenance mode?
Yes, use options= hotpatch as mentioned above with adpatch.

19. What are various options available with adpatch?


Various options available with adpatch depending on your AD version are
Autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion, generateportion, hotpatch, integrity, maintainmrc, parallel,
prereq,
validate

20. Adident utility is used for what?


Adident utility in oracle apps is used to find version of any file.
AD Identification.
ex. "adident Header <filename>

21. What is adsplice utility?


Adsplice in oracle apps is utility to add a new product.

22. How can you licence a product after installation?


You can use ad utility adlicmgr to licence product in Oracle Apps.

23. What is MRC? What you do as Apps DBA for MRC?

MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US Dollars but if your organization operating books are in other
currency
then you as apps dba need to enable MRC in Apps.

24. What is JVM (Java Virtual Machine) and which component uses JVM?
JVM stands for Java Virtual Machine

25. What is access_log in apache, what entries are recorded in access_log? Where is
default location of this file?
Access_log in Oracle Application Server records all users accessing oracle
applications
11i.
This file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs.

Entries in this file is defined by directive LogFormat in httpd.conf Typical entry


in
access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1"
200 28035
Where 200 is HTTP status code & last digits 28035 is bytes downloaded as this page
(Size of page)

26. Where is Jserv configuration files stored?


Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

27. What is session time out parameter & where all you define these values?
To know about session time out parameter & location where its defined Click Here

28. Where is applications start/stop scripts stored ?


Applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/
$CONTEXT_NAME

29. What are main configuration files in Web Server (Apache)?

Main configuration files in Oracle Apps Web Server are httpd.conf, apps.conf,
oracle_apache.conf, httpd_pls.conf jserv.conf, ssp_init.txt, jserv.properties,
zone.properties plsql.conf, wdbsvr.app, plsql.conf

30. What is profile option, what are various types of profile options

31. What is APPS listener? Why is it used?


32. How do you start/stop apps listener?
33. If users complaining Oracle Applications 11i system is running slow, what all
things

you will check at broad level?


34. What is Autoconfig?
35. What is context file?
36. Why appsutil directory under Database ORACLE_HOME used for?
37. How to create User in Oracle Applications 11i? Can you delete a User?
38. What is Single Sign On? (If you are using portal 3.0.9 or 10G)?
39. How to configure portal with 11i? (If you are using portal 3.0.9 or 10G)?
40. How to check if Apps 11i System is Autoconfig enabled?
Under $AD_TOP/bin check for file adcfginfo.sh & if this exists use
adcfginfo.sh contextfile=<CONTEXT> show=enabled
If this file is not there, look for any configuration file under APPL_TOP if system
is
Autoconfig enabled then you will see entry like
# AutoConfig automatically generates this file. It will be read and.......

41. How to check if Oracle Apps 11i System is Rapid Clone enabled?

For system to be Rapid Clone enabled, it should be Autoconfig enabled (Check above
How to confirm if Apps 11i is Autoconfig enabled). You should have Rapid Clone
Patches applied, Rapid Clone is part of Rapid Install Product whose Family Pack
Name is
ADX. By default all Apps 11i Instances 11.5.9 and above are Autoconfig & Rapid
Clone
enabled.

42. What is the difference between two env files in <CONTEXT>.env and
APPS<CONTEXT>.env under $APPL_TOP?

APPS<CONTEXT>.env is main environment file which in turn calls other environment


files like <CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806
ORACLE_HOME and custom<CONTEXT>.env for any Customized environment files.

42. What is access_log in Apache?


access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like

198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms


/registry/Registry.dat HTTP/1.1" 200 4117
Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug
2006 at 03:15 AM , 200 is status code returned by Apache which means page returned
successfully (Status Code 302 means page redirected , 404 page not found, 500+
Internal
Server error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes.
This file
is quite useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format
in

Apache configuration file (httpd.conf)

43.What is the location of access_log file?


access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs.

Location of this file is defined in httpd.conf by parameter CustomLog or


TransferLog

44. What is your Oracle Apps 11i Webserver Version and how to find it?
From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version
under
$IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version
./httpd -version

Server version: Oracle HTTP Server Powered by Apache/1.3.19


Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)

45. What is Location of Jserv configuration files?


Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc.

46. What is plssql/database cache? In order to improve performance mod_pls (Apache


component)

caches some database content to file. This database/plssql cache is usually of type
session
& plsql cache
session cache is used to store session information.
plsql cache is used to store plsql cache i.e. used by mod_pls

47. Where is database/plssql cache stored?


plssql & session cache are stored under $IAS_ORACLE_HOME/
Apache/modplsql/cache directory.

48. How to determine Oracle Apps 11i Version?


Select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.9 or 11.5.10.2

49. What is *.dbc file & what is the location of dbc file?
dbc as name stands for is database connect descriptor file used to connect to
database.
This file by default located in $FND_TOP/secure directory also called as
$FND_SECURE directory.

50. What is content of dbc file & why it�s important?


DBC file is quite important as whenever Java or any other program like forms want
to
connect to database it uses dbc file.
Typical entry in dbc file is

GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST

51. There are lot of dbc file under $FND_SECURE, How to determined that which dbc
file to use from $FND_SECURE?
This value is determined from profile option "Applications Database ID"

52. What is RRA/FNDFS ?

Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Applications 11i for viewing output files & log files. As most of apps
dba's are not clear about Report Server & RRA, I'll discuss one on my blog and
update link here.

53. What is PCP is Oracle Applications 11i?

PCP is acronym for parallel concurrent processing. Usually you have one Concurrent
Manager executing your requests but if you can configure Concurrent Manager running
on two machines (Yes you need to do some additional steps in order to configure
Parallel
Concurrent Processing). So for some of your requests primary CM Node is on machine1
and secondary CM node on machine2 and for some requests primary CM is on machine2
& secondary CM on machine1.

55. Why I need two Concurrent Processing Nodes or in what scenarios PCP is used?

Well if you are running GL Month end reports or taxation reports annually these
reports might take couple of days. Some of these requests are very resource
intensive so you can have one node running long running; resource intensive
requests while other processing your day to day short running request.

Another scenario is when your requests are very critical and you want high
resilience for
your Concurrent Processing Node, you can configure PCP. So if node1 goes down you
still have CM node available processing your requests.

56. Output & Logfiles for requests executed on source Instance not working on
cloned
Instance

Here is exact problem description - You cloned an Oracle Apps Instance from

PRODBOX to another box with Instance name say CLONEBOX on 1st of August. You can
any CM logs/output files after 1st of August only becuase these all are generated
on CLONEBOX itself, But unable to view the logs/output files which are prior to 1st
August. What will you do & where to check ?
Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS.
Check

select logfile_name, logfile_node_name, outfile_name, outfile_node_name from


fnd_concurrent_requests where request_id=&requestid ;
where requestid is id of request for which you are not able to see log or out
files. You
should see output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1
Update it according to your cloned Instance Variables.

57. How to confirm if Report Server is Up & Running ?

Report Server is started by executable rwmts60 on concurrent manager Node & this
file
is under $ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output
& log file to see if report server can display PDF files.

58. What is difference between ICM, Standard Managers & CRM in Concurrent
Manager?

ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds other managers down, it checks & try to restart them. You can say it as
administrator to other concurrent managers. It has other tasks as well.
Standard Manager these are normal managers which control/action on the requests &
does batch or single request processing.

CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers & request. If a request is submitted whose execution is clashing or it is
defined
not to run while a particular type of request is running then such requests are
actioned/assigned to CRM for Incompatibilities & Conflict resolution.

59. What is use of Apps listener ?

Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as
APPS_$SID is mainly used for listening requests for services like FNDFS & FNDSM.

60. How to start Apps listener ?


In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also
start it by command
lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)

61. How to confirm if Apps Listener is Up & Running ?


execute below command

lsnrctl status APPS_$SID (replcae SID with your Instance Name)


so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like
Services Summary...

FNDFS has 1 service handler(s)


FNDSM has 1 service handler(s)
The command completed successfully

62. What is Web Listener ?

Web Listener is Web Server listener which is listening for web Services(HTTP)
request.
This listener is started by adapcctl.sh & defined by directive (Listen, Port) in
httpd.conf
for Web Server. When you initially type request like
http://becomeappsdba.blogspot.com:80 to access application here port number 80 is
Web
Listener port.

63. How will you find Invalid Objects in database ?


using query
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';

100 pg

64. How to compile Invalid Objects in database ?


You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle Database to compile Invalid Database Objects.

65. How to compile JSP in Oracle Apps ?

You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files.
This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet

66. What is difference between adpatch & opatch ?


adpatch is utility to apply oracle apps Patches whereas

opatch is utility to apply database patches

67. Can you use both adpatch & opatch in Apps ?


Yes you have to use both in apps , for apps patches you will use adpatch utility
and for
applying database patch in apps you will opatch utility.

68. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh and
appsweb_$CONTEXT_NAME.cfg (defined by environment variable
FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user
initiates forms connection.
69. What is forms server executable Name ?
f60srvm

70. What are different modes of forms in which you can start Forms Server and which
one is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in socket mode.

71. How you will start Discoverer in Oracle Apps 11i ?

In order to start dicoverer you can use script addisctl.sh under


$OAD_TOP/admin/scripts/
$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util (under
Middle/Application Tier)

72. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle
Tier) and One in Database Tier.
ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is
used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.

73. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous
versions you might find it in $OA_HTML/_pages

74. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache
What happens if the ICM goes down?
1.

All the other managers will keep working. ICM only takes care of the queue
control requests, which means starting up and shutting down other concurrent
managers.
How will you speed up the patching process?
2.
o
You can merge multiple patches.
o
You can create a response file for non-interactive patching

You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp)


and run these once after applying all the patches.
How will you handle an error during patching?
3.
Look at the log of the failed worker, identify and rectify the error and restart
the
worker using adctrl utility.
Provide a high-level overview of the cloning process and post-clone manual steps
4.

Run pre-clone on the source (all tiers), duplicate the DB using RMAN (or restore
the DB from a hot or cold backup), copy the file systems and then run post-clone on
the target (all tiers).
Manual steps (there can be many more):
o
Change all non-site profile option values (RapidClone only changes site-level
profile options).
o
Modify workflow and concurrent manager tables.
o

Change printers.
Provide an introduction to AutoConfig. How does AutoConfig know which value from
the XML file needs to be put in which file?
5.

AutoConfig uses a context file to maintain key configuration files. A context file
is an XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which
determines which values to pick from the XML file.
Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?
6.
o
Check guest user/password in the DBC file, profile option guest user/password,
the DB.
o
Check whether apache/jserv is up.
o
Run IsItWorking, FND_WEB.PING, aoljtest, etc.
What could be wrong if you are unable to view concurrent manager log and output
files?
7.
Most likely the FNDFS listener is down. Look at the value of
OUTFILE_NODE_NAME and LOGFILE_NODE_NAME in the
FND_CONCURRENT_REQUESTS table. Look at the FND_NODES table. Look at the

FNDFS_ entry in tnsnames.ora.


The Oracle Applications FNDFS program, used to retrieve report output from the
Concurrent Manager server, can be used to remotely retrieve any file from the
server
without operating system or application authentication. A mandatory patch from
Oracle is
required to solve this security issue.
How will you change the location of concurrent manager log and output files?
8.
The location of log files is determined by parameter $APPLCSF/$APPLLOG and
that of output files by $APPLCSF/$APPLOUT.
If the user is experiencing performance issues, how will you go about finding the
cause?
9.
o
Trace his session (with waits) and use tkprof to analyze the trace file.
o
Take a statspack report and analyze it.
o
O/s monitoring using top/iostat/sar/vmstat.
o
Check for any network bottleneck by using basic tests like ping results.
How will you change the apps password?
10.
o
Use FNDCPASS to change APPS password.
o
Manually modify wdbsvr.app/cgiCMD.dat files.
o

Change any DB links pointing from other instances.


Provide the location of the DBC file and explain its significance and how
applications
know the name of the DBC file
11.
o
Location: $FND_TOP/secure directory.
o
Significance: Points to the DB server amongst other things.
o
The application knows the name of the DBC file by using profile option
"Applications Database Id."

1. Is 10g certified with E-Business Suite?

Oracle Applications 11i (version 11.5.9 and version 11.5.10) is now certified for
use with
the Oracle Database 10g Release 2 (minimum version 10.2.0.2) running on Linux x86
and other platforms. Requisite patches and other instructions have been published
via
MetaLink Note# 362203.1 (Interoperability Notes - Oracle Applications 11i with
Oracle
Database 10g Release 2). For specific platform versions supported, please check
Certify.

Oracle Applications 11i (version 11.5.9 and version 11.5.10) is certified for use
with the
Oracle Database 10g Release 1 (minimum version 10.1.0.4) running on Linux x86 and
other platforms. Requisite patches and other instructions have been published via
MetaLink Note# 282038.1 (Interoperability Notes - Oracle Applications 11i with
Oracle
Database 10g Release 1). For specific platform versions supported, please check
Certify.
2. Will there be additional database patches required on top of 10g ?
Yes.
All the required patches for Oracle Database 10g Release1 are documented in
MetaLink
Note# 282038.

All the required patches for Oracle Database 10g Release2 are documented in
MetaLink
Note# 362203.1

3. What are the supported versions for 9ir2 Database ( 9.2.0.x ) and E-Business
Suite ?
Currently 9.2.0.8 is certified on E-Business Suite 11.5.7 and above. You can refer
Metalink Note# 216550.1 for more details..

4. Are the Real Application Clusters ( RAC ) and Automatic Storage Management
(ASM) features also certified with 10g ?
Yes. If 10g certification is announced on a platform, RAC and ASM are also
certified on
that platform

5. My customer would like to start planning for 10g Real Application Clusters ( RAC
)
and Automated Storage Management (ASM) upgrade immediately, are there any
development programs to assist him?
Yes, for customers planning on using 10g RAC or 10g ASM they can avail of the 10g
APPSRAP program. This program is available on invitation for all customers.
Customers
interested in this program can direct their Account Manger or Service Delivery
Manager
to the Oracle Internal AppsRAP website:
http://appsrap.us.oracle.com and contact the Program Manager, Vamsi Mudumba
( vamsi.mudumba@oracle.com )

6. What are the supported versions for 9i RAC and E-Business Suite ?
Currently 9.2.0.8 RAC is certified on E-Business Suite 11.5.7 and above. For the
latest
information on certified combinations ,platform information please go to Certify on
MetaLink
7. Which Application Modules in the E-Business Suite support Real Application
Clusters
( RAC ) ?

All E-Business Suite modules work when deployed in a RAC enabled database platform.
For specific Application specific best practices, look at the Section on
Application
Specific Best Practices
Technical Architecture

1. Is it possible to deploy E-Business Suite 11i on an Itanium Database Server ?


Yes. More details regarding supported Itanium platforms and migration process are
documented in Metalink Note# 304489.1

2. Is the use of BIG-IP Load Balancer across multiple mid-tiers supported ?


Hardware load balancers are a supported configuration for Application architecture.
Now,
there is autoconfig support too for this architecture. For more information, see
Oracle
MetaLink Note 217368.1 , Advanced Configurations and Topologies for Enterprise
Deployments of E-Business Suite 11i.
3. Can Oracle Web Cache be used with Oracle iStore 11i implementations

Oracle Web Cache is certified for use with Oracle iStore 11i. See MetaLink Note#
186981.1 for a more detailed discussion on this topic

4. Is MTS supported for E-Business Suite 11i customers ?


MTS can be used with E-Business Suite 11i However, it is only useful on 32 bit
Windows. It is not recommended for other platforms as the overall performance is
worse
with MTS, and the shared pool footprint explodes. The dispatcher also increases
overall
data server CPU with 11i workloads.

5. Are extended clusters with RAC supported for 11i ?


Yes. A few customers are currently live with this architecture ( eg: Canon Europa
in
Netherlands )

6. Is the use of separate Operating Systems supported for Midtier and Database ?
Yes. This is called a split configuration for 11i. For more details on what
combinations
are certified look at Certify on Metalink
Install

1. Can an OUI based global inventory be recreated ?


If the new XML format inventory is being used, just re-register to the global
inventory. If
that's not the case then there is no easy way to recover it. It will be a manual
effort
specific to each scenario and will result in data loss which might not be critical
always.
2. What's the impact of setting the column SESSION_COOKIE_NAME in the
ICX_PARAMETERS table in a RAC environment ?

The Self�Service infrastructure (ICX), by default, uses the database instance name
as part of the cookie name if the cookie name has not been explicitly set by the
administrator. In the RAC environment, the database instance name can change based
on which instance the users were connected. Hence, you should explicitly set the
cookie name
(SESSION_COOKIE_NAME) to a constant value in the ICX_PARAMETERS table.
Update the ICX_PARAMETERS table from the Apps schema using the following
example.
SQL> update ICX_PARAMETERS
set SESSION_COOKIE_NAME=�VISRAC1�;
3. What's the impact of setting the profile option Applications Database Id in a
RAC
environment ?

Applications Database Id needs to be set in RAC based environments in order to


avoid a cookie mismatch. Since RAC environments will have multiple rows in
gv$instance, the profile must be set to avoid mismatches when building the cookie.
The difference
between setting the column SESSION_COOKIE_NAME in ICX_PARAMETERS table,

and Applications Database Id is that SESSION_COOKIE_NAME provides control to


override the default cookie naming at the site level, while Applications Database
Id, can
be implemented at either the site, responsibility, or user levels. It's best to set
both of
them to the same value at the site level.

Concurrent Processing

1. How should SFM processes be defined in a PCP environment with RAC?


Define a primary and secondary node for all the SFM managers just like the rest of
the
managers. SFM must run corresponding to every database node that serves fulfillment
requests ( similar to the transaction managers). Please look at MetaLink Note#
240818.1
for more information

2. Can multiple transaction managers be started on multiple servers serving a


difference
instance without using PCP ?
No. PCP should be used for all such configurations.

3. Is there a requirement for a NAS device ( like NetApp) to store all the output
and log
files when using PCP ?
No. PCP can be used with files that are stored on local servers. You will have to
setup
FNDFS appropriately so that files on one node can be accessed by requests from
another
node. It is also recommended to set the init.ora parameter
max_commit_propagation_delay= 0. For Compaq Tru64 clusters only, please set
max_commit_propagation_delay= 1.

4: Does FNDFS support load balancing and failover ?


Yes, if load balancing or failover support is required for FNDFS, then the file
system will
have to be identical on all the hosts.

5. Should I separate my concurrent processing tier from the database tier ?


Historically, the accepted best practice for concurrent manager deployment has been
to
run the Concurrent Manager processes on the same server(s) as the database itself,
to
eliminate network traffic between the managers and their dedicated server
processes.
However, with the availability of fast LANs between the middle tier servers and
database
servers, best practice now is to configure the managers to run on separate middle
tier
servers. This gives you maximum flexibility on choosing hardware platforms (the
database tier can be a different platform than the middle tiers) and allows the
database
servers to be fully available for database processing, with no cycles needed for
batch
programs.
6. Are virtual hostnames currently supported with Concurrent Processing ?
No. There is no support for virtual hosts with CP

7. We run a huge number of concurrent requests in our environment. What are general
tips for better performance ?
1) Check the corresponding concurrent manager parameters and tune them - process,
sleep, cache
2) Check the process and session parameters in init.ora or spfile for the database
instance
3) Check to see if there are any fnd tables that are frequently locking and
increase the
freelist parameter ( if not using Automatic Segment Space Management, ASSM )

4) Run the purge concurrent request job

8. How do Java concurrent programs work ? Can I direct load for Java concurrent
programs to a specific node ?
Java Concurrent Programs and Self-service applications use the connect string
specified
in DBC file. Currently there is no way to create a separate dbc file for Java
Concurrent
programs and constrain where they run in a RAC environment if the CP tier and Web
tier
are shared.
Partitioning

1. Is Partitioning supported with E-Business Suite ?


Yes. Partitioning of Applications standard or custom tables is supported. Oracle
Applications utilizes partitioning in the standard product in many modules out-of-
the-
box.

2. Are there documented best practices for partitioning E-Business Suite objects ?
Currently there are no documented best practices on this topic. Customers intending
to
partition should understand the data access paths, growth rates, access patterns
and
modules that the object is used in.
Disaster Recovery
1. Is Logical Standby supported with E-Business Suite 11i ?
No. Logical standby is not supported with E-Business Suite 11i.

2. Is Physical Standby with Real Application Clusters ( RAC) supported with E-


Business
Suite ?
Yes. This is a supported configuration. Best practices are document in Metalink
Note#
341437.1
Real Application Clusters ( RAC )
Troubleshooting
1. How do I check the IP address / NIC being used for the inter-node traffic ?
To determine the IP address / NIC being used for RAC related traffic, run the
following
commands in SQL*Plus:
SQL> oradebug setmypid
SQL> oradebug ipc
The information written to a trace file in the user_dump_dest will indicate the IP
address

2. How can interconnect traffic be monitored ?


1) From the hourly Statspack reports, monitor these statistics ( generated every
second )
from both instances: 'global cache cr blocks served' and 'global cache current
blocks
served'. This should give the total number of blocks sent across the interconnect
per

second during each interval. It would be useful to understand how the interconnect
traffic
varies over time and what the system is doing when these numbers are high.
2) Run Statspack at level 7 (or higher) to get segment statistics. This should show
which
segments that contribute to the interconnect traffic. You can also check
gv$segment_statistics and gv$cache_transfer.
3) Monitor gv$session_wait to see which sessions are involved in RAC related waits.
This might give us an idea about which users or modules that are involved in
generating
the interconnect traffic. It will also give us the specific blocks.
4) Use OS utilities to monitor the interconnect traffic as well. Look for
variations over
time.

5) Keep an eye on the statistic 'global cache blocks lost' which might indicate
problems
with the interconnect.
6) Watch for any network errors reported by the OS monitoring utilities.
Database Load Balancing

1. Do I need to do functional partitioning for RAC ?


No.. But you can if you need to push your database servers close to their maximum
capacity, and need the small percentage of improved performance provided by
distributing the load along functional boundaries. This however does entail more
maintenance during failover.

2. How can one achieve functional partitioning for forms modules ?


Set the profile option Database Instance to a specific instance either at the
application,
responsibility or user level. The internal name for this profile option is
INSTANCE_PATH. For more details refer to MetaLink Note# 294652.1 E-Business
Suite 11i on RAC : Configuring Database Load balancing & Failover

3. How can one achieve functional partitioning for self-service modules ?


The current method of achieving load partitioning is to redirect self-service users
to a
specific midtier ( using a hardware load balancer ) and setting the apps_jdbc_url
in the
dbc file to be instance specific. Please look at MetaLink Note# 244366.1 for more
information.
Cloning
1. Is Cloning supported for a 11i RAC environment ?
Yes. Cloning from RAC to RAC and cloning from RAC to non-RAC systems is
supported using Rapid Clone. For a detailed list of steps and best practices, refer
to the
Advanced Cloning Options Section of MetaLink Note# 230672.1 Cloning Oracle
Applications Release 11i with Rapid Clone

2. Is Cloning supported from Raw devices to a cooked file system if an environment


needs to be cloned from RAC system to Non-RAC ?
No. This specific scenario is not currently supported with the Rapid Clone
infrastructure
and is considered a consulting solution. RMAN can be leveraged for the migration
from
Raw devices to a cooked file system
Application Specific Best Practices

1. What is the recommended value of max_commit_propagation_delay in init.ora for E-


Business Suite on RAC ?
It is recommended to set set the init.ora parameter max_commit_propagation_delay=
0.
For Compaq Tru64 clusters only, please set max_commit_propagation_delay= 1

2. Can I use Advanced Planning and Scheduling ( APS ) on a separate database that
is a
RAC cluster ?
Yes, you can. Merging APS into OLTP database and isolating the load to a separate
RAC
instance is supported. Refer MetaLink Note# 279156.1 and MetaLink Note# 286729.1
for more details.
3. Can I run Email Center in a RAC environment ?
Yes, see MetaLink Note# 272266.1 for RAC related specific instructions.
4. Can I run Oracle Financial Services Applications (OFSA) in a RAC environment ?
Yes, you can. Refer MetaLink Note# 280294.1 for RAC related best practices.

5. Can I run ABM ( Activity Based Management ) in a RAC environment ?


Yes. ABM is supported in a RAC environment. Refer MetaLink Note# 303542.1 for
RAC related best practices.
6. Is patching in a 11i RAC environment difference from a single instance ?
No all best practices that pertain to a single instance environment can be applied
for a
RAC environment.
Oracle Global Single Instance ( GSI )
Configuration
1.What is the configuration of Oracle's GSI Production ?
Database Server:
Hardware: 4 node RAC, 4 Sun F25K , 36 X 1.2GHz CPUs, 144G of Memory
Storage: EMC Disk (6.4 TB)
SGA:
25.0 G total
Buffer Cache 10.0 G
Shared Pool 14.0 G

Middle Tier:
54 Linux middle tier machines
Dell 2650
2 x 3.00 GHz 6G Memory ( with hyperthreading )
NetApps Filer Cluster

Hardware Load Balancing:


BigIP
Concurrent Manager
1. What are the issues to be considered during the planning stage for concurrent
manager ?

a. Are you going to have a shared code tree?


b.Are you going to have a shared log/out file system?
c. How many middle tier hosts and how are you going to distribute them across the
instances?
d. Do you have programs that use UTL_FILE_DIR, this is instance specific

e. How should failover be setup in the environment ?


2. What strategies are used for managing concurrent queues in production ?
To obtain best throughput for the 100,000 requests run each day, there is a queue
framework setup for "critical" workload (approx. 10% of the requests), and "non-
critical"
workload (approx. 90+% of the requests).

Capacity is always given first to the "critical queues", which should always
process
with the shortest pending times. The "non-critical" workload is managed by
assigning the
programs to a queue based upon their expected run-times. This framework prevents
long-
running requests from clogging up all the queues, which causes very short, fast
requests
to be stuck up in the queue for a very long time

GSI uses a few workshifts to reduce capacity given to non-critical concurrent


workload
during the highest on-line peaks of the global day, but all queues have some slots
24
hours / day.

Critical queues: Business determines which programs are assigned to these queues;
there is a set of of queues for each module (OM, AR, AP/GL, PA, Payroll/HMRS);
programs are assigned to the appropriate critical queue using specialization rules
to
include the specific program name. The critical queue for the application is
directed to
the database node appropriate to the application (e.g., OM Critical queue runs on
node 1)
Non-critical queues: There is a set of 4 queues created for each database node.

Programs are assigned to the appropriate queue based upon


a) the average elapsed time of program, and
b) the application identifier for the program.
Programs are manually assigned to appropriate queue by "including" the program's
�request type� associated with each elapsed time threshold.
o Immediate Queues (request type='IMMEDIATE'): intended for programs whose
elapsed time is always < 5 minutes

o Priority Queues (request type='PRIORITY'): intended to include programs whose


avg. elapsed time is < 10 minutes (note: the Priority Queues also include the
request type
for the Immediate Queues)

o Standard Queues (request type='STANDARD'): intended to include programs whose


avg. elapsed > 10 minutes and < 10 hours, but can also run Immediate and Priority
programs; since this queue is the "default" queue, specialization rules for this
queue are
"EXCLUDE" only (i.e., exclude Long-running programs)

Long-running, previously called �overnight� (request type='LONGRUN') Queues:


intended to include programs whose avg. elapsed > 10 hours, but also includes the
request type for Immediate, Priority, and Standard)
3. How are the concurrent queues distributed across multiple instances ?

The concurrent programs are grouped by application with each application group
directed to a database instance. This load direction is accomplished by defining a
set of
queues for each database instance. The instance a concurrent manager connects to is
controlled by the environment setup on the associated concurrent processing node.
Each
set of managers has a set of specialization rules that "include" the request types
for the
application groups which are associated with the instance the manager assigned to
Storage
1. Are you using standard size devices?
Yes.
2. How many sizes do you maintain? Why ?

Three sizes are maintained:1Gb, 4Gb and 13Gb. We have found that these three sizes
are optimal for the growth that we are seeing. 1Gb is for small tablespaces that
don�t
grow much � e.g. system. 4Gb datafiles are used for all everything else apart from
the
LOB tablespaces and the large tables/indexes that were moved to dedicated
tablespace
3. Are there any standards used for naming datafiles and maintaining them ?

The volumes bear the same names as the datafiles so it is quite a clean
configuration.
We actually refer to the datafiles themselves via links. E.g. filename in
dba_datafiles
refers to a link, which then points to the datafile. Experience has proven that
this
approach is very flexible if we need to perform reorganizations and when creating
copies
(also known as cloning). We use the same approach with our cooked and raw datafile
environments
4. How much free space do you maintain?

Tablespace are maintained with at least 5% free space � we get an automatic alert
at priority two when there is less than 10% free, at priority 1 when there is less
than 5% free.
5. Do you maintain spares, how many, what do you name them?

Spare volumes are created when we have less than 10 left of any size and named
extra_size_XXX (XXX being a number). When these are required to be used for new
datafiles they are renamed to the datafile name with the lvrename command
6. Are you using volume group striping?
Yes � groups of 8 x 68Gb disks ( software striping ) , stripe width is 1024 MB. In
addition, 8-way striping at hardware level is utilized.
7. What was the process of conversion to raw devices ?

Prior to converting to raw we had established the practices of standard sized


datafiles. When it came to the conversion we used dd to relocate the data, dbv to
verify the copied files and once they had all been relocated the links were
repointed (as described above) to point to the new locations. On large systems this
can be parallelized to limit the time
taken.
8. Were there any issues faced after converting to raw ?

No � there really isn�t any difference between using raw and cooked datafiles aside
from the discipline needed to maintain adequate free space, and that is covered by
our EM9. What storage is being used ?
DMX3000
10. Are you using autoextend? What max size? What increment by?
We do not use auto extend as it cannot be used with Raw volumes
11. Do you have multiple dbf�s for the same tablespace? Are all autoextend on?
Yes we have multiple datafiles per tablespace, but we don�t use autoextend
Monitoring & Troubleshooting
1. What tools are used for monitoring space ?
Enterprise Manager
2. What thresholds are set for monitoring
As above � less than 10% free raises a P2 alert, less that 5% free a P1

3. What set of processes or parameters are monitored ?

Examples are various health points of each node of the database (for example,
whether the database is up or down, someone holding a lock which is blocking other
users, etc.). Additionally, we monitor on one of the nodes events which are common
to the entire database (for example, data storage issues etc.). We can also monitor
for concurrent manager events such as long-running and long-pending so that we can
investigate the causes of these � they may be legitimate but it may imply issues.

4. What tools are used for troubleshooting RAC?


EM is RAC aware and can be used for both monitoring and administrative tasks. Some
checks are performed just for a RAC environment � for example tablespaces filling,
extents monitoring etc. We also do per-instance monitoring of session_waits,
enqueues,
library cache pins etc so that we can quickly start investigating if these start to
increase
above normal running levels.
RAC
1.How were the number of nodes in the RAC cluster calculated ?
For us this was part of a consolidation exercise. As such we calculated the
anticipated
load of the consolidated environments and specified two servers that could satisfy
the
demand.
2.How is the interconnect monitored ? What parameters are watched ?

Measureware tool is used. This collects performance data and PerfView, which
reports for network traffic. Multi Router Traffic Grapher (MRTG) is used to show
each cluster�s interconnect network traffic.
3.How did you implement, phased approach, node at a time? What would you do
differently?
Phased approach � a node at a time. This reflects the manner in which the load
increased as more and more source environments were migrated into the single
instance.
Cloning
1. What sort of cloning mechanism is used ?

We generate a create controlfile script on the source environment. We then create a


copy of the source environment from a BCV backup, renaming the volumes if we are
doing a raw to cooked datafile conversion. This is usualy from one of our nightly
hot
backups. We edit the create controlfile script to reflect the new instance name and
run it
to create the controlfiles, and then apply any archived log files as required to
open the
instance
1. What are the components of the standalone Oracle Forms product?
The standalone Oracle Forms product is composed of the following:
3. Is there a difference between the standalone and Apps Forms product?
Technology and components wise it is the same except for some executables
(f60webmx); configuration files (appsweb.cfg,etc.) and the directory locations for
both

[top]
4. Is that really all there is to it?

Well, there are some more subtle differences. In standalone Forms we create the
client by loading f60all.jar or f60all_jinit. In apps Forms we load a lot more, you
can find
a list of these files in the archive= section of your appsweb.cfg. Also since apps
Forms is
only supported to run from Jinitiator and not native browser mode, cab files
(f60all.cab)
is not used unlike in standalone Forms.
[top]
5. What is f60webmx?
The f60webmx is your web forms runtime executable, similar to f60webm except that
it has Apps specific user exits linked into it.
[top]
6. How can you recreate the f60webmx executable?
To do this you issue the following command:
adrelink force=y "fnd f60webmx"
[top]
7. What are some of the related Forms/Apps files?

adfmcctl.sh - located in $COMMON_TOP/admin/scripts, this script starts and stops


the Forms Metric Client for your Apps instance; it uses the Forms d2lc60 executable
to accomplish this.

adfmsctl.sh - located in $COMMON_TOP/admin/scripts, this script starts and stop


the Forms Metric Server for our Apps instance; it uses the Forms d2ls60 executable
to accomplish this.
adfrmctl.sh - located in $COMMON_TOP/admin/scripts, this script starts and stops
the Forms Server Listener; similar to and actually calls the f60ctl found in
$ORACLE_HOME/6iserver/bin of IAS.

appsweb.cfg - located in $OA_HTML/html/bin, this file defines parameter values


used by the Forms Web CGI, similar to formsweb.cfg found in
$ORACLE_HOME/6iserver/forms60/server of IAS.
appsbase.html - located in $OA_HTML/<language>, this is the default HTML file for
starting an applet using Jinitiator, similar to basejini.htm found in
$ORACLE_HOME/forms60/server of IAS.
d2lc60.txt - located in $COMMON_TOP/admin/install, this is the Forms metric client
log file.
d2ls60.txt - located in $COMMON_TOP/admin/install, this is the Forms metric
server log file.

f60svrm.txt - located in $COMMON_TOP/admin/install, this is the adfrmctl.sh log


file. This is not the same as the Forms server log file which not only logs startup
and
shutdown info but also client connectivity (which client IP is associated with
which
f60webm process) and debug stack trace info.

OracleApplications.dat - located in $JAVA_TOP/oracle/apps/fnd/formsClient, among


other things this file determines the path Apps uses to find their icons; its
similar to and
supplements registry.dat found in $ORACLE_HOME/forms60/server of IAS.
[top]
8. Is Forms Builder installed with Apps on Unix and Windows?

Yes it is. Unlike standalone Forms that installs the Forms Builder only as part of
the
IAS product suite on Unix. On Windows platforms you would have to install the IDS
product suite to get Forms Builder.
[top

9. What is a Forms Builder node?


A Forms Builder node refers to the leaves and branches of its Object Navigator. The
Object Navigator provides a hierarchical display of the objects in a Form modules.

Objects are grouped under their respective nodes. For example, all of the windows
defined in a form module appear under the Windows node; all the LOVs defined in the
form module appearunder the LOVs node and all the program units appear under the
Program Units node. It is important to familiarize yourself with this in case you
need to
navigate within an Apps form during the course of debugging a problem.
[top]
10.Where can you find Forms/Applications certification information for Apps?
Go to http://metalink.oracle.com:

- click on ?Product Lifecycle? ? ?Certifications?.


- click on ?View Certifications by Product?.
- select your ?Product Group? as ?E-Business suite?.
- select your ?Product? as ?E-Business suite?.
- select your ?Platform Selection?.
- check the ?E-Business Suite Versions? and check ?Certified combinations only?.
- under the ?Applications Tier Certifications? table click on the ?other? column.
[top]
11. Where can you find Forms/Jinitiator certification information for Apps?
Same as # 5
[top]
12. Where can you find Forms patch set information for Apps?

[top]
17. What is FORMS60_TIMEOUT?

FORMS60_TIMEOUT is an environment setting that determines the maximmum idle


time (in minutes) before f60webmx shutsdown. Note that it will only terminate an
idle
middle tier process, i.e. one which is waiting for the "next message" from the
client. If the
middle tier process is running a transaction or waiting for a query to complete it
will not
have take effect.
[top]

18. How do you enable Forms Runtime Diagnostics (FRD) in Apps?


To enable Forms Runtime Diagnostics (FRD):
- login to Apps as sysadmin
- click on Profile/System
- query ICX%FORMS%LAUNCHER
- add the following to the end of its value at user level:
?record=collect&log=/tmp/forms_frd.log

Note that like any Apps profiles you can do this on various levels e.g. site, user,
etc.
so that you target your FRD accordingly. Also be aware that FRD incurs significant
overhead to Apps processing so disable it when not in use.
[top]
19. How do you disable direct Forms access through the
http://host:port/dev60cgi/f60cgi
URL?

You can do this by using the mod_rewrite (the Swiss Army Knife of URL
manipulation :) engine of the Apache server. In your httpd.conf file add the
following
lines at the end:
RewriteEngine on
RewriteCond %{QUERY_STRING} !NLS_LANG
RewriteRule ^/dev60cgi/f60cgi$ http://www.oracle.com

You'll have to tighten up the code somewhat but here I am taking advantage of the
fact that the URL for accessing Apps directly and through the personal home page
are not
exactly the same i.e. if the URL does not have certain parameters in it then I
redirect the
user to a different web page of my choice.
[top]

20. How do you get a Stack Trace?


To generate a stack trace for Forms:
- set environment variable $FORMS60_CATCHTERM=0

- stop the Forms server


- backup file f60webmx
- make sure you are signed in as the user who owns f60webmx executable, then run

this command to relink this executable with debug symbols:


adrelink.sh force=y ranlib=y link_debug=y "fnd f60webmx"
- restart the Forms server
- reproduce the issue
- check for a new core file with corresponding timestamp in
$FORMS60_TRACE_PATH or $PWD or $FND_TOP/bin directory
References:
Note 353805.1 How To Generate A Stack Trace For Forms With Applications 11i
Note 1812.1 TECH: Getting a Stack Trace from a CORE file
[top]
Architecture
1. Is HTTP connection mode supported in Apps?

Not at this time. There are plans to bring HTTP support back to Apps but it is
currently undergoing certification and it would most likely only be supported when
using
the Forms servlet. Most of the issues have to deal with how to make the various
Apps
environment settings available to the listener. Bug 1992211 keeps track of this
issue.

2. Is Forms listener servlet supported in Apps?


No its not. Forms listener servlet is currently not supported in Apps.
[top]
3. Do you have to be on a specific Forms patch set to use Forms listener servlet?

For standalone Forms, this feature has been there since patch set 4 and certified
against patch set 5. For Apps, a minimum of patch set 6 will be required and it
will only
work for environments with a single node web forms tier.
[top]
4. Are there any changes to the Forms product components when in Forms listener
servlet?

Yes. With Forms Listener Servlet certain Forms components are replaced:
Forms CGI - Forms Servlet (FormsServlet.class)
Forms Server - Forms Listener Servlet (ListenerServlet.class)
[top]
5. How is Forms load balancing accomplished?

Currently Forms load balancing is done through proprietary programs called Metric
Server and Metric Clients. The Metric clients are setup on machines with a
corresponding
Forms server and they constantly report to a Metric Server their load situation.
The
Metric Server then uses this information to decide which machine to pass a request
to run
a web form. Note 148516.1 Load Balancing in 11i Note 148155.1 Load balancing
implementation and trouble shooting in 11.5.x using metric server are good sources
for
more info.

6. How is Forms load balancing accomplished with Forms listener servlet?

Forms servlet is now available for use with eBusiness Suite. Load balancing is
enabled using the capability of the HTTP server (Oracle HTTP powered by Apache.)
Reference: Note 201340.1 Using Forms Listener Servlet with Oracle Applications 11i
[top]
7. How to set up Forms to work through a firewall?

In the current Form Services architecture a firewall needs be configured to allow


traffic on 2 ports. The listener port of the Oracle HTTP server (usually port 80 or
8002)
and the Forms Listener/Server (usually 9000). The Oracle HTTP server handles the
initial
request, authentication to the server, and presents a list of responsibilities for
the end user
to choose from. Self Service applications will continue to use only this listener,
but if a
core application is invoked, the client makes a request to the Forms Listener that
then
creates a new Forms Server Runtime process. The Oracle HTTP server port will allow
http traffic e.g. requests for help files, requests to the TCF servlet, etc. The
Forms
Listener/Server port will allow socket or https traffic. In the new Forms Servlet
architecture the only port that needs to be open is the Oracle HTTP server.
[top]
Issues
1. What is this Forms ?Cancel-Query? issue with Apps?

Being able to cancel a long running query was a much sought after feature in Apps
both for queries against data blocks and LOVs. The feature was first introduced in
Forms
patch set 3 but it subsequently broke many other functionalities. Patch set 9
finally fixes
all of these. Note 138159.1 Canceling Long Running Queries in Oracle Applications
11i
is your best source for this info.
[top]
2. Why are some Forms files (appsweb.cfg,appsbase.html,etc.) duplicated across an
Apps install?
This is because of the way patching is done in Apps. All patches are initially
copied
to their corresponding products in the $APPL_TOP directory, because some of these
file

are accessed by an external process they will also be copied to directories outside
$APPL_TOP where they can be easily accessed by external processes. Make sure that
any changes you make to one copy propagate to all its duplicates.
[top]
3. How do you generate Apps Forms modules or FMB files?

Oftentimes as part of upgrading Forms or modifying a Form module or applying a


patch modifying a Form module, you would encounter an issue that would necessitate
manually regenerating the Forms module executable or FMX file. To do this you issue
the following command:
f60gen module=form_name.fmb userid=apps/apps output_file=form_name.fmx
module_type=form batch=yes compile_all=special
[top]
4. How do you generate Apps Forms library modules or PLL files?
To do this you issue the following command:
f60gen module=library_name.pll userid=apps/apps module_type=library batch=yes
compile_all=special
[top]
5. How do you generate Apps Forms menu modules or MMB files?
Note that there is only one menu for Apps so it is rare that you need to regenerate
the
menu. To do this you issue the following command:
f60gen module=FNDMENU.mmb userid=apps/apps output_file=FNDMENU.mmx
module_type=menu batch=yes compile_all=special
[top]
6. When do you have to regenerate your Apps Forms modules?

There are many occassions when you have to regenerate (recreate the FMX) your
Apps forms or when your Apps forms are regenerated, some are true some are not:

After an operating system upgrade? False


After a database upgrade? False
After applying a Developer patch? False.
After applying an I/O patch? True.
After applying an Apps patch? True, but only if there is a g driver involved.
[top]
7. What is compile_all=special?
For standalone Forms the only valid values for compile_all are ?yes? and ?no?.
compile_all=special is similar except that it doesn't attempt to update the source
files.
[top]
8. What do you do with a PL/SQL Error 302 and PL/SQL Error 306 when generating a
Form module?

This is a generic error message saying your form has attempted to call a program
unit,
which can be a package (Apps encapsulates all function and procedure calls within
packages); a function or a procedure that it cannot find.

Why? Maybe its not defined in the Form itself. Maybe its not defined in the
database.
Maybe you?ve misspelled it. The error itself will provide clues for you to debug
the
where and why of this problem. Here is a typical error that you might get when
generating a form:
Compiling WHEN-BUTTON-PRESSED trigger on SUBMIT_REQUEST item in
DEPT data block...

ompilation error on WHEN-BUTTON-PRESSED trigger on SUBMIT_REQUEST


item in DEPT data block: PL/SQL ERROR 302 at line 4, column 25 component
'SUBMIT_REQUES' must be declared
PL/SQL ERROR 0 at line 4, column 3 Statement ignored
WHEN-BUTTON-PRESSED is a name of a forms trigger in the form.
SUBMIT_REQUEST is the name of a forms item, in this case a button. DEPT is the
name of a data block in the form. So far this tells us that the errant code is in a
WHEN

BUTTON-PRESSED trigger attached to a SUBMIT-REQUEST button attached to the


DEPT data block and it?s on line 4 column 25 of that trigger.

Once you open the form in Forms Builder you can easily track down this trigger and
see that the there was a misspelling in the name of the function call
(SUBMIT_REQUES is missing a T at the end). The code is as follows:
DECLARE
req_id NUMBER;
BEGIN
req_id := FND_REQUEST.SUBMIT_REQUES(?FND?,?FMDMGEN?,?Message
File?,
?01-NOV-02 00:00:00',FALSE,'x');
END;
Note that the package can reside in the Form under the ?Program Units? node; or as
a
Forms library attached to the form or as a stored object in the database.
[top]
9. What is the sequence in which Forms resolves program unit calls?
Forms will attempt to resolve a program unit call in the following sequence:
Program Units node
Forms Library
Database

This will give you an idea on where first to look for broken packages in your hunt
for the broken package. Oftentimes you might have to dig to the nth level to find
the broken root package that has cascaded its problem up to the package where you
currently see it. Either your amazing PL/SQL skills will find the problem for you
or you can call Oracle Support and use their amazing PL/SQL skills. On occasion the
problem in your package is already fixed in a later release.
[top]

10. What do you do when you find the root broken package?
First you have to determine the files that created the package body and spec. To do
this you either

Start Forms Builder (f60desm).


Connect to the database as apps/apps.
Expand the ?Database Objects? node.
Expand the ?APPS? schema node.
Expand the ?Stored Program Units?node.
Locate your package spec and body.
Double click on the icon besides it.
Or
Login to SQL*Plus as APPS/APPS.
Locate your package spec and body.
[top]
11. How do you get the latest package release?
SQL> select name,type,text from user_source where name ='FND_REQUEST' and
line < 3What we?re looking for is the name and version number (AFCPREQS.pls 115.4
and AFCPREQB.pls 115.27) of the files that create the package. Support will then
determine if it?s advisable to apply the latest release of those files.
[top]
12. What is the FORMS60_CATCHTERM issue in Apps?

There was an issue where spinning f60webmx processes are spawned when the Forms
abnormal termination handler is enabled. Disabling this handler (or
FORMS60_CATCHTERM=0) works around the problem and it is also fixed in Forms
v6.0.8.12. This is Bug 1367619,Bug 1394311 and Bug 1396450
[top]

13. What is the AlertBundle issue?


Often times in your jinitiator console, apache error_log and your jserv_log files,
you
will see the following errors which shouldn't be any cause for concern:

125 pg

User Interface
1. How do you change the background color of a required item in Apps?

Change the $OA_JAVA/oracle/apps/fnd/formsClient/OracleApplications.dat file and


change the RGB value for app.ui.requiredFieldVABGColor. To turn off the color of
the
required item you can either change the value of app.ui.requiredFieldVA from true
to
false (note that this is what the OracleApplications2.dat is for, a requirement for
the
ADA). You have to restart Jinitiator for this to take effect.
[top]
2. How can you affect the look and feel of your Apps forms?
You can alter the interface look and feel of Apps forms by changing the values of
the
following variables in the appsweb.cfg file:
lookAndFeel=Oracle (or generic)
colorScheme=blue or (teal, titanium, red, khaki, blue, olive, purple)
background=no
readonlyBackground=automatic
The FND.D patch will allow control of some of these settings through the system
profile:
Java Look and Feel=Oracle (or generic)
Java Color Scheme=blue (or teal, titanium, red, khaki, blue, olive, purple)
[top]
Customization
1. Is customizing Apps Forms supported?
Customizing Apps forms can mean many things. Here are some interpretations and
whether they are supported or not:

Do you support issues encountered when customizing seed or Apps products forms?
Only if it pertains to standalone Forms functionality.

Do you support issues encountered when running customized seed or Apps product
forms? No.
Do you support issues encountered when customizing Apps template forms? Only if
it pertains to standalone Forms functionality.
Do you support issues encountered when running customized Apps template forms?
Only if it pertains to standalone Forms functionality.
Do you support issues encountered when integrating customized Apps template forms
with Apps? Yes.
[top]
2. What if you really want to customize Apps forms?

Apps strives to be a very complete product. It presents you with features that
preclude
the necessity of customizing or building new forms. On top of this it has the added
functionality of being able to do internal customization of its forms through the
use of
flex fields, but if this isn?t enough then the following manuals should help you
accomplish this Oracle Applications Developer's Guide (A75545-02) and Oracle
Applications User Interface Standards for Forms-Based (A75395-01).
[top]
3. How do you integrate custom forms with Apps?
Note 70276.1 HOW TO INTEGRATE APPLICATIONS RELEASE 11 WITH
CUSTOM APPLICATIONS would be a good source of info, official documentation can
be found in Chapter 2 of the Oracle Applications Developer's Guide (A75545-02).
[top]
4. Can you save Form modules (FMB, MMB, PLL) into the database?

Yes and no. Yes if its standalone and no if its part of Apps, this is because Apps
forms are structured so that their dependent modules are all stored as files. In
Forms 9i
(not yet released) you will not be able to store Forms modules in the database
altogether
[top]
5. Where can you find the source Forms modules for Apps?

Apps places all its source (FMB) files in the $AU_TOP/forms/<language> directory
whereas the FMX files reside in their respective $PRODUCT_TOP/forms/<language>
directory. On the other hand, all menu (MMB, MMX) and library (PLL and PLX) files
are copied to the $AU_TOP/resource directory.
[top]

6. How can you find the version of Forms in Apps?


Once you are in an Apps form ...
click on Help
click on About Oracle Applications
... from the top level menu. The information is under the Forms Server section.
[top]
7. How can you find the version and name of the form you are currently on in Apps?

Same as #6 except that the information is under the Current Form section. The Form
Name corresponds to the FMB and FMX file for that form. The Form Version
corresponds to the release level of that form.
[top]
8. How can you confirm the version of the FMX or FMB file?

Oftentimes, once you determine the version and name of the current form you want to
peek into the internal workings of the actual form itself. To ensure that you are
peeking at the right release of the FMB file you can do the following:
$adident Header FNDSCSGN.fmb

If you do this on the machine where Apps is installed it should be as simple as


starting Forms Builder and opening the form.

If you simply copy the form over to a a machine that does not have Apps installed,
you will run into is a lot of FRM-18108: "Failed to load the following objects"
errors.
This is because an Apps form is usually dependent on a host of other forms,
libaries and
menus.

If you want to open the TEMPLATE.fmb form, make sure you have the following
forms, libraries, copied over as well from the $AU_TOP/forms/<language> and
$AU_TOP/resource directories:
9. How can I open an Apps form in Forms Builder?

If you want to open a product specific form, make sure you have all its associated
forms and libraries copied over. Since it is quite difficult to pinpoint exactly
what this is,
its best to just copy over the entire contents of $AU_TOP/forms/<language> and
$AU_TOP/resource.
Questions and Answers
1. What is cloning?
Answer:
Cloning is the process of creating an identical copy of an already existing Oracle
Applications system.
[top]
2. How can I clone an Oracle Applications system?
Answer:
There are two cloning methods documented in the following white papers available
off of Oracle MetaLink Note 230672.1
* Cloning Oracle Applications Release 11i
* Cloning Oracle Applications Release 11i with Rapid Clone

Note: The third Cloning method (Cloning Oracle Applications Release 11i with
AutoConfig) has been fully replaced by Cloning with Rapid Clone, and is no longer
supported

3. What are the differences between the two cloning methods?


Answer:

* Cloning Oracle Applications Release 11i was originally published in conjunction


with Release 11.5.5 and is applicable for all 11i releases up to 11.5.5 that are
not
AutoConfig enabled.

* Cloning Oracle Applications Release 11i with Rapid Clone is applicable for all
11i systems that have migrated to AutoConfig and enabled Rapid Clone. This method
contains steps to install AutoConfig and Rapid Clone.
[top]
4. What is the AD Cloning utility?
Answer:
AD Cloning utility (adclone.pl) is the name of the cloning command line utility.
This
utility is used to preserve and apply configuration information to the cloned
target
system.
[top]

5. What is Rapid Clone?


Answer:

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. See
OracleMetaLink Note 230672.1 (Cloning Oracle Applications 11i with Rapid Clone) for
instructions on installing and enabling Rapid Clone.
[top]

6. How do I determine if my system is Rapid Clone enabled?


Answer:

First, verify that your system is AutoConfig enabled. Then, verify that you have
applied the latest Rapid Clone patch documented in OracleMetaLink Note 230672.1
(Cloning Oracle Applications 11i with Rapid Clone). See Searching the Patch History
Database in the AD Procedures Guide for instructions on searching for patches
applied to
your system.
[top]

7. What is AutoConfig?
Answer:
AutoConfig is a configuration tool that supports automated configuration of an
Oracle
Applications Instance. All of the information required for configuring an
Application

instance is collected into a central repository, called the Applications Context.


When the AutoConfig tool runs, it uses information from the Applications Context
file to generate configuration files and update database profiles. See
OracleMetaLink Note 165195.1 for details on installing and migrating to AutoConfig.
[top]
8. How do I determine if my system is AutoConfig enabled?
Answer:
There are several identifiers for when the system is AutoConfig enabled. The
following are two common indicators:
* Open the environment file APPSORA.env in your APPL_TOP. If the top of the
file says that it is maintained by AutoConfig, then your system is probably using
AutoConfig.
* Check if there is an Applications Context file in the APPL_TOP/admin directory.
This file will typically be named <SID>.xml or <SID>_<HOSTNAME>.xml.
* Check if there is an Applications Context file in the RDBMS ORACLE_HOME
under the appsutil directory. This file will typically be named <SID>.xml or
<SID>_<HOSTNAME>.xml.
See OracleMetaLink Note 165195.1 for more details on identifying if your system
already uses AutoConfig.
[top]
9. We are running Release 11.5.7 (or any prior release), which cloning method can
we
use?Answer:

Due to the advancements in the cloning solution with Rapid Clone, all customers are
now recommended to move to using Rapid Clone. if you are on release 11.5.7 or any
release before 11.5.7, you will need to first enable AutoConfig on your system, if
not
already done, before you can use Rapid Clone as documented in the Cloning Oracle
Applications Release 11i with Rapid Clone white paper.
[top]
10. We are running Release 11.5.8 (or any later release), which cloning method can
we
use?Answer:

In 11.5.8 AutoConfig is enabled on the middle tier out of the box. In 11.5.9 and
any
later release, AutoConfig is enabled by default on both the database tier and the
middle
tier. Update AutoConfig and Rapid Clone code to the latest code line and use Rapid
Clone to clone your system. Full instructions are in Cloning Oracle Applications
Release
11i with Rapid Clone document 230672.1 on OracleMetalink.

11. Our Oracle Applications system is on Windows, which cloning method can we use?
Answer:
If your system is on a release prior to 11.5.7 and is not AutoConfig enabled, use
the
method documented in the Cloning Oracle Applications Release 11i white paper. If
your
system is on any AutoConfig-enabled 11i release, use the method documented in the
Cloning Oracle Applications Release 11i with Rapid Clone white paper.
[top]
12. We have a Platinum installation of Oracle Applications. Can we clone our
system?
Answer:
Yes, cloning a Platinum system using the Rapid Clone method is no different than
cloning a non-Platinum installed system.
[top]
13. Can I clone from one operating system version to another?
Answer:

Yes, if the target system platform is binary compatible with the source system
platform. For example, if you have an existing single-node Oracle Applications
system
on Solaris 2.6, you could clone it to a node running Solaris 8, but not to a node
running
HP-UX. Note that cloning from a higher version of a platform to a lower version is
not
supported, for example, from Solaris 8 to Solaris 2.6. Other examples of binary
compatibility for Oracle Applications are:
* AIX 4.3.3 to AIX 5.1 (32-bit)
* HP-UX 11.0 to HP-UX 11i
* Windows NT to Windows 2000
Within a same platform you can also clone from a 32bit source system to a 64bit
target system.
Note (AIX only): when cloning from AIX 32bit to AIX 64bit, apply patch 2896876
(64bit kernel extension for Oracle) on the target system prior to running
adcfgclone.pl.
[top]

14. Can I clone from one platform to a different platform?


Answer:

Yes, you can clone or migrate the Applications middle tier from any platform to
Linux or any supported Unix platform using the procedure described in document
238276.1 "Migrating to Linux with Oracle Applications Release 11i".
[top]

15. Can I reclone just the database?


Answer:
Yes, if the source system has changed and you want to update the target system with
these changes, you can reclone just the changed database. If Applications patches
were

applied to the source system, the APPL_TOP and the database must be cloned to keep
the file system and database synchronized. See the Recloning section in the white
papers for details.
[top]
16. Can I clone a single-node system to a multi-node system?
Answer:
The Rapid Clone cloning method allows for cloning a single-node system to a multi-
node system. See the Cloning Oracle Applications Release 11i with Rapid Clone white
paper for details.
[top]
17. Can I clone a multi-node system to a single-node system?
Answer:

You can use Rapid Clone to merge multiple APPL_TOP and COMMON_TOP file
systems into a single APPL_TOP and COMMON_TOP file system. For more details
about this procedure, see "Section 3: Merging existing APPL_TOPs into a shared
APPL_TOP" in document 233428.1 on OracleMetaLink.
[top]
18. What cloning options are available for each cloning method?
Answer:
The table below shows the cloning options that are currently available for each
cloning method.
19. Does Rapid Clone modify the source system?
Answer:

No, Rapid Clone does not modify the source system. adpreclone.pl prepares the
source system to be cloned by collecting information about the database and
creating
generic templates of files containing source specific hardcoded values. These
templates
are stored in the appsutil/template directory leaving the original files untouched.
This
process usually takes a few minutes to complete the first time.

Migrating to Autoconfig on the database node (pre-req to Rapid Clone), however,


will update the RDBMS init.ora and network listener files. See the instructions in
the Autoconfig document 165195.1 (Section 4: Migrating to AutoConfig on the
Database Tier) on how to preserve customizations to these files.
[top]

20. How does adcfgclone.pl know the target system values?

Answer

adcfgclone.pl will prompt for the values required to create the new context file
used
to configure the target system. A few values are calculated from the current target
system
(hostname, user and group). The rest of the target specific values are prompted
for:
Prompt
Comment
database SID
Target database SID
domain name

Target system domain name


Prompts specific to the DB Tier
Target System database name Target System database name
Target instance is a Real Application Cluster (RAC) instance (y/n)
Answer yes if
the target system is going to be part of a RAC instance.
Current node is the first node in an N Node RAC Cluster (y/n) This prompt only
appears when you answered "yes" to the previous question.
Answer ¨yes" to this question if the current host is the first node being
configured in
the target system RAC cluster. The tool will then ask for the number of nodes that
will
exist in the final RAC instance and gather, the following information for every
node:

- Hostname
- Database Sid
- Instance number
- Listener port
- Private interconnect name

Answer "no" to this qstion if at least one node of the target RAC cluster has
already
been configured by Rapid Clone (i.e if you already replied "yes" to this question
for any
other node in the cluster). The tool will then prompt for the following information
to
connect to a life node (the answers must describe a node that has already been
configured):

- Hostname
- Database Sid
- Listener port
RDBMS ORACLE_HOME directory Path to the Target system RDBMS
ORACLE_HOME
Number of DATA_TOP's:

DATA_TOP 1: DATA_TOP 2: DATA_TOP 3:


Database mount points. Enter the number of distinct directories containing the

target database dbfs, then their paths. Prompts specific to the Apps Tier database
server node
hostname of the machine hosting the database server
Does the target system have more than one applications tier server node (y/n)?
Answer yes if the target system is part of a multi-nodes configuration. The tool

with then prompt for the hostnames of:


- concurrent processing node
- administration node

135 pg

- forms server node


- web server node
Is the target system APPL_TOP divided into multiple mount points (y/n)?
Answer yes if the target system APPL_TOP is divided across multiple mount
points. The tool will then prompt for each auxiliary mount (4 mounts):

- APPL_TOP mount point


- APPL_TOP aux.1
- APPL_TOP aux.2
- APPL_TOP aux.3
Note: if your APPL_TOP is divided into 2 or 3 mounts only, you can specify
identical
mounts to the above prompts.
APPL_TOP mount point APPL_TOP directory
COMMON_TOP directory
COMMON_TOP directory
8.0.6 ORACLE_HOME directory
8.0.6 ORACLE_HOME directory
iAS ORACLE_HOME directory iAS ORACLE_HOME directory
Location of JDK 1.3.1 Location of JDK 1.3.1
Prompt common to DB and Apps Tiers

Port pool number:[0-99] Enter the port pool that you want to use on the target
system. Make sure to specify the same port pool on the DBTier and the AppsTier. If
the
source and target machines are different, you have the option to preserve the
source port
values on the target system.
[top]
21. What is the port pool? What if I want to give a specific value to a Server
Port?
Answer:

If you are cloning on the same machine or want to redefine the server ports , you
will
be prompted for a port pool. The port pool provides a way to use a set of
predefined
server ports. There are 100 port pools. For example, if you select 3, the default
database
port number (1521) becomes 1524.
The following table lists all the server ports. To see how the port pool
calculation
works,
enter a number between 0 and 99(both inclusive) in the form and click "Get Ports".
Port Name

Autoconfig Variable
(Default) Port Numbers allocated for Port Pool: 0
(Custom) Port Numbers allocated for Port Pool:
Web Listener Port
s_webport
8000 8001
Database Port
s_dbport
1521 1522
RPC Port s_rpcport
1626 1627
Reports Port
s_repsport
7000 7001

OPROC Manager Port s_oprocmgr_port


8100 8101
Web PLSQL Port s_webport_pls
8200 8201
Servlet Port
s_servletport 8800 8801
Forms Listener Port

s_formsport 9000 9001 Metrics Server Data Port s_metdataport 9100 9101 Metrics
Server Req. Port s_metreqport 9200 9201 JTF Fulfillment Server Port
s_jtfuf_port 9300 9301
iMeeting Collaboration Server Port
s_imtsrvport 9500 9501
iMeeting Recording Server Port s_imtrecport 9600 9601
iMeeting Monitor (iMon) Port s_imtimonport
9700 9701
Map Viewer Servlet Port s_mapviewer_port 9800 9801
OEM Web Utility Port s_oemweb_port
10000 10001
VisiBroker OrbServer Agent Port
s_osagent_port
10100 10101
MSCA Server Port
s_mwaPortNo 10200 10201
MSCA Dispatcher Port s_mwaDispatcherPort
10300 10301
TCF Port s_tcfport
15000 15001
OACORE Servle Port Range
s_oacore_servlet_portrange 16000-16009 16010-
16019
Discoverer Servlet Port Range s_disco_servlet_portrange 17000-17009 17010-
17019
Forms Servlet Port Range
s_forms_servlet_portrange 18000-18009 18010-
18019
XMLSVCS Servlet Port Range s_xmlsvcs_servlet_portrange 19000-19009 19010-
19019
Forms Start Port s_frmStartPort
20000 20001
Java Object Cache Port s_java_object_cache_port 12345 12346

If you want to give a specific value to a port on the target system, independently
from
the port pool, you must first complete the Target System configuration with
adcfgclone.pl
(temporarily select a value for the port pool). Once adcfgclone.pl completes
successfully,
edit the new target context file with editcontext or OAM and modify the
corresponding
Autoconfig variables. Run Autoconfig to refresh the system with the new values (see
OracleMetaLink document 165195.1).
[top]

22. Does Rapid Clone preserve the patch history?


Answer:
Yes, Rapid Clone preserves the patch history of the complete Applications Stack:

* RDBMS ORACLE_HOME: preserve the OUI oraInventory.


* iAS ORACLE_HOME: preserve the OUI oraInventory.
* 806 ORACLE_HOME: preserve the patch level and ORCA inventory.
* APPL_TOP and Database: preserve the patch level and history tables.
[top]

23. Can I clone a clone?


Answer:

Yes, a cloned system created with Rapid Clone can then be used as the Source
System in the next cloning. RapidInstall itself is now a clone of a clone using the
Rapid
Clone technology.
[top]

24. Can I change the database dbf files layout while cloning?
Answer:

Yes, Rapid Clone allows to add or remove database mount points or redidtribute dbf
files among mount points in the target system. As long as all the source system dbf
files are present in the target system database mount points specified during the
adcfgclone prompts (see question "How does adcfgclone.pl know the target system
values?"), Rapid Clone will find them and re-create the database control file
accordingly.
[top]

25. What is the oraInventory?


Answer:
The oraInventory is the location for the OUI (Oracle Universal Installer)'s

bookkeeping. The inventory stores information about:


* All Oracle software products installed in all ORACLE_HOMES on a machine
* 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. On
Unix/Linux, the location of the oraInventory is defined by the content of
oraInst.loc, at:

- /var/opt/oracle/oraInst.loc on Solaris, HP-UX and Tru64


- /etc/oraInst.loc on Linux and AIX
On Windows, the location of the oraInventory is defined by the value of the
registry
key HKEY_LOCAL_MACHINE|Software\Oracle\INST_LOC or if this value is not
defined, at C:\Program Files\Oracle\Inventory
[top]

26. What is a binary oraInventory? Is my Inventory binary?


Answer:
Before OUI 2.X, the oraInventory was binary

A binary oraInventory centralizes, in a binary format, the location of every


Oracle
products on the machine and the detail of their patch level. The oraInventory
location is
defined by the content of oraInst.loc. You will have a binary inventory only if ALL
of the
following conditions are met:
* you are on 11.5.7 or earlier (11.5.8+ install XML inventory out of the box)
* you have never installed OUI 2.X or higher (Install converts the inventory to
XML) * you have never run Rapid Clone (Rapid Clone converts the inventory to XML)
If the following file exists, the oraInventory is NOT binary:
<oraInventory location as pointed by oraInst.loc>/ContentsXML/inventory.xml
[top]

27. What is a XML oraInventory? Is my Inventory XML?


Answer:
Starting with OUI 2.X and 11.5.8, the information in the inventory is stored in

Extensible Markup Language (XML) format. The XML format allows for easier
diagnosis of problems and faster loading of data Rapid Clone requires the inventory
to be
in XML format in order to clone it, and will take care of performing the binary to
XML
convertion if necessary.
Unlike the binary oraInventory, The XML inventory is divided into 2 distinct
components:
* The Global inventory (or Central inventory)
* The Local inventory (or Home inventory)
More information about these components is available under other questions in this
FAQThe inventory is XML if the following file exists:
$ORACLE_HOME/inventory/ContentXML/comps.xml
[top]

28. What is the Global (or Central) Inventory?


Answer:

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 de-installer in order to keep the Global Inventory synchronized.
[top]
29. What is the Local (or Home) Inventory?
Answer:
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.
[top]
30. How does Rapid Clone deal with the oraInventory?
Answer:
Rapid Clone requires OUI 2.2 to be installed in the ORACLE_HOME as a
prerequisite and will performs all the actions necessary to clone the inventory:
* Converts the Global inventory to xml format when it was binary on either the

source system or the target system


* Registers the cloned ORACLE_HOME in the target system Global Inventory
* Updates the Local Inventory of the target ORACLE_HOME to reflect the new
machine, paths, users, etc.
[top]

31. Why don't I need to manually copy the oraInventory when cloning?
Answer:
The local inventory is automatically copied from the source system to the target
system as part of copying the ORACLE_HOME itself.

The Global Inventory is machine specifc and therefore should not be copied. If you
are cloning from one machine to a different machine, Rapid Clone will simply
register the target ORACLE_HOME in the target machine Global Inventory (This action
will automatically create the Global Inventory if it did not exist on that
machine).
[top]

32. What does OUISetup.pl do?


Answer:

OUISetup.pl is shipped with the OUI patch, listed as a prerequisit to Rapid Clone
(see
Metalink Node 230672.1). It should be run as part of the OUI patch installation and
will

perform the following tasks:


* Register the OUI program in the Global Inventory
* Register the JRE in the Global Inventory
* Ensure that the ORACLE_HOME in which the patch is install is properly
registered in the Global Inventory. In doing so, it will attempt to automatically
fix

Inventory corruptions that are known to cause problem whilie cloning, such as
- Home indexes out of sync between the Global and Local Inventory
- Duplicate Home Names entries
- Duplicate Home Path entries
1. Oracle Application Server and Oracle E-Business Suite Release 11i
1. What is Oracle Application Server?

Oracle9i Application Server (Oracle9iAS) provides the infrastructure to develop and


deploy e-business portals, transactional applications, and Web services. Oracle9iAS
provides an integrated development environment for developers to create Internet
Applications including J2EE Applications, Web Services, Enterprise Portals,
Wireless
and Business Intelligence Applications.

Oracle Application Server 10g (OracleAS 10g) is the latest release of Oracle's
Application Server, succeeding Oracle9i Application Server (Oracle9iAS) Release
2.0.
This suite of products includes Oracle Containers for J2EE (OC4J), Oracle HTTP
Server
(powered by Apache), Oracle JDeveloper, Oracle Forms, Oracle Identity Management,
Oracle Portal, Oracle Business Intelligence, Oracle Business Integration, and
Oracle
WebCache.
Oracle Application Server is part of the Fusion Middleware Family of products.
2. What are the differences between 9iAS R2 and 9i R2?
9iAS R1 corresponds to Oracle9i Application Server Release 1, which comprises all
application server (middle-tier) products (e.g. 9iAS 1.0.2.2.2).
9iAS R2 corresponds to Oracle9i Application Server Release 2, which comprises all
application server (middle-tier) products (e.g. 9iAS 9.0.2).
9iR1 corresponds to Oracle9i Database, which comprises all database server products
(e.g. 9i Version 9.0.1.3).
9iR2 corresponds to Oracle9i Database, which comprises all database server products
(e.g. 9i Version 9.2.0.2)

Certification of one combination (e.g. 9iR2 with Applications 11i) does not imply
certification of any others (e.g. 9iAS R2 with Applications 11i). All products must
be individually certified with Applications 11i.
3. What is the difference between Oracle9i Application Server and Oracle
Application
Server 10g?

These names refer to the Fusion Middleware Family of products, which includes
JDeveloper, Forms, Reports, Discoverer, Single Sign-On, Oracle Internet Directory,
Portal, WebCache, and other middleware tools.
Oracle9i Application Server (short name: 9iAS) refers to all application server

(middle-tier) products up to 9iAS 9.0.3, including:


* Oracle9i Application Server Release 1 Version 1.0.2.2.2
* Oracle9i Application Server Release 2 Version 9.0.2
* Oracle9i Application Server Release 2 Version 9.0.3
Oracle Application Server 10g (short name: OracleAS 10g) refers to all subsequent

application server (middle-tier) releases, including:


* Oracle Application Server 10g Release 1 Version 9.0.4
* Oracle Application Server 10g Release 1 Version 9.0.4.1
* Oracle Application Server 10g Release 2 Version 10.1.2.0.0
* Oracle Application Server 10g Release 2 Version 10.1.2.0.1
* Oracle Application Server 10g Release 2 Version 10.1.2.0.2
*Oracle Application Server 10g Release 2 Version 10.1.3
4. How is Oracle9i Application Server integrated with Oracle E-Business Suite
Release
11i?The Oracle E-Business Suite Release 11i uses several individual components now

delivered as part of the Oracle9i Application Server (9iAS) suite. These individual
components include the Oracle HTTP Server (powered by Apache), PL/SQL, Forms
Server, Reports Server, Discoverer, Workflow, and many others.

Prior to Oracle E-Business Suite Release 11.5.7, some components originally


delivered in 9iAS were installed as part of the Oracle E-Business Suite Rapid
Install.
Versions of the components included in the Oracle E-Business Suite Release 11i
Rapid
Install often differed from component versions delivered in the standard 9iAS
releases.

The Oracle E-Business Suite Release 11.5.7 and 11.5.8 Rapid Install contains 9iAS
1.0.2.2.2 Enterprise Edition. New installations of these releases will have the
9iAS
1.0.2.2.2 technologies already in place. Note, however, that Applications features
that
depend on 9iAS 1.0.2.2.2 (e.g. the use of Portal 3i as the default launchpad) are
not

enabled by default in these releases. Customers who start with either the 11.5.7 or
11.5.8
Rapid Install will be able to apply additional patches and perform post-install
configuration steps to use the features that depend on 9iAS 1.0.2.2.2.

Customers who apply the 11.5.7 Maintenance Pack or later to an existing Oracle E-
Business Suite Release 11i environment are not automatically upgraded to 9iAS
1.0.2.2.2
Enterprise Edition. In general, Maintenance Packs used to upgrade to the latest
Oracle E-
Business Suite release do not include technology stack upgrades. 11i Maintenance
and
Family Packs generally deliver fixes to Oracle E-Business Suite code. With some
exceptions, this general policy ensures that customers can get bug fixes for Oracle
E-
Business Suite modules without having to upgrade their technology stack.

Customers upgrading originally environments created with the 11.5.1 to 11.5.5 Rapid
Installs may follow the migration instructions in Oracle MetaLink Note 146468.1 to
migrate their existing technology stacks to 9iAS 1.0.2.2.2 Enterprise Edition and
to
configure Oracle E-Business Suite features that depend on it.
5. What are the benefits of integrating an existing Oracle E-Business Suite
environment
with OracleAS 10g?

Benefits of this configuration are:


Security & Identity Management
Log on with Single Sign-On
Log on with Single Sign-On and access all Oracle E-Business Suite Release 11i

modules, Oracle technology products, and custom partner applications.


Log off all applications at once
Log off Release 11i and all partner applications with a single logout or session
timeout.
Manage user credentials in Release 11i

Manage user credentials exclusively in the native Oracle E-Business Suite Release
11i (FND_USER) directory. User updates in the E-Business Suite may be automatically
synchronized with an external Oracle Internet Directory 10g instance.
Manage user credentials in Oracle Internet Directory

Manage user credentials in Oracle Internet Directory, a standards-based LDAPv3


directory which leverages the scalability, high availability and security features
of the
Oracle Database. Oracle Internet Directory serves as the central user repository
for the
Oracle Identity Management infrastructure, simplifying user administration for all
products in the Oracle environment. User updates in Oracle Internet Directory may
be
automatically synchronized with the E-Business Suite.
Synchronize user credentials between Oracle Internet Directory and Release 11i

Manage and synchronize user attributes bidirectionally between Oracle Internet


Directory 10g and Release 11i via Oracle Directory Integration & Provisioning.
Provision
new Oracle E-Business Suite Release 11i user accounts from both Release 11i
administration consoles and Oracle Internet Directory via the Delegated
Administration
Console.
Integrate with third-party single sign-on services

Integrate Oracle E-Business Suite Release 11i with existing third-party single
sign-on

solutions, including Microsoft Windows Kerberos, CA SiteMinder.


Integrate with third-party LDAP directories
Use Oracle Directory Integration & Provisioning to integrate Oracle E-Business
Suite
Release 11i with existing third-party directory solutions, including Sun Java
System
Directory, Microsoft Active Directory, Novell e-Directory, and OpenLDAP.
Single sign-on using digital certificates
Simplify and secure access to Oracle E-Business Suite Release 11i via X.509 v3 PKI
digital certificates.

Associate Oracle Internet Directory user accounts with Release 11i user accounts
Associate an Oracle Internet Directory user account with one or more unique Oracle
E-Business Suite Release 11i user accounts. Useful for deployments where single
sign-
on accounts in corporate LDAP directories differ from Oracle E-Business Suite
Release
11i user accounts.
Integrate a central Single Sign-On instance with multiple Oracle E-Business Suite
Release 11i environments
Integrate a central, enterprise-wide Single Sign-On instance with one or more
Oracle
E-Business Suite Release 11i environments.
Portal
Integrate Portal with multiple Oracle E-Business Suite Release 11i environments
Integrate Portal with one or more Oracle E-Business Suite Release 11i environments

using Portal 10g


Add Oracle E-Business Suite Release 11i portlets to custom portal pages
Use Oracle Portal to build customized corporate portal pages with Oracle E-Business
Suite Release 11i portlets, including the Applications Navigator, Applications
Favorites,
and Workflow Notifications.
Additional Features
Analyze Oracle E-Business Suite Release 11i with Discoverer

Use Discoverer, Oracle's ad hoc query, reporting, analysis, and web publishing
tool,
to allow business users at all levels of the organization gain immediate access to
information from Release 11i. Release 11i users can use Discoverer to analyze data
from
selected business areas in Financials, Operations, Human Resources, Purchasing,
Process
Manufacturing, Activity Based Management, and more.

Deploy OracleAS 10g to provide enterprise services for custom applications


Use the stand-alone Oracle Application Server 10g platform for deploying and
integrating custom applications. Take advantage of OracleAS 10g middleware services
for deploying and managing applications and Web services, delivering personalized
applications through enterprise portals and mobile devices, providing real-time
business

intelligence, integrating applications, and automating business processes.


Accelerate E-Business Suite responsiveness with Web Cache
Use Oracle Web Cache 10g to as a reverse proxy, load-balancer, or cache to improve
the responsiveness of the E-Business Suite for your end-users. Performance

improvements from Web Cache are particularly notable in high-latency Wide Area
Network (WAN) deployments, where data compression can speed performance
significantly.
6. Is Oracle Application Server 10g certified with Oracle E-Business Suite?

Yes, Oracle Application Server 10g is certified with Oracle E-Business Suite
Release
11i for the use of Oracle Internet Directory, Single Sign-On, Portal, Discoverer,
Web
Cache, and Oracle Integration.
For more details about this certification, see the following Notes on Oracle
Metalink
(http://metalink.oracle.com ):
* 186981.1 : Frequently Asked Questions
* 293849.1 : Roadmap: Using OracleAS 10g with the Oracle E-Business Suite
(Overview Presentation)
* 233436.1 : OracleAS 10g + E-Business Suite Installation Guide
* 261914.1 : Integrating Oracle E-Business Suite Release 11i with Oracle Internet

Directory and Oracle Single Sign-On


* 305918.1: Portal 10g + E-Business Suite Installation Guide
* 313418.1: Discoverer 10g + E-Business Suite Installation Guide
* 306653.1: Web Cache 10g + E-Business Suite Installation Guide
* 223927.1 : Oracle Application Server Integration with Oracle E-Business Suite:
Statement of Direction
There are currently no plans to certify the upgrade of existing Oracle E-Business
Suite Release 11i application tiers to Oracle Application Server 10g.
7. Is Oracle9i Application Server 1.0.2.2.2 certified with Oracle E-Business Suite
Release 11i?

Yes. For new customers wishing to create new, fresh installations of Oracle E-
Business Suite Release 11i, the 11.5.7 Rapid Install and higher includes 9iAS
1.0.2.2.2
Enterprise Edition. Customers installing 11.5.7 and higher for the first time may
perform
additional post-installation steps to enable 9iAS-based functionality, including
Portal,
Single Sign On, and Discoverer 4i.
Existing Oracle E-Business Suite Release 11i customers may migrate their current
technology stack to 9iAS 1.0.2.2.2 Enterprise Edition by following Oracle MetaLink
Note 146468.1 and may perform additional post-installation steps to enable 9iAS-
based
functionality, including Portal, Single Sign On, and Discoverer 4i.
8. Is Oracle9i Application Server 1.0.2.2.2 certified with Applications 10.7 or
11.0.x?

There are no plans to certify 9iAS 1.0.2.2.2 with Applications 10.7 or 11.0.x. If
those customers upgrade to Oracle E-Business Suite Release 11i using the 11.5.7
Rapid Install or higher, they will receive 9iAS 1.0.2.2.2 as part of the standard
11i technology stack.

The only exception applies to Oracle iProcurement 11.0.3. iProcurement customers


may upgrade to 9iAS 1.0.2.2.2 by following MetaLink Note 203376.1 . Support for
this configuration is available by filing TARs for Oracle iProcurement 11.0.3.
9. What versions of Oracle9i Application Server Release 1 can be used with Oracle
E-
Business Suite Release 11i?
The Oracle E-Business Suite Release 11.5.7 Rapid Install and higher contain
Oracle9i
Application Server Release 1 Version 1.0.2.2.2 Enterprise Edition.

Migration to Oracle9iAS 1.0.2.2.2 Enterprise Edition is certified for environments


created with Oracle E-Business Suite Release 11i Rapid Installs prior to 11.5.7.
For
details on upgrading existing environments to 9iAS 1.0.2.2.2, see Oracle MetaLink
Note
146468.1 .
Prior versions of Oracle9iAS, including 1.0, 1.0.2.1, 1.0.2.2, and 1.0.2.2.1 are
not
certified with Oracle E-Business Suite Release 11i. There are no plans for these
certifications.
10.Can an existing Release 11i application server be upgraded to Oracle Application
Server 10g?

No. Oracle has no plans to support the upgrade of the application server of an
existing Oracle E-Business Suite Release 11i environment to Oracle Application
Server
10g. Existing Release 11i environments will remain at the Oracle9i Application
Server
1.0.2.2.2 level, and may be integrated with an Oracle Application Server 10g
instance
deployed on a standalone server or in a separate ORACLE_HOME. Once integrated, an
existing Release 11i environment may take advantage of Oracle Application Server
10g
services on the standalone instance, including Single Sign-On, Oracle Internet
Directory,
Portal, and Discoverer.

The E-Business Suite Release 12 includes Oracle Application Server 10g as part of
its
Rapid Install. For details, see Oracle Application Server with Oracle E-Business
Suite
Release 12
Frequently Asked Questions (Metalink Note 415007.1).
11.Is 9iAS 1.0.2.2.2 certified with Oracle Real Applications Clusters?
Yes, 9iAS 1.0.2.2.2 is certified with Oracle Real Applications Clusters for the
9iR2
and 10gR2 databases. There are no issues with this configuration.
12.What is the authoritative source for certification information for Oracle
products?

Oracle MetaLink (http://metalink.oracle.com ) is the authoritative source for


certifications between all Oracle products. Select "Certify & Availability" to
query
Oracle product certifications by platform and products.

New certified configurations and technology stack patches for the E-Business Suite
are released regularly. For breaking news, updates, and technical discussions about
E-
Business Suite technology stack topics, you can also monitor or subscribe to the E-
Business Suite Technology blog on the Oracle Technology Network.
13.What is the roadmap for future certifications of Oracle Application Server with
the E-
Business Suite?

An overview of currently supported architectures, features and benefits, and


upcoming certifications is published in Oracle MetaLink Note 293849.1, Using Oracle
Application Server 10g with Oracle E-Business Suite Release 11i.

New certified configurations and technology stack patches for the E-Business Suite
are released regularly. For breaking news, updates, and technical discussions about
E-
Business Suite technology stack topics, you can also monitor or subscribe to the E-
Business Suite Technology blog on the Oracle Technology Network.
14.What training is available for migrating Release 11i environments to 9iAS?
Using the Oracle9i Application Server with Applications Release 11i is available on
Oracle University .

This self-paced course reviews the process required to migrate an existing Oracle
E-
Business Suite Release 11i technology stack to Oracle9i Application Server
1.0.2.2.2. It
discusses basic and advanced conceptual topics such as 9iAS disk space and
operating
system requirements and supported systems architectures for Portal 3i and
Discoverer 4i,
Enterprise Single Sign-On, and Oracle Internet Directory. It includes some
discussion of
AutoConfig concepts, configuration management best practices, 9iAS migration
troubleshooting techniques and advice on how to avoid common problems, with
pointers
to additional online resources.
15.What is involved in migrating to 9iAS 1.0.2.2.2?
The following summarises the major components required to migrate an existing
Oracle E-Business Suite Release 11i environment to 9iAS 1.0.2.2.2 Enterprise
Edition:
1. Upgrade to 8.1.7.4 or higher
2. Implement AutoConfig
3. Use the 11.5.9 RapidWiz -techstack method to install 9iAS 1.0.2.2.2
4. Upgrade to latest certified Developer6i Patchset (optional)
5. Install latest certified Discoverer 4i release (optional)
6. Install latest certified Portal release (optional; required for Portal
functionality)

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

7. Install latest certified Oracle Internet Directory release (optional)


This is a high-level overview only; see the Related Documentation for detailed
instructions.
16.What is involved in integrating OracleAS 10g with Release 11i?
The following summarises the major steps required to integrate an existing Oracle
E-

Business Suite Release 11i environment with Oracle Application Server 10g:
1. Upgrade the Release 11i environment to 9iAS 1.0.2.2.2 (if necessary)
2. Install Oracle Application Server 10g on a standalone server or in a separate
ORACLE_HOME

3. Implement Single Sign-On and Oracle Internet Directory


4. Install the interoperability patches on the Release 11i environment
5. Register the Release 11i environment with the Oracle Application Server 10g
server6. Implement Portal (optional)
7. Implement Discoverer (optional)
This is a high-level overview only; see the Related Documentation for detailed
instructions.
17.How does one obtain support for 9iAS or OracleAS 10g with the E-Business Suite?
Oracle9i Application Server 1.0.2.2.2: Support for this release is available for
all
Oracle E-Business Suite Release 11i customers.
File TARs with Oracle Support via MetaLink using the following identifying

information to ensure that your issue is routed correctly:


* Product: Oracle Application Object Library
* Product Version: 1.0.2.2.2
* Type of Problem: 9iAS Install and Config
OracleAS 10g: Support for Oracle Application Server 10g + E-Business Suite
configurations is available for all customers.
File TARs with Oracle Support via MetaLink using the following identifying

information to ensure that your issue is routed correctly: * Product: Oracle


Applications Technology Stack * Type of Problem: Oracle Application Server 10g
2. General Installation Question

What resources are available to explain patching for Oracle E-Business Suite
Release
11i environments?
For general information about patching Oracle E-Business Suite Release 11i
environments, including discussions about patch types and minimizing patching
downtimes, see:
* Patching Oracle Applications: Frequently Asked Questions (Metalink Note
174436.1)
* Oracle Applications Release 11i - Patching Best Practices and Reducing
Downtime (Metalink Note 225165.1)
2. Why are there two appsweb.cfg files in two different locations?

This is normal. $FND_TOP/admin/driver/fndtmpl.drv instantiates the template


$FND_TOP/admin/template/appsweb.cfg to both locations - the runtime location
$OA_HTML/bin and the prod_top location $FND_TOP/resource. Patches will
automatically replace files in both locations via AutoConfig. For more information
about
AutoConfig, see Oracle MetaLink Note 165195.1 , Using AutoConfig to Manage System
Configurations with Oracle Applications 11i.
3. Can adclone be used with 9iAS installations created with ias1022m.sh?
Yes. See Oracle MetaLink Note 216664.1 , Frequently Asked Questions Oracle
Applications DBA Cloning Oracle Applications Release 11i.
3. General Configuration Questions
1. How does one implement load-balancing support for Release 11i environments?

System administrators can implement several different types of load-balancing in


Oracle E-Business Suite Release 11i environments: hardware-based HTTP Layer load-
balancing, hardware-based DNS layer load-balancing, software-based JServ layer
load-
balancing, Metric Server-based load-balancing for Forms, load-balancing for
Concurrent
Processing nodes, and load-balancing via Real Applications Clusters (RAC) for
database
tiers.
For more information, see Oracle MetaLink Note 217368.1 , Advanced
Configurations and Topologies for Enterprise Deployments of E-Business Suite 11i.

E-Business Suite Release 11i environments may be integrated with a stand-alone


instance running Oracle Application Server 10g. Oracle Application Server 10g has
been
separately tested with load balancers, firewalls and stand-alone SSL accelerators ;
note
that these tests apply to Oracle Application Server 10g and may not be directly
applicable
to Oracle E-Business Suite Release 11i environments.

What are some potential issues after implementing HTTP Layer load-balancing for
Release 11i?

After implementing HTTP Layer load-balancing with certain hardware-based load-


balancers (including F5, Cisco, and Alteon hardware), certain Release 11i
components
such as the Portal Parallel Engine and jtflogin.jsp may generate session timeout
errors or
not work properly. Other services, including the Forms Servlet Listener and
Discoverer
servlet, may continue to function.
These issues may occur when services running on Release 11i database-tier or
application-tier server nodes need to establish a loopback connection to themselves
via
the hardware-based load-balancer.

For example, to build a Portal page, the Portal Parallel Engine makes a PL/SQL
request to the visible host and domain name specified by the AutoConfig Web Server
Host and Local Domain Name context values. In order for this loopback connection to
be
successful, both the application-tier and database-tier servers need to be
permitted to
access the hardware-based load-balancer. Certain networking security policies
enforced
by the hardware-based load-balancer may cause the reply to be blocked or routed
incorrectly, breaking the TCP session, and causing failures in Portal connectivity.

To resolve these issues, ensure that you have installed the latest AutoConfig
templates specified in Oracle MetaLink Note 217368.1 and that the AutoConfig Web
Server Host context value is set to the hardware-based load-balancer. Then verify
whether an application-tier server node can establish a loopback connection to
itself. For
example, try to establish a telnet session from the application-tier server node to
itself.
You should also check whether the database-tier server node can perform the same
loopback connection. If the connection is refused, consult your load-balancer
documentation for procedures to enable Secure Network Address Translation (SNAT) or
Virtual Local Area Network (VLAN) support for your network.
3. Is Oracle E-Business Suite Release 11i certified with specific third-party
networking
components?

Use of third-party networking components, including load-balancers, routers, and


switches, is supported by Oracle. "Supported" means that Oracle Support will assist
with
Technical Assistance Requests (TARs) filed via Oracle MetaLink by Release 11i
customers for advanced configurations covered by Note 217368.1 , Advanced
Configurations and Topologies for Enterprise Deployments of E-Business Suite 11i.
Instructions in this Note are explicitly designed to work generically with all
third-party
networking components for the documented configurations.

"Certification" refers to a comprehensive suite of functional tests across all


Release 11i applications on all supported operating system platforms. Oracle
Support and the Oracle Applications Technology Group do not have testbeds
comprising all possible combinations of third-party networking components on all
operating system platforms

As such, the Oracle Applications Technology Group does not certify Oracle E-
Business Suite Release 11i with all possible combinations of third-party load-
balancers, routers, switches, firewalls, proxies, or other networking hardware.
Oracle Support will provide best-efforts support to isolate networking-related
problems or conflicts within Release 11i technology stack configurations (e.g. with
AutoConfig). Given limited Oracle resources and expertise with third-party
networking
components, third-party vendors may need be engaged to help isolate problems
encountered.

If problems are isolated to the third-party hardware, then the third-party vendor
may
need to be engaged help resolve the issue. Oracle Support will escalate specific
cases to
the Oracle Applications Technology Group where there are conflicts or issues or
with
Release 11i configuration issues (e.g. with AutoConfig). Where appropriate, the
Oracle
Applications Technology Group may work collaboratively with third-party vendors on
specific escalations that require coordinated updates from both Oracle and the
third-party
vendor.
4. Can Oracle Application Server 10g be installed on an existing Oracle E-Business
Suite Release 11i server?

Yes, Oracle Application Server 10g may be installed on the same physical server
used
for an existing Oracle E-Business Suite Release 11i instance. The OracleAS 10g
Infrastructure database may also be installed on that server. There are some
restrictions,
the most important of which is that Oracle Application Server 10g must be installed
in a
different ORACLE_HOME than the existing Release 11i ORACLE_HOME.

Other restrictions are noted on Oracle MetaLink > Certify > View Certifications By
Product > Product Group: Application Server > Product Selection: Oracle Application
Server > Oracle Application Server 10g and Oracle9i Application Server Release 1
(1.0.2.2.x) Coexistence Restrictions. In particular, note that Discoverer 4i and
Discoverer
10g have dependencies on different Visibroker versions, preventing the simultaneous
operation of both Discoverer versions on the same physical server in some
circumstance
(Bug 3266454 ).
Also see the "Compatibility with Earlier Versions" chapter of the Oracle
Application
Server 10g Installation Guide 10g for your operating system platform.
5. Can Oracle Application Server 10g be installed on a different operating system
platform than Oracle E-Business Suite Release 11i?

Yes. Oracle Application Server 10g may be installed on one or more physical
servers, each on different operating system platforms. These servers do not need to
be running on the sample platform as an existing Release 11i application tier
server node.
For example, the following architecture is supported

* Release 11i application tier server node on Linux


* Oracle Application Server 10g Metadata Repository on Hewlett Packard HP-UX
* Oracle Application Server 10g Identity Management on Sun Solaris
*Oracle Application Server 10g on Linux
6. What are some best practices recommendations for Oracle Application Server 10g
configurations?

E-Business Suite Release 11i environments may be integrated with a stand-alone


instance running Oracle Application Server 10g. Best practice recommendations for
configuring those stand-alone instances may be found in the Core Documentation for
Oracle Application Server 10g.
7. When OracleAS 10g is integrated with the E-Business Suite, where should the
OracleAS 10g Infrastructure database be installed?

The Infrastructure database for Oracle Application Server 10g is installed using
the
"OracleAS Infrastructure 10g" installation option, and may be installed in the
default
database included with OracleAS 10g. The OracleAS 10g Infrastructure database
cannot
be installed in an existing E-Business Suite Release 11i database. The
Infrastructure
database may optionally be installed in a database by using the Repository Creation
Assistant (repca) tool. For more information about this tool, see the Oracle
Application
Server Repository Creation Assistant User's Guide 10g for your operating system
platform.
8. Is it possible to add additional languages to an the E-Business Suite
environment that
is integrated with Oracle Application Server 10g?
Oracle E-Business Suite Release 11i instances and Oracle Application Server 10g
instances use different mechanisms to support NLS languages.
It is possible to add additional languages to an existing Oracle E-Business Suite

Release 11i environment; see the following resources:


* Installing Oracle Applications: A Guide to Using Rapid Install
* Oracle Applications Maintenance Utilities

It is currently not possible to add additional languages to an existing Oracle


Application Server 10g instance after the original installation. This is a known
functional
limitation in Oracle Application Server 10g. For information on installing
additional
languages during the initial OracleAS 10g installation, see the "Installing
Additional
Languages" chapter in the Oracle Application Server 10g Installation Guide 10g for
your
operating system platform. This functional limitation is expected to be addressed
in
Oracle Application Server Release 11; this is subject to change.

Can 9iAS be installed in a separate ORACLE_HOME on an existing Oracle E-


Business Suite Release 11i application tier server node?

The upgrade process for customers following Oracle MetaLink Note 146468.1
installs the latest version of Oracle9i Application Server 1.0.2.2.2 and associated
patches
in a separate ORACLE_HOME on a server that may already have an existing
installation
of Oracle9i Application Server 1.0.2.2.2. At the end of the upgrade process, the E-
Business Suite environment is switched from the old ORACLE_HOME to the new
ORACLE_HOME.

Although is is possible to switch from one ORACLE_HOME to another, running


9iAS services out of both ORACLE_HOMEs at the same time is not a supported or
recommended configuration when integrating 9iAS with Oracle E-Business Suite
Release
11i .
10.Can Oracle E-Business Suite Release 11i and Oracle Collaboration Suite integrate
with the same Oracle Application Server 10g instance?

Yes. Oracle Collaboration Suite is certified for use with the Identity Management
components of Oracle Application Server 10g. See Oracle MetaLink > Certify > View
Certifications By Product > Product Group: Collaboration Suite > Oracle Application
Server Information.
Oracle E-Business Suite Release 11i is certified with Oracle Application Server 10g
.
Both the Release 11i and Oracle Collaboration Suite instances may be registered as
partner applications to the same Oracle Application Server 10g instance.
11.What resources are available for Oracle HTTP Server performance tuning?
See Oracle9i Application Server Best Practices Release 1 (v1.0.2.2) (Part Number
A95201-01), available on the Oracle Technology Network .

This documentation may recommend manual changes to configuration files that do not
apply to Oracle E-Business Suite Release 11i environments that have been migrated
to 9iAS 1.0.2.2.2 and AutoConfig. See Oracle MetaLink Note 165195.1 , titled Using
AutoConfig to Manage System Configurations with Oracle Applications 11i and How
does AutoConfig handle manual changes to configuration files?
12.What resources are available for installing and configuring Oracle Application
Server
10g?The Oracle by Example (OBE) series provides hands-on, step-by-step instructions
on
how to implement various technology solutions to business problems. OBE solutions
are
built for practical real-world situations, allowing you to gain valuable hands-on

experience as well as use the presented solutions as the foundation for production
implementation, dramatically reducing time to deployment.
* Oracle By Example Viewlets that demonstrate how to do regular and High
Availability installs of Oracle Application Server 10g
* OracleAS 10g High Availability Solutions
13.Is AutoConfig mandatory for migrating Oracle E-Business Suite Release 11i
environments to 9iAS 1.0.2.2.2?

Yes, AutoConfig is required by the Release 11i interoperability patch used in the
9iAS 1.0.2.2.2 migration. The Rapid Wizard-based installation process documented in
Oracle MetaLink Note 146468.1 uses AutoConfig to configure the new 9iAS-based
components in a Release 11i environment.
14.How does AutoConfig handle manual changes to configuration files?
AutoConfig is a configuration tool which supports automated configuration of an
Applications Instance. See Oracle MetaLink Note 165195.1 , Using AutoConfig to
Manage System Configurations with Oracle Applications 11i. All of the information
required for configuring an Applications Instance running out of an APPL_TOP is
collected into a central repository, called the Applications Context. When the
AutoConfig
tool runs, it uses information from the Applications Context file to generate all
configuration files and update database profiles.
There are several major benefits provided by AutoConfig:
* Configuration Support - AutoConfig delivers a fully functional, supported
configuration of the APPL_TOP and the ORACLE_HOMEs in its supporting technology
stack.
* Configuration Management - AutoConfig provides a mechanism to configure or
re-configure an Applications Instance through one centralized procedure.

* Configuration Delivery and Patching - The uptake of new technology is


simplified, as new configurations and configuration changes can be provided in the
form
of a patch.

The current version of AutoConfig supports manual customizations of configuration


files. To ensure that your customizations are not overwritten by AutoConfig, follow
the procedures documented in Note 270519.1, Customizing an AutoConfig Environment.
15.How can Oracle E-Business Suite Release 11i customers upgrade the Oracle HTTP
Server without 9iAS 1.0.2.2.2?

Oracle E-Business Suite Release 11.5.1 to 11.5.5 Rapid Installs included Oracle
HTTP Server 1.0.0, which corresponds to Apache 1.3.9 with additional Oracle mods.
The Oracle HTTP Server (powered by Apache) that was originally installed can
optionally be upgraded to Oracle HTTP Server 1.0.2.1s, which corresponds to Apache

1.3.12s with additional Oracle mods. See Metalink Note 161779.1 , "Upgrading Oracle
HTTP Server in Applications 11i."
16.Which security patches should be applied to Oracle HTTP Server for E-Business
Suite environments?

Oracle strongly recommends that all E-Business Suite customers install the latest
Critical Patch Update. Critical Patch Updates are cumulative updates that contain
fixes
for multiple security vulnerabilities.
Resources:
* Oracle Critical Patch Update Program General FAQ (MetaLink Note 290738.1)
* Oracle Critical Patch Updates and Security Alerts
17.What versions of Oracle HTTP Server and Apache were shipped with Oracle E-
Business Suite Release 11i?
Oracle E-Business Suite Release 11.5.1 to 11.5.5 Rapid Installs included Oracle
HTTP Server 1.0.0, which corresponds to Apache 1.3.9 with additional Oracle mods.

There was no Oracle E-Business Suite Release 11.5.6 Rapid Install. Only 11.5.6
Family Packs for ERP and CRM were released, which did not deliver any new
technology stack components.

Oracle E-Business Suite Release 11.5.7 Rapid Install and higher include Oracle9i
Application Server 1.0.2.2.2, which includes Oracle HTTP Server 1.0.2.2, which
corresponds to Apache 1.3.19 with additional Oracle mods.
Customers may have optionally upgraded their 11.5.x environments by following
Metalink Note 161779.1 , "Upgrading Oracle HTTP Server in Applications 11i." This
upgrade included Oracle HTTP Server 1.0.2.1s, which corresponds to Apache 1.3.12s
with additional Oracle mods.
To verify which version of Oracle HTTP Server (Apache) you have installed, issue
the following command:
$APACHE_TOP/Apache/bin/httpd* -version

For a comprehensive summary of all Oracle HTTP Server and Apache versions
delivered with all Oracle products, see Metalink Note 260449.1 Everything You
Wanted
to Know About The Apache-Based OHS Version.
18.What is the latest Oracle HTTP Server rollup patch certified for Oracle E-
Business
Suite Release 11i?

A list of all rollup patches for Oracle HTTP Server certified for Oracle E-Business
Suite Release 11i environments can be found in MetaLink note 254618.1 , Oracle HTTP
Server Patches Certified to be used with E-Business Suite 11i. This Note also lists
the
latest application server security and AutoConfig template patches certified for
Release
11i.
19.Can reverse proxies, demilitarized zones, and multiple domains be used with the
E-
Business Suite?
Yes. For more information, see Oracle MetaLink Note 287176.1, DMZ
Configuration with Oracle E-Business Suite 11i.
20.How can Oracle E-Business Suite Release 11i environments be cloned?

Oracle E-Business Suite Release 11i environments can be cloned using two different
methods. For details, see Frequently Asked Questions: Cloning Oracle Applications
Release 11i.

There are additional implications for Release 11i environments that have been
integrated with Oracle Application Server 10g. For a more extensive discussion, see
In-
Depth: Cloning OracleAS 10g + E-Business Suite Environments.

Cloned Release 11i environments may share a common Oracle Application Server
10g instance. For example, a single Oracle Internet Directory user directory may be
shared by multiple Release 11i instances.

Alternately, system administrators may require that each cloned Release 11i
instance have its own cloned Oracle Application Server 10g instance. In this
scenario, a separate Oracle Application Server 10g instance must be installed, and
the appropriate metadata for the standalone Oracle Application Server 10g instance
must be transported from the original Oracle Application Server 10g instance to the
new Oracle Application Server 10g instance.

Oracle Application Server 10g has a different set of tools for replicating
environments
than Release 11i. At present, individual OracleAS 10g components such as Oracle
Internet Directory and Portal have their own separate tools for copying metadata
between
OracleAS 10g instances. For example, user information in a given Oracle Internet
Directory instance may be copied to a different Oracle Internet Directory instance
using
the built-in OID replication tools or LDIF files.

System administrators evaluating configuration management approaches for cloning


Release 11i environments integrated with Oracle Application Server 10g should
review their requirements against the capabilities of the Oracle Application Server
10g utilities. For details, see:
* Oracle Application Server 10g Documentation Library
* In-Depth: Cloning OracleAS 10g + E-Business Suite Environments

21.Which versions of Forms and Reports are used by Oracle E-Business Suite Release
11i after a 9iAS migration?

After an existing Oracle E-Business Suite Release 11i environment has been migrated
to 9iAS 1.0.2.2.2, Developer 6i Patchset 6 or higher is required. A complete cross-
reference between Developer 6i Patchsets and Forms and Reports version numbers can
be
found in MetaLink note 125767.1 , Upgrading Developer 6i with Oracle Applications
11i. Forms and Reports run out of the new 8.0.6 ORACLE_HOME created during the
migration to 9iAS 1.0.2.2.2. Release 11i has dependencies on 8.0.6 ORACLE_HOME-
based components in the following areas: user exits, charting, and UTF-8.
22.What ports are used by Oracle E-Business Suite Release 11i application services?

Default ports Oracle E-Business Suite Release 11i environments that have been
AutoConfig-enabled are listed in Oracle MetaLink Note 216664.1 , titled Frequently
Asked Questions Cloning Oracle Applications Release 11i.
4. Discoverer Questions
1. What versions of Discoverer are certified with the Oracle E-Business Suite
Release
11i?The following configuration is Generally Available and supported:
* Discoverer 10g (10.1.2.0.2) + Oracle E-Business Suite Release 11i

The certification of Discoverer 10.1.2.2 with the E-Business Suite is currently


underway, but firmer release schedules are not yet available. Customers can monitor
or
subscribe to the E-Business Suite Technology Stack Blog for regular updates on new
certifications.
Discoverer 4i was desupported for E-Business Suite users as of October 2006.
Discoverer 4i users are encouraged to upgrade to Discoverer 10g at the earliest
opportunity.
2. What are some Single Sign-On-related usage scenarios for Discoverer 10g and the
E-
Business Suite?
There are four major usage scenarios for Discoverer 10g accessing the E-Business
Suite via OracleAS 10g:
SCENARIO A: Invoking Discoverer workbooks from Applications Portlets via
Oracle Portal

157
* Step 1. The system administrator creates a form function for a given Discoverer
workbook, assigns the form function to an E-Business Suite menu and responsibility,
and grants this responsibility to UserA.

* Step 2. UserA signs on to Single Sign-On and Portal, then uses the Applications
Navigator portlet to select the new E-Business Suite responsibility linked to the
menu and
Discoverer workbook form function.
* Step 3. UserA clicks on the link for the Discoverer workbook. The workbook
opens in Discoverer with no additional logins required.
TECHNICAL BACKGROUND
* URLs to the Discoverer form functions shown in the Applications Navigator
portlet can also be added as links to the Applications Favorites portlet

* Discoverer is running against an APPS_MODE End-User Layer, which ensures


that workbooks can be accessed only by Discoverer users who have been granted the
appropriate Applications responsibility to view the workbook data.

* Discoverer does not look up the user in FND_USER. Discoverer receives all
Single Sign-On session information for the authenticated user via the Oracle
Applications
ICX session information, which is passed to Discoverer via the form function
invocation
through the Applications Navigator and Applications Favorites portlets.
SCENARIO B: Invoking Discoverer workbooks from standalone Discoverer
instances

Standalone invocation of Discoverer with E-Business Suite workbooks via


Discoverer's Connection Manager feature with Single Sign-On enabled is supported
for
users whose Applications SSO Login Types profile option is set to SSO. For details,
see
Using Discoverer 10.1.2 with Oracle E-Business Suite 11i (Metalink Note 313418.1).
SCENARIO C: Use of Discoverer portlets for E-Business Suite workbooks

The Discoverer portlet provider can be used to deliver the contents of any
worksheets that have been developed against the E-Business Suite as a "portlet"
within Oracle Portal. This makes it easy to collate multiple worksheets into a
single Portal page.
To use this feature:

* Step 1. Oracle Portal page designers add the worksheet(s) to the portal page and
specify which E-Business Suite userid and responsibility will be used to retrieve
the
results for each individual portlet ahead of time.

* Step 2. End users sign on to Oracle Portal page via Single Sign-On using their
OID username. These users can view the contents of these portlets, the results of
which
are determined by the choice of Applications userid and responsibility selected by
the
page designer.
* Step 3. Users can customize the connection details for each portlet if given the
appropriate privilege.
SCENARIO D: Use of Discoverer invoked from E-Business Suite menus via E-
Business Suite Home Page
* Step 1. The system administrator creates a form function for a given Discoverer
workbook, assigns the form function to an E-Business Suite menu and responsibility,
and grants this responsibility to UserA.

* Step 2. UserA signs on to Single Sign-On, is shown the E-Business Suite menus
via the E-Business Suite Home Page, and uses the Applications Navigator to select
the
new E-Business Suite responsibility linked to the menu and Discoverer workbook form
function.
* Step 3. UserA clicks on the link for the Discoverer workbook. The workbook
opens in Discoverer with no additional logins required.
TECHNICAL BACKGROUND

* URLs to the Discoverer form functions shown in the Oracle Applications Framework
Applications Navigator can also be added as links to the Applications Favorites
portlet

* Discoverer is running against an APPS_MODE End-User Layer, which ensures


that workbooks can be accessed only by Discoverer users who have been granted the
appropriate Applications responsibility to view the workbook data.

* Discoverer does not look up the user in FND_USER. Discoverer receives all
Single Sign-On session information for the authenticated user via the Oracle
Applications
ICX session information, which is passed to Discoverer via the form function
invocation
through the Applications Navigator and Applications Favorites regions running on
the E-
Business Suite Home Page.
3. What is needed to install the Discoverer .eex files into the End User Layer?

For Discoverer 4i: Discoverer 4i Administration Edition is used to import the


Oracle
E-Business Suite Release 11i End User Layer export (.eex) files and populate the
Discoverer End User Layer. Discoverer 4i Administration Edition is is part of the
Oracle
Internet Developer Suite and is only available on Microsoft Windows. However, the
shell
scripts shipped to install the .eex files on the Windows platform require a Unix-
compatible shell interpreter and support for Perl scripts.

Oracle does not include a shell interpreter with Oracle E-Business Suite Release
11i
or Oracle9i Application Server. MKS Toolkit (http://www.mkssoftware.com ), a third-
party set of utilities that includes several UNIX shell interpreters and Perl, is
recommended. MKS Toolkit for System Administrators, MKS Toolkit for Developers,
and any other MKS Toolkit suites that include UNIX shell interpreters and Perl are
sufficient to support installation of Discoverer 4i content for Release 11i.

Other third-party shell interpreters for Windows may also work but have not been
tested by Oracle. Cygwin (http://www.cygwin.com ) has been tested and is NOT
compatible with AD utilities due to issues with awk compatibility. Microsoft
Services
for UNIX has been tested and is NOT compatible with the adupdeul.sh shell script.
Customers are strongly advised to use the certified and recommended MKS Toolkit
where possible; unexpected behaviour may result from using uncertified third-party
tools.

Discoverer 4i Administration Edition is a resource-intensive program. If you cannot


find a PC with 512 MB of RAM (virtual + physical resources), efficiency and results
are
unpredictable, and .eex import times may increase. Oracle recommends running
Discoverer 4i Administration Edition on a PC with a total of at least 512 MB of RAM
(virtual + physical resources). Close all unneeded programs, services, and memory-
resident utilities (e.g. virus checkers), and ensure that there is enough free
diskspace for
virtual memory page swapping.
Discoverer 4i was desupported for E-Business Suite users as of October 2006.
Discoverer 4i users are encouraged to upgrade to Discoverer 10g at the earliest
opportunity.

For Discoverer 10g: Discoverer 10g supports the creation of End User Layers from
the application-tier server node directly, unlike Discoverer 4i Administration
Edition,
which could only be run on a Windows PC. Discoverer 10g customers on UNIX
platforms (e.g. Solaris, HP-UX, AIX, Linux) may perform .eex imports and EUL
administration tasks on directly their UNIX application-tier servers, eliminating
the
requirement for MKS Toolkit for UNIX platforms.
Windows customers running Release 11i and Discoverer 10g are still required to use
MKS Toolkit to run ADPATCH and other AD utilities.
4. Can the Discoverer tablespace name be customized?

Yes. Oracle recommends that the Discoverer tablespace name where the End User
Layer resides be named 'DISCOVERER', but this may be customized if needed. If
changed from the default, ensure that you specify the new tablespace name when
creating
the End User Layer using the -DEFAULT_TABLESPACE command line parameter for
the eulapi utility (Discoverer 10g), or the /DEFAULT_TABLESPACE command line
parameter for the DIS4ADM.EXE utility (Discoverer 4i).
5. What are the supported Discoverer 4i configurations?
Discoverer 4i was desupported for E-Business Suite users as of October 2006.
Discoverer 4i users are encouraged to upgrade to Discoverer 10g at the earliest
opportunity.

If the Discoverer 4i Server is installed on a separate physical server from the


Oracle
E-Business Suite Release 11i applications tier server node, this is a supported
configuration. See Oracle MetaLink Note 139516.1 for installation procedures. These
"standalone" Discoverer 4i installations require 9iAS 1.0.2.2.2 to be installed in
its
entirety as a prerequisite. Partial or custom installations are not supported.

If Discoverer 4i is to be installed on the same server and in the same


ORACLE_HOME as an existing Oracle E-Business Suite Release 11i application tier
server node, then Oracle MetaLink Note 146468.1 must be followed prior to Oracle
MetaLink Note 139516.1 .

If Discoverer 4i is to be installed on the same server but in a separate


ORACLE_HOME on an existing Oracle E-Business Suite Release 11i application tier
server node, then Oracle MetaLink Note 218111.1 must be followed prior to Oracle
MetaLink Note 139516.1
For details, see Oracle MetaLink , which is the authoritative source for all
certifications between Oracle products.
6. Can an uncertified version of Discoverer be used with Release 11i?

In general, system administrators are advised to install only Applications-


certified
Discoverer versions and patches in their Oracle E-Business Suite Release 11i
environments using the standard Applications 11i workbooks and End User Layer
content; see Oracle MetaLink , which is the authoritative source for all
certifications
between Oracle products. There may be circumstances that make the installation of
uncertified Discoverer patches necessary; consult Oracle Support for guidance based
upon your specific circumstances.

"Certification" of Discoverer versions and patches with Oracle E-Business Suite


Release 11i involves a coordinated testing effort across all Release 11i products
that use
Discoverer. Certifications are generally performed for production releases for
Discoverer. Oracle does not generally certify small, individual emergency patches
against
Oracle E-Business Release 11i. Oracle's Discoverer support policy is to respond to
bugs
filed against both certified, production patch releases as well as emergency
patches.
Customers are advised to follow controlled configuration management strategies

when working with uncertified emergency patches:


* Always back up a known working environment before applying patches.
* Always back up a known working environment at the certified patch level.
* Refrain from applying uncertified, emergency patches unless it is unfeasible to
wait until the next production patch release is certified.
*Always test patches thoroughly before applying them to production environments.
7. What does "Applications Certification" of a Discoverer patchset or release mean?

Oracle periodically certifies the Oracle E-Business Suite Release 11i with specific
patchset or release versions of Oracle Discoverer. Specifically, this means that
certain
versions of Discoverer have been tested by Application product teams against the
workbooks and End User Layer that ship with their Applications modules (for example

Financials Intelligence). A customer using an Oracle E-Business Suite Release 11i


module which ships Discoverer content is free to upgrade to the latest certified
version
and can typically install it in the ORACLE_HOMEs of existing application tier
server
nodes of Oracle E-Business Suite Release 11i environments.

Independent of this Applications certification process, Oracle Discoverer supports


creation of custom workbooks and End User Layers against an Applications instance
as a
fully supported "stand alone" feature. Regardless of whether or not a given
Discoverer
patchset or release has been "Applications certified" a customer is free to use any
production release of Discoverer against their Applications instance to create
custom
workbooks and End User Layers through "stand alone" instances of Discoverer (i.e.
usage of Discoverer outside of an Applications module which utilizes Discoverer,
such as
Financials Intelligence). For example, a customer is supported to use 9iAS
Discoverer
9.0.2 against Oracle E-Business Suite Release 11i to develop their own custom
workbooks and End User Layer in support of an enterprise wide Business Intelligence
solution even though this release has not been "Applications certified." Please
note that in
this case, Discoverer must be installed outside of the the ORACLE_HOMEs of existing
application tier server nodes of Oracle E-Business Suite Release 11i environments.
For
more information, please refer to chapter 17 "Using Discoverer with Oracle
Applications" of the Oracle9i Discoverer Administrator Administration Guide 9.0.2
part
number A90880-01.
8. What resources are available on Discoverer benchmarks, performance optimization,

and tuning?
* Oracle MetaLink Note 360622.1, Capacity Planning for Discoverer 10g (10.1.2)
* Oracle MetaLink Note 175287.1 , Oracle9iAS Discoverer Version 4i Capacity
Planning Guide

This documentation may recommend manual changes to configuration files that do not
apply to Oracle E-Business Suite Release 11i environments that have been migrated
to 9iAS 1.0.2.2.2 and AutoConfig. For more information about AutoConfig, see Oracle
MetaLink Note 165195.1 , Using AutoConfig to Manage System Configurations with
Oracle Applications 11i and How does AutoConfig handle manual changes to
configuration files?
9. Can multiple instances of Discoverer be installed on the same physical server?
It is possible to install multiple instances of Discoverer in separate
ORACLE_HOMEs on the same physical server on UNIX platforms. This is supported
via AutoConfig; see Oracle MetaLink Note 165195.1
Due to limitations in the Windows registry, it is not possible to install multiple
instances of Discoverer on the same physical server on Windows platforms.
10.Can Discoverer be implemented with third-party load-balancers?

Yes, although Oracle does not explicitly certify Discoverer with specific third-
party
load-balancers, and Oracle Support can provide only best-efforts support for this
configuration. Customers with issues that cannot be reproduced in Release 11i
environments without the third-party load-balancer are advised to contact the
third-party
vendor for advanced product-specific assistance. System administrators interested
in
experimenting with this configuration are advised to configure the load-balancer to
handle routing requests for Discoverer services "with affinity" (i.e. "persistent"
connections) so that traffic from a given client is routed to the same application-
tier
server node for Discoverer. This ensures that the existing Discoverer session is
reused,
rather than being recreated from scratch on another server, a process which may
incur
additional processing overhead.
11.Can Discoverer be used with firewalls?
Yes. Some resources for configuring Discoverer with firewalls are available on

Oracle MetaLink :
* DMZ Configuration with Oracle E-Business Suite 11i (Metalink Note 287176.1)
* Discoverer 4i Plus Firewall Step-by-Step Configuration Information (Metalink
Note 183658.1)
*Oracle Discoverer 4i Plus Firewall and SSL Tips (Metalink Note 159200.1)
12.When will Discoverer content in Oracle E-Business Suite Release 11i be
translated?

Discoverer content in Oracle E-Business Suite Release 11i includes the End User
Layer and workbooks. This content is available in U.S. English only and is not
expected
to be translated.
13.Can intranet Discoverer users use Discoverer in SSL?
Yes, this is fully supported. See:
* How To Configure Discoverer 10g (10.1.2) Plus/Viewer For HTTPS (SSL)
Access (Metalink Note 338071.1)
* Discoverer 4i Plus Firewall Step-by-Step Configuration Information (Metalink
Note 183658.1)
*Oracle Discoverer 4i Plus Firewall and SSL Tips (Metalink Note 159200.1)
14.Are all Oracle Applications Framework versions certified with Discoverer?
Discoverer is never called directly from Oracle Applications Framework and there
are
no specific version dependencies between the two technologies.

5. Portal Questions

1. What is Oracle Application Server Portal?

Oracle Application Server Portal (OracleAS Portal) is a complete, browser-based


environment for the development, deployment, administration, and configuration of
enterprise class portals. OracleAS Portal incorporates a complete portal building
framework with self-service publishing features to make creating and managing the
information accessed within your portal simple and easy. A wide variety of portal
interfaces and configurations are possible: from a simple departmental-level
publishing
portal to an Internet-accessible portal that serves both customers and employees.
Tight
integration with other components of the Oracle Application Server and with the
Oracle
database ensures that the solution can scale to an enterprise class audience.
For more information, see the Oracle Portal Center (Oracle Technology Network).
2. How does an Oracle E-Business Suite Release 11i instance communicate with
Portal?

The integration between Oracle E-Business Suite Release 11i and Portal is via the
Oracle Applications Framework Web Provider integration. The E-Business Suite
Release 11i is a partner application to Single Sign-On. For more information, see:
* Oracle Application Server Portal Configuration Guide 10g
*Oracle Application Server Single Sign-On Administrator's Guide 10g
3. What versions of Oracle Portal are certified with the Oracle E-Business Suite
Release
11i?Portal 10g (10.1.4) is certified with all Oracle E-Business Suite Release
11.5.8 and
higher environments as part of the certification with Oracle Application Server
10g. See
Using Oracle Portal 10g with Oracle E-Business Suite 11i (Metalink Note 305918.1).
Environments built with the 11.5.10 Rapid Install may only be used with Portal 10g.
This configuration requires the use of Oracle Application Server 10g.
All future certifications of Portal will be for architectures where Portal is
installed on
a standalone server or a separate ORACLE_HOME distinct from the Release 11i
environment.

Oracle Portal 3.0.9.8.4 will be desupported for E-Business Suite users in July
2007.
Customers currently using Portal 3.0.9.8.4 should evaluate their plans for
migration to
Portal 10g at the earliest opportunity. Customers using Portal 3.0.9.8.4 for
homepage
functionality without custom Portal content may wish to consider using the Oracle
Applications Framework-based home page.

Can Oracle E-Business Suite Release 11i be integrated with third-party portals?
This depends on the capabilities of the third-party portal. Oracle does not certify
third-party portal products with Oracle E-Business Suite Release 11i.

Uniform Resource Locators (URLs) produced by the Applications Navigator in


Release 11i environments can be used as bookmarks in browsers and links in third-
party
portals. Users will be prompted to log into the E-Business Suite, if necessary,
prior to
their being redirected to the linked E-Business Suite functionality. Applications
Object
Library Minipack 11i.FND.G is a minimum prerequisite for bookmarkable URL support.

Portlets released for Release 11i (including the Applications Navigator,


Applications
Worklist, and Applications Favorites) are designed to run with Oracle Portal.
Current
versions of the Release 11i portlets are not compatible with third-party portals.
It is
expected that JSR-168 / WSRP-compliant versions of these portlets will be made
available for E-Business Suite Release 12. These Release 12 portlets will be
designed to
be compatible with standards-compliant third-party portals.
5. What portlets are released for the Oracle E-Business Suite Release 11i?

The key Oracle E-Business Suite Release 11i portlets are described in Integrate
Enterprise Applications Into Oracle Application Server Portal. This whitepaper is
also
published in the Integration and Collaboration area on the Oracle Technology
Network.
6. Why are there hundreds of new portlets available when customizing a Portal page
after upgrading to 11.5.9?

The portlets, such as Profit & Loss and Expense Management KPIs, were part of
Daily Business Intelligence 5.0. Daily Business Intelligence 5.0 seed data, such as
the
portlet names, was inadvertently included in the 11.5.9 maintenance pack. DBI 5.0
used
Oracle Portal to render DBI overview pages. DBI 5.0 was previously available under
the
Early Adopter Program but is no longer available.

All new DBI implementations must start with DBI 6.0 or later. The overview page
rendering technology was switched in DBI 6.0 to OA Framework instead of Oracle
Portal
to simplify the implementation. DBI overview pages and drill-down reports can be
accessed from Oracle Portal via the Applications Navigator portlet or the
Applications
Favorites portlet.
7. Does Oracle Portal comply with the WSRP and JSR-168 specifications?

Yes. The Organization for the Advancement of Structured Information Standards


(OASIS) Web Services for Remote Portlets (WSRP) and the Java Community Process
(JCP) Java Specification Request (JSR) 168 standards enable the interoperability of
portlets across different portal platforms.

The current architecture for OracleAS Portal 10g already adheres to the design
principles of OASIS WSRP and JSR-168; as a result, Oracle has been able to
contribute
significantly to the WSRP specification. Oracle is also a member of the expert
group for
JSR-168 and one of the primary advocates in the JSR-168 process for ensuring
compatibility with WSRP.
See Oracle Technology Network: WSRP and JSR 168 Standards
8. Can PortalTools be used with Portal 3.0.9 and Release 11i?

PortalTools is a set of three generic portlets: OmniPortlet, Simple Parameter Form,


and WebClipping. These portlets require infrastructure introduced in Oracle9i
Application Server Release 2, and are not compatible with Portal 3.0.9 and Oracle
E-
Business Suite Release 11i.
9. What resources are available for sizing and performance management for Portal
instances?

The Performance & Sizing (Oracle Technology Network) area provides guidance on
estimating hardware sizing and optimizing performance of Oracle Portal
environments.
Release 11i system administrators should be aware that the documents on this site
are
written for generic environments using Oracle Portal. While all of the general
principles
for sizing and performance optimization for Oracle Portal apply, specific
recommendations for fine-tuning configuration files in Oracle E-Business Suite
Release
11i environments must be executed through the Release 11i AutoConfig tool.
10.Can Release 11i environments with Portal 3.0.9 be migrated to Portal 10g?

Oracle Portal 3.0.9.8.4 will be desupported for E-Business Suite users in July
2007. Customers currently using Portal 3.0.9.8.4 should evaluate their plans for
migration to Portal 10g at the earliest opportunity.

Migration instructions for upgrading Portal 3.0.9 to Portal 10g are published on
the
Oracle Technology Network Portal Center . It is important to note that these
instructions
will apply to the migration of the Portal metadata repository in standalone
configurations;
these instructions will not be validated for Oracle E-Business Suite Release 11i
environments.

When Portal 3.0.9 is installed with 9iAS 1.0.2.2.2 in a Release 11i environment,
the
Portal metadata repository resides in the Release 11i database. Due to the
complexity of
moving the metadata repository out of the Release 11i database safely, Oracle will
not be
certifying or recommending this upgrade path for Release 11i customers. Release 11i
customers with Portal 3.0.9 implementations are advised to install Portal 10g in a
standalone environment and manually recreate their existing Portal content in the
new
environment.
11

Can Portal be installed on a standalone server?

Yes. Portal 10g from Oracle Application Server 10g may be installed on a separate
standalone server, or in a separate ORACLE_HOME on an existing server. See Using
Oracle Portal 10g with Oracle E-Business Suite 11i (Metalink Note 305918.1).

Portal 3.0.9 from Oracle9i Application Server 1.0.2.2.2 must be installed on an


existing application tier server node when used with Oracle E-Business Suite
Release 11i,
with the Portal Repository installed into the Applications 11i database.
12.Is it possible to use Portal to call the Oracle E-Business Suite Release 11i as
an
external application?

Yes, it is possible to install Oracle Portal on a standalone server that is


physically
separate from an existing Oracle E-Business Suite Release 11i application tier
server
node. Portal is able to call the Oracle E-Business Suite Release 11i by passing a
userid
and password combination; this is called external authentication. However, this is
not a
recommended or supported configuration as it comes with a number of disadvantages:
* There is no centralized administration of users and passwords for the various
Oracle E-Business Suite Release 11i subsystems, requiring users to login multiple
times
(e.g. Discoverer users would need to reauthenticate for access to workbooks)

* There is no supported method of importing existing Oracle E-Business Suite


Release 11i usernames and passwords information into the standalone Oracle Single
Sign-On server
* There is no access to Oracle E-Business Suite Release 11i page definitions and
portlets
*Logging out does not end the overall Oracle E-Business Suite Release 11i session
13.Can Portal be integrated with multiple Oracle E-Business Suite Release 11i
instances?

For Portal 10g: Yes. Integration of Portal with multiple Oracle E-Business Suite
Release 11i instances is supported with Portal 10g from Oracle Application Server
10g.
See Is Oracle Application Server 10g certified with Oracle E-Business Suite?

Release 11i portlets are instantiated for each instance. For example, if two
Release
11i instances are registered with a single Portal 10g instance, there will be two
Applications Navigator Portlets - one for each Release 11i instance.

For Portal 3.0.9: No. Portal 3.0.9 from Oracle9i Application Server 1.0.2.2.2 may
be
integrated with a single Release 11i instance only. There are known issues with
integrating multiple Release 11i instances with Portal 3.0.9 that are resolved with
the
certification of Portal 10g and higher.

14.Why must Portal 3.0.9.8.4 be installed in a Release 11i environment when


integrating
with a standalone Portal 10g instance?

An Oracle E-Business Suite Release 11i instance communicates with a standalone


Oracle Application Server 10g instance running Portal 10g via the Oracle
Applications Framework Web Provider.

The Oracle Applications Framework Web Provider running on the Release 11i
instance relies on the Java Portal Development Kit (JPDK) for Single Sign-On
integration. JPDK is bundled only as part of the Portal 3.0.9.8.4 installation. To
deliver
this prerequisite, Portal 3.0.9.8.4 needs to be installed in the filesystem of the
Oracle E-
Business Suite Release 11i application tier server node.

The Portal 3.0.9 schemas do not need to be installed on the Release 11i database
tier, and Portal 3.0.9 is not used for any Portal services. All Portal services are
delivered by the Oracle Application Server 10g instance running Portal 10g.
15.Can Portal 9.0.2 be used with Identity Management 9.0.4 and Oracle E-Business
Suite Release 11i?
No. Portal 9.0.2 (released with Oracle9i Application Server Release 2) is not
certified
with Oracle E-Business Suite Release 11i.
16.How are non-Applications Portal users authenticated when using FND_USER?

If Login Server 3.0.9 authentication has been configured to use the Oracle E-
Business
Suite Release 11i's FND_USER user directory to store user information, all Portal
3.0.9
users must be registered in FND_USER and managed with the Applications user
administration forms. Do not assign Applications responsibilities to Portal users
if they
are not authorized to be Release 11i users.
17.Should the Web Provider and the Application Portal URLs be set to HTTP or
HTTPS?

The OAFrameworkWebProvider URL defines how the Web Provider communicates


with Release 11i. If the Release 11i environment has been SSL-enabled, then the Web
Provider URL should use HTTPS. If the environment is not SSL-enabled, then HTTP
should be used. This general principle applies to the Application Portal URLs as
well: if
SSL is desired and enabled, then the Application Portal URLs should be set to
HTTPS,
otherwise, it should be set to HTTP.
6. Oracle Internet Directory , Single Sign-On & Security Questions
1. Where can one get information about security alerts for Oracle products?

Security alerts for all Oracle products can be found on the Oracle Technology
Network: http://otn.oracle.com/deploy/security/alerts.htm . Please refer to that
website
for information on contacting Oracle's Security Alert team if you believe that you
have
identified a security vulnerability, or if you have questions about whether a
particular
security issue is resolved by a given Critical Patch Update.
2. What are some security-related resources for Oracle E-Business Suite Release
11i?

* Critical Patch Updates and Security Alerts (Oracle Technology Network)


* Best Practices for Securing Oracle E-Business Suite (Metalink Note 189367.1)
* Enabling Oracle Label Security in Oracle E-Business Suite (Metalink Note
234599.1)
* Encrypting EBS 11i Network Traffic using Advanced Security Option /
Advanced Networking Option (Note 391248.1)
*Using Transparent Data Encryption with the E-Business Suite (Metalink Note
403294.1)
3. What is required to enable Single Sign-On for Oracle E-Business Suite Release
11i?
By default, E-Business Suite Release 11i authenticates users against its internal
user
repository (FND_USER).

E-Business Suite Release 11i may optionally be integrated with Oracle Single Sign-
On 10g and Oracle Internet Directory 10g, parts of Oracle Identity Management. For
integration steps, see Installing Oracle Application Server 10g with Oracle E-
Business
Suite Release 11i (Metalink Note 233436.1).

When integrated with these components, E-Business Suite Release 11i delegates user
authentication to Oracle Single Sign-On 10g. User administration, including
password
resets, may be managed in Oracle Internet Directory 10g. For conceptual information
about the various scenarios for managing users and passwords in this integrated
architecture, see the "Oracle Single Sign-On Integration" chapter in Oracle
Application
System Administrator's Guide - Release 12 (Part No. B31451).
4. Can Oracle Single Sign-On and Oracle E-Business Suite work with third-party
single
sign-on products?

Yes. E-Business Suite Release 11i environments may be integrated with Oracle
Single Sign-On 10g. Oracle Single Sign-On 10g may be integrated, in turn, with
third-
party authentication systems.

In this configuration, the E-Business Suite delegates user authentication to Oracle


Single Sign-On 10g. Oracle Single Sign-On 10g, in turn, delegates user
authentication to
the third-party authentication system. A chain of trust is established between all
three

systems. End-users who have successfully logged on to the third-party


authentication
system are recognized by the E-Business Suite and Oracle Single Sign-On 10g as
trusted
users, and are redirected to the requested E-Business Suite functionality without
having
to log in again.

Examples of third-party authentication system integrations include:


* Microsoft Kerberos (Windows Native Authentication)
* CA Netegrity SiteMinder
* IBM Tivoli Access Manager
* Smart-card and Common Access Card (CAC) systems

For information on integrating Oracle Single Sign-On 10g with third-party


authentication systems, see the "Integrating with Third-Party Access Management
Systems" chapter in Oracle Application Server Single Sign-On Administrator's Guide
10g (Part No. B14078).

For conceptual information about the various scenarios for managing users and
passwords in this integrated architecture, see the "Oracle Single Sign-On
Integration"
chapter in Oracle Application System Administrator's Guide - Release 12 (Part No.
B31451).

Oracle provides general support for isolating integration issues between third-
party
authentication systems and Oracle Single Sign-On 10g. Although Oracle will attempt
to
resolve third-party integration issues to the best of their ability, users of
third-party
products may be advised to contact the third-party vendor for detailed support for
third-
party issues.
5. Can Oracle Internet Directory and Oracle E-Business Suite work with third-party
LDAP directories?

Yes. E-Business Suite Release 11i environments may be integrated with Oracle
Internet Directory 10g. Oracle Internet Directory 10g may be integrated, in turn,
with
third-party LDAP 3/X.500 compliant directories.

In this configuration, the E-Business Suite synchronizes user attributes with


Oracle
Internet Directory 10g. Oracle Internet Directory 10g, in turn, synchronizes user
attributes with the third-party LDAP directory. User attributes may be
synchronized:
* From the E-Business Suite to Oracle Internet Directory 10g to the third-party
LDAP* From the third-party LDAP to Oracle Internet Directory 10g to the E-Business
Suite
* Bidirectionally

Examples of third-party LDAP directory integrations include:


* Microsoft Active Directory
* Microsoft Exchange

Sun Java System Directory


* IBM Tivoli Directory Server
* Novell e-Directory
* OpenLDAP
For information on integrating Oracle Internet Directory 10g with third-party LDAP
directories, see the Oracle Identity Management 10g Integration Guide (Part No.
B14085).

For conceptual information about the various scenarios for managing users and
passwords in this integrated architecture, see the "Oracle Single Sign-On
Integration"
chapter in Oracle Application System Administrator's Guide - Release 12 (Part No.
B31451).

Oracle provides general support for isolating integration issues between third-
party
LDAP directories and Oracle Internet Directory 10g. Although Oracle will attempt to
resolve third-party integration issues to the best of their ability, users of
third-party
products may be advised to contact the third-party vendor for detailed support for
third-
party issues.
6. Can Oracle E-Business Suite Release 11i be used directly with a third-party LDAP
directory instead of Oracle Internet Directory?

No. Replacing Oracle Internet Directory directly with a third-party LDAP directory
for Release 11i is not supported. Release 11i is certified with the Oracle Identity
Management services included in Oracle Application Server 10g, which include Oracle
Internet Directory and Oracle Single Sign-On. Third-party LDAP directories must be
integrated with Oracle Application Server 10g, which in turn may be integrated with
Release 11i .
7. How can Microsoft Active Directory and Windows Native Authentication be used
with Oracle Internet Directory and Oracle E-Business Suite Release 11i?

For Oracle Application Server 10g users: Release 11i may be integrated with Oracle
Application Server 10g . Once integrated, Oracle Application Server 10g provides
multiple methods for integrating Oracle Single Sign-On and Oracle Internet
Directory
with Microsoft Windows environments and Microsoft Active Directory. Windows
Native Authentication is an authentication scheme for those who use Internet
Explorer on
Microsoft Windows. When this feature is enabled in OracleAS Single Sign-On, users
log
in to single sign-on partner applications automatically using Kerberos credentials
obtained when the user logs in to a Microsoft Windows computer. See:

* Integration with the Microsoft Active Directory Environment


* Integration with the Microsoft Windows Environment
* How To Synchronize Microsoft Active Directory Quick Start Guide
* Troubleshooting Active Directory to OID Synchronization
* Understanding DIP Mapping Files

8. How does the AppsLogin servlet work?

The AppsLogin servlet supercedes older Release 11i login mechanisms and certain
product-specific login pages. The AppsLogin servlet detects the login mode by
reading the "Applications SSO Type" profile option for the current Oracle E-
Business Suite Release 11i instance and transparently redirects to the appropriate
login page.

* Scenario 1: AppsLogin running on a Release 11i instance configured for Self-


Service Web Applications (SSWA) will authenticate the user via the
AppsLocalLogin.jsp
page, and then redirect to the configured home page specified in the Self Service
Personal
Home Page mode profile option.

* Scenario 2: AppsLogin running on a Release 11i instance configured for Single


Sign-On will redirect to the Single Sign-On 10g login page for user authentication,
and then redirect to the configured home page specified in the Self Service
Personal Home Page mode profile option.
*Scenario 3: AppsLogin running on a Release 11i instance configured for Single
Sign-On and Portal will redirect to Single Sign-On 10g login page for user
authentication,
and then redirect to the default Portal home page.

The AppsLogin servlet may be installed for Release 11i environments running 9iAS
1.0.2.2.2 , or Release 11i environments integrated with Oracle Application Server
10g
and Single Sign-On 10g.
9. Can Oracle Internet Directory groups be mapped to Oracle E-Business Suite
Release
11i responsibilities?
Presently, user information in Oracle Internet Directory 10g and Release 11i may be
automatically synchronized. Users must still be granted Release 11i
responsibilities via the Release 11i security administration forms.
10.Are passwords synchronized between Oracle Internet Directory and Oracle E-
Business Suite Release 11i instances?
No. Oracle E-Business Suite Release 11i uses passwords and credentials stored and
managed in Oracle Internet Directory.
11.What is the difference between Oracle Login Server and Oracle Single Sign-On
Server?

Various Oracle documentation may alternately refer to Login Server, Single Sign-On
Server, and Single Sign-On. These terms all refer to the same product at different
times in its lifecycle:
* Oracle9i Application Server 1.0.2.2.2 uses the term Login Server

Oracle9i Application Server 9.0.2 and higher use the term Single Sign-On Server,
or simply Single Sign-On
12.Where can one find more information about the Oracle Workflow Business Event
System?

Oracle Internet Directory and Oracle E-Business Suite Release 11i keep user
information synchronized by raising events in the Oracle Workflow Business Event
System. For details about the business events raised when users are added or
modified in
either location, see Note 261914.1 Integrating Oracle E-Business Suite Release 11i
with
Oracle Internet Directory and Oracle Single Sign-On. For more information about the
Oracle Workflow Business Event System, see the Oracle Workflow Developer's Guide.
13.How can new users added to Oracle Internet Directory be automatically added to
the
E-Business Suite Release 11i instance?

For maximum security in the default configuration, new users added to Oracle
Internet Directory must be manually added to the subscription list of a registered
E-
Business Suite Release 11i instance. In the default configuration, the process of
adding a
new user requires the following steps:
1. Add user in Oracle Internet Directory using the Delegated Administration
Services tool (or equivalent mechanism when OID is integrated with a third-party
LDAP
directory).
2. Add user to subscription list of a registered 11i instance using the
provsubtool.orc
tool.
3. User information is automatically propagated via the Directory Integration &
Provisioning Platform to the 11i instance's FND_USER table.
4. Grant 11i responsibilities to the newly created user, using the 11i "User
Define"
forms.

System administrators may optionally enable the APPS_SSO_OID_IDENTITY


profile option. Enabling the APPS_SSO_OID_IDENTITY profile option automates Step
2, above: users added to Oracle Internet Directory when the
APPS_SSO_OID_IDENTITY profile option is enabled are automatically added to the
subscription list for the registered 11i instance and created in FND_USER. System
administrators must still manually grant 11i responsibilities to the newly created
user.
14.Can Oracle Internet Directory 10g be used with Oracle E-Business Suite Release
11i?
Yes. See What is required to enable Single Sign-On for Oracle E-Business Suite
Release 11i?
15.What is the master source-of-truth for user information after Oracle Internet
Directory
is integrated with Release 11i?

The recommended practice is to designate either Oracle Internet Directory or


Release
11i's FND_USER as the master source-of-truth for user information after Oracle
Application Server 10g has been integrated with Release 11i. This is configurable
by the
system administrator by following Note 261914.1 and selecting the appropriate
provisioning profile template.

Oracle strongly recommends that Oracle Internet Directory be designated as the


master source-of-truth for Release 11i environments that have been integrated with
Oracle Application Server 10g.

Advanced system administrators with specialized needs may designate both


directories as masters for individual attributes. For example, Oracle Internet
Directory
may be designated the master source-of-truth for the USERNAME attribute, and
Release
11i's FND_USER is the master for the DESCRIPTION attribute. This is not
recommended but technically possible.

In all scenarios, user information must be synchronized between Oracle Internet


Directory and Release 11i. This synchronization is accomplished via the Directory
Integration & Provisioning Platform, included with Oracle Internet Directory in
Oracle
Application Server 10g. In the scenario where Oracle Internet Directory is the
master
source-of-truth, user information from Oracle Internet Directory must be locally
replicated in Release 11i. In the scenario where Release 11i is the master source-
of-truth,
user information from Release 11i's FND_USER must be locally replicated in Oracle
Internet Directory; Oracle does not recommend this latter scenario.
Regardless of which option is selected, Oracle Single Sign-On authenticates users
against Oracle Internet Directory.

Note the distinction between user authentication (which validates that the user is
whom they claim to be) and user authorization (which validates that the user has
access
to specific Release 11i functions and data).

For Release 11i environments that have been integrated with Oracle Application
Server 10g and Oracle Internet Directory, user authentication is done by Single
Sign-On
against Oracle Internet Directory, and user authorization is done by Release 11i
against
FND_USER. FND_USER is still used internally by Release 11i for user authorization,
transaction records, audit trails and other internal 11i security management.

Since the user authentication and user authorization functions are tightly
integrated
but performed by Single Sign-On and Release 11i, respectively, user namespaces in
Oracle Internet Directory and Release 11i's FND_USER must always be kept
synchronized.

A third-party LDAP directory may be integrated with Oracle Internet Directory. In


these configurations, it is expected that the third-party LDAP directory will be
designated
as the master source-of-truth. In this scenario, user information between all three

repositories must be kept synchronized. Assuming that the third-party LDAP


directory
has been designated as the master source-of-truth, user information should be
synchronized from the third-party LDAP to Oracle Internet Directory to Release
11i's
FND_USER. In this configuration, passwords for Single Sign-On-enabled E-Business
Suite users are maintained in the third-party LDAP; no passwords are maintained in
either Oracle Internet Directory or the E-Business Suite's Release 11i's FND_USER.
16.Can Oracle Single Sign-On be used with Oracle E-Business Suite Release 11i but
without Oracle Internet Directory?

No. Oracle Single Sign-On always authenticates users against Oracle Internet
Directory. Oracle Internet Directory is a mandatory requirement when integrating
Oracle
Application Server 10g with Oracle E-Business Suite Release 11i.
17.Can Oracle Internet Directory 3.0.1 be used with Oracle E-Business Suite Release
11i?Effective October, 2003, Oracle suspended distribution of Oracle Internet
Directory

3.0.1-based authentication and synchronization for Oracle E-Business Suite Release


11i
for new customer deployments of this functionality. Oracle will continue to support
existing customers who have already deployed Oracle Internet Directory 3.0.1 in
their
Release 11i environments.

For all other customers, Single Sign-On support for Oracle E-Business Suite Release
11i will be restricted to user authentication with the native Oracle E-Business
Suite
Release 11i (FND_USER) repository. Although Note 150832.1 will continue to be
available for reference purposes on Oracle Metalink, the corresponding Oracle
Internet
Directory synchronization patches have been withdrawn from general circulation.
Who will be affected
1. Customers planning to integrate third-party LDAP products with Oracle E-
Business Suite Release 11i environments using Oracle Internet Directory 3.0.1.
2. Depending on the deployment, customers planning to integrate third-party single
sign-on services with Release 11i environments using Login Server 3.0.9. Customers
will
have to ensure that user repositories used by third-party single sign-on services
are
manually synchronized with Release 11i's (FND_USER) user directory.
Recommended alternative

Oracle has certified Oracle Application Server 10g and Oracle Internet Directory
with
Oracle E-Business Suite Release 11i. For more information, see Is Oracle
Application
Server 10g certified with Oracle E-Business Suite?
18.What Oracle database releases can Oracle Internet Directory 3.0.1 run on?

Oracle Internet Directory 3.0.1 is released as part of Oracle9i Release 1. Oracle


Internet Directory 3.0.1 is compatible only with Oracle9i Release 1. Customers
upgrading their Oracle E-Business Suite Release 11i environments to later database

releases (e.g. Oracle9i 9.2.0.3) must ensure that they maintain OID 3.0.1 on an
Oracle9i
Release 1 database.
19.Where can one find more information about Netegrity SiteMinder compatibility
with
Oracle Application Server?

Computer Associates certifies different versions of SiteMinder on various operating


system platforms with Oracle Application Server 10g. Some of these certifications
have been completed, and others are underway. This is subject to change, and
customers are advised to contact Computer Associates for the latest certification
status.

For the platforms on which CA SiteMinder has been certified, Oracle has released
MetaLink Note 297880.1, Integrating OracleAS 10G Single Sign-On With Netegrity
SiteMinder for Unix Systems: January 2005.
20.How can PKI X.509 V3 digital certificates be used with Oracle E-Business Suite
Release 11i?

Yes. E-Business Suite Release 11i must be integrated with Single Sign-On 10g and
Oracle Internet Directory 10g to support the use of Public Key Infrastructure (PKI)
X.509
digital certificates. PKI digital certificates are stored in Oracle Internet
Directory 10g.
Users' browsers present the PKI digital certificates at the authentication stage to
Oracle
Single Sign-On 10g, which passes them on to Oracle Internet Directory 10g for
validation.

For details on integrating E-Business Suite Release 11i with Single Sign-On 10g and
Oracle Internet Directory 10g, see Installing Oracle Application Server 10g with
Oracle E- Business Suite Release 11i (Metalink Note 233436.1).

For more information about using digital certificates with Single Sign-On 10g, see
the
"Signing on with Digital Certificates" chapter in Oracle Application Server Single
Sign-
On Administrator's Guide 10g Release 2 (10.1.2) (Part No. B14078)
21.What resources are available for load-balancing, sizing, or implementing High

Availability for an Identity Management server?


* Oracle Application Server 10g High Availability (Oracle Technology Network)
* Highly Available Identity Management Deployment Configurations in OracleAS
10g
* Deployment Scenarios
*Distributed Identity Management with Active Failover Cluster for High
Availability
22.Can the Release 11i user directory be switched between Oracle Internet Directory
and
Applications FND_USER?

For existing Oracle Internet Directory 3.0.1 users: Switching between the two
possible user directories, Oracle Internet Directory 3.0.1 and FND_USER, is
supported.
One scenario where this may be desirable is where the Release 11i FND_USER
directory
is initially used for a small-scale Release 11i environment enabled for Single
Sign-On
support. The same environment may be upgraded later to use Oracle Internet
Directory to
integrate with third-party LDAP directories in a broader implementation. See Oracle
Metalink Note 146469.1 , Installing and Configuring Oracle Login Server and Oracle
Portal 3i with Oracle Applications 11i.

To switch from one external authentication method to another, execute the steps
corresponding to the desired user directory. For example, if Step 4.1 has already
been
executed to configure FND_USER as the default external authentication, execute Step
4.2 to switch to Oracle Internet Directory.

For Oracle Internet Directory 10g users: In Release 11i environments that have been
configured to delegate user authentication to Oracle Application Server 10g via
Single
Sign-On and Oracle Internet Directory, individual users may be designated as
"local"
users or "external" users. "Local" users are authenticated against the native
Release 11i
FND_USER directory. "External" users are authenticated against the external Oracle
Internet Directory user directory.
23.How can existing user information from Applications FND_USER be uploaded to
Oracle Internet Directory?

The Applications Technology Group provides prepackaged tools for synchronizing


the E-Business Suite with Oracle Internet Directory 10g. For details, see
Integrating
Oracle E-Business Suite Release 11i with Oracle Internet Directory and Oracle
Single
Sign-On (Metalink Note 261914.1).
24.How are user passwords transferred between third-party LDAP directories and
Oracle
Internet Directory?

Some capabilities exist for synchronizing passwords, but this is generally not
necessary, since these environments typically also include third-party
authentication
systems that authenticate users against the third-party LDAP directories. For a
detailed
discussion, see the "Choose Where to Store Passwords" chapter in the Oracle
Identity
Management 10g Integration Guide (Part No. B14085).
Password hashes from third-party LDAP directories can be included in LDIF-based
imports into Oracle Internet Directory. The following hash algorithms are
supported:

MD4, MD5, SHA, SSHA, and UNIX Crypt. For more details, see Migrating Data from
Other LDAP-Compliant Directories in Oracle Internet Directory Administrator's Guide
10g.

Password transfer to Oracle Internet Directory is needed only if migrating from an


existing third-party LDAP directory to Oracle Internet Directory. Password transfer
is not necessary for configurations where Release 11i is integrated with an
existing third- party LDAP via Oracle Application Server 10g, where the third-party
LDAP directory remains actively used.
25.How can CRM environments be upgraded to support Single Sign-On?

For Oracle Internet Directory 3.0.1 users: Earlier documentation and announcements
stated that Customer Relationship Management Self-Service Web Applications
components are not compatible with Single Sign-On.
Further analysis has been performed, and the list of "Single Sign-On exceptions"
has
been isolated to a smaller subset applications in Release 11i.

Note 150832.1 , Implementing Single Sign-On for Oracle Applications 11i with
Login Server Authentication Using Oracle Internet Directory, has been updated with
a
preliminary summary of this new information. The "Functional Limitations for Oracle
Internet Directory Users" section of this document contains the current list of
Release 11i
applications that have special requirements for Single Sign-On support.

The Applications Technology Group is preparing a further update with the latest
list of Release 11i modules that are not compatible with Oracle Internet Directory
3.0.1. For more information about the availability of the latest list on Metalink,
contact Remi
Aimsuphanimit.

For Oracle Internet Directory 10g users: The majority of Release 11i modules are
compatible with Single Sign-On 10g with the release of 11.5.10; a list of
exceptions may
be found in MetaLink Note 233436.1. Customers using earlier 11i versions may need
to
apply product-specific patches to enable Single Sign-On for selected products.
26.How can one identify the currently installed version of Oracle Internet
Directory?
There are at least three possible methods of identifying the currently installed
version

of Oracle Internet Directory:


1. Select Help > About OID using the Oracle Directory Manager client
2. Point Oracle Directory Manager at one or more Oracle Internet Directory
instances. Oracle Directory Manager displays system operational attributes when an
instance is selected. One of the attributes shown is Oracle Directory Version.
3. Each OID instance has a root DSE attribute (entry DN = "") called
orclDirectoryVersion.
27.What user attributes are synchronized between Oracle Internet Directory and
Oracle
E-Business Suite Release 11i?

For Oracle Internet Directory 10g: The set of user attributes that may be
synchronized between Oracle Internet Directory 10g and Oracle E-Business Suite
Release 11i differs depending upon the direction of synchronization. For more
details,
see Oracle MetaLink Note 261914.1 , Integrating Oracle E-Business Suite Release 11i
with Oracle Internet Directory and Oracle Single Sign-On.
For Oracle Internet Directory 3.0.1: The following directory information can be
synchronized between Oracle Internet Directory and Release 11:

* User identities from Oracle Human Resources. See Chapter 27, "Synchronizing
with Oracle Human Resources" in the Oracle Internet Directory Administrator's Guide
Release 3.0.1 (Part Number A90151-01).

* Attributes synchronized from Oracle Internet Directory 3.0.1 to Oracle E-


Business Suite Release 11i FND_USER by patch 2499306 (see Oracle MetaLink Note
150832.1 ) are:

* MAIL
* DESCRIPTION
* FACSIMILETELEPHONENUMBER
* EMPLOYEENUMBER
* CUSTOMER_ID
* SUPPLIER_ID
* USER_NAME
28.Is it possible to prevent multiple concurrent logins for a single user account?
Yes. See Oracle MetaLink Note 375403.1, How Can I Restrict Applications Users
To Be Signed In Only Once At Any Time.
Questions and Answers
Overview and Terminology
1. What is AutoConfig?
Answer:

AutoConfig is a configuration tool that automates the configuration of an Oracle


Applications system. The information required for configuring an Applications
system is
collected into a repository, called the Applications Context; there is one
Applications
Context for each application tier, and one for the database tier. When AutoConfig
runs, it
uses information from the Applications Context file to generate all configuration
files and
update database profiles.
Refer to Metalink Note 165195.1 for details on installing, using and updating
AutoConfig. The Oracle Applications Maintenance Procedures and the Oracle

Applications Maintenance Utilities provide further information on how to use


AutoConfig in the context of maintaining your system.
[top]
2. What is the difference between the application tier and the database tier?
Answer:
Before we can answer that, let's define a few terms in the context of the Release
11i
architecture:
* A node or machine is a computer.
* A server is a collection of one or more computer processes that perform a
specific function.
* A tier is a logical grouping of one or more servers or computer processes.
Now let's answer the question.

* The application tier (also called the middle tier) consists of a number of
servers,
such as the concurrent processing server, web server, forms server, and
administration
server, that process the transactions of the Release 11i system, as well as provide
communication between the desktop tier and the database tier. (Such servers are
also
referred to as application tier servers. Likewise, the nodes on which such servers
run are
also referred to as application tier server nodes.)
* The database tier consists of the database server, which stores all the data of
the
Release 11i system.
The primary location of the files used by the application tier servers is the
APPL_TOP, whereas the primary location of the files used by the database server is
the
Oracle8i or Oracle9i ORACLE_HOME.
For more information about the Release 11i architecture, refer to Oracle
Applications
Concepts, Release 11i.
[top]
3. How can I identify the application tier and the database tier in a multi-node
system?
Answer:
A node can contain one or more servers, and can therefore belong to one or more
tiers.
In a single node system, that node belongs to both the application tier and the
database tier, since all servers are contained on that single node

In a multi-node system, each node contains one or more servers, and therefore
belongs to one or both tiers. If the node contains any of the application tier
servers,
including the web server, forms server, concurrent processing server, or
administration
server, which means that there is an APPL_TOP on the node, then the node belongs to
the application tier, and is considered an application tier server node. If the
node contains
the database server, which means that there is an Oracle8i or Oracle9i ORACLE_HOME
and the Applications database instance on the node, then the node belongs to the
database
tier, and is considered a database server node.

Let's analyze a common configuration where the database server and the concurrent
processing server exist on one node (Node 1), and the other servers exist on a
second
node (Node 2). Since Node 1 contains both an application tier server (the
concurrent
processing server) and the database server, Node 1 belongs to both the database
tier and
the application tier. But since Node 2 contains only application tier servers, Node
2
belongs only to the application tier.
[top]
4. How do I configure AutoConfig for a multi-node system?
Answer:
The AutoConfig patch is applied using AutoPatch. Therefore, it must be applied to
each application tier server node, which means to each node that contains an
APPL_TOP.
If the database server node contains only the database server and no other servers,
then you would not apply an AutoConfig patch on that node.

Once all the application tier servers have been updated by the AutoConfig patch,
there is a separate process for updating the database server, which is documented
in
Metalink Note 165195.1. This process consists of running the admkappsutil utility
on one
(only one) application tier, copying the generated appsutil.zip file to the
database tier and
unzipping the appsutil.zip file into the RDBMS ORACLE HOME.

Example 1:
The system has two nodes.
Node 1 = administration server, concurrent processing server, database server
Node 2 = forms server, web server

Since both nodes are application tier server nodes, the AutoConfig patches need to
be
applied to both nodes. Once the patches are applied, you have to update the
database
server Node1 by running the admkappsutil utility from the APPL_TOP on Node1,
copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and
unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.
Example 2

The system has two nodes.


Node 1 = database server
Node 2 = administration server, concurrent processing server, forms server, web
server

Since Node 2 is the only application tier server node, the AutoConfig patch needs
only be applied to Node 2. Once the patch is applied, you have to update the
database server Node1 by running the admkappsutil utility from the APPL_TOP on
Node2, copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and
unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.
Example 3:

The system has three nodes.


Node 1 = database server
Node 2 = administration server, concurrent processing server
Node 3 = forms server, web server

Since Node 2 and Node 3 are application tier server nodes, the AutoConfig patch
needs to be applied to Node 2 and Node3. Once the patches are applied, you have to
update the database server Node1 by running the admkappsutil utility either from
the APPL_TOP on Node1 or Node2 (it does not matter on which Node you run the
admkappsutil utility), copying the generated appsutil.zip to your RDBMS
ORACLE_HOME on Node1 and unzipping the appsutil.zip file into the RDBMS
ORACLE_HOME.
Reference:
* Metalink Note 208738.1
[top]
5. What user do I log in as to use AutoConfig in a typical multi-node system?
Answer:
For nodes running Windows, there is only one user that owns both the application
tier
servers and the database server, so you would log in as that user.

For nodes running UNIX or Linux, if you want to configure the application tier
servers, log in as the user that owns the application tier servers (sometimes
referred to as
the applmgr user). If you want to configure the database server, log in as the user
that
owns the database server (sometimes referred to as the oracle user).

How do I determine if AutoConfig is enabled?


Answer:
Check for the script adcfginfo.sh (adcfginfo.cmd on Windows) under
<AD_TOP>/bin. If it exists, use it to check whether AutoConfig is enabled.
For the APPL_TOP:
adcfginfo.sh contextfile=<CONTEXT>
For products:
adcfginfo.sh contextfile=<CONTEXT> show=enabled
If adcfginfo.sh doesn't exist, look in any configuration file in your APPL_TOP. If
the
file header contains the following, AutoConfig has been run on your instance :
7. Is AutoConfig compatible with Oracle Applications 11.5.x?
Answer:
Yes, it is compatible with all 11i releases. You can use AutoConfig to configure
and
maintain any Oracle Applications 11i environment.
Release 11.5.1 - 11.5.6 (all tiers):
Apply the latest AutoConfig consolidated patch to obtain the AutoConfig utility.
Release 11.5.7 and higher (application tier):
AutoConfig is included in new Applications installations and in the associated
maintenance packs.
Release 11.5.9 and higher (database tier):
AutoConfig is included in new Applications installations and in the associated
maintenance packs.

Note: If you upgrade from a maintenance pack version that does not include
AutoConfig to a maintenance pack version that includes AutoConfig (for example you
upgrade from 11.5.3 to 11.5.10), you have to separately migrate to AutoConfig as
part of
the pre-upgrade process. Follow the instructions of the corresponding maintenance
pack.
[top]

8. What does the term "Context_name" mean?


Answer:

The "Context_name" is the logical name for your Context. The default value for
Context_name is <SID>_<hostname>. In earlier versions of AutoConfig the default was
set to <SID>.

9. What are the basic components of AutoConfig?


Answer:
10.What are the different AutoConfig scripts and what do they do?
Answer:
The scripts are listed in the following table.
Note: .sh scripts are for UNIX users and .cmd scripts are for Windows users.
AutoConfig pre-requisites
11.Do I need to upgrade to Apache 1.3.12s?
Answer:
If you are applying the AutoConfig patch to an instance created with a Rapid
Install

version lower than Release 11.5.5, upgrade to Apache 1.3.12s.


Refer to Metalink Document 161779.1 on OracleMetalink.
Note: Rapid Install for versions 11i7 and higher installs Oracle HTTP Server 1.3.19
from iAS 1.0.2.2
[top]
The Context file
12.How will the adbldxml utility name the Applications Context file it generates?
Answer:

When adbldxml generates the Context file, it first checks for the existence of an
Applications Context file conforming to specific requirements in the
<APPL_TOP>/admin directory on the application tier and in the <RDBMS
ORACLE_HOME>/appsutil directory on the database tier.
If an xml file exists, adbldxml creates the Applications Context file using the
same
name.

Specific requirements are:


* The Context file refers to the hostname for which we generate the file.
* The Context file refers to the Database SID for which we generate the file
The default name for the Context file is <Context_name>.xml.
[top]
13.How can I make changes to the Applications Context file?
Answer:
Go to the OAM Login page. Sign in and navigate to Site Map. Click on AutoConfig.
Use this link to update your Applications Context file.
For additional information see the Oracle Applications Maintenance Procedures.

Note: Manually editing the Applictions Context file is not supported. Many context
variables have dependencies between each other. The OAM AutoConfig resolves all
these dependencies when changing the value of a variable. By manually editing the
Applications Context file you will bring the data into an inconsistent state.
[top]
14.I want to execute the adbldxml utility on a fresh RDBMS Oracle Home. How can I
build the Context file, when the database environment file is not present?
Answer:
The adbldxml utility requires the following environment variables to be set:
* ORACLE_HOME
* ORACLE_SID (LOCAL on Windows)
* TNS_ADMIN
Set the variables according to your instance. For example:
* On UNIX
export ORACLE_SID=PROD
* On Windows
set LOCAL=PROD
[top]
15.I was instructed to change the value of the context variables s_adperlprg and
s_perl5lib. How can I achieve that?
Answer:
Apply the latest AutoConfig patch, then perform the following steps depending on
your use case:

* You were instructed to use a certain perl version. You have perl and its
libraries installed in the perl standard location for your os (e.g. /usr/lib/perl5
on Linux) and perl is in your PATH:

1. unset PERL5LIB
2. perl $AD_TOP/bin/adconfig.pl
3. Source the environment file (APPS<Context_name>.env)
4. Review your Applications Context file; s_adperlprg and s_perl5lib will now
point to your system perl location.

* You were instructed to use a certain perl version. You installed perl and its
libraries into a custom - non perl standard location (e.g. perl is installed at
/u03/myperl/bin and the perl libraries at /u03/myperl/lib).

1. PERL5LIB=<location of the new PERL5LIB that you want to use>


2. export PERL5LIB
3. <location of the new perl you want to use> <AD_TOP>/bin/adconfig.pl
4. Source the environment file (APPS<Context_name>.env)
5. Review your Applications Context file; s_adperlprg and s_perl5lib will now
point to your customized perl location.

AutoConfig will update the context variables in the context file accordingly. After
the
AutoConfig run subsequent utilities and tools can use the context variables
s_adperlprg
and s_perl5lib.
[top]
Running AutoConfig
16.When should I run AutoConfig?
Answer:

You should run AutoConfig in the event of the following cases:


* You did updates to your Applications Context file.
* An Oracle Metalink Note instructs you to run AutoConfig as part of an upgrade,
migration, cloning and/or configuration process.
* The Readme of an Oracle patch instructs you to run AutoConfig after the
application of the patch.
* You apply any ADX Product patch.
Note: When you have AD.I or higher applied on your system, then adpatch will
automatically invoke AutoConfig if the patch that you apply requires AutoConfig to
run.
[top]
17.Which files / profile options get changed when I run AutoConfig?
Answer

Run the adchkcfg utility to get an html report that lists all the files and profile
options
that get changed when you run AutoConfig.

If you have AD.I or higher applied and you want to see the list of files and
profile options that will get changed when adpatch is run, then run adpatch with
the apply=no option before applying the patch. For more information, refer to
Oracle Applications Maintenance Procedures - Section Patching - Testing a Patch
before Applying it.
For instructions on how to run the adchkcfg utility and a discussion about the
report
that the utility generates, see Appendix B of the Metalink Note 165195.1.
[top]
18.Where is the log file located that AutoConfig creates?
Answer:
The log file that AutoConfig creates is located at:
On the application tier:
<APPL_TOP>/admin/<Context_name>/log/<MMDDhhmm>/adconfig.log
On the database tier:
<RDBMS
ORACLE_HOME>/appsutil/log/<Context_name>/<MMDDhhmm>/adconfig.log
where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)
[top]
19.Which directories based on the Context_name will AutoConfig create?
Answer:
AutoConfig creates the following directories based on the Context_name:
Install Scripts
: <COMMON_TOP>/admin/install/<Context_name> Control Scripts :
<COMMON_TOP>/admin/scripts/<Context_name> Log files :
<COMMON_TOP>/admin/log/<Context_name>
Beginning with Release 11.5.7, Oracle Applications comes with the modified
directory structure.
[top

20.I see multiple directories under <COMMON_TOP>/admin/scripts - which one do I


use?Answer:
Previously, AutoConfig generated the directory <SID> in
<COMMON_TOP>/admin/scripts. To provide support for a shared APPL_TOP,
AutoConfig now creates the directory <SID>_<hostname>.
If your system contains both directory names, use the scripts under
<SID>_<hostname>. You can safely delete directories named <SID>, after backing them
up.
Refer to Metalink Document 233428.1 on OracleMetalink to learn more about the
Shared APPL_TOP configuration.
[top]
21.How can I roll back an AutoConfig session?
Answer:
All backup configuration files from each AutoConfig session are stored in:
On the application tier:
<APPL_TOP>/admin/<Context_name>/out/<MMDDhhmm>/
On the database tier:
<RDBMS ORACLE_HOME>/appsutil/out/<Context_name>/<MMDDhhmm>/
where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)
You can run restore.sh (Unix) or restore.cmd (Windows) to roll back an AutoConfig
session.
For additional information see Oracle Applications Maintenance Procedures.
[top]
22.How does AutoConfig know which scripts to create for service controls?
Answer:
The following variables in the Applications Context File let AutoConfig know which
scripts to create:
Context Variable Action
s_isAdmin
If set to Yes, create administration service scripts
s_isConc If set to Yes, create concurrent processing and reports service scripts

s_isWeb If set to Yes, create web service scripts


s_isForms If set to Yes, create forms service scripts
The variables are set according to your configuration when you create the
Applications Context file:
Single-node system: All the service control scripts are present on the same node.
Therefore, all variables are set to "YES" in the Applications Context file.
Multi-node system:
Example
Node 1 = forms server, web server
Node 2 = concurrent processing server, administration server, database server

On Node 1 only the forms and web service control scripts are created. On Node 2
only the admin and concurrent processing service control scripts are created. The
Applications Context files contain the following values:
Context Variable Node 1
Node 2
Value
Value
s_isAdmin
NO YES
s_isConc NO YES
s_isWeb YES NO
s_isForms YES NO
[top]
23.How does AutoConfig know what application tier node type the APPL_TOP
supports?
Answer:

The AD Utilities such as AutoPatch and AD Administration patch and maintain files
based on the application tier node type that the APPL_TOP supports. The following
variables in the Applications Context file define which files are patched and
maintained
for the APPL_TOP:
Context Variable Action
s_isAdAdmin
If set to Yes, the APPL_TOP contains binaries and scripts used to
maintain the Applications system.
s_isAdConc
If set to Yes, the APPL_TOP can be used to provide the CP and
Reports services. All binaries, scripts, reports and other files related to these
services
exist in the APPL_TOP.
s_isAdWeb
If set to Yes, the APPL_TOP contains the necessary files to
provide Oracle HTTP service

s_isAdForms
If set to Yes, the APPL_TOP contains the necessary files to
provide Forms services
The variables are set according to your configuration when you create the
Applications Context file:

Single-node system: All the application tier types are present on the same node and
there is only one APPL_TOP. All variables are set to "YES" in the Applications
Context file.Multi-node system sharing the same APPL_TOP: A shared APPL_TOP
contains all
the necessary software components to run any service. All variables are set to
"YES" in
the Applications Context files sharing the APPL_TOP.
Multi-node system, where every node has a separate APPL_TOP:
Example:
Node 1 = forms server, web server
Node 2 = concurrent processing server, administration server, database server
Every node has its own APPL_TOP that only patches and maintains the files specific
to the node. The Applications Context files contains the following values:
Context Variable Node 1
Node 2
Value
Value
s_isAdAdmin
NO YES
s_isAdConc
NO YES
s_isAdWeb
YES NO
s_isAdForms
YES NO
[top]
Customizations

24.How do I preserve customizations to an AutoConfig-maintained environment?


Answer:
Refer to Metalink Note 270519.1 for details on how to implement customizations.
[top]

25.What do I do when a patch or Oracle documentation instructs me to manually


modify
an AutoConfig-maintained file?
Answer:

Contact Oracle Support to incorporate the necessary changes in the AutoConfig


templates:
1. Identify the patch or the note that is requesting the manual change.
2. Log a Service Request with Oracle Support, providing the same information.
[top]
Patching AutoConfig
26.How do I get the latest changes to AutoConfig?
Answer:
Updates to AutoConfig are delivered in the ADX product patch. The latest patch at
the time of this writing are patch number 3453499.
[top]
27.How do I apply the latest AutoConfig patch?
Answer:
Perform the following steps in the order listed:
* Review the pre-requisites as documented in Metalink Note 165195.1.
* Apply the AutoConfig patch
Update the Oracle Applications file system with the AutoConfig files by applying
patch 3453499. to all application tier nodes in the Applications instance.
* Copy AutoConfig to the RDBMS ORACLE_HOME
If you enabled AutoConfig on the Database Tier, update the RDBMS
ORACLE_HOME file system with the AutoConfig files by performing the following
steps:
o On the Application Tier (as the APPLMGR user):
+ Log in to the APPL_TOP environment (source the environment file)
+ Create appsutil.zip file
perl <AD_TOP>/bin/admkappsutil.pl
+ This will create appsutil.zip in $APPL_TOP/admin/out .
o On the Database Tier (as the ORACLE user):
+ Copy or FTP the appsutil.zip file to the <RDBMS ORACLE_HOME>
+ cd <RDBMS ORACLE_HOME>
unzip -o appsutil.zip
* Run AutoConfig on the Database Tier
If you enabled AutoConfig on the Database Tier, run AutoConfig on the database
tier node
Attention: The database server must remain available during the AutoConfig run.
All the other database tier services should be shut down.
* Run AutoConfig on the Application Tiers
Run AutoConfig on all application tier nodes.
Attention: The database server must remain available during the AutoConfig run.
Only the application tier servers should be shut down.
[top]
Net Services
28.What is the Net Services Topology Data Model?
Answer:

The Net Services Topology Data Model stores the entire topological information
about a single Oracle Application instance. The data model stores information about
each
node in the Oracle Applications instance which is then used to generate the Net
Service
configuration files (for example tnsnames.ora). AutoConfig seeds the data model
with
relevant data.
The Net Services Topology Data Model stores the following information:
* On the database tier: Hostname, Database SID, Database Name, Instance Name,
TNS Descriptors.....
* On the application tier: Hostname, FNDFS and FNDSM alias descriptors.........
[top]
29.When is the Net Services Topology Data Model seeded?
Answer:

The Net Services Topology Data Model is seeded every time you run AutoConfig on the
respective tier. Every time you run AutoConfig on the database tier, the relevant
data is seeded/updated for the database tier. Respectively, every time you run
AutoConfig on the application tier, the relevant data is seeded/updated for the
application tier.
[top]

30.What mechanism is used to generate the tnsnames.ora file?


Answer:

31.How do I seed the Net Services Topology Data Model?


Answer:
The Net Services Topology Data Model can be seeded/updated by running
AutoConfig on the database tier followed by all application tiers.
[top]
32.When do I need to deregister a database tier or an application tier?
Answer:
You have to deregister a tier from the Net Services Topology Data Model in one of
the following cases:
* You want to delete an application tier
* Your database is upgraded/migrated resulting in a change in one of the following
parameters:

o Database Host
o Database Port
o Database Name
o Database SID
You should deregister the tier before the tier is decommissioned.
[top]
33.How do I deregister an application tier from the Net Services Topology Data
Model?
Answer:
To deregister the current application tier from the Net Services Topology Data
Model, invoke the following command:
perl <AD_TOP>/bin/adgentns.pl appspass=<APPSpwd> contextfile=<CONTEXT>
-removeserver
[top]
34.How do I deregister a database tier from the Net Services Topology Data Model?
Answer:
To deregister the current database tier from the Net Services Topology Data Model,
invoke the following command:
perl <RDBMS ORACLE_HOME>/appsutil/bin/adgentns.pl appspass=<APPSpwd> \
contextfile=<CONTEXT> -removeserve

194

[top]
35.When do I need to purge the complete Net Services Topology Data Model?
Answer:
You need to purge the complete Net Services Topology Data Model, when the
Database Name is changed as a result of a database upgrade/migration.
[top]
36.How do I purge the complete Net Services Topology Data Model?
Answer:
To purge the complete Net Services Topology Data Model, invoke the following
command:
perl <AD_TOP>/bin/adgentns.pl appspass=<APPSpwd> contextfile=<CONTEXT>
-removesystem
[top]
37.How do I seed the Net Services Topology Data Model after purging it?
Answer:
See question "How do I seed the Net Services Topology Data Model".
[top]
38.I want to deregister an application tier or a database tier from the Net
Services
Topology Data Model. I can't use the adgentns.pl script because I already
decommissioned the tier or removed the context file. How can I deregister the tier?
Answer:
In this case you can use the PL/SQL API. Perform the following steps in the order
listed:

* Locate the System Name:


o The System name is the database name
o Verify with sql query: select DB_NAME from FND_DATABASES;
* Locate the server name corresponding to the tier in question:
o Query on the database tier
I want to purge the complete Net Services Topology Data Model. I can't use the
adgentns.pl script because I removed the relevant context file(s). How can I purge
the
Data Model?
Answer:
In this case you can use the PL/SQL API. Perform the following steps in the order
listed:

* Locate the System Name:


o The System name is the database name
o Verify with sql query: select DB_NAME from FND_DATABASES;
* Run the following PL/SQL block:
begin
FND_NET_SERVICES.remove_system(SYSTEM_NAME);
end;
/commit;
/
[top]

40.How do I configure AutoConfig to generate the failover aliases?


Answer:
To generate the failover aliases use the database tier context variable
s_alt_service_instances.
You can specify a comma separated list of "servicename:instance" to use connect
time failover management.
For example
'SERVICE_NAME:INSTANCE_NAME1,SERVICE_NAME:INSTANCE_NAME2' will
generate a TNS Alias in the tnsnames.ora file that fails over to INSTANCE_NAME1
when the current instance is not available. If INSTANCE_NAME1 is not available it
fails
over to INSTANCE_NAME2.
To set up the failover listing, perform the following steps in the order listed:
1. Update the context variable s_alt_service_instances in the database tier context

file applying the failover rules as described above.


2. Run AutoConfig on all database tiers.
3. Run AutoConfig on all application tiers.
These steps will generate tns aliases <INSTANCE_NAME>_FO with description

lists as configured in s_alt_service_instances. These aliases will still not be


used
anywhere. You will have to set the two task variables like s_tool_twotask to
actually use
these aliases.

Check the question "For which database versions can I define failover aliases for
information about the availability of failover aliases on different database
versions.

Note: On database versions that are 8.1.7.4 or higher the generated alias
<INSTANCE_NAME>_FO can only be used for failover. On 8.0.6 the generated alias
can't be used for failover. However, it can be used for load balancing.
[top]
41.For which database versions can I define failover aliases?
Answer:
You can generate failover aliases for all database versions that are 8.1.7.4 or
higher.
Currently, Oracle Applications does not support failover aliases for the 8.0.6
Oracle
Home.
[top]
Database connectivity
42.Should the database server remain available during the AutoConfig run?
Answer:

Yes. The database server and the database listener must remain available during the
AutoConfig run. This is true when running AutoConfig on the application tier, as
well
when running AutoConfig on the database tier. If you run AutoConfig on the
application
tier, then the 806 database listener must remain available also.
[top]

43.What is the use of the context variable s_apps_jdbc_connect_descriptor?


Answer:

The s_apps_jdbc_connect_descriptor stores the connect string for jdbc connections.


All jdbc connections are done using this context variable. The value for this
context
variable is generated by AutoConfig.
When the value is reset (empty), AutoConfig tries to connect to the database using
the
s_dbSid, s_dbhost and s_dbport context variables

When do I need to reset (empty) the context variable


s_apps_jdbc_connect_descriptor?
Answer:
You should reset the value for s_apps_jdbc_connect_descriptor to an empty value ("

"), when one of the following value changes:


* Database Host
* Database Port
[top]
45.What steps do I need to follow to maintain my database connectivity when I
migrate
my database from one host/platform to another?
Answer:
Perform the steps in the order listed:
* Before the migration:

1. Deregister the database tier from the Net Services Topology Data Model.
Refer to the question "How do I deregister a database tier from the Net Services
Topology Data Model?"
If you haven't enabled AutoConfig on the database tier, you can ignore this
step.
* After the migration:
1. Reset the context variable s_apps_jdbc_connect_descriptor in the context file
for the application tier to an empty string.
2. Update the context variables s_dbhost and s_dbport in the context file for the
application tier to reflect the new values in the middle tier context file.
[top]
46.I migrated my database tier to a new host/platform, but the application tier
still tries to
connect to the old database. How can I fix this situation, so that the application
tier
connects to the new database?
Answer:
Your old database tier is still registered in the Net Services Topology Data Model.
Perform the following steps:
* You have to clean up the data model by following the steps described in the
question: "How do I purge the complete Net Services Topology Data Model?".
* Perform the step described in the question: "How do I seed the Net Service
Topology Data Model?"

RAC
47.My 11i instance is configured with RAC. Now I want to migrate to AutoConfig. How
do I achieve that?
Answer:
To migrate to AutoConfig on a RAC instance, follow these steps in the order listed:
1. Enable AutoConfig on all database tiers. Follow the instructions in the
AutoConfig Metalink Note 165195.1.

2. AutoConfig will not overwrite your existing init.ora file. However, AutoConfig
will generate a RAC conform init.ora file when no init.ora file exists. We
recommend
that you backup your existing init.ora file and let AutoConfig generate an init.ora
file for
you. This will ensure that the init.ora file conforms to the Oracle's standards
(for example
using of DB_Name as the service name or handling local and remote listeners).

3. Run AutoConfig on the database tier.


4. Stop and start the database listener.
5. Enable and run AutoConfig on all your application tiers. Follow the instructions
in the AutoConfig Metalink Note 165195.1.

Note: You need to enable and run AutoConfig on the database tiers FIRST! followed
by the application tiers. This order is required because the RAC configuration data
needs to be uploaded to the Net Services Topology Data Model, so that a correct
tnsnames.ora file can be created on the application tier.
[top]
48.My 11i instance is configured as non-RAC. Now I want to migrate to RAC using
AutoConfig. What steps should I follow?
Answer:
To migrate an Oracle Applications 11i instance from non-RAC to RAC, follow the
instructions as described in Metalink Note 279956.1.
[top]
49.I applied all the required RAC patches, but my TWO_TASK variables still point to
the instance aliases. How can I point them to load balanced aliases?
Answer:
Update your application tier context file and set the values of the following
context
variables to the desired load balanced alias names:
* s_tools_twotask
* s_weboh_twotask

Windows specifics
50.What is the correct setting for MSDEVDIR?
Answer:
Use the path to the VC98 directory, not the MSDev98 directory. The vcvars32.bat
file
exists only under the VC98 directory. For example:C:\CPP\VC98.
[top]
51.After running AutoConfig, the Apps.cmd and <CONTEXT_NAME>.cmd contain
slashes instead of backslashes on Windows. How do I resolve this issue?
Answer:
Download patch 2690783 from OracleMetaLink and follow the instructions in
Readme.
[top]

52.Can I use the perl shipped by MKS to run adconfig.cmd on Windows?


Answer:

No. The perl shipped by MKS is not certified. Use the perl available in your
Applications Environment (iAS for the application tier, 9i for the database tier)
or
download the ActivePerl from perl.com. Perl has to be in the PATH in order for
AutoConfig to run.
[top]

53.After I run AutoConfig in my 11.5.9 Windows environment I have two Apache


services and two forms services. Which ones should I use?
Answer:

* The two Apache services are:


o Oracle Apache Server <SID> (original service)
o Oracle Apache Server <Context_name> (new service)

* The two forms services are:


o OracleFormsServer-Forms60<SID> (original service)
o OracleFormsServer-Forms60<Context_name> (new service)
Run the rem_srv.cmd script delivered in patch 3197605 to remove the duplicate
services.

[top]
54.After I run AutoConfig in my 11.5.9 Windows environment I have two Apache
services, two forms services, two metrics client services, and two metrics server
services.
Which ones should I use?
Answer:
Run the rem_srv.cmd script delivered in patch 3695041 to remove the duplicate
services.
[top]
55.The script adsvalsn.cmd fails when I run AutoConfig. How do I resolve this
issue?
Answer:
Check in your Service Control Panel to see if the 806 listener service is set to
automatic or manual.
If your service is set to automatic, then you hit a known issue, that can be
ignored.
You can use the following workaround to resolve the issue:
copy %AD_TOP%\bin\adstart.exe %COMMON_TOP%\util\SrvStart.exe
[top]
Troubleshooting

56.What should I do if my AutoConfig script exits with non-zero status?


Answer:
If AutoConfig exits with non-zero status, open the adconfig.log and check for the
reported errors:

* Errors in the instantiation phase: Check to see if the template files listed in
the
error summary exist in your file system. If they do not exist, the AutoConfig File
Driver
of the product is faulty. Report the problem to Oracle Support.
If the template files exist, check for permission issues. If you cannot fix the
issue,
report the problem to Oracle Support.
* Error encountered in the SETUP/PROFILE/APPLY phase: Check the
adconfig.log file to see the reason for the failure. If you cannot fix the issue,
report the
problem to Oracle Support.
Note: Refer to the question "Where is the log file located that AutoConfig
creates?"
for the location of the log file

[top]
57.How do I configure AutoConfig to start the TCF servlet?
Answer:

Perform the following steps:


1. Apply the Thin Client Framework (TCF) Servlet Implementation patch.
2. Apply TXK.A or higher.
3. Verify that the s_tcfstatus variable is set to "disabled" in your
<Context_name>.xml file.
4. If set to "enabled", use the Context Editor to update the TCF Process Status to

"disabled" and save the changes.


5. Stop all application tier services.
6. Run AutoConfig to update the configuration files.
7. Make additional updates based on your system configuration (see Note
164942.1).
8. Restart all application tier services.
References:
* Oracle Applications 11i - Thin Client Framework (TCF) Servlet Implementation
* AutoConfig: TCF - View Tree Error - Unable to Establish a Network Connection
[top]
58.How can I resolve TNS-12500 while trying to start GSM?
Answer:
Change the profile option CONC_GSM_ENABLED to N until GSM is configured. If
GSM is configured, check listener.ora located in
<8.0.6 ORACLE_HOME>/network/admin/<Context_name>
AutoConfig depends on the CONC_GSM_ENABLED profile option to create entries
for FNDSM in the listener.ora file. If listener.ora contains entries for FNDSM and
the
corresponding executable is not found, the listener will not to start.
Apply the latest AutoConfig patch. The patch creates the FNDSM entry in
listener.ora.
Reference:
* Cannot Start GSM Service Manager - TNS Errors in listener Log and CCM Log
[top]

59.My concurrent managers don't start after running AutoConfig? How do I resolve
this
issue?
Answer:

Look in the file APPLSYS_ux.env (Unix) or APPLSYS_nt.env (Windows) located in


<AD_TOP>/admin/template. If the version of the file is 115.15 or lower, your
environment file hard codes variables, which prevent the concurrent manager to
start.
Apply the latest AutoConfig patch to get the templates that use Application Context
variables.
[top]
60.How do I resolve a FileNotFoundException while running adupdts.sh?
Answer:
If the script adupdts.sh fails with a "FileNotFoundException", apply the latest
AutoConfig patch.
References:
* adupdts.sh Fails With Errors During AutoConfig
* Script adupdts.sh Fails During AutoConfig Migration
[top]
61.How do I resolve an address in use (could not bind to port) when staring Apache?
Answer:

The error "Address already in use: make_sock could not bind to port" occurs when
non-SSL Apache and SSL Apache occupy the same port. The latest AutoConfig patch
makes sure, that these ports don't conflict.
Reference:
* AutoConfig Cannot Start Startssl because of Address already in use: make_sock:
could not bind to port
[top]
62.I get the message "You are not authorized to view this page" when I access the
application. How do I resolve this problem?
Answer
After applying TXK AutoConfig Template Rollup F (patch 3104607) or later, the
Apache configuration won't allow symbolic links per default. Standard security
practice
and our strong recommendation is that you don't use symbolic links for E-Business
Suite
files.

If you want to enable symbolic links, use the Context Editor to change the value of
the variable s_options_symlinks from "Options -FollowSymLinks" to "# Options
-FollowSymLinks". Run AutoConfig to reflect the change and restart the applications
services.
The pre-patch report txkValidateRollup of TXK AutoConfig Template Rollup G
(patch 3239694) or later provides you more detailed instructions.
[top]
63.On HP/UX Itanium adconfig.pl fails because of a missing POSIX module. How do I
resolve this problem?
Answer:

When you get the error message "Can't locate loadable object for module POSIX
@INC." while running AutoConfig on HP/UX Itanium, then download and apply patch
4261525 .
Questions and Answers
1. What is a "Shared APPL_TOP"?
Answer:
A traditional multi-node installation requires the Applications file system on each
node in the system.
In a Shared APPL_TOP installation, the APPL_TOP and the COMMON_TOP file

systems are installed on a shared disk resource mounted to each node in the system.
These nodes can be used to provide standard application tier services, such as
Forms, Web, and Concurrent processing. Any changes made in the shared APPL_TOP file
system are immediately visible on all nodes.
Note that each node continues to have a separate Applications techstack
installation
(see also question 2).
[top]
2. What is a "shared application tier file system"?
Answer:
In a shared application tier file system installation, the APPL_TOP, the
COMMON_TOP, and the Applications technology stack (ORACLE_HOMEs) are
installed on a shared disk resource mounted to each node in the system. These nodes
can
be used to provide standard application tier services, such as Forms, Web, and

Concurrent processing. Any changes made in the shared application tier file system
are
immediately visible on all nodes.
[top]
3. What operating systems are certified?
Answer:
All Rapid Install platforms except Windows support a shared application tier
infrastructure. There is no time estimate for a Windows solution.
[top]
4. I want to migrate my existing Oracle Applications system to a shared application
tier
file system. What 11i releases are supported?
Answer:
You can migrate any existing Oracle Applications 11i release to a shared
application
tier file system.
[top]
5. Can I share the application tier file system across nodes with different
platforms?
Answer:
No. The nodes sharing the application tier file system need to be binary-
compatible.
[top]
6. If the platforms of my nodes are binary-compatible, can I share the application
tier
file systems? For example, can I share a node using Solaris 2.6 with one using
Solaris 8?
Answer:
No, all machines sharing the file system must be configured to run the same
Operating System with the same OS patch level.
[top]
7. Are there any restrictions on the type of shared disk resources that can be used
for
sharing an application tier file system?
Answer:

No, your shared application tier file system can reside on any type of shared disk
resource. Examples of shared disk resources include an NFS mounted disk or a disk
array. The shared disk resource does not have to be local to the machine, and it
can also
be a standalone disk array. Usual tuning considerations apply.

[top]
8. Can I merge APPL_TOPs?
Answer:
Yes, you can merge APPL_TOPs that are spread across multiple nodes. Follow the
instructions described in the OracleMetaLink document 233428.1.
[top]
9. How can I implement a shared application tier file system during an Oracle
Applications installation?
Answer:
You must use the Rapid Install 11.5.10 or higher. Refer to Installing Oracle
Applications for more information.
[top]
10. How can I migrate my existing Oracle Applications system to a shared
application
tier file system?
Answer:
Follow the instructions described in the OracleMetaLink document 233428.1.
[top]

11. When migrating my existing Oracle Applications system to a shared application


tier
file system, I had to rename the Oracle Applications Context file. Will I still
need the
original file and its associated context directories/files?
Answer:
The following files/directories can be removed after you back them up:

* The original Context File <APPL_TOP>/admin/<SID>.xml


* The file <APPL_TOP>/APPSORA.env>
* The directory <COMMON_TOP>/admin/scripts/<SID>
* The directory <COMMON_TOP>/admin/install/<SID>
Questions and Answers
GENERAL INFORMATION
Where can I find a list of AutoPatch features and the AD minipacks that introduced
them?

The Oracle Applications DBA 11i+ Features Matrix (OracleMetaLink Note 210326.1)
contains a list of major AD features in Release 11i and identifies which AD
minipack introduced each feature.

What is a patch driver file?


AutoPatch uses a driver file to direct the installation of a patch. This unified
driver is
named u<patchnumber>.drv. It contains all the driver actions (copy, database, and
generate) that the patch requires, and it performs these actions in the stated
order.
Typically, you run the driver on all APPL_TOPs and AutoPatch determines which
actions are required for the current APPL_TOP and runs only those actions.
The driver actions are as follows:

* Copy: Contains commands to change Oracle Applications files. The commands


include directives to copy and update files, libraries, and/or Java, and commands
for
generating JAR files and/or C executables. In a multi-node system, the copy portion
runs
on all application tier APPL_TOPs.

* Database: Contains commands to change Oracle Applications database objects, such


as PL/SQL and table definitions, or to update or migrate data. In a multi-node
system, the
database portion runs only on the application tier APPL_TOP that implements the
administration server.

* Generate: Contains commands to generate forms, reports, messages, and/or graphics


files. In a multi-node system, the generate portion runs on all application tier
APPL_TOPs, unless the APPL_TOP only implements the administration server.
See Oracle Applications Concepts for a definition of administration server and
other
server types.

Which releases support unified drivers?


All 11i versions of AutoPatch support unified drivers. There is no minimum level.
In
order to make it easier to turn off entire categories of actions, without having to
specify
each action type, AD Minipack H introduced simple methods to disable entire
categories
of actions, for example, adpatch options=nodatabaseportion.
See Oracle Applications Maintenance Utilities for a list of available command line
options.

What is the AutoPatch checkfile feature?


The checkfile feature reduces patch application downtime by checking to see if a
given
database action has been performed previously for the associated file contained in
the
patch. If an action has been performed using the current (or higher) version of a
file,
AutoPatch omits the action from the current patch application.
What are the Oracle Applications patch types?
All Applications patches are organized by aggregation level.

Standalone (one-off) Patch: Addresses a single fix or enhancement. Standalone


patches
are released only when there is an immediate need for a fix or enhancement that
cannot
wait until an aggregate bundling is available. Although standalone patches are
intended to
be as small as possible, they usually include any dependent files that have changed
since
the base release in order to form a complete patch that can be applied by any
customer.
The actual number of files changed will depend on the current code level on the
system to

which the patch is being applied.

Rollup Patch (RUP): An aggregation of patches that may be at the functional level,
or at a
specific product/family release level. For example, a Flexfields rollup patch
contains all
the latest patches related to Flexfields at the time the patch was created. A
Marketing
Family 11.5.10 rollup patch contains all the latest Marketing patches released
since, and
applicable to, 11.5.10.

Minipack: An aggregation of patches at the product level. For example, Inventory


Minipack G (11i.INV.G) contains all the latest patches for the Inventory product at
the
time the minipack was created. Minipacks are named in alphabetical sequence such as
11i.INV.E, 11i.INV.F, 11i.INV.G, and so on. Minipacks are cumulative. In other
words,
11i.INV.G contains everything in 11i.INV.F, which contains everything in 11i.INV.E,
and so on. The terms patchset and minipack are often used interchangeably.

Family Pack: An aggregation of patches at the product family level. For example,
Financials Family Pack C (11i.FIN_PF.C) contains all the latest patches for
products in
the Financials family at the time the family pack was created. Family product codes
always end in "_PF" and family packs are given alphabetical sequence such as
11i.HR_PF.B, 11i.HR_PF.C, and 11i.HR_PF.D. Family packs are cumulative. In other
words, Discrete Manufacturing Family Pack G (11i.DMF_PF.G) contains everything in
11i.DMF_PF.F, which contains everything in 11i.DMF_PF.E, and so on.

Maintenance Pack: An aggregation of patches for all products in the E-Business


Suite.
For example, Release 11.5.10 Maintenance Pack contains all the latest code level
for all
products at the time 11.5.10 was created. Maintenance packs are numbered
sequentially
such as 11.5.8, 11.5.9, 11.5.10, and are cumulative. In other words, 11.5.10
contains
everything in 11.5.9, which contains everything in 11.5.8, and so on.

In addition to the patches in a maintenance pack, Oracle also packages a new Rapid
Install at each maintenance pack release level. So Applications Release 11.5.10CU2
Rapid Install contains the same applications code level that a customer would get
if they
applied the Release 11.5.10CU1 Maintenance Pack on an earlier 11i release level.
Note
that the technology stack could still be different because Rapid Install includes
the latest
certified technology stack. The maintenance pack includes only Applications code.
Maintenance packs can be downloaded from OracleMetaLink or ordered as a CD Pack

from the Oracle Store.


Patches can also be organized by purpose.
Diagnostic Patch: Used to gather additional information when a product failure
cannot be
reproduced by Oracle. The additional information assists Oracle Support Services
and
Oracle Development in resolving the failure

Interoperability Patch: Allows Oracle Applications to function properly with a


newer
version of the technology stack. Interoperability patches are typically required
with new
versions of the database or Applications technology stack.

Translated Patch: A non-English version of a patch. Release 11i supports 30 non-


English
languages. Customers who are using languages other than English, need to apply the
corresponding translated patch(es) for the languages they are using in addition to
any
base US patch(es).

Merged Translation Patch: Provided in real time (without requiring a translator) in


the
event a translated patch is not available when a customer needs it. A merged
translation
patch is applied just like a fully translated patch. The fully translated patch is
escalated
and is usually available within 24 hours. It can be applied safely on top of a
merged
translation patch.
Translation Fix: Provided in the event a translation word choice is inappropriate.
A
translation fix is applied just like a translated patch, except there is no
corresponding base
US patch.
New Feature Patch: Introduces new functionality and/or products. It is applied
using
standard patching utilities.

Consolidated Update (CU): Improves and streamlines the upgrade and maintenance
processes by consolidating certain post-release patches. Most recommended patches
and
rollups for a particular maintenance release are consolidated into a single patch
that is
installed immediately following application of a maintenance pack or a new
installation
of Rapid Install. Updates in the CU are predominantly error corrections.

Family Consolidated Upgrade Patch: Consolidates all upgrade-related patches from


all the products within a product family. Family consolidated upgrade patches are
released as needed and are applicable only if you are upgrading to Release 11i from
Release 10.7 or 11.0. The Oracle Applications Release Notes, Release 11i
(11.5.10.2), Note 316803.1 lists the most recent patches.
Documentation Patch: Updates online help.

What are AutoPatch restart files?


Restart files store information about completed processing in the event of a patch
or
system failure. They allow AutoPatch and AD Administration to continue processing
at
the point where they stopped. Do not modify or delete restart files unless
specifically told
to do so by Oracle Support Services.
The restart files reside in $APPL_TOP/admin/<SID>/restart (UNIX) or in %APPL_TOP
%\admin\<SID>\restart (Windows).
What are the implications of patching a multi-node environment? How do I know
what type of server/tier/node I am patching

n a multi-node environment, you need to apply the patch, in its entirety, first to
the node
where you have implemented the administration server node. After that, you can
apply
the patch in any order on the remaining nodes.
In many cases, the terms server, tier, and node are used interchangeably and the
exact
meaning must be inferred from the context. Officially, the terms are different and
have a
distinct meaning.
* A node (or machine) is a computer.
* A server (or service) is a process or group of processes that runs on a single
machine
and performs a specific function.
* A tier is a logical grouping of one or more services potentially spread across
more
than one physical machine.
In Release 11i there are three tiers: desktop, application, and database.

* The desktop tier (generally an end-user PC) does not consist of any servers.
Rather it consists of a Web browser that makes use of HTML and a Java applet to
provide the user interface.
* The application tier (or middle tier) hosts the various servers that process the
business logic and manage communication between the desktop tier and the database
tier.
Six servers comprise the application tier: web server, forms server, reports
server,
Discoverer server (optional), concurrent processing server and administration
server. The
nodes on which such servers run are referred to as application tier server nodes.
* The database tier consists of the database server, which stores all the data in a
Release 11i system.

For example, if a node contains only the database server and no other Release 11i
software, it is called the database server node, and is part of the database tier
only.
However, it is possible for the database server and any of the application tier
servers to
run on the same node. In this situation, the node can be called the database server
node,
the forms server node, the Web server node, and so on. Because servers from other
tiers
are running on one node, the node belongs to more than one tier.
For more information about the Release 11i architecture, see Oracle Applications
Concepts.

To determine what application tier servers are on each node, refer to the
Applications
Dashboard in Oracle Applications Manager (see Oracle Applications Maintenance
Utilities for more details).

What is the AD Features matrix displayed on the AutoPatch screen and in the
logfiles? AD Feature Versions is a framework created to handle mismatches between
the AD code on the file system and the AD objects in the database. Both the version
of the feature on the file system and the version of the feature in the database
are tracked separately. When the two versions do not match, the feature is
disabled, and when the two versions match, the feature is (normally) enabled.

The following table is an example of the information displayed by AD Feature


Versions in AD utility log files. The first four columns represent the name of the
feature, whether the feature is enabled, the version of the feature in the
APPL_TOP, and the version of the feature in the database.
Feature
Active?
APPLTOP Data Model Flags
CHECKFILE Yes 1
1
YNNYNY
PREREQ
Yes 6
6
YNNYNY
CONCURRENT_SESSIONSNo 2
2
YYNYYN
PATCH_TIMING Yes 2
2
YNNYNY
PATCH_HIST_IN_DB
Yes 6
6
YNNYNY
SCHEMA_SWAP Yes 1
1
YNNYYY
The Flags Column values represent:

* 1st flag: Is the feature enabled in the APPL_TOP?


* 2nd flag: Does the feature require an enabling file on the file system?
* 3rd flag: Does the enabling file exist?
* 4th flag: Does the feature depend on any database objects?
* 5th flag: Is the value of the 6th flag relevant?
* 6th flag: Is the feature enabled in the database?
This message is informational in nature only. The AD Feature Versions framework is
only used by AD internally and should not be modified except under explicit
instructions
from AD Development.
APPLYING PATCHES
How often should I apply minipacks, family packs, and maintenance packs?
You should keep your maintenance level up to date in order to:

* Receive the latest fixes.


* Reduce the number of file updates needed for emergency fixes.
* Reduce the possibility of unfulfilled prerequisite patches when applying an

emergency fix.
* Make it easier for Oracle Support and Oracle Development to assist you.
* Keep core products such as AD (patches and maintenance fixes), FND (security and
technology stack updates), and HR (legislative updates) up to date.

At a minimum, apply maintenance packs to stay within two maintenance releases. For
example, since 11.5.10CU2 is currently available, customers at the 11.5.8 (or
earlier) level should be planning their upgrade to 11.5.10CU2.

Use minipacks and family packs if you have an immediate need for the latest patch
level for a product or product family and cannot wait to apply the corresponding
maintenance pack.

How can I find the latest available minipack, family pack, or maintenance pack? On
OracleMetaLink, click the Patches & Updates tab. Choose the Quick Links to the
Latest Patchsets, Mini Packs, and Maintenance Packs link to see a listing of:

* Latest Oracle Applications R12 Packs


* Latest Oracle Applications 11i Packs
* Latest Oracle Server/Tools Patchsets
A link at the top allows you toggle between the three lists.

Can I apply multiple patches in one operation?


Before you run AutoPatch, use AD Merge Patch to merge multiple patches into a
single,
integrated patch so that the required patching tasks and processes are performed
only
once. In general, you can safely merge any Oracle Applications patch with another
Oracle Applications patch. Patches should be merged with their listed prerequisite
patches to make the application of the patch easier. However, patches that affect
the
Applications DBA (AD) product may change the AutoPatch utility itself. So, they can
be
merged only with other AD patches and must be applied separately, before you apply
any
non-AD patches.

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

How do I apply multiple translation patches?


If an Oracle Applications system contains multiple languages other than American
English (US), and you are applying multiple patches for each language, the
recommended
method is to merge all US patches into a single patch and all patches for every
non-US
language into a single patch. Then, apply the merged US patch followed by the
merged
language patch.

You can also merge US patches with the additional language patches or merge each
language in separate language-specific patches. Depending on your downtime window
and your system topology, it may be necessary to keep the US and non-US patches
separate.
See Oracle Applications Maintenance Procedures for a more detailed analysis and
step-
by-step procedures.

Can I run multiple AutoPatch sessions at the same time?


You cannot run multiple sessions simultaneously (concurrently). However, patches
can
be merged and applied in a single patching session.

Do patches need to be applied in a particular order? What is a prerequisite patch?


AD patches are the only patches that must be applied in a specific order. This is
necessary because you may need to patch the patching utility itself so that it
works
properly when you use it to apply subsequent patches. It is not necessary to apply
non-
AD patches in a particular order, even though a readme may state a specific order
is
required

A prerequisite patch fulfills a dependency for another patch. Strictly speaking,


they are co-requisites and can be applied in any order before using the system. We
recommend that you merge a patch with its required prerequisites, with the
exception of prerequisite patches for the AD product.

Starting with AD Minipack H, AutoPatch has a Prereq feature that, when run with
patches containing metadata, automatically determines if prerequisites are not
fulfilled
and informs you. At this point, you can download the prerequisites, merge them with
the
patch, restart AutoPatch, and apply the merged patch.
Older patches, or patches whose metadata is missing the prerequisite information,
may
list prerequisite patches in the patch README.
See Oracle Applications Maintenance Utilities for information.

Can I automate the patching process?


Non-interactive patching allows you to save time by automating the patching process
and
avoiding some of the prompts. You can store the responses to the patching prompts
in a
defaults file. Then, when you run AutoPatch, you specify the name of the defaults
file,
the location of the patch top directory, the name of the driver file and other
parameters in
the command line.
See Oracle Applications Maintenance Procedures for information on running AutoPatch
non-interactively using a defaults file.
How can I track my customizations? What happens to my customizations during
patching?
You should apply patches first on a test system. Then, review the changes in the
test
system and identify the best way to re-integrate customizations affected by the
patch.

If you have registered your customized files in $APPL_TOP/admin/applcust.txt,


AutoPatch reviews the files to determine if any of those files will be replaced
during the
application of the patch.

Note: Registering customized files does not prevent the object or the patch from
being
applied. It only makes them available to AutoPatch for review. See Customization
Standards in Oracle Applications Developer's Guide for more details.
ASSESSING THE EFFECTS OF PATCHING

How do I know what patches or files have been applied to a system? What happened
to my applptch.txt file?
Previously, patch history was stored in a text file called applptch.txt in the
$APPL_TOP/admin/<SID> directory. AutoPatch appended information about each
applied patch to the applptch.txt file automatically.
Since AD Minipack E, the Patch History feature stores all patch information in
database
tables. If the information cannot be written to the database, it is stored in the
file system,

and is automatically loaded to the database each time AutoPatch is run. In this
case, the
temporary patch history file was named applptch.txt.
In AD Minipack H (and later), there are two patch history files:
* javaupdates<timestamp>.txt - records patch history about changes to Java files
* adpsv<timestamp>.txt - records patch history about changes to all non-Java files.

The best way to review patching history is to use the Applied Patches utility
provided by
Oracle Applications Manager (OAM). From the Applied Patches interface, you can
perform a simple search by querying on the patch number, the number of days or date
range during which patches were applied and/or the patch language. An advanced
search
provides additional search criteria. The search results display useful information
including patch name, description, a list of merged patches, location of applied
patch,
language, files changed or copied, bug fixes in each driver file, whether patch
application
was successful and timing information. See Oracle Applications Maintenance
Utilities for
more information.

Can I determine ahead of time how a patch will affect my system?


You can analyze the actions a patch will take by reviewing patch log files without
applying a patch to production or you can access a Patch Impact Analysis report
through
the Patch Wizard in Oracle Applications Manager (OAM) to see how a patch will
affect
the files on your system.

If you want to review log files, you can apply a patch on a test system.
Alternatively, you can apply the patch in production using the AutoPatch test mode.
Applying a patch in test mode requires that you use the AutoPatch option apply=no.
The resulting log file shows all the actions that AutoPatch will take.

To determine how a patch will affect the files on your system, you can request a
Patch
Impact Analysis report for a specific patch through the Patch Wizard in OAM version
2.2
and later. The Patch Impact Analysis feature of Patch Wizard provides links to
details
about a patch including the following information:

* The total number of files in the patch


* The number and type of files the patch will install
* The products that will have updated files
* The files that will be introduced by the patch
* The files on the target system that will be changed by the patch
See Oracle Applications Maintenance Utilities for additional information.
TROUBLESHOOTING
If I am applying a patch and it fails, should I simply re-run it from the beginning
after
fixing the issue

If a patch driver fails, fix the issue and restart AutoPatch. AutoPatch will allow
you to
continue where the patch left off. Re-running the patch from the beginning may
result in
it being applied incorrectly.

What should I do when the Oracle Applications AutoPatch Prerequisite Checking


Feature fails?
There are various issues that could cause a failure in the AutoPatch Prerequisite
Checking
Feature.
Refer to When Oracle Applications Automatic Patch Prerequisite Checking Feature
Fails
(OracleMetaLink Note 233040.1).

If a worker fails when AutoPatch is running, what should I do?


When a worker fails its job, the AD utility running the worker takes one of several
possible actions:

* Defers the job to the end of the list of jobs to run and assigns the worker
another job
* Sets the worker status to Failed and continues to run jobs in other workers
* If all other workers are in failed or waiting state, waits for user input
(interactive
mode) or exits (non-interactive mode)

If the worker remains in a failed state, examine the worker log file and determine
the
cause of the failure. The worker log files are named adwork<number>.log (for
example
adwork01.log or adwork001.log). They are located in the same directory as the main
AD
utility log file. By default this is under $APPL_TOP/admin/<SID>/log.

Attempt to correct the problem and restart the failed job. If you cannot determine
the
cause of the failure, try restarting the failed job to see if it works the second
time (it may
have failed due to a concurrency or resource issue).

To restart a failed job, run AD Controller and choose the option to restart a
failed job.
Enter the worker number when prompted. You can use AD Controller to see the status
of
jobs both before and after restarting them. The status before restarting should be
Failed,
and the status after restarting should be Fixed, Restart. If you are unable to fix
the failed
job, contact Oracle Support Services for assistance.

If the AD utility exited after the job failed, you must use AD Controller to
restart the
failed job before you can restart the AD utility. Otherwise, the AD utility will
detect the
failed job and shut down again.
See Oracle Applications Maintenance Utilities for additional information.
Q1. After you apply a patch, there may be an invalid view. How do you validate the
view?

A: Most views are recreated via a new Projects sql script. These scripts would be
located
in your $PA_TOP/patchsc/107/sql directory for release 10.7, and in
$PA_TOP/patch/110/sql directory for release 11.0.x, and in $PA_TOP/patch/115/sql

directory for release 11.5.x. After you run a select statement to locate your
invalid view,
you can go to one of the above directories and grep for that invalid view name. The
following is an example of a select statement to find invalid objects:
Login to sql as apps/ [pwd]
SQL> select object_name, object_type
from user_objects
where status = 'INVALID';
OBJECT_NAME
OBJECT_TYPE
------------------------------------------------ --------------------
PA_EXPENDITURE_TYPES_EXPEND_V VIEW
The following is a grep statement example for release 11.0 in unix to locate a
script to
recreate a view:
Change directory to the corresponding $PA_TOP/patch/110/sql directory.
Type the following command in the $PA_TOP/ .. /sql directory:
$PA_TOP/patch/110/sql> grep -i PA_EXPENDITURE_TYPES_EXPEND_V *
There will be many resulting lines, but only one line has the required information.
An
example of a resulting line is as follows:
pavw110.sql:CREATE OR REPLACE FORCE VIEW
pa_expenditure_types_expend_v
The pavw110.sql script is an update script that will recreate the view and validate
the
invalid view. This is known by the "CREATE OR REPLACE FORCE VIEW" statement
from the grep.

You should log an iTAR with Projects if you do not find a current script to
recreate a
view. Support will resolve any invalid object issue that you have. For additional
information, see Note 74660.1, Resolving Invalid Objects in Oracle Applications
[top]
Q2. How do you compile all objects for the APPS schema?

A: You can compile objects using the compile objects selection from the ADADMIN
tool. To compile all objects manually for the APPS schema you either need to change
directory to the $AD_TOP/sql directory or verify it is in your path. Login to
SQLPlus as
system/manager and run the following command to compile all APPS objects:

SQL> @adcompsc.pls apps apps %


You can replace the "%" sign with an actual object name to compile a single object.
For mote information, see Note 104457.1, Invalid Objects FAQ's.
[top]
Q3. How do you generate a form, report, library, or menu from a failed patch
application?
A:1. Find the name for the form that needs regenerating as stated in question
number 8
under the FORM heading.
2. Logon to the server as the applmgr that contains the forms, reports, libraries,
or
menus that need to be regenerated
3. cd $AU_TOP
4. Run the corresponding command as follows:
Oracle Forms executables used to generate forms depends on platform and Oracle
Applications versions:
Q4. How do you determine what patch set you are currently utilizing?
A:1. If you are on release level 10.7.16.1, patch set level PA.H (784658) or
higher, you
run the following command in SQLPlus:
select pa_server_pkg.get_patch_level from dual;

2. For any release level lower than PA.H or release level of 11.0.x or 11.5.x,
there is no
easy way to determine your patch set level. You will need to retrieve a list of
patch set
numbers from MetaLink. Using that list, you can utilize the find file utility to
search for a
file in the APPL_TOP/admin/[SID_NAME] directory for Release 11.0.x or 11.5.x and in
the APPL_TOP directory for Release 10.7.16.1 called "applptch.txt". If the file
exists,
look in the file for patch numbers from your patch set list (start with the latest
patch
number and work backwards in the list until a hit is made).

You can also run the following grep statement in the directory where the
applptch.txt
file resides to list all product groups patches:
fgrep 'begin bug pa' applptch.txt

3. If options a or b from above are not possible, you will have to select a random
number of views, forms, and packages. You can determine what version the objects
are
based on. You will have to contact Oracle Projects Support for an estimated
patchset
level. (To learn how to get version information go to question 8)
For more information, review the following note:
Note.97398.1, What Patches have been applied to an instance?
[top]
Q5. What are the current mini packs, patchsets or one off patches for the Projects
products?
A: Review Note:108691.1 for the latest patchset/family pack information for the
Projects
products.
Review Note:108255.1 for the latest Internet Time (formerly Self-Service Time)
patching information.
[top]
Q6. There are specific invalid PA% objects in your database that will not compile.
What
do you do to clean up these objects?
A: There are Oracle Projects objects in the database that may not compile. They are
part of Oracle Projects products, but you may not have that product installed or
implemented on your system.
The following are common product files that may be affected:
PA_PURGE%
--------------------
All objects starting with this name are part of the Oracle Projects Archive Purge
product.
1. a. If on release 10.7 or 11.0.x then download and install the patch for Oracle
Projects Archive Purge. Patch numbers are

Release 11 - 1235250 Release 10.7 - 982722 (server-side) Release 10.7 - 982724


(client-side)
2. b. If upgrading to release 11i, Oracle Projects Archive Purge is not currently
available on that release.

You may complete one of the two options:


1. Drop all of these objects from the database.
2. Keep them in the Database as invalid, which will not affect Projects.
PA_%_UPGRADE%
--------------------

All objects starting with this name were part of the Oracle Projects upgrade from
9.x., 10.x to 10.7.16.1. You may drop all of these objects from the database with
no affect on the Oracle Projects product.
PA_ONLINE%
--------------------
Objects starting with this name are part of Oracle Projects Online Time and Expense
application.
Install the latest patchset or mini pack for Projects on any application version
level or
drop the objects if you are not planning to use Oracle Projects Online Time and
Expense.
PA_ADW%
--------------------

Objects starting with this name are part of Oracle Projects Data Warehousing
product.
You should setup Oracle Projects and Oracle Data Warehousing to utilize this new
product. Or, you can drop these objects if you are not going to implement Oracle
Data
Warehousing.
[top]
Q7. The Projects adpatch process may fail while running the database driver. What
actions do you need to complete to finish the patch process?
A: You should restart the adpatch process for the database driver using only one
worker.
There may be a conflict with another patch not completing before the current patch
starts.
For more information, see Note:47709.1, AutoInstall Frequently Asked Questions
[top]
Q8. How do you determine version information about a form, view, package or
executable?
A:
FORMS:

In the application, open the form you are having a problem with then, from the menu
bar,
select Help>About Oracle applications. Near the bottom of the information screen
you
will find a heading of "FORMS". Under this heading you will find the name and
version
information of the currently selected form.
VIEWS:
Logon to the database using SQLPLUS as apps/ and run the following sql command:
SELECT text
FROM user_views
WHERE name LIKE '[ENTER THE NAME OF THE VIEW IN ALL CAPS]'
AND text LIKE '%Header%';
PACKAGES:
Logon to the database using SQLPLUS as apps/ and run the following sql command:
SELECT text
FROM user_source
WHERE name LIKE '[ENTER THE NAME OF THE PACKAGE IN ALL CAPS]'
AND text LIKE '%Header%';
EXECUTABLES:

To find the version of an executable you first must go to the


APPL_TOP\PRODUCT_TOP\bin directory where that file is located. Then run the
following command:
strings [NAME OF EXECUTABLE] | grep -i header > [somefilename.txt]
[top]
Q9. What log files are generated with adpatch, and where are they located?

A: The adpatch process will produce a log file which lists the actual process steps
and if
any workers are spawned, worker logs will be created also. The adpatch process will
either use a default log file name, adpatch.log, or you are prompted to create your
own
unique name. For release 10.7.16.1, the adpatch log file is located in the
$APPL_TOP/install/log directory. For Release 11.0.x or 11.5.x, the adpatch log file
is
located in the APPL_TOP/admin/[SID_NAME] directory. If you do not create a unique
log file name, the adpatch process will append the log file each time you rerun it.

Most patches will utilize workers and each worker will create their own worker log
file.
These log files are named adwork01.log, adwork02.log, etc. For release 10.7.16.1,
the
adwork0x.log log file is located in the $APPL_TOP/install/log directory. For
Release
11.0.x or 11.5.x, the adwork0x.log log file is located in the APPL_TOP/admin/
[SID_NAME]/log directory.
The adaimgr process will also generate a log file, which is located in the
$APPL_TOP/admin or $APPL_TOP/install/log directory.
If you are having problems applying a patch, please upload these log files when you
log a
Service Request with Oracle Support.
[top]
Q10. How do you change a shared install to a full install using the License
Manager?
A: To change the status of an install from shared to full do the following:
$cd $COMMON_TOP/admin/assistants/licmgr
$LicenseMgr
If you are using 11.5.5 you can do the following:
$ cd $AD_TOP/bin
$adlicmgr.sh
[top]
Q11. How do you find any critical high priority/mandatory patches for Oracle
Projects?
A:1. Sign on to MetaLink
2. Select the Patches button from the left Menu bar.

3. Select the Release, Product, Platform and Language based on your configuration.
If you would like to see patches for all products, click on the first product, then
Shift-Click on the last product to select all. Alternately, you can select several
individual products by holding down the Ctrl key while selecting each one.
4. In the Limit Search to field, select High Priority Product Patches or High
Priority
Product Patches NOT in Latest Mini Pack

Q12. How do you receive the enhanced trace options for the forms diagnostics menu?

A: Apply patch:1552649 to enhance the trace capabilities in 11i. This patch


provides an
enhanced database trace utility for Application forms. A new trace menu is provided
that
allows a regular trace, trace with binds, trace with waits and trace with binds and
waits.
Once trace has been enabled, all forms opened after that will also be running with
trace
enabled. When trace is disabled for a form, all forms running in trace mode will
have
trace disabled when they gain focus. For additional information, refer to
Note:47709.1,
AutoInstall Frequently Asked Questions.
FND Concurrent Manager FAQ's
-----------------------------
When would one be required to bounce (stop and restart) the Concurrent Manager?

When you modify the Printer Driver you have to restart the Manager which
runs the request which is attached to that Printer Driver, however,if you do
not know which manager then you have to restart the Internal manager because
the printer driver can be used by multiple managers and multiple requests.
If only a concurrent program definition is modified, running a verify on the
Internal Manager will pick up the changes without the need for bouncing the
manager.
Does the Internal manager schedule requests to be run or does it put requests
into queues to be run by other managers?

This is a very common misconception. The ICM really does not have any
such scheduling responsibilities. It has NOTHING to do with scheduling
requests, or deciding which manager will run a particular request.
Its function is only to run 'queue control' requests, which are
requests to startup or shutdown other managers. It is responsible for
startup and shutdown of the whole concurrent processing facility, and
it also monitors the other managers periodically, and restarts them if
they should go down. It can also take over the Conflict Resolution
manager's job, and resolve incompatibilities.

If the ICM itself should go down, requests will continue to run


normally, except for 'queue control' requests. You can restart it with
'startmgr', you do not need to kill the other managers first

How can I check to see if a concurrent manager is running?

One way to see if a manager is running is to use the 'Administer


Concurrent Managers' form. Navigate to Concurrent->Managers->Administer.
You will see two columns labeled 'Actual' and 'Target'. The Target column
lists the number of processes that should be running for each manager
for this particular workshift. The Actual column lists the number of
processes that are actually running. If the Actual column is zero, there
are no processes running for this manager. If the Target column is zero,
then either a workshift has not been assigned to this manager, or the current
workshift does not specify any target processes. If the target column
is not zero, then the manager processes have either failed to start up,
or gone down. You should check the manager's logfile and the ICM
logfile. You can also search for OS processes using the 'ps' command.
It is possible for the form to be inaccurate, i.e. it may show actual
processes even though they are not really running. When in doubt, check for
processes at the OS level. On NT, you can check to see if the Concurrent Manager
service is running using the Services control panel.
Where do concurrent request or manager logfiles and output files go?
The concurrent manager first looks for the environment variable
$APPLCSF. If this is set, it creates a path using two other
environment variables: $APPLLOG and $APPLOUT
It places log files in $APPLCSF/$APPLLOG, output files go in
$APPLCSF/$APPLOUT
So for example, if you have this environment set:

$APPLCSF = /u01/appl/common
$APPLLOG = log
$APPLOUT = out

The concurrent manager will place log files in /u01/appl/common/log,


and output files in /u01/appl/common/out
Note that $APPLCSF must be a full, absolute path, and the other two
are directory names.
If $APPLCSF is not set, it places the files under the product top of

the application associated with the request. For example, a PO report would go
under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT Logfiles go to: /u01/appl/po/9.0/log
Output files to: /u01/appl/po/9.0/out
All these directories must exist and have the correct permissions.

Note that all concurrent requests produce a log file, but not necessarily
an output file.
Concurrent manager logfiles follow the same convention, and will be
found in the $APPLLOG directory
What are the logfile and output file naming conventions?
Request logfiles: l<request id>.req
Output files: If $APPCPNAM is not set: <username>.<request id>
If $APPCPNAM = REQID: o<request id>.out
If $APPCPNAM = USER: <username>.out
Where: <request id> = The request id of the concurrent request

And: <username> = The id of the user that submitted the request


Manager logfiles:
ICM logfile: Default is std.mgr, can be changed with the mgrname
startup parameter
Concurrent manager log:
w<XXXXXX>.mgr
Transaction manager log:
t<XXXXXX>.mgr
Conflict Resolution manager log:
c<XXXXXX>.mgr
Where: <XXXXXX> is the concurrent process id of the manager
Can I delete a concurrent manager?
You can disable the manager by checking the 'Enabled' checkbox, or

you can simply Terminate the manager and it will not run again unless
you reactivate it.
If it is really necessary, you can query the manager in the
'Define Manager' form, and delete the row. (It is recommended that you
DO NOT do this

What is the function of the 'Conflict Resolution Manager'?

Concurrent managers read requests to start concurrent programs running. The


Conflict Resolution Manager checks concurrent program definitions for
incompatibility rules.
If a program is identified as Run Alone, then the Conflict Resolution Manager
prevents the concurrent managers from starting other programs in the same
conflict domain.

When a program lists other programs as being incompatible with it, the
Conflict Resolution Manager prevents the program from starting until any
incompatible programs in the same domain have completed running.
What is the 'Internal Scheduler/Prereleaser' manager?

The short name for this manager is FNDSCH. It is also known as the
Advanced Scheduler/Prereleaser Manager. This manager is intended
to implement Advanced Schedules. Its job is to determine when a
scheduled request is ready to run. Advanced Schedules were not fully
implemented in Release 11.0, they are implemented in Release 11.5,
but are not widely used by the various Apps products. General Ledger
uses FNDSCH for financial schedules based on different calendars and
period types. It is then possible to schedule AutoAllocation sets,
Recurring Journals, MassAllocations, Budget Formulas, and MassBudgets
to run according to the General Ledger schedules that have been
defined.
If financial schedules in GL are not being used then it is not a
problem to deactivate this manager.
What is the 'Internal Monitor' manager/service?

This manager/service is used to implement Distributed Concurrent Processing.


It monitors whether the ICM is still running, and if the ICM crashes,
it will restart it on another node.
You do not need to run this manager/service unless you are using Distributed
Concurrent Processing.
See the Installation manual and Sysadmin Guide for more info on DCP

How do I check/set the PMON method?


To check the PMON method:
1) cd $FND_TOP/sql

2) sqlplus apps/apps @afimchk.sql


This will tell whether the internal manager is running, what the PMON
method is, and where the log file is.
To set the PMON method:
1) first shut the concurrent managers down
2) cd $FND_TOP/sql
3) sqlplus apps/apps @afimpmon.sql LOCK (or RDBMS)
How do I enable/disable the Conflict Resolution Manager?

Use the system profile option 'Concurrent: Use ICM'.


Setting this to 'No' (which is the default) allows the CRM to be started.
Setting it to 'Yes' causes the CRM to be shutdown and the Internal
Manager (ICM) will take over the conflict resolution duties. If the CRM will
not start (it is started automatically by the ICM), check this profile option.

Note that using the ICM to resolve conflicts is not recommended.


The CRM's sole purpose is to resolve conflicts, while the ICM has
other functions to perform as well. Only set this option to 'YES'
if you have a good reason to do so.
How do I clean out the Concurrent Manager tables?

Cleaning out the tables is a useful method of making sure that there
are no invalid statuses that can prevent the managers from starting.
Previously, this has been done by truncating fnd_concurrent_processes
and/or fnd_concurrent_requests. Truncation of the tables is a little
drastic, and can cause problems later when trying to purge requests,
not to mention losing all of the request information.

Run the script, cmclean.sql, article Note 134007.1 CMCLEAN.SQL - Non


Destructive Script to Clean Concurrent Manager Tables
It will make sure the relevant status codes are valid without
deleting any information.
How do I tell concurrent manager processes apart at the OS level?
What is the syntax for controlling the concurrent manager using startmgr and
concsub in NT?

On NT, the concurrent manager is run as an NT service, you start and


stop the managers using the Services control panel.
See the Applications Installation manual for NT, Appendix A for
details. See pg. 5-9 of this manual for instructions on creating the
concurrent manager service.
Why am I seeing pinging entries like this in the ICM logfile?
PING (0.0.0.0): 56 data bytes

64 bytes from 192.75.91.2: icmp_seq=0 ttl=255 time=0.705 ms


64 bytes from 192.75.91.2: icmp_seq=1 ttl=255 time=1.120 ms
Process monitor session ended : 29-FEB-2000 10:38:43
64 bytes from 192.75.91.2: icmp_seq=2 ttl=255 time=0.985 ms
64 bytes from 192.75.91.2: icmp_seq=3 ttl=255 time=1.006 ms

Pinging other machines is used in Distributed Concurrent Processing. This means you
have DCP turned on, using the environment variable APPLDCP. Set APPLDCP to OFF and
restart the managers.
I hit the Restart button to start the Standard manager, but it still did not
start?Telling a manager to restart just sets the status to Restart. The ICM

will start it the next process monitor session or the next time the
ICM starts. Use Activate to start a manager immediately.
When a manager is deactivated manually, the ICM will not restart
it, you will need to set it to Restart, or activate it manually.

How many rows are in FND_CONCURRENT_REQUESTS and


FND_CONCURRENT_PROCESSES
tables?

Depending on the specification of the system it has been seen that when
tables reach above 3000-4000 rows, the performance begins to diminish, however,
there could be 30000-40000 rows in the tale before the performance begins
to degrade.
You may want to run the Purge Concurrent Request and/or Manager Data on
a regular basis, dependant on the amount of requests being run.
The Purge Concurrent Requests job can be used to purge:

Requests, Mgr logs, and All requests depending on what is chosen.


Use the following options: Enter = All, Mode = AGE, Mode Value = 15
The std.mgr log continuously grows where it may good to
archive it regularly.
Any processes pending in Internal or Conflict Resolution Manager?

Best course of action before starting the Concurrent Managers is to cancel


any "Deactivate" or "Verify" jobs pending in the Internal Manager and place
any other pending jobs on hold.
How do I turn on transaction manager diagnostics?
Set the profile option 'Concurrent:Debug Flags' to 'TCTM1' at the site
level. This will cause transactions to make debug entries in the
FND_CONCURRENT_DEBUG_INFO table. Truncate this table before running a

tranasction, then select the entries from the table.


Starting the managers with diag=Y will also produce more information
in the transaction manager logfile.
How do transaction managers work?

Briefly:
(See the server documentation for details on the DBMS_PIPE package)
1) A tranasction manager is started on the concurrent processing
server, and periodically reads the pipe for incoming transactions.
2) A client program (usually a form) calls the
FND_TRANSACTION.SYNCHRONOUS function.
3) This function writes a message into the pipe containing the program
to be run and its parameters.
4) FND_TRANSACTION.SYNCHRONOUS begins reading a return pipe for the
return status.
5) The manager sees the message in the pipe, retrieves the program id
and parameters.

6) The manager runs the program with the specified parameters. The
program will be of type 'Immediate', so there will not be a
separate concurrent request run.
7) The program completes, and the manager packs its return status into
the return pipe.
8) FND_TRANSACTION.SYNCHRONOUS reads the return value and passes it
back to its caller.

Note that these events take place essentially simultaneously on the


client and server. This is a synchronous transaction because the
client waits for the server to return, or times out waiting for it.
Problem....
When you try to submit a request like Active users or
Active responsibilities, request gets submitted.
When we view the help requests, you find that it is

inactive / nomanager.
Within 12 to 15 seconds, you refresh-it gets completed.
Initially, you could find only inactive and we look at
the diagnostic- the concurrent manager assigned is not
picking up.
There is no specialization rules in any managers except
the include program this source.
Solution....

Most often when this occurs where a request goes


"inactive/no manager" and is then processed a short time
later, the solution is to either increase the cache size
for your Standard manger, or increase the actual number of
Standard manager processes.
Cache Size is set on the CONCURRENT/MANAGER/DEFINE form. Basically,
this regulates how many requests a manager will pick up for each
sleep cycle.
How do I process more concurrent requests concurrently?

The Concurrent Manager parameters, (Query the concurrent manager by


Login as Sysadmin, navigate -> Concurrent -> Manager -> Define and Query for
the relevant concurrent manager), should be modified to handle more
concurrent requests concurrently, this can be done in two steps:
(i) Increase the Number of Target processes for the manager
(ii) Change the cache size of the concurrent manager as this determines
how many requests will be evaluated by a manager at a time and should match the

target (process) value as set above.


Question: How To Delete An Oracle Applications User
Answer: It is not possible. See note 161745.1 for details.
Question: How To Manually Change The APPS, APPLSYS and APPLSYSPUB
Passwords in Oracle Applications
Answer: See Oracle Applications Schema Password Change Utility (FNDCPASS) in
the System Administrator's Guide - Configuration.
Users monitoring (FNDSCMON):
Question: Can you track terminal name of users using Applications?
Answer: No, the Monitor User form does not display the terminal name of the user
that
is logged into the application. See Note 109065.1 for more details

Question: How to Clean Up Inactive Sessions Based on the Information in the Monitor
User Form
Answer: Procedure described in Note 98464.1
Responsibilities definition (FNDSCRSP):
Question: How to exclude menu choises from a new SSWA responsibility
Answer: See Note 107816.1
Question: How to delete a responsibility from Oracle Applications?

Answer: The ability to delete responsibilities is not planned.


Responsibilities cannot be deleted since those records are kept
for security and monitoring purposes. However, responsibilities
can be disabled by assigning an end date to the effective period
Responsibilities ValueSet assignation (FNDRSGRP):
Question: How to Setup Security Rules for an Accounting Flexfield Segment.
Answer: Note 147211.1
Application currency defintion (FNDNLDCX):
Question: How to Activate the Predefined Euro Currency in General Ledger
Answer: See Note 148445.1

Question: How to Disable a Currency in Oracle General Ledger


Answer: See Note 147982.1

Application network testin (FNDPMNET):


Quesion: How to Run Oracle Applications Network Test
Answer : See Note 152508.1

Define profile options (FNDPOMPV):


Quesion: How can you find the name of a needed profile option?
Answer: See Note 50270.1
Miscelaneous FAQs:
Question: Have some performance issues. What doc can be helpfull?
Answer: Note 15476.1 Resolving Locking / Hanging Scenarios

Note 117129.1 How To Get A Trace For And Begin To Analyze A


Performance Issue
Note 100883.1 How to Create a SQL Trace from another session.
Question: How to Determine Which User Submitted a Request that Completed in Error

Answer: See note Note 151121.1


Quesiton: How do you tell what product is installed Full and Shared within
Applications?
Answer: This information can be accessed within Applications from the Alert Manager
Responsibility.
Navigation Path: SYSTEM -> INSTALLATIONS
Question: How to compile an Oracle Reports file or PLL?
Answer:
Windows NT:
Oracle Reports
R25CON32 userid=apps\<psswd> source=<APPL_TOP>\
<product>\srw\filename.rdf dest=%<PRODUCT_TOP>%\srw\filename.rdf
stype=rdffile dtype=rdffile logfile=x.log overwrite=yes batch=yes
dunit=character
PLL File
R25CON32 userid=apps\<psswd> source=<APPL_TOP>\<product>\srw\
filename.rdf dest=%<PRODUCT_TOP>%\srw\filename.rdf
stype=pllfile dtype=pllfile logfile=x.log overwrite=yes batch=yes
dunit=character

UNIX:
Oracle Reports
adrepgen userid=apps\<psswd> source=<$PRODUCT_TOP>\srw\filename.rdf
dest=<$PRODUCT_TOP\srw\filename.rdf
stype=rdffile dtype=rdffile logfile=x.log overwrite=yes batch=yes
dunit=character
PLL File
adrepgen userid=apps\<psswd> source=<$PRODUCT_TOP>\srw\filename.rdf
dest=<$PRODUCT_TOP\srw\filename.rdf
stype=pllfile dtype=pllfile logfile=x.log overwrite=yes batch=yes
dunit=character
Question: How do you test out the Initilization strings used in Applications
Printer
Drivers
Answer:
Windows NT
- Create a sample directory and copy a rpt file into that directory.
- Type: FNDPRESC "init_string" > foo (init_string = the exact
init string used wtihin applications surronuded by double quotes)
- Edit the report file and insert a line at the top of the report.
- Edit the foo file and copy / paste the init string at the inserted

line of the report file.


- Print the file from the command line.
UNIX

- Create a sample directory and copy a rpt file into that directory.
- Type: FNDPRESC "init_string" > foo (init_string = the exact
init string used wtihin applications)
- vi the report file and insert a line at the top of the report.
Shift + o
- vi the foo file and copy / paste the init string at the inserted
line of the report file.
- lp -d<printername> l#####.out
Question: How do you get minutes and seconds for the start time of a concurrent
request
from a SQL*Plus query?
Answer: Issue the following sql statement:
select to_char(actual_start_date,'dd-mon-rr' hh:mi:ss')
from fnd_concurent_requests
where request_id=####;
Question: What is the proper way to change the Applications privileged passwords?
Answer:
- Shutdown the Concurrent Manager

Change the APPS, APPLSYS and APPLSYSPUB passwords at the


Database level
- Change the APPS, APPLSYS and APPLSYSPUB passwords at the
Application level
- Change the APPS password in any Concurent Manager startup
scripts
- See Note 1015596.102 (10.7) and Note 159244.1 (11.0) for details!
Question: How do you find out the module versions in a Binary file on Windows NT?
Answer:
$ cd product_top\bin
$ find\I "$Header" fndlibr.exe
Question: How can I determine the version of a file?
Answer:

oracle apps dba interview questions and answers


February 6, 2009 at 9:43 am | In Oracle Apps | 4 Comments
Tags: apps dba interview questions and answers, restrict apps users, sql to find
pending
and running concurrent requests, start oracle apps restricted, transaction manager,
Transaction Manager Concurrent Manager

1. What happens if the ICM goes down?


2. How will you speed up the patching process?
3. How will you handle an error during patching?
4. Provide a high-level overview of the cloning process and post-clone manual steps

5. Provide an introduction to AutoConfig. How does AutoConfig know which value


from
the XML file needs to be put in which file?
6. Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?
7. What could be wrong if you are unable to view concurrent manager log and output
files?
8. How will you change the location of concurrent manager log and output files?
9. If the user is experiencing performance issues, how will you go about finding
the
cause?

10. How will you change the apps password?


11. Provide the location of the DBC file and explain its significance and how
applications
know the name of the DBC file.
Answers
1. All the other managers will keep working. ICM only takes care of the queue
control
requests, which means starting up and shutting down other concurrent managers.
2.

o You can merge multiple patches.


o You can create a response file for non-interactive patching.
o You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.
3. Look at the log of the failed worker, identify and rectify the error and restart
the
worker using adctrl utility.
4. Run pre-clone on the source (all tiers), duplicate the DB using RMAN (or restore
the
DB from a hot or cold backup), copy the file systems and then run post-clone on the
target (all tiers).
Manual steps (there can be many more):
o Change all non-site profile option values (RapidClone only changes site-level
profile
options).

o Modify workflow and concurrent manager tables.


o Change printers.
5. AutoConfig uses a context file to maintain key configuration files. A context
file is an
XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which
determines which values to pick from the XML file.
6.
o Check guest user/password in the DBC file, profile option guest user/password,
the DB.
o Check whether apache/jserv is up.
o Run IsItWorking, FND_WEB.PING, aoljtest, etc.
7. Most likely the FNDFS listener is down. Look at the value of
OUTFILE_NODE_NAME and LOGFILE_NODE_NAME in the
FND_CONCURRENT_REQUESTS table. Look at the FND_NODES table. Look at the

FNDFS_ entry in tnsnames.ora.


8. The location of log files is determined by parameter $APPLCSF/$APPLLOG and that
of output files by $APPLCSF/$APPLOUT.

9.

o Trace his session (with waits) and use tkprof to analyze the trace file.
o Take a statspack report and analyze it.
o O/s monitoring using top/iostat/sar/vmstat.
o Check for any network bottleneck by using basic tests like ping results.
10.
o Use FNDCPASS to change APPS password.
o Manually modify wdbsvr.app/cgiCMD.dat files.
o Change any DB links pointing from other instances.
11.

o Location: $FND_TOP/secure directory.


o Significance: Points to the DB server amongst other things.
o The application knows the name of the DBC file by using profile option
�Applications
Database Id.�
Set # 1 : Compatibility
On which databases can Oracle Applications be installed on (i.e. Oracle, SQL
Server,
Informix, etc.) ?
Answer :-
Oracle database only.
Set # 2 : FND vs. AOL

What is the difference between �FND� and �AOL� ?


What are they ?
What do they mean ?
Answer:-
FND is the system name of core Application Object Library(AOL).
AOL consists of the entire schema which forms the base layer for Functioning of
Oracle

Applications(without which the Apps can not work).


Set # 3 : Schemas
What is the difference between the following schemas and when are they being
Used by the system :
1) Apps

2) Applsys
3) Applsyspub
Answer :-
Apps is the database schema which used for connecting applications(front end) user
It
internally uses the Applsyspub user for connecting .It comprises synonyms for all
the

individual module�s objects. Concurrent Requests also use the apps db schema for
executing the requests.
Applsys is a schema in oracle applications which contains the information about the
FND
or Foundation Tables.
Applsyspub is the schema which used internally in Oracle Applications (Gateway
User)
by application Users.
Set # 4 : Techstack
What do we mean by Techstack ?
What comprises the Techstack ?
Answer:-
In Oracle Applications the Technical Software Components which comprises of the
entire Applications is called Techstack.

They are
1. Db Techstack.�(Database (Oracle RDBMS ) Software.
2. Applications Techstack.(in 11i the 8.06 (i.e. for forms ,reports and for PL/SQL
and
other libraries) and 8.1.7 for Application Server).(in R12 the releases 10.1.2 and
10.1.3).
Set # 5 : �GL� Database User
When does the system logs in as Database user �gl� and why ?
Answer:-
When using the General Ledger Module Responsibilities the system logs in as
Database
user gl and this is done for database security.
Set # 6 : Password Change

Before changing password for �apps�, what would you say are the top three
Precautions to be taken (before doing in Production) ?
Can we change the password for user �guest� ? Why ?
Answer:-

Ensure that downtime is taken for changing the apps password.


Ensure that no application users are connected
Ensure that no concurrent requests are running .
And make the application tier down and change the apps user password. This is best
approach.
We can change the Guest user�s password. This is done for advanced security

Set # 7 : �xml� vs. �dbc� files


What�s the difference between the �xml� file and the �dbc� file ? How are they
Being used by the system ?
Answer :-
Xml file in oracle Applications is the context file which is maintained by
Autoconfig to
maintain the Applications configuration in a centralized manner.
Dbc file is the file used to connect the application user to the database.
Set # 8 : TWO_TASK
What is the �TWO_TASK� variable ? How does Oracle Applications uses it ?
Answer:-
Oracle Applications System maintains TWO_TASK variable for the applications to work
properly.
It will be common for database tier and application tier. So that from applications
tier
users can connect to the database without issues.
Set # 9 : $AD_TOP
What is $AD_TOP ?
What does �AD� stand for ?
Which type of user mostly uses this directory ?
Answer :-

AD_TOP is the TOP for Application DBA Module which contains all the essential
utilities and files used for maintaining the Oracle Applications System.
AD stand for Applications DBA.
Application DBA�s mostly use this directory.
Set # 10: Workflows

What is a workflow?
How does Oracle Applications uses workflows?
What would be the top three things to monitor for workflows ?
What would be the top three typical questions to ask about workflows ?
Does a Workflow have a version ? If so, how can we find out ?
Answer :

Workflow is a module in Oracle Applications .It is also a Standalone Product.


Normally workflow is used to carry out the flow of work by approving system and
this is mostly used in Order Management.

The top three things to monitor workflow would be.


1.Login as Sysadmin and by using the workflow Administrator web applications
monitor
for any pending or errored out workflows and correct it.
2.Make sure the �Synch workflow tables� concurrent program is running properly
without errors and monitoring the Workflow Managers.
3.Monitor the health of Workflow Notification Mailers .
The Top three typical questions to ask about workflows are.

1.How will you configure a workflow Notification Mailers.


2.How will you navigate and troubleshoot for finding out errored workflow
notifications.
3.How will you troubleshoot that if workflow notification mailer is not working
properly(not sending e-mails).
Workflow has a Version, by executing the wfver.sql in FND_TOP/sql we can find this
component�s version.

How will you find the pending and running concurrent requests from SQL prompt?
after logging as apps user in sqlplus
run this sql $FND_TOP/sql/afrqrun.sql
This will show the pending and running concurrent requests in the instance
Newly Added
What is Transaction Manager(Concurrent Manager) and its purpose?
Ans:-

Transaction Manager is defined so that it has a special pool of database resource


to
execute concurrent requests.
Its not like other concurrent managers and its not dependent on any concurrent
queue
tables. i.e when a client submits concurrent request which is assigned to the
Transaction
Manager then it immediately executes that conc request. This manager is used to run
high
priority concurrent requests.
How can you restrict application access to only certain users?
Ans :- By editing the apps.conf configuration file in Apache/conf directory and
adding
the
directive and by giving
Allow and bouncing the apache

Other users will get 403 forbidden error. You can also customize the error message
in
httpd.conf.
Oracle Apps DBA Interview Questions
1. what is the utility to change the password of a dba schema in oracle apps? Ans:
FNDCPASS

2. what are mandatory users in oracle apps?


Ans: applsys,applsyspub,apps
3. What simplay a oracle Architechture?
Ans: Desktop Tier, Application Tier, Database Tier 5. What are the components in
the
Application Tier?
Ans: Apache(http)
Jserver(jre)

Forms Server(f60srv)
Metric Server(d2ls)
Metric Client(d2lc)
Report Server(rwm60)
Concurrent Server(FNDLIBR)
Discoverer 6.What are main file systems in Oracle Apps?
Ans: APPL_TOP, COMMON_TOP,
DB_TOP,ORA_TOP 7. What are there in Desktop Tier?

Ans: Internet Browser, JInitiator 8. What is the location of JInitiator in the


Desktop Tier?
Ans: c:\program files\oracle\Jinitiator 9. What is the location of client cache?
Ans: c:\documents and settngs\user\oracle jar Cache 10. What is the location of
Server
cache?
Ans: $COMMON_TOP/_pages

11. Which package will be used for the user validation by plsql agent?
Ans: oraclemypage
12. What are adadmin utilities? and Its location?
$AD_TOP/bin
Ans: 1.adadmin

2.adpatch
3.adsplice
4.adident
5.adrelink
6.adlicmgr
13.What are the location of JaVA Files?
Ans: JAVA_TOP and all PRODUCT_TOP/Java/Jar

14. What is the name of the xml file of Apps and its location?
Ans: Context Name.xml and $APPL_TOP/admin
15. what is the location of Apps environment file? and its name?
Ans: contextname.env and $APPL_TOP
16. In how many way Jar files are generated?

Ans: Normal and Force


17. Once Jar files are generated what files get effected?
Ans: All Product_top/java/jar files and Two files in JAVA_TOP they are appsborg.zip
appsborg2.zip

18. How do you see the files in zip file?


Ans: unzip -v
19.How do you generate jar files?
Ans: Using adadmin and option 5
20. How do you start the apps services?
Ans: $COMMON_TOP\admin\scripts\Contextname\adstrtal.sh apps/appspwd
21. What is the executable to generate jar files?
Ans: adjava
22. How do you relink a executable of a product
Ans: by relinking option in adadmin or adrelink
23. How do you relink AD product executable? and usage?
Ans: adrelink.sh and adrelink.sh force=y "ad adsplice"
24.When do you relinking?
Ans: 1. when you miss a executable file
2. When there is a problem with any executable file
3. When any product executable get currupted
25. What is DAD?
Ans: It is a file which stores apps passwords in hard coded format. i.e wdbsvr
26.How do you relink OS files and libraries?
Ans: using make command

27.What is compile scheman option in adadmin?


Ans: This option is used to compile/resolve the invalid objects
28. Where do you get the info about invalid objects?
Ans: from dba_objects where status=invalid

29.How do you compile an obect ?


Ans: alter object_ type objet _name compile. Eg: alter table fnd_nodes compile
30.How do you see the errors of a table or view?
Ans: select text from dba_errors where name='emp_view'
31. How do you see the errors in the db?
Ans: show error
32. How do you compile a schema?
Ans: using utlrp.sql (location is ?/rdbms/admin/) or
going adadmin, compile schema option
33. How do you know how many invalid objects are in specific schema?
Ans: select count(*) from dba_objects where status='INVALID' group by owner;
34. How do you know the package version?
Ans: select text from dba_source where name='package name' and type='PACKAGE
BODY' and rownum<10>/rdbms/admin)
41. How do you load java class to databae?
Ans: loadjava
42. What are restart files? and its location?

Ans: These files contains the previouse session info about adadmin.. location is
$APPL_TOP\admin\sid\restart\*.rf9

43.How do you validate apps schema?


Ans: To validate synonyms, missing sysnonyms and all grant. You can do it in
adadmin.
after validating it iwll produce
a report in the location $APPL_TOP\admin\sid\out\*.out
44. How do you enable maintainance mode?
Ans: using adadmin or running a script called "adsetmmd.sql ENABLE/DISABLE"
(AD_TOP/patch/115/sql)
45.What is APPS_MRC Schema?
Ans: It is used for multi language support. To synchronize APPs schema and
APPS_MRC

46. How to see the version of a script or form or report or etc?


Ans: grep Header adsetmmd.sql or adident Header adsetmmd.sql
strings -a GLXSTEA.fmx grep Header or adident Header GLXSTEA.fmx
47.What is the location of adadmin log?
Ans: $APPL_TOP\admin\sid\log
48. What are the oracle homes in Apps?
Ans: 8.0.6ORACLE_HOME(Dev 6i products) and IAS_ORACLE_HOME (Apache)

49. How do you configure you ipaddress at client side? and server side?
Ans: c:\windows\system32\drivers\etc\hosts and \etc\host
50. What is the location of Datbase server related scripts?
Ans: $ORACLE_HOME\appsutil\scripts\contextname
51. what is the utility to clean the concurrent manager?
Ans: @cmclean.sql ( You have download from metalink)
52. How do you stage the 11.5.10 Apps software?
Ans: using adautostg.pl
53. What is the location of the source files of forms?
Ans: AU_TOP/forms/US/
54. What is the executable to generate forms?
Ans: f60gen

1. How do you Apply a application patch? -> Using adpatch 2. Complete Usage of
adpatch? 1. download the patch in three ways.
a) Using OAM-Open Internet Exploreer->Select Oracle Application Manager-> Navigate
to Patch Wizard -> Select Download Patches -> Give the patch number(more than one
patch give patch numbers separated by comma-> Select option download only->Select
langauge and Platform-> Give date and time-> submit ok Note: Before doing this Your
oracle apps should be configured with metalink credentials and proxy settings
b) If your unix system is configured with metalink then goto your applmgr account
and
issue following command

1.ftp updates.oracle.com
2.Give metalink username and password
3.After connecting, cd patch numbe

4. ls -ltr
5. get patchnumber.zip(select compatiable to OS)
c) Third way is connect to metalink.oracle.com.

1. After logging into metalink with your username and password


2. Goto Quickfind->Select patch numer-> Give patch number->Patch will be displayed-
>Select os type->Select download
3. ftp this patch to your unix environment
2. Apply the patch?

1. unzip downloaded patch using unzip


eg: unzip p6241811_11i_GENERIC.zip
2. Patch directory will be unzip with patch number.
3. Goto that directory read readme.txt completely.
4. Make sure that Middle tier should be down, Oracle apps is in maintainance mode
and
database and listener is UP
5. Note down invalid objects count before patching
6. Goto patch Directory and type adpatch
7. It will ask you some inputs from you like, is this your appl_top,common_top,
logfile
name,sytem pwd, apps pwd, patch directory location, u driver name etc. Provide
everything
2. During Patch What needs to be done?
1. Goto $APPL_TOP/admin/SID/log

2. tail -f patchnumber.log(Monitor this file in another session) 3. tail -f


patchnumber.lgi(Monitor this file in another session) 4. TOP comand in another
session for CPU Usage
3. Adcontroller during patching?

1. During patching if worker fails, restart failed worker using adctrl(You wil find
the
option when u enter into adctrl)
2. If again worker fails, Goto $APPL_TOP/admin/SID/log/workernumber.log
3. Check for the error, fix it restart the worker using adctrl
4. If you the issue was not fixed, If oracle recommends if it can e ignorable, skip
the
worker using adctrl with hidden option 8 and give the worker number
4. Log files during patching?

1. patchnumber.log ($APPL_TOP/admin/SID/LOG/patchnumber.log)
2. patchnumber.lgi($APPL_TOP/admin/SID/LOG/patchnumber.lgi)
3. adworker.log($APPL_TOP/admin/SID/LOG/adworker001.log)
4. l.req($APPL_TOP/admin/SID/LOG/l1248097.req)
5. adrelink.log($APPL_TOP/admin/SID/LOG/adrelink.log)
6. adrelink.lsv($APPL_TOP/admin/SID/LOG/adrelink.lsv)
7.autoconfig.log($APPL_TOP/admin/SID/LOG/autoconfig_3307.log)
5. useful tables for patching?

1. ad_applied_patches->T know patches applied


2. ad_bugs->ugs info
3. fnd_installed_processes
4. ad_deferred_jobs
5. fnd_product_installations(patch level)
6. To know patch Info?
1. You can know whether particular patch is applied or not using ad_applied_patches
or
ad_bugs

2. Using OAM->Patch wizard-> Give patch numer


3. To know mini pack patchest level, family pack patchest level and patch numbers
by
executing script called patchsets.sh(It has to be downloaded from metalink
7. Reduce patch time?
1. using defaults file
2. Different adpatch options you can get these options by typing adpatch
help=y(noautoconfig,nocompiledb,hotpatch,novalidate,nocompilejsp,nocopyportion,noda

tabaseportion,nogenerateportion etc)
3. By merging patches into single file
4. Distributed AD if your appl_top is shared
5. Staged APPL_TOP while in production env
8. Usage of Admerging?

1. You can merge number of patches into single patch


2. create two directories like eg: merge_source and merged_dest
3. Copy all patches directories to merge_source
4. admrgpch -s merge_source -d merged_dest -logfile logfile.log
5. merged patch will be generated into merged_dest directory and driver name wil be
u_merged.drv
8. Usage of Adsplice?

1. Download splice patch, and unzip it


2. Read the readme.txt perfect
3. As per read me, copy following three files to $APPL_TOP/admin

izuprod.txt
izuterr.txt
newprods.txt

4. open newprods.txt using vi and modify the file by giving correct tablespace
names
available in your environment
5. run adsplice in appl_top/admin directory
How to apply India Localization Patches
1. How to apply india Localizatin Patches?
1. We have to install India localization Patch Application Tool by downloading
patch
6491231

2. Copy the downloaded patch to $JA_TOP and unzip the same there
3. A directory inpatch will be created afer unzipping. In which india localization
patch
tool avaialable
4. Go to india localization patch directory
5. use following command
perl $JA_TOP/inpatch/indpatch.pl drvr_file=6355941.drv fnd_patchset=H
appspwd=apps japwd=ja logfile=6355941.log systempwd=manager
fnd_patchset= FND PATCHSET LEVEL

japwd = ja_top password


drv_file=patchnumber.drv file
2. How do you know what are india localization patches applied? Solution : using
JAI_APPLIED_PATCHES

1. what is the utility to change the password of a dba schema in oracle apps? Ans:
FNDCPASS 2. what are mandatory users in oracle apps? Ans: applsys,applsyspub,apps
3. What simplay a oracle Architechture? Ans: Desktop Tier, Application Tier,
Database
Tier 5. What are the components in the Application Tier? Ans: Apache(http)
Jserver(jre)
Forms Server(f60srv) Metric Server(d2ls) Metric Client(d2lc) Report Server(rwm60)
Concurrent Server(FNDLIBR) Discoverer 6.What are main file systems in Oracle Apps?

Ans: APPL_TOP, COMMON_TOP, DB_TOP,ORA_TOP 7. What are there in Desktop Tier? Ans:
Internet Browser, JInitiator 8. What is the location of JInitiator in the Desktop
Tier? Ans: c:\program files\oracle\Jinitiator 9. What is the location of client
cache? Ans:

c:\documents and settngs\user\oracle jar Cache 10. What is the location of Server
cache?
Ans: $COMMON_TOP/_pages 11. Which package will be used for the user validation
by plsql agent? Ans: oraclemypage 12. What are adadmin utilities? and Its location?
$AD_TOP/bin Ans: 1.adadmin 2.adpatch 3.adsplice 4.adident 5.adrelink 6.adlicmgr
13.What are the location of JaVA Files? Ans: JAVA_TOP and all
PRODUCT_TOP/Java/Jar 14. What is the name of the xml file of Apps and its location?
Ans: Context Name.xml and $APPL_TOP/admin 15. what is the location of Apps
environment file? and its name? Ans: contextname.env and $APPL_TOP 16. In how
many way Jar files are generated? Ans: Normal and Force 17. Once Jar files are
generated what files get effected? Ans: All Product_top/java/jar files and Two
files in
JAVA_TOP they are appsborg.zip appsborg2.zip 18. How do you see the files in zip
file?
Ans: unzip -v 19.How do you generate jar files? Ans: Using adadmin and option 5 20.
How do you start the apps services? Ans:
$COMMON_TOP\admin\scripts\Contextname\adstrtal.sh apps/appspwd 21. What is the
executable to generate jar files? Ans: adjava 22. How do you relink a executable of
a
product Ans: by relinking option in adadmin or adrelink 23. How do you relink AD
product executable? and usage? Ans: adrelink.sh and adrelink.sh force=y "ad
adsplice"
24.When do you relinking? Ans: 1. when you miss a executable file 2. When there is
a
problem with any executable file 3. When any product executable get currupted 25.
What
is DAD? Ans: It is a file which stores apps passwords in hard coded format. i.e
wdbsvr
26.How do you relink OS files and libraries? Ans: using make command 27.What is
compile scheman option in adadmin? Ans: This option is used to compile/resolve the

invalid objects 28. Where do you get the info about invalid objects? Ans: from
dba_objects where status=invalid 29.How do you compile an obect ? Ans: alter
object_
type objet _name compile. Eg: alter table fnd_nodes compile 30.How do you see the
errors of a table or view? Ans: select text from dba_errors where name='emp_view'
31.
How do you see the errors in the db? Ans: show error 32. How do you compile a
schema?
Ans: using utlrp.sql (location is ?/rdbms/admin/) or going adadmin, compile schema

option 33. How do you know how many invalid objects are in specific schema? Ans:
select count(*) from dba_objects where status='INVALID' group by owner; 34. How do
you know the package version? Ans: select text from dba_source where name='package
name' and type='PACKAGE BODY' and rownum<10 35.Where do you find package
locks? Ans: v$access 36. Where do you find object locks? Ans: v$locked_object 37.
HOw do you login directly to the apps in the browser? Ans:
http://192.168.0.203:8000/dev60cgi/f60cgi 38.How do you enable direct loing in
oracle
apps 11.5.10 Ans: open the contextname.xml and change to FREE or connect to
apps/apps change the server id in the fnd_nodes to OFF 39.How do you setup the JVM
in
the database? Ans: initjvm.sql (?/rdbms/admin) 40. How do remove the jvm from the
database? Ans: rmjvm.sql(>/rdbms/admin) 41. How do you load java class to databae?
Ans: loadjava 42. What are restart files? and its location? Ans: These files
contains the
previouse session info about adadmin.. location is
$APPL_TOP\admin\sid\restart\*.rf9
43.How do you validate apps schema? Ans: To validate synonyms, missing sysnonyms
and all grant. You can do it in adadmin. after validating it iwll produce a report
in the
location $APPL_TOP\admin\sid\out\*.out 44. How do you enable maintainance mode?
Ans: using adadmin or running a script called "adsetmmd.sql ENABLE/DISABLE"
(AD_TOP/patch/115/sql) 45.What is APPS_MRC Schema? Ans: It is used for multi
language support. To synchronize APPs schema and APPS_MRC 46. How to see the
version of a script or form or report or etc? Ans: grep Header adsetmmd.sql or
adident
Header adsetmmd.sql strings -a GLXSTEA.fmx grep Header or adident Header
GLXSTEA.fmx 47.What is the location of adadmin log? Ans:
$APPL_TOP\admin\sid\log 48. What are the oracle homes in Apps? Ans:
8.0.6ORACLE_HOME(Dev 6i products) and IAS_ORACLE_HOME (Apache) 49. How

do you configure you ipaddress at client side? and server side? Ans:
c:\windows\system32\drivers\etc\hosts and \etc\host 50. What is the location of
Datbase
server related scripts? Ans: $ORACLE_HOME\appsutil\scripts\contextname 51. what is
the utility to clean the concurrent manager? Ans: @cmclean.sql ( You have download
from metalink) 52. How do you stage the 11.5.10 Apps software? Ans: using
adautostg.pl
53. What is the location of the source files of forms? Ans: AU_TOP/forms/US/ 54.
What
is the executable to generate forms? Ans: f60gen

oracle apps dba interview questions and answers


February 6, 2009 at 9:43 am | In Oracle Apps | 4 Comments
Tags: apps dba interview questions and answers, restrict apps users, sql to find
pending
and running concurrent requests, start oracle apps restricted, transaction manager,
Transaction Manager Concurrent Manager

1. What happens if the ICM goes down?


2. How will you speed up the patching process?
3. How will you handle an error during patching?
4. Provide a high-level overview of the cloning process and post-clone manual
steps.
5. Provide an introduction to AutoConfig. How does AutoConfig know which value from
the XML file needs to be put in which file?
6. Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?
7. What could be wrong if you are unable to view concurrent manager log and output
files?
8. How will you change the location of concurrent manager log and output files?
9. If the user is experiencing performance issues, how will you go about finding
the
cause?

10. How will you change the apps password?


11. Provide the location of the DBC file and explain its significance and how
applications
know the name of the DBC file.
Answers
1. All the other managers will keep working. ICM only takes care of the queue
control
requests, which means starting up and shutting down other concurrent managers.
2.

o You can merge multiple patches.


o You can create a response file for non-interactive patching.
o You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.
3. Look at the log of the failed worker, identify and rectify the error and restart
the
worker using adctrl utility.
4. Run pre-clone on the source (all tiers), duplicate the DB using RMAN (or restore
the
DB from a hot or cold backup), copy the file systems and then run post-clone on the
target (all tiers).
Manual steps (there can be many more):
o Change all non-site profile option values (RapidClone only changes site-level
profile
options).

o Modify workflow and concurrent manager tables.


o Change printers.
5. AutoConfig uses a context file to maintain key configuration files. A context
file is an
XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which
determines which values to pick from the XML file.
6.

o Check guest user/password in the DBC file, profile option guest user/password,
the DB.
o Check whether apache/jserv is up.
o Run IsItWorking, FND_WEB.PING, aoljtest, etc.
7. Most likely the FNDFS listener is down. Look at the value of
OUTFILE_NODE_NAME and LOGFILE_NODE_NAME in the

FND_CONCURRENT_REQUESTS table. Look at the FND_NODES table. Look at the

FNDFS_ entry in tnsnames.ora.


8. The location of log files is determined by parameter $APPLCSF/$APPLLOG and that
of output files by $APPLCSF/$APPLOUT.
9.

o Trace his session (with waits) and use tkprof to analyze the trace file.
o Take a statspack report and analyze it.
o O/s monitoring using top/iostat/sar/vmstat.
o Check for any network bottleneck by using basic tests like ping results.
10.
o Use FNDCPASS to change APPS password.
o Manually modify wdbsvr.app/cgiCMD.dat files.
o Change any DB links pointing from other instances.
11.

o Location: $FND_TOP/secure directory.


o Significance: Points to the DB server amongst other things.
o The application knows the name of the DBC file by using profile option
�Applications
Database Id.�
Set # 1 : Compatibility
On which databases can Oracle Applications be installed on (i.e. Oracle, SQL
Server,
Informix, etc.) ?
Answer :-
Oracle database only.
Set # 2 : FND vs. AOL

What is the difference between �FND� and �AOL� ?


What are they ?
What do they mean ?
Answer:-
FND is the system name of core Application Object Library(AOL).
AOL consists of the entire schema which forms the base layer for Functioning of
Oracle

Applications(without which the Apps can not work).


Set # 3 : Schemas
What is the difference between the following schemas and when are they being
Used by the system :
1) Apps
2) Applsys
3) Applsyspub

Answer :-

Apps is the database schema which used for connecting applications(front end) user
It internally uses the Applsyspub user for connecting .It comprises synonyms for
all the individual module�s objects. Concurrent Requests also use the apps db
schema for executing the requests.
Applsys is a schema in oracle applications which contains the information about the
FND
or Foundation Tables.
Applsyspub is the schema which used internally in Oracle Applications (Gateway
User)
by application Users.
Set # 4 : Techstack
What do we mean by Techstack ?
What comprises the Techstack ?
Answer:-
In Oracle Applications the Technical Software Components which comprises of the
entire Applications is called Techstack.

They are
1. Db Techstack.�(Database (Oracle RDBMS ) Software.
2. Applications Techstack.(in 11i the 8.06 (i.e. for forms ,reports and for PL/SQL
and
other libraries) and 8.1.7 for Application Server).(in R12 the releases 10.1.2 and
10.1.3).
Set # 5 : �GL� Database User
When does the system logs in as Database user �gl� and why ?
Answer:-
When using the General Ledger Module Responsibilities the system logs in as
Database
user gl and this is done for database security.
Set # 6 : Password Change

Before changing password for �apps�, what would you say are the top three
Precautions to be taken (before doing in Production) ?
Can we change the password for user �guest� ? Why ?
Answer:-

Ensure that downtime is taken for changing the apps password.


Ensure that no application users are connected
Ensure that no concurrent requests are running .
And make the application tier down and change the apps user password. This is best
approach

We can change the Guest user�s password. This is done for advanced security.
Set # 7 : �xml� vs. �dbc� files
What�s the difference between the �xml� file and the �dbc� file ? How are they
Being used by the system ?
Answer :-
Xml file in oracle Applications is the context file which is maintained by
Autoconfig to
maintain the Applications configuration in a centralized manner.
Dbc file is the file used to connect the application user to the database.
Set # 8 : TWO_TASK
What is the �TWO_TASK� variable ? How does Oracle Applications uses it ?
Answer:-
Oracle Applications System maintains TWO_TASK variable for the applications to work
properly.
It will be common for database tier and application tier. So that from applications
tier
users can connect to the database without issues.
Set # 9 : $AD_TOP
What is $AD_TOP ?
What does �AD� stand for ?
Which type of user mostly uses this directory ?
Answer :-

AD_TOP is the TOP for Application DBA Module which contains all the essential
utilities and files used for maintaining the Oracle Applications System.
AD stand for Applications DBA.
Application DBA�s mostly use this directory.
Set # 10: Workflows

What is a workflow?
How does Oracle Applications uses workflows?
What would be the top three things to monitor for workflows ?
What would be the top three typical questions to ask about workflows ?
Does a Workflow have a version ? If so, how can we find out ?

Answer :-

Workflow is a module in Oracle Applications .It is also a Standalone Product.


Normally workflow is used to carry out the flow of work by approving system and
this is mostly used in Order Management.

The top three things to monitor workflow would be.


1.Login as Sysadmin and by using the workflow Administrator web applications
monitor
for any pending or errored out workflows and correct it.
2.Make sure the �Synch workflow tables� concurrent program is running properly
without errors and monitoring the Workflow Managers.
3.Monitor the health of Workflow Notification Mailers .
The Top three typical questions to ask about workflows are.
1.How will you configure a workflow Notification Mailers.
2.How will you navigate and troubleshoot for finding out errored workflow
notifications.
3.How will you troubleshoot that if workflow notification mailer is not working
properly(not sending e-mails).
Workflow has a Version, by executing the wfver.sql in FND_TOP/sql we can find this
component�s version.

How will you find the pending and running concurrent requests from SQL prompt?
after logging as apps user in sqlplus
run this sql $FND_TOP/sql/afrqrun.sql
This will show the pending and running concurrent requests in the instance
Newly Added
What is Transaction Manager(Concurrent Manager) and its purpose?
Ans:-

Transaction Manager is defined so that it has a special pool of database resource


to
execute concurrent requests.
Its not like other concurrent managers and its not dependent on any concurrent
queue
tables. i.e when a client submits concurrent request which is assigned to the
Transaction
Manager then it immediately executes that conc request. This manager is used to run
high
priority concurrent requests.
How can you restrict application access to only certain users?
Ans :- By editing the apps.conf configuration file in Apache/conf directory and
adding
the

directive and by giving


Allow and bouncing the apache.
Other users will get 403 forbidden error. You can also customize the error message
in
httpd.conf.
Oracle Apps DBA - FAQ

?? Explain about Oracle Applications 11i architecture.


Internet Computing Architecture is a framework for three-tiered, distributed
computing
that supports Oracle Applications products. The three tiers are the database tier,
which
manages Oracle8i database; the application tier, which manages Oracle Applications
and
other tools; and the desktop tier, which provides the user interface display. With
Internet
Computing Architecture, only the presentation layer of Oracle Applications is on
the
desktop tier in the form of a plug-in to a standard Internet browser.
� What is Technology Stack?
The key components of the technology stack are:
1. Database Server: This is the Oracle Database engine, and hardly needs any
introduction. The version being deployed with Applications 11i is 8i (8.1.6.1.0),
although
as reviewed later on we still need two ORACLE_HOMES on the application stack
(8.1.6.1.0, and 8.0.6.0.0).
2. Forms Server: This is a combination of a Apache HTTP listener process and the
Oracle
Forms 6.0 server. Since Forms 6.0 is certified with Oracle 8.0.6, we need an Oracle
8.0.6
Home on the Forms Server.
3. Reports Server (version 6.i): This normally runs on the database server. At
Legerity,
we use a mixture of Oracle Discoverer and third-party tools for our reporting
requirements. Discoverer is an optional component of the End User Layer and is used
for
Business Intelligence functions. Oracle Graphics is a component which runs closely
with
Oracle Reports.
4. Self Service/Web/CRM: In this interface, the end users view HTML pages served by
HTTP listeners of the Apache Web Server .
5. Concurrent Processing Server: The concurrent processing server runs each of the
jobs
submitted by the Oracle Applications software. These may be interactive jobs, such
as
print a specific invoice, or an automated process such as analyze all database
objects. At
our implementation we kept concurrent processing on the same physical tier as the
database server.
6. Administration Server: Each of the other tech stacks needs an administration
component in order to perform tasks such as patching the stack, re-linking
executables and re-creating Java Archives. As a consequence, an Administration
component is present on the database server, Concurrent Manager server, forms
server
and Web server. The utilities adpatch and adadmin are part of the Administration
tech
stack.

7. Thin Client Framework (TCF Server): Since release 11 of Oracle Applications,


certain
product forms support graphical display of hierarchical data using Java Applets. At
Legerity�s implementation, our MRP module used the TCF Server process for viewing a
tree during �pegging�. It comprises of a TCF listener process called SocketServer
which
can be configured using either HTTP/HTTPS/Socket mode. On Unix, the command jre

oracle.apps.fnd.tcf.ServerControl <port#> status tells you about the status of the


listener
process.

8. HTTP/Web Listeners: In Apps 11.5.1, WebDb 2.2, WebDB 2.5 and the Apache Server
(version 1.3.9) facilitate communication between the above components and the
client.
From Apps version 11.5.2, WebDb 2.2 and 2.5 have been replaced by the Apache Server
(1.3.9).
9. Java: The Java environment is used heavily in Apps 11i. In release 11.5.1, the
components are Java Runtime Environment 1.1.8 (JRE 1.1.8), Java Development Kit
1.1.8 (JDK 1.1.8) and Jserv 1.1.
10. JInitiator: This Browser Plug in (version 1.1.7.27) is installed on the client,
which in
most cases is a PC. The cloning techniques discussed here should obviate the need
for
any cloning required on the client/PC. Version 1.1.7.27 has been replaced by a
higher
version, since the original install of 11.5.1.
?? Where are all form objects(.fmbs) will be available?
AU_TOP is the place where all the form objects, jsp of all the modules will be
placed. It
will place its executable to respective PROD_TOP after compiling the .fmb.
?? What is the utility used when migrating from 11 to 11i?
To upgrade forms, the form can be directly compiled in next release(forms 6i) Form
can
be compiled by using ifcmp60.exe flint60 batch executable can be used to check
whether
the form is compatible to apps or not
?? What is an interface ?
Integrating one application to other applications It involves Data file, insertion
scripts,
loader scripts, Temp tables Data file is a flat file having contents with
delimitter insertion
scripts are used to insert data into product tables from temp table loader scripts
are also
called as control files which are used insert data from data file to temp table.
Temp tables
are used to transfer data from one module to another or application
?? Advantage of Securing Attributes while Creating User & Responsibility?
Securing attributes allow rows (records) of data to be visible to specified users
or
responsibilities based on the specific data (attribute value) contained in the row.
This is
basically for Oracle Self-service web application for data security
?? What is Alert in Apps? How to register it? How it supports Different languages
Oracle Alerts allows you to monitor your business information. It enables you to:
Be
informed of database exceptions as they happen Specify the exception conditions
along
with frequency Be informed through a single point through email Take actions you
specify depending on a recipient's response Perform routine database tasks
automatically
Integrate email systems
?? What is flex-field?
An Oracle Applications field made up of segments. Each segment has an assigned name
and a set of valid values. Oracle Applications uses flexfields to capture
information about
your organization. There are two types of flexfields: key flexfields and
descriptive
flexfields.

?? What is Descriptive Flex-Field?


A flexfield is a field made up of segments. Each segment has a name you or your end
users assign, and a set of valid values. There are two types of flexfields: key
flexfields
and descriptive flexfields. Descriptive flexfields let you satisfy different groups
of users
254

without having to reprogram your application, by letting you provide customizable


�expansion space� on your forms.
?? Give an example of Key-FlexField.
In another example, Oracle General Ledger uses a key flexfield called the
Accounting
Flexfield to uniquely identify a general ledger account.At Oracle, we have
customized
this Accounting Flexfield to include six segments: company code, cost center,
account,
product, product line, and sub�account.
?? Difference between KFF & DFF?
A flexfield is a field made up of sub fields, or segments. A flexfield appears on
your form
as a pop up window that contains a prompt for each segment. Each segment has a name
and a set of valid values. There are two types of flexfields: key flexfields and
descriptive
flexfields. Key flexfields are flexible enough to let any organization use the code
scheme
they want, without programming.
Descriptive flexfields provide customizable expansion space on your forms. You can
use
descriptive flexfields to track additional information, important and unique to
your
business, that would not otherwise be captured by the form. Descriptive flexfields
can be
context sensitive, where the information your application stores depends on other
values
your users enter in other parts of the form. A descriptive flexfield appears on a
form as a
single character, unnamed field enclosed in brackets. Just like in a key flexfield,
a pop up
window appears when you move your cursor into a customized descriptive flexfield.
And
like a key flexfield, the pop up window has as many fields as your organization
needs.
?? How to determine whether the form is AOL compliant or not?
Manually checking the code in certain form events flint60.exe utility can be used
to
check whether the form is having AOL standard or not
?? Why we have to use Profile options?
A user profile is a collection of changeable options that affect the way your
applications
run. Oracle Applications establishes a value for each option in a user�s profile
when the
user logs on or changes responsibility. Oracle Applications provides these options
so that
you can alter the behavior of your applications to suit your own preferences.
?? What are different Handlers in Apps Coding Standards?
Oracle Applications uses groups of packaged procedures, called handlers, to
organize
PL/SQL code in forms so that it is easier to develop, maintain, and debug. Handlers
may
reside in program units in the form itself, in form libraries, or in stored
packages in the
database as appropriate.
Item Handlers An item handler is a PL/SQL procedure that encapsulates all of the
code
that acts upon an item. Most of the validation, defaulting, and behavior logic for
an item
is typically in an item handler.
Event Handlers An event handler is a PL/SQL procedure that encapsulates all of the
code
that acts upon an event. Usually event handlers exist to satisfy -requirements of
either
Oracle Forms or the Oracle Applications User Interface Standards for Forms�Based
Products, as opposed to particular business requirements for a product.
Table Handlers A table handler encapsulates all of the code that manages
interactions
between a block and its base table. When an updatable block is based on a view, you
must supply procedures to manage the insert, update, lock and delete. Referential
integrity checks often require additional procedures. Table handlers may reside on
either
the forms server or the database, depending on their size and the amount of
interaction

with the database, but they typically reside in the database.


?? What is Custom.pll ? Restrictions & Advantages?
The CUSTOM library allows extension of Oracle Applications without modification of
Oracle Applications code. You can use the CUSTOM library for customizations such as
Zoom (such as moving to another form and querying up specific records), enforcing
business rules (forexample, vendor name must be in uppercase letters), and
disabling
fields that do not apply for your site.
?? What is Folder? Use?
A flexible entry and display window in which you can choose the fields you want to
see
and where each appears in the window.
?? Function Security?
Function security lets you restrict application functionality to authorized users.
Application developers register functions when they develop forms. A System
Administrator administers function security by creating responsibilities that
include or
exclude particular functions. A function is a part of an application�s
functionality that is
registered under a unique name for the purpose of assigning it to, or excluding it
from, a
responsibility. There are two types of functions: form functions, and non�form
functions.
For clarity, we refer to a form function as a form, and a non�form function as a
subfunction, even though both are just instances of functions in the database.
?? What are various Execution methods of concurrent programs
The execution method identifies the concurrent program executable type and the
method
Oracle Application Object Library uses to execute it. An execution method can be a
PL/SQL Stored Procedure, an Oracle Tool such as Oracle Reports or SQL*Plus, a
spawned process, or an operating system host language.
?? What is Zoom feature in Apps?
Moving to another form and performing actions querying up specific records) Zoom :
The addition of user�invoked logic on a per�block basis. A Zoom typically consists
of
opening another form and (optionally) passing parameter values to the opened form
through the Zoom logic.
?? What is AOL?
Set of Standards and objects used by Oracle Applications to develop and maintain
Oracle
Applications
?? How can you find out the version of a Oracle Apps System?
The column RELEAS_NAME of the table FND_PRODUCT_GROUPS gives you the

exact version of the Oracle apps like 11.5.8 or 11.5.9. It also has columns that
tells us
whether Multi-org/MRC is installed.
?? How do you relink Oracle�s Executable?
There are two ways of relinking the oracle executable.
- One way is using Oracle Universal Installer � this is recommended.
- Other way is use make command:

$make -f ins_rdbms.mk ioracle


?? How do you change the Password in Oracle applications:
Use FNDCPASS utility to change the password of APPS, Schema Users and
Application�s Users in an Oracle apps 11i Environment. One should not change by any
other means.
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 SYSADMIN WELCOME
However, after changing APPS password, you need to edit the wdbsvr.app file at
$iAS_TOP/Apache/modplsql/cfg
?? How do you set the color and Title at logon screen of the Oracle applications?
The ICXINDEX.htm file at $OA_HTML will have the color scheme which can be

changed with a combination of RBG (against �#FFFFFF�). Similarly you can set title
using HTML tags.
?? How do you change the Logo that is displayed at the time of logging with yo
Company�s logo?
There is a file logo.gif available at $OA_MEDIA. Copy your company�s logo file here
and rename it to logo.gif. this is the file read and displayed on the login screen
?? How do you compile a Report:
To Compile a report, use:
rwcon60 userid=scott/tiger@bs817 batch=yes source=repport.rdf stype=rdffile
dtype=repfile overwrite=yes
?? How do you compile a form?
To copile a form, Run:
f60gen module= .fmb userid=apps/apps compile_All=Special
?? How do you compile the JSPs?
Use: perl -x $APPL_TOP/jpl/jtf/11.5.0/admin/scripts/ojspCompile.pl to compile the
JSPs
if required to be done manually.
?? What is a "Shared APPL_TOP"?
A traditional multi-node installation requires the Applications file system on each
node in

the system. In a Shared APPL_TOP installation, the APPL_TOP and the


COMMON_TOP file systems are installed on a shared disk resource mounted to each
node in the system. These nodes can be used to provide standard application tier
services,
such as Forms, Web, and Concurrent processing. Any changes made in the shared
APPL_TOP file system are immediately visible on all nodes.
Notes:

- Sharing is possible across binary compatible platforms. So, APPL_TOP's of Solaris


2.6
and 8 can be shareable where as Solaris and AIX is not possible.
- You can merge two APPL_TOPs only if patch set level is same for both.
?? What is FNDCPPUR program?
Whenever a concurrent manager is started, it loads one record into FND_DUAL and
also
it will load records during run time as well. Also it inserts records into

FND_CONCURRENT_REQUESTS and FND_CONCURRENT_PROCESSES tables which also need a


purging. FNCPPUR is a concurrent program that purges these tables on a periodical
basis.

?? How do you remove Java Cache cache?


Follow the below steps to remove Java Cache at Apache:
1. Stop Apache
2. Delete Apache cache:
$ cd $OA_HTML/
$ cd _pages
$cd oa__html // there is underscore �_� written twice here. After �oa�

$ rm *
3. Start Apache
?? What is MRC?:

The Multiple Reporting Currencies (MRC) feature in Oracle Applications allows you
to
report and maintain accounting records at the transaction level in more than one
functional currency. The Multiple Reporting Currencies feature is available in
Release 11
of Oracle Applications.
You do this by defining one or more reporting sets of books, in addition to your
primary
set of books. In your reporting sets of books, you maintain records in a functional
currency other than your primary functional currency. Primary functional currency
is the
currency you use to record transactions and maintain your accounting data within
Oracle
Applications.

?? How do you find out a Unix process ID of a concurrent request?


If you know the Unix process ID and you want to know for which concurrent request,
it
belongs to:
Select request_id from fnd_concurrent_requests where oracle_process_id=<PID>.
If you know the Request_ID from the concurrent request screen of the Oracle apps,
then
you can find the PID by:
Select oracle_process_id from fnd_concurrent_requests where request_id=<ID obtained
from Apps>

?? How do you know the block size of O/S?


df �g will give you the block size against each mount partition of the devices.
?? How do you collect Statistics in Oracle Apps?
It Oracle we use DBMS_STATS package to compute the statistics required by a CBO.
However Oracle recommends to use FND_STATS package and NOT the DBMS_STATS

package in Oracle apps environment. The usage is as below:


exec fnd_stats.gather_schema_statistics('ONT') < For a specific schema >
exec fnd_stats.gather_schema_statistics('ALL') < For all schemas >
?? How do you change SID and/or DBID of a Database Indtance?
The following steps will lead you to change of Database Name automatically without
need of any manual change.
1. Backup the database
2. SHUTDOWN IMMEDIATE of the database
3. STARTUP MOUNT
4. Open one session and run NID with sysdba privileges
% nid TARGET=SYS/password@test_db DBNAME=test_db2 SETNAME=Y

- the value of DBNAME is the new dbname of the database


- SETNAME must be set to Y. The default is N and causes the
DBID to be changed also.
5. shutdown IMMEDIATE of the database
6. Set the DB_NAME initialization parameter in the initialization parameter
file to the new database name
7. Create a new password file
8. Startup of the database(without resetlogs)
Note: If you want the DBID alone to be changed, the use:
% nid TARGET=SYS/password@test_db

If you dont want Database as well as DBID to be changed, then


% nid TARGET=SYS/password@test_db DBNAME=test_db2

?? What is the difference between request set and Request group?


Request Group:
It is the group of all the requests bundled together and attached to a particular
responsibilities. These requests can be of the same application or combination of
reports
of different applications. When attached to a responsibility, the user will have
the access
to all the reports of the �Rquest group�
Request Set:
It is the set of all concurrent requests(reports) which are arranged in such a way
that when
run this set as a single request, all the requests defined under this request set
will be
executed as per the sequence. This is useful if a set of reports need to be fired
sequentially and on regular basis. We need not keep a track of the sequence, but
the
request set will take care of that.
Release 12 Apps DBA 101
john.stouffer@trioragroup.com
www.trioragroup.com
Presentation Objectives
�Learn about the new features, functionality and utilities available with Release
12
�We will also cover patching strategy and patch
nuances that have changed from Release 11i
Release 12 Basics
�Release 12 aka R12
�Each new point release of R12 is packaged in a RUP (Release Update Pack)

�Current R12 RUPs are 12.0.1, 12.0.2, 12.0.3 and


�Oracle releases a new RUP for Release 12 every
three months concurrent with the quarterly CPU
�RUPs may include stub applications, performance
improvements and new or enhanced functionality
�Read the Release Content Documents (RCDs) on
MetaLink to see what changed between RUPs
12.0.4
Release 12 Basics

�Release 12 is constantly changing


�Release 12 RUPs contain the latest Apps CPU patch
�Certain patches should be applied on a regular schedule (e.g. quarterly Critical
Patch
Updates)
�When you install Release 12, you install all modules, whether you license them or
not
(200+)
�Quarterly Release 12 upgrade packs (RUPs) can change/add functionality and/or
technology

Applications Technology (ATG) or pseudo products are an integrated set of modules


used by all of the other modules: FND, OAM, OWF, FWK, JTT, JTA, TXK, XDO, ECX,
EC, AK, ALR, UMX, BNE, and FRM
Release 11i Architecture Components
User Interface Application Logic Database Logic

User Interface Application Logic Database Logic


R11i and R12 Multi-Tiered Architecture
� Desktop Tier
�R11i -uses a browser and JInitiator or Sun J2SE Plug-In
�R12 � uses a browser and Sun J2SE Plug-in
Desktop Tier -The Case for Sun J2SE
�JInitiator 1.1.8 for R11i desupported Dec 2008
�JInitiator 1.3 desupport announcement pending
�Sun J2SE required for R12
�Sun J2SE includes all features that JInitiator enhanced to support Oracle Forms
�Upgrading directly to Sun J2SE is less disruptive than going from 1.1.8 to 1.3 to
Sun
J2SE
�Sun J2SE eliminates the need for Oracle to support their patched JInitiator
versions of
Sun�ssoftware
R11i and R12 Multi-Tiered Architecture
� Application (Middle) Tier
�The Application Tier holds the code that users run against the database
�R11i -Web Services, Forms Server, Report Server (optional), Concurrent Processing
Server and an Admin Server
�R12 -Web Services, Forms Server, Concurrent Processing Server and an Admin Server
�R11i -uses iAS 1.0.2.2.2 (JServ)
R11i and R12 Multi-Tiered Architecture
� Application (Middle) Tier
� R12 uses Oracle Application Server 10g
�OracleAS 10g 10.1.2 � Forms � equivalent to the R11i
8.0.6 ORACLE_HOME
�OracleAS 10g 10.1.3 � the Web Server and Oracle Containers for Java (OCJ4) �
equivalent to the R11i 8.1.7 ORACLE_HOME
�Note � �Server Partitioned� --> �Split Configuration� --> �Mixed Platform
Architecture�

�Oracle JDeveloper 10.1.3


�JDBC 10.2
�Provides more functionality than R11i JServ
JServ versus 10g AS

�Release 11i JServ -a simple Java apps server that supports JSP and Servlets, and
little else
�Release 12 Oracle Application Server 10g
�supports Sun�s Java Enterprise Edition version
1.4 (Java EE 1.4) programming standards

�Includes Oracle Identity Management for security


�Supports BPEL in an OC4J Container
�Latest version of OID for E-Business Suite is
10.1.4
JServ versus 10g AS
� Release 12 OAS 10g

� Uses OCJ4 (Oracle Containers for Java)


�Supports multiple instances of OCJ4, not for scalability (which was why you could
have
multiple JServ instances), but for division of processing
�Each instance of OCJ4 is used as a compartment to
contain one portion of the OAS 10g functionality
�This allows the individual instances to be tuned for their actual workload, and
helps to
prevent them from competing for resources
�Oracle Process Manager and Notification Server
Administrator�s Guide 10g Release 3 (10.1.3)

�Installed and configured with every Oracle Application Server


�Essential for running Oracle Application Server
�An integrated way to manage all Oracle Application Server components
includingDiscoverer, OCJ4, etc.
�Checks to see if a service has terminated and tries to restart the service
automatically
(deathdetection)
�Dynamic Resource Management (DRM) � you can customize process management
�Spawn an additional OC4J process if average response time exceeds a threshold and
if
there are less than four processes

�Start an additional OC4J process every day at 5pm for peak hours
�Resource Management Directive (RMD) tells DRM when and what to do -Directives are
configured in opmn.xml
�Creates a file for each managed process and can rotate log files
R11i and R12 Multi-Tiered Architecture
� Database Tier
�R11i -runs Oracle 9iR2 or Oracle 10g
�R12 � Oracle 10g
Database Tier � Oracle 10g

�Performance � PL/SQL 2x faster


�Manageability -Automatic Workload Repository (AWR) and Automatic SGA Tuning
�Optimizer Improvements
�Oracle 10.2.0.3 is certified with R12 Version 12.0.2 or higher
�Oracle Database Vault recently certified for R11i, still waiting for certification
with
Release 12

The most important reason for upgrading to Oracle 10g is that it is in Premier
Support,
and Oracle 9i is in Extended Support = $$$

�Oracle Enterprise Manager (OEM)


�Oracle Applications Manager (OAM)
�Application Management Pack (AMP) -$$

�Patching
�Cloning
�AutoConfig
�Diagnostics
Administration and Maintenance Tools
Oracle Enterprise Manager (OEM)
�Oracle Enterprise Manager 10g Grid Control
�Monitor E-Business Suite performance,
availability and configuration changes
�Can monitor multiple E-Business systems
�Can drill down into Oracle Applications Manager (OAM)
�MetaLink Note: 394448.1
Oracle Applications Manager (OAM)
� OAM
�Patch Wizard recommends patches, provides details about what a patch will change,
and
shows what patches have modified a specific file
�Recommended tool for making changes to
context_file.xml (AutoConfig)
�License Manager enables licensed E-Business Suite modules
Oracle Applications Manager (OAM)
� OAM
�Administer concurrent managers and workflow components
�Includes Diagnostic Wizards for Concurrent Manager Recovery, Service
Infrastructure,
GCS and Forms Monitoring, CP Signature and Dashboard Collection Signature
�Provides a menu-driven system to set up, run and view Diagnostics
�MetaLink Note: 225024.1
Applications Management Pack (AMP)

�Oracle Applications Management Pack for Oracle E-Business Suite with EM Grid
Control 10gR3 (10.2.0.3)*
�Extends Enterprise Manager 10g Grid Control
�Can purchase for Oracle Applications installation -$$
�Integrates OAM with Grid Control to provide a consolidated end-to-end E-Business
Suite
management solution
Applications Management Pack (AMP)
�Monitors your system for security problems, usage characteristics, configuration
changes
and performance

�Key Capabilities:
�Automated Cloning *
�Automatic Discovery of E-Business Suite Systems
�Configuration Management
�Service Level Management
Applications Management Pack (AMP)

�AMP monitors Oracle Applications Service, Oracle Applications Infrastructure


Service,
Concurrent Processing Service, Forms Applications Service, Concurrent Manager,
Workflow, Custom Objects, Patch Information
�Use AMP to Clone � but read MetaLink Note: 412044.1 �Application Management Pack
for Oracle E-Business Suite Release 1.0 and 2.0.1 Troubleshooting Guide� carefully

Latest AMP Version 2.0.1 addresses many cloning issues
�Clone with Data Scrambling (Data Masking)
�MetaLink Note: 394448.1
Should We Upgrade to R12?
�Release 11.5.10 software is 4 years old
�End of life for 11.5.10.2 is 2009. Why would you upgrade to a release whose
support is
ending? 10% Cost�
�New/improved modules � the biggest difference for Release 12 is on the functional
side;
much more so than the technical side

�Swan Interface � enhanced user interface


�If you are planning an upgrade, you should considerupgrading to Release 12
�If the software is stable, always upgrade to the latest release
�Release 12 is stable!

�Fusion Applications Release at the End of 2008


MUST We Upgrade to R12?
Premier, Extended or Sustaining Support?
�Premier Support
� Includes certification with new third party
products/versions and Oracle products

�Extended Support
�Costs more than Premium Support
�Certification is with most existing instead of new third party products/versions
and
Oracle products
�Extended Support may not include certification with some new third-party
products/versions
�So if you find a new problem with an existing certified configuration, Oracle
Support will
help you
�If you�re still running Oracle 9i you�re on Extended Support (which ends July
2010)

270

MUST We Upgrade to R12?


� What�s the risk to not upgrading?
�Oracle releases a new CPU every quarter
� The biggest risks -Security / Performance

�Critical Patch Updates (CPUs)


�CPUs address security vulnerabilities
�R12 Apps CPUs are cumulative �
�Release 12.0.4 includes the Jan 2008 CPU �
MUST We Upgrade to R12?
� What�s the risk to not upgrading?
�Oracle follows strict compliance with ATG_PF RUP policy (N-1)
�January 2008 CPU will only support ATG RUP 5 and RUP 6
�To stay current on security, you must stay relatively current on ATG RUPs, which
means
you must stayrelatively current on which Release of theApplications you are running

If Sarbanes-Oxley compliance is important to yourcompany, can you afford to fall


behind
on securityupdates?
�If you know there�s a Critical Patch Update, and youknow what vulnerabilities it
fixes, so
do hackers
Upgrade Paths

�Dual Phase Upgrade


�Earlier releases (< 11.5.7) must upgrade to 11.5.10.2 first, then Release 12.
�If not on latest certified Oracle 10g, must upgrade to it before upgrading to
Release 12.
�Two phases do not have to occur during the same critical downtime.
�Use OATM Migration Utility to upgrade to Oracle Applications Tablespace Model
(OATM)
�Single Phase Upgrade

11.5.7 and later releases must upgrade to Oracle 10g (should upgrade to latest
certified, currently 10gR3) if not there already and Release 12 during the same
critical downtime
Which Tool Does What?

Rapid Install Wizard -Fresh Install of E-Business Suite AutoConfig � manages


configuration files (httpd.conf, appsweb.cfg) MetaLink Note: 387859.1 Applications
Patching -AutoPatch
� Upgrading E-Business Suite from R11i to R12 *

� Applying an R12 RUP, a Family Pack, Mini-Pack, etc. Database and CPU Patching �
OPatch and N-apply Diagnostics � a set of non-intrusive programs that can be run to
gather information about aspects of the applications Oracle Integration Repository
(iRep)
� Shows all interfaces in the E-Business Suite for R11i
Rapid Install Wizard
� If you are installing the Applications
� Rapid Install Wizard installs the ORACLE_HOMEs and databases, and the APPL_TOP
and COMMON_TOP directories that contain the Applications code
Rapid Install Wizard
� Instance Home

�New for Release 12


�$INST_TOP
�$ORACLE_BASE/inst/apps/context_name
�context_name is the dbsid_host
�Facilitates shared application file system for multi-node configurations
AutoConfig
�Automatically configures an Oracle Applications Release 12 instance
�All necessary information saved in the Applications context file or the Database
context
file
�Applications context file is an XML repository in $INST_TOP with APPL_TOP
information

�Database context file is an XML repository in the RDBMS ORACLE_HOME with


database tier information
�AutoConfig logfiles are stored under $INST_TOP/admin/log for Application and
$ORACLE_HOME/appsutil/log/<CONTEXT_NAME> for the database
AutoConfig
�AutoConfig Template files have named tags that are replaced with instance-specific
information located in <product_top>/admin/template � should not be edited
�Custom Template File � copy the template and edit it, when AutoConfig detects a
custom
template file, it uses it
�AutoConfig Driver Files � lists the AutoConfig
file templates and their destination locations
AutoConfig
� AutoConfig Scripts
�adchkcfg.sh � run before running AutoConfig to review changes. Generates a report
showing differences between current and modified AutoConfig
�adtmplrpt.sh � provides information about location of AutoConfig templates
�restore.sh � to roll back an AutoConfig session
Applications Patching

�Patching is Oracle�s way of releasing code fixes, functionality enhancements or


new
functionality
�Patches can update or create new file system objects like forms, reports and sql
scripts
�Patches can execute code within the database to change seeded data
R12 Applications Patching Changes

�With Release 12, Oracle keeps major new features and bug fixes separate
�Major new functionality reserved for point releases
�A new maintenance branch will be created for each point release
�New feature introduction into maintenance branches limited and requires executive
approval

�Codelevels make checking for prerequisites easier


�Patch Application Assistant (PAA) enhances tracking manual steps
�New Oracle manual �Oracle Applications Patching Procedures�
R12 Applications Patching Changes
� Codelines and Codelevels

Patches are grouped into codelines.


�A codeline begins with a point release and progresses to include all patches
required to
maintain that point release
�Release 12.0 -> Codeline A, Release 12.1 -> Codeline B
�The unique set of product features for a point
release or a product family are a codelevel
R12 Applications Patching Changes
�In Release 11i, patches could require other individual patches as prerequisites,
making it
difficult to determine if a new patch included all the functionality of an older
patch
�In Release 12, patches can only require a codelevel as a prerequisite
�MetaLink Note: 459156.1
Types of Applications Patches

�R11i Consolidated Updates (CUs) and R12 Release UpdatePacks (RUPs)


�Most thoroughly tested
�11.5.10.2 is the latest R11i CU
�12.0.4 is the latest R12 RUP

�CUs are released after a maintenance pack


�You must be running an existing Release 12 to apply an R12 RUP
�Maintenance Packs � a collection of the latest product family patchsets �
11.5.10.2 is the
latest R11i Maintenance Pack.
�Technology Stack Updates � patchsets or mini-packs that change the underlying
services.
The latest for Release 11i is 11i.ATG_PF.H
Types of Applications Patches

�Family Packs/Product Family RUP


�Tested by their product teams
�Mini-packs for a specific, individual product family for a specific point release
�Understand the thoroughness of the testing before you plan a Family Pack upgrade
�One-off Patches/Individual Bug Fix � rare � a patch that fixes one issue � a
recent
example � One-off Patch 6812211 to fix potential data corruption issue in R12
Oracle
Assets
�Pre-upgrade patch � upgrade related, high priority patches consolidated from all
the
products within a product family

Types of Applications Patches


�If you are trying to decide whether to apply a Family Pack or a Release Update
Pack
(RUP), the major difference is that RUPs are the most thoroughly tested.
�If possible, stay current on CPUs and Technology Stack Updates, even if you can�t
stay
current on Family Packs
What�s Delivered in R12 RUPs for the DBAs?
New Technology Inventory Report 12.0.2
OC4J Load Balancing � MetaLink Note: 380489.1 12.0.2
Change Base Language Script � adchgbase.pl 12.0.2
Application Object Library: Custom Directory Information Tree (DIT) 12.0.3
Diagnostics Execution Engine and User Interface Enhancements 12.0.3
Applications Framework: Expose HGrid�s Record Set Size for Administrator
Personalization 12.0.3
Improved Error Notification from XML Gateway 12.0.3
New and Revised Diagnostic Tests � MetaLink Note: 421245.1 for a complete list of
R12
Diagnostics Tests 12.0.4
Applications Patching
�AutoPatch applies Applications patches (not databasepatches, operating system
patches,
or CPUs)
�AutoPatch records patch details in the OAM Applied Patches Database
�OAM includes tools like Applied Patches, Timing Reports and Patch Wizard to help
determine what patches havealready been applied, how long they may take to
apply,and
which ones are available
�Using Patch Wizard, there is no excuse for not knowing exactly what � right down
to the
SQL code � is being changed by a patch

�MetaLink Note: 225165.1


AutoPatch
�Use AD Merge Patch to group patches together for application, then apply the
merged
patch using AutoPatch
�Use AutoPatch Non-interactive Mode to automate patch application
�Use a Shared Application Tier File System for multi-node systems to apply patches
only
once
�MetaLink Note: 181665.1
Patch Application Assistant (PAA)
�Oracle Patch Application Assistant (PAA) helps you track and perform manual steps
duringpatching
�For patches with manual steps, PAA generates a customized set of instructions
specific to
yourinstallation and displays the relevant manualsteps
�For merged patches, PAA automatically merges the contents of the individual patch
readme files.
�If you need to use PAA, the patch readme will ask you to run admsi.pl
Database and CPU Patching

�OPatch utility � To apply patches to the RDBMS


�Critical Patch Updates (CPUs) � Quarterly security patches tied to ATG RUPs that
patch
the ORACLE_HOMEs
�CPU Patching -n-apply CPU (aka n-apply) -To apply a Critical Patch Update (CPU) �
n-
apply uses OPatch, but provides customized features to make applying CPUs more
reliable
Oracle E-Business Suite Diagnostics

�Free utilities
�New diagnostics delivered in a standard Oracle Patch and are applied using
AutoPatch
�Diagnostics don�t alter data or setup
�Latest patch included in Release 12.0.4
�Oracle Support may ask you to run a Diagnostic when logging an SR
�Stay current on Diagnostic patches, as the Diagnostic
programs are useful in troubleshooting -Sept 2007
Oracle Integration Repository (iRep)


To view all the interfaces in the 11i E-Business Suite in one place

�PL/SQL
�Concurrent Programs
�Open Interfaces
�Interface Views
�Electronic Data Interchange (EDI) Message Transactions
�XML Gateway Message Maps
�Java Methods
Other Tools, Utilities and Patches
�Remote Diagnostic Agent (RDA) � comprehensive picture of environment -4.10
�10g Upgrade Companion Version 2 � for upgrading from Oracle 9i to 10g, MetaLink
Note: 466181.1

�Single Sign-On and Oracle Internet Directory 10g 10.1.4.2


�New AutoConfig Patchset (R12 TXK.A.Delta.4 Patchset (Patch 6329757)
�Debugging Tools (MetaLink Note: 373548.1 and 454178.1)
�Gather Statistics program has Gather Auto option to reduce how much statistics
gathering
you need to do

Links
�http://blogs.oracle.com/shan -Steven Chan, Director of Applications Technology
Integration for Oracle � wonderful articles explaining the nuances of the
Applications

�www.Integrigy.com � E-Business Suite Security, including CPU vulnerability


evaluation
�http://orclville.blogspot.com � Floyd Teter�s Fusion perspective from the trenches
�www.OnCallDBA.com � E-Business Suite books and concurrent manager expertise
�www.trioragroup.com �that�s us!
Questions and Answers

Oracle EBusiness Suite


Release 12 Architecture and
Tools Overview
Presenter: Sandra Vucinic VLAD Group, Inc.
Speaker�s Background
�Over 16 years of experience with Oracle database, applications, development and
administration tools
�Director, OAUG Database SIG Board

�Director, OAUG SysAdmin SIG and Committee Chair, Oracle Tools and Utilities
Tools and Utilities

�Director, OAUG E-Business Applications Technology SIG Board


�Director, SROAUG Board
�Member, OAUG GEO/SIG Committee
�NCOAUG Distinguished Service Award for 2007
�OAUG Member of the Year for 2008
�Oracle ACE
�Presented at OAUG, NCOAUG, CSOAUG, OVOAUG, SROAUG, Apps World and
Open World conferences (70+ sessions)
�Founded VLAD Group, Inc. in March, 2001
Agenda

New features and enhancements in: �� Applications Object Library
Applications Object Library

�Oracle Applications Manager


�OA Framework
�AD Utilities

�Workflow
�11g Database
� Tasks to complete to ease R12 upgrade
R12 Architecture �
Web HTTP Servers Application Technology Stack
Middle
R12.1.1 Architecture �
Web HTTP Servers Application Technology Stack
Middle
R12 Architecture �
Components
� New versions of middle tier technology:

�Applications server (J2EE) version 10.1.3.4


�Forms and Reports version 10.1.2.3
�Discoverer Server version 10.1.2.3
�Servlet Container � (OC4J, no longer JServ)
�JDK version 1.5.0_13 � 1.6_03 certified

Oracle SOA Suite version 10.1.3


�Oracle Business Intelligence version 10.1.3.4
�Oracle Enterprise Manager 10g Grid Control Release 3
R12 Architecture �
Components

New versions of middle tier technology:

Technologies External to EBS R12
�SSO and OID version 10.1.4.3
� Portal version 10 1 4 2
Portal version 10.1.4.2
�Instance Home (INST_TOP) file system:
� $INST_TOP = $HOME/inst/apps/<context_name>
�JInitiator is not certified or supported in R12
�New version of database 10g R2 available with Rapid Install and 11g R1 certified

Tablespace model in R12 OATM
Applications Object Library
features and enhancements
� Identity Management Integration
� User Name Enhancements
�User name changes in EBS are automatically synchronized to Oracle ID
� On Demand User Creation
On Demand User Creation

Oracle SOA Suite version 10.1.3


�Oracle Business Intelligence version 10.1.3.4
�Oracle Enterprise Manager 10g Grid Control Release 3
R12 Architecture �
Components

New versions of middle tier technology:

Technologies External to EBS R12
�SSO and OID version 10.1.4.3
� Portal version 10 1 4 2
Portal version 10.1.4.2
�Instance Home (INST_TOP) file system:
� $INST_TOP = $HOME/inst/apps/<context_name>
�JInitiator is not certified or supported in R12
�New version of database 10g R2 available with Rapid Install and 11g R1 certified

Tablespace model in R12 OATM
Applications Object Library
features and enhancements
� Identity Management Integration
� User Name Enhancements
�User name changes in EBS are automatically synchronized to Oracle ID
� On Demand User Creation
On Demand User Creation

AOL now supports a mode in which EBS user account is automatically created for SSO
users when they first visit a page in EBS
� Mixed Case Passwords
�EBS now supports casesensitive passwords
� Automatic Linking Of User Accounts
�EBS accounts are automatically linked to existing accounts with the same user name
in
OID
Applications Object Library
features and enhancements
� Security
�New File System Layout

EBS code tree is free of configuration, log and output files and can be mounted in
a readonly mode at runtime (when not patching)
�Schema Passwords

The base product schemas are locked except during patching
Applications Object Library
features and enhancements

User Management

Proxy User

Allows a user to specify a proxy who can act ofy p y
ptheir behalf

Integration with Oracle Internal Controls Manager

Facilitates enforcement of constraints used for preventive separation on duties


Applications Object Library
features and enhancements
� Concurrent Processing
� MultiOrg Support

�MultiOrg Access Control (MOAC) allows a user to


access data for a different operating units without
access data for a different operating units without switching responsibilities
�Concurrent Program Definition window is now MOAC enabled. A new field �Operating
Unit Mode� allows user to specify the category for a concurrent program
�Standard Request Submission window allows users to execute singleorg or a multiorg
concurrent programs
Applications Object Library
features and enhancements
� Concurrent Processing

Restarting a Request Set
Restarting a Request Set

If concurrent request set fails, once fixed user can restart the request set from
the
failure point

Failover Sensitive Workshift

Can specify how many processes for each workshift should run when instance
fails over to another PCP node
Applications Object Library
features and enhancements

Oracle Applications Tablespace Model (OATM)
�includes the the
�New �Tools� tablespace New Tools tablespace includes database schema objects for
products such as Oracle Portal (repository), Oracle Discoverer (EUL), Oracle
Internet
Directory (repository), Oracle Application Sever Single SignOn
�Configurable Default Extent Size allows DBA to specify the default extent size a
part of
migration process
Oracle Applications

Manager
� Patch Impact Analysis Enhancements
�The ability to identify and to merge multiple language patches that are applicable
to the
language patches that are applicable to the environment
�The ability for users to crate a list of
patches for analysis as a single set
�Analysis of patch changes to customized files that are registered with system
Oracle Applications
Manager
� Diagnostics

Allows to schedule and run diagnostics test as batch programs
pg
� Grid Control Plugin for Oracle EBS
�Seamless integration with OAM (concurrent manager administration, workflow
administration, forms monitoring, configuration and patch management)
�Clone Automation
OA Framework
features and enhancements
�Service Interface

Java interface designed to support both Web services and local Java APIs.
Includes support for Service Data Object standard

�Service Tester

User interface used to create unit and integration tests. The tests are recorded in
documents as structured XML data.
��Swan� User Interface
� EBS will use only �Swan� look and feel for Release 12.
�Oracle JDeveloper 10g Release 3 (10.1.3)
� R12 leverages Oracle JDeveloper 10g Release 2 (10.1.3).
OA Framework
features and enhancements
�BI Publisher integration
�Extensive personalization capability
�All i if fr
Allows integration of content from
multiple vendors into portal pages
�Record history
�Allows EBS content to be exposed in third party Portal server
AD Utilities features and

enhancements
�AutoConfig: Parallel Run Option

The �Parallel Run� feature enables AutoConfig to be executed simultaneously
across multiple nodes EBS instance
�AutoConfig: Profiler

Consolidated HTML report of an AutoConfig run
�Source and target location of each template
�Time consumed to instantiate/execute individual template scripts
�Execution report for each template script
AD Utilities features and
enhancements

AutoConfig: Enhanced Check Config Tool


� The Check Config tool (adchkcfg) is used to identify the
potential changes that would take effect on an EBS t it di th tAtC fi Th t l
customer instance during the next AutoConfig run. The tool has been enhanced to
report
important database updates, generate a text report for database changes, and offer
improved readability of reports.
�AutoConfig: Support for Oracle Database 11g Features

AutoConfig has been enhanced to support the use of Access Control Lists and
other Oracle Database 11g features.
�RapidInstall
AD Utilities features and

enhancements
�Multiple Domain Support for database and middle tier
�ReadOnly Shared File System Support � appl_top, common_top, tech stack homes can
be
deployed on a readonly shared file system

Rapid Clone

Added RAC support for ASM and features to expand RAC system by adding a
node to existing RAC cluster
Workflow R12 Features

�Digital Signatures
�Ability to digitally sign the entire notification contents
�Ability to verify the signed documents through an evidence store user interface
after the
signing process
evidence store user interface after the signing process
�Can exclude purging of a signatureenabled
notifications
�Worklist Flexfields a new pages are added:
�Worklist Flexfield Rules a setup page for creating rules to populate worklist
flexfield
columns

�Worklist Flexfield Rules Simulation test page used to show the effect of multiple
worklist
flexfield rules on the worklist

�Workflow Notification Mailer


�System Alerts integration

Sends a system alert as to the status of mailer server
�SSL Support
Workflow R12 Features
�Mailer service can connect to IMAP and SMTP mail servers using SSL authentication

Enhanced error handling for mass failures
�In cases where many users have been setup with invalid email addresses, the
workflow
directory service is updated to no longer send emails to those users
EBS Release 12 database
support

�10g R2 database is part of EBS R12 technology stack


�10g R2 database is certified to run with EBS R12.1.1
�The latest certified 10g R2 database release 10.2.0.4 ith EBS R12
with EBS R12

�Premier Support ends for database version 10g R2 on 7/31/2010


�Extended support fees waived until 7/31/2011
�10g R2 Terminal Patch Set is 10.2.0.5 (Projected to be released in 2009)
�Oracle Metalink Note 454616.1 Export/Import Process for Oracle EBusiness Suite
Release 12 Database Instances Using Oracle Database 10g Release 2
11g Database
�Oracle Database 11g Release 1
(11.1.0.7.0) is certified, on all Certified EBusiness Suite Platforms, on R12
(12.0.4).
�Oracle Database 11g Release 1
(11.1.0.7.0) is part of EBS R12.1.1
technology stack
�Premier support for 11.1.0.6 database ends in October 2009
11g Database

Oracle Metalink Note 735276.1
Interoperability Notes EBusiness Suite R12 with Oracle Database 11gR1 (11 1 0)
(11.1.0)
�Oracle Metalink Note 466649.1 Using Oracle 11g Release 1 Real Application Clusters
and Automatic Storage Management with Oracle EBusiness Suite Release 12
�Oracle Metalink Note: 741818.1
Export/Import Process for Oracle E
Business Suite Release 12 Database
11g Database � New
Features
�Access Control List (ACL) : Introduced support for ACL which is a new feature in
11g
database
�Oracle Advanced Compression
�Comprehensive set of compression capabilities to help organizations reduce costs,
while
maintaining or improving performance.
�Reduces the storage footprint of databases through compression of structured data
(numbers, characters) as well as unstructured data (documents, spreadsheets, XML
and
other files).
�Provides enhanced compression for database backups and also includes network
compression capabilities for faster synchronization of standby databases.
Tasks to complete to ease R12
upgrade

�Upgrade database to 10g R2 or 11g R1


�Convert tablespaces to OATM model

Evaluate impact of R12 on customizations and extensions

�Introduce BI Publisher and JDeveloper


�Integrate Discoverer Server Release 10g with EBS 11i
�Configure Oracle iAS Release 10g for external apps (SSO, OID, Portal) and
integrate
with EBS 11i
�Position for high availability and scalability
�Evaluate and complete platform change based on ROI
Questions
Thank You
Sandra Vucinic
sandrav@vladgroup.com
(630) 2021248
www.vladgroup.com

View Change log


Frequently Asked Questions Cloning Oracle Applications Release 11i
June 2005
Questions
Cloning Concepts
1. What is cloning?
2. How can I clone an Oracle Applications system?
3. What are the differences between the two cloning methods?
4. What is the AD Cloning utility?
5. What is Rapid Clone?
6. How do I determine whether my system is Rapid Clone enabled?
7. What is AutoConfig?
8. How do I determine whether my system is AutoConfig enabled?
9. We are running Release 11.5.7 (or any prior release), which cloning method can
we
use?
10. We are running Release 11.5.8 (or any later release), which cloning method can
we
use?

11. Our Oracle Applications system is on Windows, which cloning method can we use?
12. We have a Platinum installation of Oracle Applications. Can we clone our
system?
13. Can I clone from one operating system version to another?
14. Can I clone from one platform to a different platform?
15. Can I reclone just the database?
16. Can I clone a single-node system to a multi-node system?
17. Can I clone a multi-node system to a single-node system?
18. What cloning options are available for each cloning method? Rapid Clone
concepts

19. Does Rapid Clone modify the source system?


20. How does adcfgclone.pl know the target system values?
21. What is the port pool? What if I want to give a specific value to a Server
Port?
22. Does Rapid Clone preserve the patch history?
23. Can I clone a clone ?

24. Can I change the database dbfs layout while cloning? Rapid Clone and the
oraInventory

25. What is the oraInventory?


26. What is a binary oraInventory? Is my Inventory binary?
27. What is a XML oraInventory? Is my Inventory XML?
28. What is the Global (or Central) Inventory?
29. What is the Local (or Home) Inventory?
30. How does Rapid Clone deal with the oraInventory?
31. Why don't I need to manually copy the oraInventory when cloning?
32. What does OUISetup.pl do?

Questions and Answers


1. What is cloning? Answer: Cloning is the process of creating an identical copy of
an
already existing Oracle Applications system.
[top]

2. How can I clone an Oracle Applications system? Answer: There are two cloning
methods documented in the following white papers available off of Oracle MetaLink
Note 135792.1
o Cloning Oracle Applications Release 11i
o Cloning Oracle Applications Release 11i with Rapid Clone
Note: The third Cloning method (Cloning Oracle Applications Release 11i with
AutoConfig) has been fully replaced by Cloning with Rapid Clone, and is no longer
supported. [top]
3. What are the differences between the two cloning methods? Answer:
o Cloning Oracle Applications Release 11i was originally published in conjunction
with Release 11.5.5 and is applicable for all 11i releases up to 11.5.5 that are
not AutoConfig enabled.

o Cloning Oracle Applications Release 11i with Rapid Clone is applicable for all
11i
systems that have migrated to AutoConfig and enabled Rapid Clone. This method
contains steps to install AutoConfig and Rapid Clone.
[top]

4. What is the AD Cloning utility? Answer: AD Cloning utility (adclone.pl) is the


name
of the cloning command line utility. This utility is used to preserve and apply
configuration information to the cloned target system.
[top]

5. What is Rapid Clone? Answer: 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. See OracleMetaLink Note 230672.1 (Cloning Oracle
Applications 11i with Rapid Clone) for instructions on installing and enabling
Rapid
Clone.
[top]

6. How do I determine if my system is Rapid Clone enabled? Answer: First, verify


that
your system is AutoConfig enabled. Then, verify that you have applied the latest
Rapid
Clone patch documented in OracleMetaLink Note 230672.1 (Cloning Oracle
Applications 11i with Rapid Clone). See Searching the Patch History Database in the
AD
Procedures Guide for instructions on searching for patches applied to your system.
[top]

7. What is AutoConfig? Answer: AutoConfig is a configuration tool that supports


automated configuration of an Oracle Applications Instance. All of the information
required for configuring an Applications instance is collected into a central
repository,
called the Applications Context. When the AutoConfig tool runs, it uses information
from
the Applications Context file to generate configuration files and update database
profiles.
See OracleMetaLink Note 165195.1 for details on installing and migrating to
AutoConfig.
[top]

8. How do I determine if my system is AutoConfig enabled? Answer: There are several


identifiers for when the system is AutoConfig enabled. The following are two common
indicators

o Open the environment file APPSORA.env in your APPL_TOP. If the top of the file
says that it is maintained by AutoConfig, then your system is probably using
AutoConfig.
o Check if there is an Applications Context file in the APPL_TOP/admin directory.
This
file will typically be named <SID>.xml or <SID>_<HOSTNAME>.xml.
o Check if there is an Applications Context file in the RDBMS ORACLE_HOME under
the appsutil directory. This file will typically be named <SID>.xml or
<SID>_<HOSTNAME>.xml.
See OracleMetaLink Note 165195.1 for more details on identifying if your system
already uses AutoConfig. [top]

9. We are running Release 11.5.7 (or any prior release), which cloning method can
we
use? Answer: Due to the advancements in the cloning solution with Rapid Clone, all
customers are now recommended to move to using Rapid Clone. if you are on release
11.5.7 or any release before 11.5.7, you will need to first enable AutoConfig on
your
system, if not already done, before you can use Rapid Clone as documented in the
Cloning Oracle Applications Release 11i with Rapid Clone white paper.
[top]

10. We are running Release 11.5.8 (or any later release), which cloning method can
we
use? Answer: In 11.5.8 AutoConfig is enabled on the middle tier out of the box. In
11.5.9 and any later release, AutoConfig is enabled by default on both the database
tier
and the middle tier. Update AutoConfig and Rapid Clone code to the latest code line
and
use Rapid Clone to clone your system. Full instructions are in Cloning Oracle
Applications Release 11i with Rapid Clone document 230672.1 on OracleMetalink.
[top]

11. Our Oracle Applications system is on Windows, which cloning method can we use?
Answer: If your system is on a release prior to 11.5.7 and is not AutoConfig
enabled, use
the method documented in the Cloning Oracle Applications Release 11i white paper.
If
your system is on any AutoConfig-enabled 11i release, use the method documented in
the
Cloning Oracle Applications Release 11i with Rapid Clone white paper.
[top]

12. We have a Platinum installation of Oracle Applications. Can we clone our


system? Answer: Yes, cloning a Platinum system using the Rapid Clone method is no
different than cloning a non-Platinum installed system

[top]

13. Can I clone from one operating system version to another? Answer: Yes, if the
target system platform is binary compatible with the source system platform. For
example, if you have an existing single-node Oracle Applications system on Solaris
2.6,
you could clone it to a node running Solaris 8, but not to a node running HP-UX.
Note
that cloning from a higher version of a platform to a lower version is not
supported, for
example, from Solaris 8 to Solaris 2.6. Other examples of binary compatibility for
Oracle
Applications are:
o AIX 4.3.3 to AIX 5.1 (32-bit)
o HP-UX 11.0 to HP-UX 11i
o Windows NT to Windows 2000
Within a same platform you can also clone from a 32bit source system to a 64bit
target
system.
Note (AIX only): when cloning from AIX 32bit to AIX 64bit, apply patch 2896876
(64bit kernel extension for Oracle) on the target system prior to running
adcfgclone.pl.
[top]

14. Can I clone from one platform to a different platform? Answer: Yes, you can
clone
or migrate the Applications middle tier from any platform to Linux or any supported
Unix platform using the procedure described in document 238276.1 "Migrating to
Linux
with Oracle Applications Release 11i".
[top]

15. Can I reclone just the database? Answer: Yes, if the source system has changed
and
you want to update the target system with these changes, you can reclone just the
changed database. If Applications patches were applied to the source system, the
APPL_TOP and the database must be cloned to keep the file system and database
synchronized. See the Recloning section in the white papers for details

16. Can I clone a single-node system to a multi-node system? Answer: The Rapid
Clone cloning method allows for cloning a single-node system to a multi-node
system. See the Cloning Oracle Applications Release 11i with Rapid Clone white
paper for details.
[top]

17. Can I clone a multi-node system to a single-node system? Answer: You can use
Rapid Clone to merge multiple APPL_TOP and COMMON_TOP file systems into a
single APPL_TOP and COMMON_TOP file system. For more details about this
procedure, see "Section 3: Merging existing APPL_TOPs into a shared APPL_TOP" in
document 233428.1 on OracleMetaLink.
[top]
18. What cloning options are available for each cloning method? Answer: The table
below shows the cloning options that are currently available for each cloning
method.
Single node to Single node
Recloning
Multi-node to Multi-node
Single node to Multi-node
Multi-node to Single node
With Oracle9i Database
Windows Platform
Cloning Oracle Applications

19. Does Rapid Clone modify the source system? Answer: No, Rapid Clone does not
modify the source system. adpreclone.pl prepares the source system to be cloned by
collecting information about the database and creating generic templates of files
containing source specific hardcoded values. These templates are stored in the
appsutil/template directory leaving the original files untouched. This process
usually
takes a few minutes to complete the first time. Migrating to Autoconfig on the
database
node (pre-req to Rapid Clone), however, will update the RDBMS init.ora and network
listener files. See the instructions in the Autoconfig document 165195.1 (Section
4:
Migrating to AutoConfig on the Database Tier) on how to preserve customizations to
these files

20. How does adcfgclone.pl know the target system values? Answer: adcfgclone.pl
will prompt for the values required to create the new context file used to
configure the target system. A few values are calculated from the current target
system (hostname, user and group). The rest of the target specific values are
prompted for:
Prompt
Comment
database SID
Target database SID
domain name

Target system domain name


Prompts specific to the DB Tier
Target System database name
Target System database name
Target instance is a Real Application Cluster (RAC) instance (y/n)
Answer yes if the target system is going to be part of a RAC instance.

Current node is the first node in an N Node RAC Cluster (y/n)


This prompt only appears when you answered "yes" to the previous question. Answer
�yes" to this question if the current host is the first node being configured in
the target
system RAC cluster. The tool will then ask for the number of nodes that will exist
in the
final RAC instance and gather, the following information for every node: - Hostname
-
Database Sid - Instance number - Listener port - Private interconnect name Answer
"no"
to this qion if at least one node of the target RAC cluster has already been
configured by
Rapid Clone (i.e if you already replied "yes" to this question for any other node
in the
cluster). The tool will then prompt for the following information to connect to a
life node
(the answers must describe a node that has already been configured): - Hostname -
Database Sid - Listener port
RDBMS ORACLE_HOME directory
Path to the Target system RDBMS ORACLE_HOME
Number of DATA_TOP's: DATA_TOP 1: DATA_TOP 2: DATA_TOP 3:
Database mount points. Enter the number of distinct directories containing the
target
database dbfs, then their paths.
Prompts specific to the Apps Tier
database server node
hostname of the machine hosting the database server

Does the target system have more than one applications tier server node (y/n)?
Answer yes if the target system is part of a multi-nodes configuration. The tool
with then
prompt for the hostnames of: - concurrent processing node - administration node -
forms
server node - web server node

Is the target system APPL_TOP divided into multiple mount points (y/n)?
Answer yes if the target system APPL_TOP is divided across multiple mount points.
The
tool will then prompt for each auxiliary mount (4 mounts): - APPL_TOP mount point -
APPL_TOP aux.1 - APPL_TOP aux.2 - APPL_TOP aux.3 Note: if your APPL_TOP is
divided into 2 or 3 mounts only, you can specify identical mounts to the above
prompts.
APPL_TOP mount point
APPL_TOP directory
COMMON_TOP directory
COMMON_TOP directory
8.0.6 ORACLE_HOME directory
8.0.6 ORACLE_HOME directory
iAS ORACLE_HOME directory
iAS ORACLE_HOME directory
Location of JDK 1.3.1
Location of JDK 1.3.1
Prompt common to DB and Apps Tiers

Port pool number:[0-99]


Enter the port pool that you want to use on the target system. Make sure to specify
the
same port pool on the DBTier and the AppsTier. If the source and target machines
are
different, you have the option to preserve the source port values on the target
system.
22. Does Rapid Clone preserve the patch history? Answer: Yes, Rapid Clone preserves
the patch history of the complete Applications Stack:
o RDBMS ORACLE_HOME: preserve the OUI oraInventory.
o iAS ORACLE_HOME: preserve the OUI oraInventory.

o 806 ORACLE_HOME: preserve the patch level and ORCA inventory.


o APPL_TOP and Database: preserve the patch level and history tables.
[top]

23. Can I clone a clone? Answer: Yes, a cloned system created with Rapid Clone can
then be used as the Source System in the next cloning. RapidInstall itself is now a
clone
of a clone using the Rapid Clone technology.
[top]
24. Can I change the database dbf files layout while cloning? Answer: Yes, Rapid
Clone
allows to add or remove database mount points or redidtribute dbf files among mount
points in the target system. As long as all the source system dbf files are present
in the
target system database mount points specified during the adcfgclone prompts (see
question "How does adcfgclone.pl know the target system values?"), Rapid Clone will
find them and re-create the database control file accordingly.
[top]
25. What is the oraInventory? Answer: 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. On
Unix/Linux, the location of the oraInventory is defined by the content of
oraInst.loc, at: - /var/opt/oracle/oraInst.loc on Solaris, HP-UX and Tru64 -
/etc/oraInst.loc on Linux and AIX On Windows, the location of the oraInventory is
defined by the value of the registry key HKEY_LOCAL_MACHINE|
Software\Oracle\INST_LOC or if this value is not defined, at C:\Program
Files\Oracle\Inventory
[top]

26. What is a binary oraInventory? Is my Inventory binary? Answer: Before OUI 2.X,
the
oraInventory was binary. A binary oraInventory centralizes, in a binary format, the
location of every Oracle products on the machine and the detail of their patch
level. The

oraInventory location is defined by the content of oraInst.loc. You will have a


binary
inventory only if ALL of the following conditions are met:

o you are on 11.5.7 or earlier (11.5.8+ install XML inventory out of the box)
o you have never installed OUI 2.X or higher (Install converts the inventory to
XML)
o you have never run Rapid Clone (Rapid Clone converts the inventory to XML)
If the following file exists, the oraInventory is NOT binary: <oraInventory
location as
pointed by oraInst.loc>/ContentsXML/inventory.xml [top]

27. What is a XML oraInventory? Is my Inventory XML? Answer: Starting with OUI 2.X
and 11.5.8, the information in the inventory is stored in Extensible Markup
Language
(XML) format. The XML format allows for easier diagnosis of problems and faster
loading of data Rapid Clone requires the inventory to be in XML format in order to
clone
it, and will take care of performing the binary to XML convertion if necessary.
Unlike the
binary oraInventory, The XML inventory is divided into 2 distinct components:
o The Global inventory (or Central inventory)
o The Local inventory (or Home inventory)
More information about these components is available under other questions in this
FAQ
The inventory is XML if the following file exists:
$ORACLE_HOME/inventory/ContentXML/comps.xml [top]

28. What is the Global (or Central) Inventory? Answer: 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 de-installer in order to keep the Global Inventory synchronized.

29. What is the Local (or Home) Inventory? Answer: 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.
[top]

30. How does Rapid Clone deal with the oraInventory? Answer: Rapid Clone requires
OUI 2.2 to be installed in the ORACLE_HOME as a prerequisite and will performs all
the actions necessary to clone the inventory:
o Converts the Global inventory to xml format when it was binary on either the
source

system or the target system


o Registers the cloned ORACLE_HOME in the target system Global Inventory
o Updates the Local Inventory of the target ORACLE_HOME to reflect the new
machine, paths, users, etc.
[top]

31. Why don't I need to manually copy the oraInventory when cloning? Answer: The
local inventory is automatically copied from the source system to the target system
as
part of copying the ORACLE_HOME itself. The Global Inventory is machine specifc
and therefore should not be copied. If you are cloning from one machine to a
different
machine, Rapid Clone will simply register the target ORACLE_HOME in the target
machine Global Inventory (This action will automatically create the Global
Inventory if it
did not exist on that machine).
[top]

32. What does OUISetup.pl do? Answer: OUISetup.pl is shipped with the OUI patch,
listed as a prerequisit to Rapid Clone (see Metalink Node 230672.1). It should be
run as
part of the OUI patch installation and will perform the following tasks:

o Register the OUI program in the Global Inventory


o Register the JRE in the Global Inventory
o Ensure that the ORACLE_HOME in which the patch is install is properly registered
in
the Global Inventory. In doing so, it will attempt to automatically fix Inventory
corruptions that are known to cause problem whilie cloning, such as - Home indexes
out

of sync between the Global and Local Inventory - Duplicate Home Names entries -
Duplicate Home Path entries
[top]

* Below script are from metalink and oracle reserved the copyrights. These scripts
are
mentioned here for information only
For Apps DBA the good place to serach for script is with in their installation of
11i. The
path is $FND_TOP/sql (Usually on Concurrent Manager Node). The following SQL
scripts located under $FND_TOP/sql are useful when diagnosing concurrent manager
problems:

afimchk.sql Tells the status of the ICM and PMON method


afcmstat.sql Lists active manager processes
afrqrun.sql Lists all the running, waiting and Terminating requests
afrqwait.sql Lists requests that are constrained and waiting for the ICM to release
them.
afrqscm.sql Prints log file name of managers that can run a given request. It can
be used
to check for possible errors when a request stays in pending status. It requires a
request id
value.

afcmcreq.sql Prints the log file name of the manager that processed the request
afrqstat.sql Summary of completed concurrent requests grouped by completion status
and
execution type. It requires number of days prior to today on which to report
parameter.
afimlock.sql Lists locks that the ICM is waiting to get
afcmrrq.sql Lists managers that currently are running a request
APPLSYS schema contains shared APPS foundation objects like FND,AD,WF related
data like tables and Indexes.
APPS is the runtime user for E-Business Suite. Owns all the applications code in
the
database. APPS Schema Contains Synonyms to the objects of All Products (AP,AR, GL
etc ) and 11i Code (Triggers, views, packages, procedures, functions) but the owner
of all
GL tables is GL user , AP tables is AP , and AR tables is AR Schema.
Why should Apps & Applsys passwords always be the same?
The need to have the same password for Apps and Applsys is because when you sign on
to apps, intially it connects to a public schema called APPLSYSPUB. This validates
AOL username and password that we enter (operations/welcome using guest user
account. Once this is verified we select responsibility, this is validated by
APPLSYS
schema and then it connects to APPS schema.
1Since it uses both applsys and apps during signon process this expects both the
password

to be identical. Try changing apps password to something else and try to login, the
validation at the last stage would fail. This would result in failure of
application login.
Apps is a universal schema has synonyms to all base product tables and sequences.
This
also has code objects for all products (triggers, views, packages, synonyms etc.).
Applsys schema has applications technology layer products like FND and AD etc

Q How to use the checksum utility for comparing ?


$ cd /u01/Stage11i
$ find oraAppDB oraApps oraDB oraiAS startCD -type f -exec md5sum '{}' \; >

md5sum_myStage.txt &
Metalink Note Id : 316843.1
Q:What scripts can be used to complie apps schema , which one is used in adadmin
compile apps schema ?
ANS :
adadmin in-turn calls the procedure UTL_RECOMP.RECOMP_PARALLEL

which might be in-turn issues the following commands based on the object types
if object is package body
alter package <package_name> compile ;
alter package <packae_ame> compile body;
alter view <view_name> compile;
$AD_TOP/sql/adcompsc.pls

Q : Why DB-CM-ADMIN are always insatlled on the same machine in Oracle


Applications in Multi Node Installation ?
ANS: As such there is no restriction to install all of them on a single machine,but
if we
install them on 3 different machines then when we will run any AD utility on admin
node
or perform any upgradation it needs to access the database so there will be lot of
overhead in accessing the database node on network so to avoid this overhead we
install
them on same machine. Similar is the case when we run any concurrent request on the
CM node as Concurrent manager also updates the database objects.
Q. How will you find discoverer version in Apps ?
2Version
$ORACLE_HOME/Discwb4
$ string

Checking the version of any File


You can use the commands like the following:
strings -a $XX_TOP/filename |grep '$Header'
B. What URL you use to access Disco viewer & Disco plus .
Viewer�
where hostname & domainnanme are machine name & domain name on which you

installed 10g AS & port number is port you selected at install time defualt7777 ,
though
you can change these hostname & port number to your desired value
The location for looking for dis4pr is $ORACLE_HOME/diswb4/bin
where ORACLE_HOME -> 8.0.6. Oracle Home

Q: I have created EUL using Discoverer 10g Administrator, but my server side is
running 9i AS can I still use Discoverer Plus/Viewer to show reports based on 10g
EUL?

Ans : Your Discoverer Desktop Admin version is 10g and EUL on server is 9i. As soon
as you try to connect to 9i Server it will display message that You are using old
version of
EUL kindly upgrade & it will upgrade EUL on server to 10g

Q: The Oracle Applications use Jinitiator. What is a "Jinitiator"?


Jinitiator for the PC is an Oracle implementation of Sun's JavaSoft Plug-In for
Solaris. It
3is used for connectivity between a Windows based client and Oracle Applications
forms.

The Apple Macintosh "MRJ" is an Apple's MAC OS component.


Q: What browsers can be used with Jinitiator?
For PCs, Oracle will support Internet Explorer v 5.5 or lower or Netscape 5.5 or
lower.
Internet Explorer is Oracle's browser of choice.
Oracle will support Mac OS 8 to 9.21 with Oracle Applications and using the
Discoverer
3i viewer. Internet Explorer 5.1 works with the Oracle Applications. Netscape does
not.

Q: I'm getting a Yellow Warning Bar. How do I get rid of this?


1. Yellow Warning Banners
a. What Does "Warning: Applet Window" Mean?
Oracle Applications Release 11.5.1 (11i) requires that its code run in a trusted
mode, and
uses J-Initiator to run Java applets on a desktop client. If an applet is
"trusted," however,
Java will extend the privileges of the applet. The Yellow Warning Bar is a warning
that
your applet is not running in a trusted mode. To indicate that an applet is
trusted, it must
be digitally signed using a digital Certificate, so Oracle Applications requires
that all Java
archive files must be digitally signed.
b. Who Does This Affect?
This affects all users that try to access Oracle Applications Rel 11i using
Jinitiator that
have a different identitydb.obj on their client.
Clients have an "identity database" that is maintained by J-Initiator called
IDENTITYDB.obj. When a jar file is downloaded, the owner of the digital signature
is
compared against the entry in the identity databases. If they match, the code
contained in
the archive is allowed to run in a trusted mode. The users will need to fix their
client PC
in one of two ways:
i.
a. Uninstall Jinitiator and clear browser cache
b. Log back into Applications to get the new plugin,
(oajinit.exe) including the new identitydb.obj
c. Install the Jinitiator on the Client PC and then Log into the
Oracle Applications to download the new signed JAR files
OR
ii.

a. Copy the IDENTITYDB.OBJ file to C:\Program


Files\Oracle after saving the old one as IDENTITYDB.old.
When I try to download / install J-Initiator from the web, I get the error: Your
current security settings prohibit running ActiveX controls on this page. As a
result,
the page may not display correctly. I hit OK, and the download stops. What does
this mean?
This means that your security settings are too high for the J-Initiator software to
download. To fix this problem, go to Tools ' Internet Options and click on the
"Security"
tab. Click on the Internet icon and then on the button labeled "Custom Level".
Enable the
following ActiveX controls: "Download unsigned ActiveX controls," "Run ActiveX
controls and plug-ins," and "Allow per-session cookies (not stored)." Then hit OK.
OR

4simply set the Security Settings to low, and hit the button labeled "Reset" then
"Yes" then
"Ok." Once the install is complete, you may set your security settings back to what
they
were originally.

What happens if the ICM goes down?


All the other managers will keep working. ICM only takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.
How will you speed up the patching process?
You can merge multiple patches.
You can create a response file for non-interactive patching.
You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.
perl -x $JTF_TOP/admin/scripts/ojspCompile.pl --compile
utrl.sql for database compilation
How will you handle an error during patching?
Look at the log of the failed worker, identify and rectify the error and restart
the worker
using adctrl utility.
Q: if you want to check the URL of the Application in the database in which table
you can check ?
Ans : ( Method 1)
Q: How to find CPU & Memory detail of linux
ANS :

cat /proc/cpuinfo (CPU)


cat /proc/meminfo (Memory)
Q : To check whether the patch is already there or not. For this we query the
database:
select * from AD_BUGS where bug_number=�<patch number>�
Q: How to find if any service is listening on particular port or not ?
netstat -an | grep {port no}
For example if you know that OID is running on 389 port so to check if OID services
is
listening or not then use
netstat -an | grep 389
what is the way to find version of installed family packs?
Select product_version,patch_level from
FND_PRODUCT_INSTALLATIONS where patch_level like '%GL%';

Replace short name by name of Oracle Apps Minipack for which you want to find out
Patch level . ex.
AD - for Applications DBA
GL - for General Ledger
PO - Purchase Order
Another method can be using the patchsets.sh utility which can be downloaded from
Metalink.
Provide an introduction to AutoConfig. How does AutoConfig know which value
from the XML file needs to be put in which file?

AutoConfig uses a context file to maintain key configuration files. A context file
is an
XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which
determines which values to pick from the XML file.
Location of Autoconfig Script ( ADAUTOCFG.sh)
COMMON_TOP/admin/scripts/<CONTEXT_NAME>

Autoconfig can also be run in test mode with following script which will not update
anything in the system (ADCHKCFG.sh)
Location on Application Tier
<AD_TOP>/bin
Location on Database Tier
ORACLE_HOME>/appsutil/bin
The AutoConfig test mode script produces a configuration report that shows the
changes

the AutoConfig script would have made. The configuration report, cfgcheck.html, is
written to <APPL_TOP>/admin/<CONTEXT_NAME>/out/<MMDDhhmm> for the application tier,
and for the database tier in
<RDBMS_ORACLE_HOME>/appsutil/out/<CONTEXT_NAME>/<MMDDhhmm>.
MMDDhhmm stands for the month, day, hour, and minute of the AutoConfig test mode

script session.
A brief about snapshots ?
There are two types of snapshots: APPL_TOP snapshots and global snapshots. An
APPL_TOP snapshot lists patches and versions of files in the APPL_TOP. A global
snapshot lists patches and latest versions of files in the entire Applications
system (that is,
across all APPL_TOPs). Both APPL_TOP snapshots and global snapshots may be either
current view snapshots or named view snapshots. A current view snapshot is created
once
and updated when appropriate to maintain a consistent view. A named view snapshot
is a
copy of the current view snapshot at a particular time (not necessarily the latest
current
view snapshot) and is not updated. Patch Wizard uses the information contained in
the
global current view snapshot to determine which patches have already been applied.
AutoPatch uses the APPL_TOP current view snapshot to determine if all prerequisite
7patches have been applied to that APPL_TOP. Snapshot information is stored in the
AD_SNAPSHOTS, AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables.

Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?
Check guest user/password in the DBC file, profile option guest user/password, the
DB.
Check whether apache/jserv is up. Run IsItWorking, FND_WEB.PING, aoljtest, etc.
What could be wrong if you are unable to view concurrent manager log and output
files?

Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME and
LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at the FND_NODES
table. Look at the FNDFS_ entry in tnsnames.ora.
How will you change the location of concurrent manager log and output files?
The location of log files is determined by parameter $APPLCSF/$APPLLOG and that of

output files by $APPLCSF/$APPLOUT.


If the user is experiencing performance issues, how will you go about finding the
cause?

Trace his session (with waits) and use tkprof to analyze the trace file.
Take a statspack report and analyze it.
O/s monitoring using top/iostat/sar/vmstat.
Check for any network bottleneck by using basic tests like ping results.

How will you change the apps password?


Use FNDCPASS to change APPS password.
Manually modify wdbsvr.app/cgiCMD.dat files.
Change any DB links pointing from other instances.
If you changed the APPS (and APPLSYS) password, update the password in these files:
� iAS_TOP/Apache/modplsql/cfg/wdbsvr.app
� ORACLE_HOME/reports60/server/CGIcmd.dat
If you changed the APPLSYSPUB password, update the password in these files:
� FND_TOP/resource/appsweb.cfg
� OA_HTML/bin/appsweb.cfg
� FND_TOP/secure/HOSTNAME_DBNAME.dbc
8Provide the location of the DBC file and explain its significance and how

applications know the name of the DBC file.?


Location: $FND_TOP/secure directory.
Significance: Points to the DB server amongst other things.
The application knows the name of the DBC file by using profile option
"Applications
Database Id."
How can u change the logfiles location suppose CM logfile location is APPLCSF now
if we want to change that to a nother location hw is it possible.
Ans: Change the Configuration File parameters
change s_applcsf,s_appllog,s_applout variables in XML file and run the autoconfig.
Conflict resolution managers resolves the conflicts yes , but hw it knows tht there
are conficts?why conflicts occur?
Ans:

Concurrent managers read request to start concurrent programs running. The


Conflict Resolution Manager checks concurrent program definitions for
incompatibility rules.
If a program is identified as Run Alone, then the Conflict Resolution Manager
prevents the concurrent managers from starting other programs in the same
conflict domain.

When a program lists other programs as being incompatible with it, the Conflict
Resolution Manager prevents the program from starting until any incompatible
programs in the same domain have completed running.
What is adovars.env file ?
The adovars.env file, located in $APPL_TOP/admin, specifies the location of
variousfiles
such as Java files, HTML files, and JRE (Java Runtime Environment) files. It
iscalled
from the main applications environment file.
How to find the wordsize (32-bit or 64-bit) of Oracle Database

If you have access to an Oracle database which is installed on a 64-bit OS, how
can you
identify whether Oracle is 32 bit or 64 bit ?
12
stateful=STATELESS_RESET

On typing http://hostname:port/pls/VISION11I , it will connect to database using


apps
schema & will return you page fnd_web.ping ( where fnd_web is package & ping is
procedure or vise versa).
So story about this file doesn't stop here , this url which I mentioned about is
quite useful
in troubleshooting so you can check if database connection is working fine or not.
Another thing you want to check about this file is since it stores APPS password
you
need

to change here whenever you change apps password.


Q. What are various components in Application/Middle Tier.
In Application Tier various components are Web Server, Forms Server , Reports
Server,
Concurrent Manager, Admin Server & Discoverer Server.
Q. What is APPL_TOP, COMN_TOP, ORA_TOP.....
13
<db_name>APPL or APPL_TOP - Contains the product directories and files for Oracle
Applications.
<db_name>COMN or COMMON_TOP - Contains directories and files used across
products.
<db_name>ORA - Contains ORACLE_HOMEs for the Applications technology stack
components.
<db_name>DB - Contains the database ORACLE_HOME.

<db_name>DATA - Contains the Oracle Applications database files.


XXX_TOP is top level directory in Oracle Application 11i for respective Component.
To
know more about various TOP's you have done 11i or oracle application Installation
by
now ( if not please go though my training for apps dba in my previous posts) Oracle
Installer Installs Apps 11i in DB Tier & Application Tier : so lets take
Application Tier
you will see three directories under your base Installation directory, these
diretories are
APPL, ORA & COMN (Check pic. at left top of this page) so directory APPL is called
as
APPL_TOP i.e. top appl directory where files & directories related to different
Application ( like GL General Ledger, PO Purchase Order..) exists. If You are DBA
you
can correlate it with your Oracle database software installation (I know after
reading this
example you will say its weird but believe me thats how understood it initially ,
ORACLE_HOME can be called as ORA_TOP , network directory you can say
TNS_TOP )
14
Under ( ORA_TOP ) you will see diretcory related to oracle home , there are two
oracle
HOME's in Application Tier 8.0.6 for Forms & Reports , iAS for 9iAS acting as web
server)

COMN_TOP will contain files & directories which will be used commonly by all
components ( Isn't this simple to understand )
Similarly IAS_TOP is top files/directory under ORA_TOP/iAS I hope it might be clear
to
you now if not donot worry it will be more clear once you start working as Apps DBA

I am attaching few screenshot of other mount points ( Courtsey oracle 11i concepts
guide
, below is location if you want to read .
http://download-uk.oracle.com/
docs/cd/B25516_08/current/

acrobat/11iconcepts.pdf ( Add these three lines before putting in to browser , I


have not
put it in single line as it breaks my page layout )
So In this guide you will find few more screenshot of different TOP's , Go through
Chapter 2 , Just 13 Pages ( 13 unlucky number for someone but if understand this
chapter
, it can be very lucky for you in your Apps DBA Career.
Q. Whats US directory in $AD_TOP or under various product TOP's .
US directory is defauly language directory in Oracle Applications. If you have
multiple
languages Installed in your Applications then you will see other languages
directories
besides US, that directory will contain reports, fmx and other code in that
respective
directory like FR for France, AR for arabic, simplifies chinese or spanish.
Q. Whats main concurrent Manager types.
ICM - Internal Concurrent Manager which manages concurrent Managers
Standard Managers - Which Manage processesing of requests.
CRM - Conflict Resolution Managers , resolve conflicts in case of incompatibility.
You can check the Status of the concurrent Managers using this script
$FND_TOP/sql/ afcmstat.sql
Q : What are the different methods as per Metalink for finding which patches are
applied in 11i
------------------------------------------------------------------------
1) patchsets.sh (Patch Comparision Tool)
2) AD_PATCH_DRIVERS table

3) Two reports adphrept.sql (patch history) and adfhrept.sql(file


history) in $AD_TOP directory
4) Login to Oracle Applications Manager (OAM) => Applied Patches => Simple Search
by 'Patch ID)
Q. What is Single user and Multi User Installation.
Single-user UNIX installations
In order to prepare for a single-user installation, you must first create an oracle
user
15

account and log in as the oracle user to run Rapid Install. The account should be
created
with a default shell that is compatible with the Bourne shell.
Multi-user UNIX installations
In order to prepare for a multi-user installation, you must first create an oracle
user
account and an applmgr user account. Both should be created with a default shell
that
is compatible with a Bourne shell. Log in as root to run Rapid Install. Then
specify the
oracle user as the Oracle OS user and the applmgr user as the Apps OS user.
The oracle user is the account that owns the database tier technology stack (9.2.0
ORACLE_HOME) and the database files. The default name for the oracle user is
ora<SID>. For example, for a production (PROD) environment, the default Oracle OS
username might be oraprod.
The applmgr user is the account that owns the application tier technology stack
(APPL_TOP, COMMON_TOP, 8.0.6 ORACLE_HOME, and the iAS ORACLE

HOME). The default name is appl<SID>. For example, for a Vision Demonstration (VIS)
environment, the default Apps OS username might be applvis.
For a multi-user install, you must install both the database server and one or more
application tier servers on the same node. On such nodes, you can assign one user
account to be the owner of the database tier file system, and another to be the
owner of
the application tier file system. If you are installing a system where the database
server is
on one node and all the application tier servers are on one or more separate nodes,
then
essentially you will perform a single-user installation on each node.
Q. Where would i find .rf9 file, and what exactly it dose?
These files are used during restart of patch in case of patch failure because of
some
reason.
Located in $APPL_TOP/admin/<SID>/restart this folder also contains .bak ,.bk2 files

SAMPLE FILE (adwork012.rf9)


%%% restart file format 11.5.A
Location: $APPL_TOP/admin/<SID>/log contains .req files
Q. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used ?
This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is
usually in
directory $OA_HTML/bin on forms tier. This file is used by any forms client
session.
When a user

try to access forms , f60webmx picks up this file and based on this configuration
file
creates a
forms session to user/client.
Sometimes also present in $FNS_TOP/Resource directory
Q. What is multi node system ?
27
Multi Node System in Oracle Applications 11i means you have Applications 11i
Component on

more than one system. Typical example is Database, Concurrent Manager on one
machine and
forms, Web Server on second machine is example of Two Node System.
Q. Explain steps used in cloning oracle Apps 11i Instance at broad level.
Another important & useful utility under AD_TOP which you and me as apps dba
perform quite
often i.e. Cloning Oracle Application 11i Instance.
Cloning is process of creating replica of your source apps 11i Instance ( lets say
you have
one
apps Instance with name VISIONTST and you want to create similar instance
( including
same
patches & user data) like VISIONPRD then you will use adclone utility (Also called
as
Rapid

Clone these days). In this case source Instance will be VISIONTST and target
Instance
will be
VISIONPRD. There are lot for scenario in which you wish to clone your E-Business
Suite 11i

Instance , like you want to Test if everything is OK in Test & then after testing
want to
create

Production instance or you want to move your Instance from one machine to other
machine or if
you are highly experienced Apps DAB you can use clone as staged environment during
Upgrade
to reduce downtime ( this concept is called as staged appl_top or staged
patching/upgrade
, p.s.

this is different from shared APPL_TOP)


So here I am putting broad level steps you will use to clone apps instance .
Step1 . Prerequisites Steps you do before start cloning using rapid clone
1.1 Verify source and target nodes software versions
1.2 Apply the latest AutoConfig Template patch
1.3 Apply the latest Rapid Clone patches
Step2 . Clone Source to Target
2.1 Run preclone on DB tier
2.2 Run preclone on Apps or middle tier
2.3 Copy source file system to target file system
2.4 Configure db tier
2.5 Configure apps/middle tier
Step 3 Finishing Task
3.1 Update profile options
3.2 Update printer settings (If printers are not configured or you don't want to
use printer
you can
skip this step)
3.3 Update workflow configuration settings (Important)
Location of Scripts :
The PRECLONE script is located in:
$COMMON_TOP/admin/scripts/<SID_HOSTNAME>/adpreclone.pl
The post clone scripts are located in:
$COMMON_TOP/clone/bin/adclone.pl (ADCLONE.PL)
Q. Can you clone from multi node system to single node system & vice versa ?
Yes, this is now supported via Rapid Clone, Check if your system has all prereq.
patches
for
Rapid Clone and you are on latest rapid clone patch.
28

Q. Does rapid clone takes care of Updating Global oraInventory or you have to
register
manually in Global OraInventory after clone ?
Rapid Clone will automatically Update Global oraInventory during configuration
phase.
You don't
have to do any thing manually for Global oraInventory.
Location of Global OraInventory on SUN Solaris is : /var/opt/oracle>
Q. What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database
connection
information used by application tier to connect to database. This file is in
directory
$FND_TOP/secure also called as FND_SECURE

Q. Whats things you do to reduce patch timing ? You can take advantage of following
-
Merging patches via admrgpch
Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
Staged APPL_TOP during upgrades
Increase batch size (Might result into negative )
Q. How you put Applications 11i in Maintenance mode ?
29
Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to
put apps in
maintenance mode you can use adpatch options=hotpatch feature.
Also you can use the script $AD_TOP/patch/115/sql/ adsetmmd.sql
Q. What are various options available with adpatch ?
Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion,

generateportion, hotpatch, integrity, maintainmrc, parallel, prereq, validate


Q. adident utility is used for what ?
adident utility in oracle apps is used to find version of any file . AD
Identification.
for ex. "adident Header <filename>
Q. What is adsplice utility ?
adsplice in oracle apps is utility to add a new product.
Q. How can you licence a product after installation ?
You can use ad utility adlicmgr to licence product in Oracle Apps.
Q. What is MRC ? What you do as Apps DBA for MRC ?

MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US
Dollars but if your organization operating books are in other currency then you as
apps
dba need
to enable MRC in Apps. How to enable MRC coming soon...
Q. Whats is JVM(Java Virtual Machine) and which component uses JVM ?
JVM stands for Java Virtual Machine, JVM acronym for Java Virtual Machine which
executes

instructions generated by Java compiler. So user click on any Self Service Request
or any program which uses Java, then Apache forwards this request to mod_jserv
(mod_oc4j in 10g AS)

& mod_jserv caters this request with help of JVM.


How & Where check JVM related configuration in Oracle Apps 11i ?
So lets start with CONTEXT file under $APPL_TOP/admin (xml file) which is of
pattern
$SID_$HOSTNAME.xml
There are two important lines in CONTEXT file which will help you in understanding
JVM
jvm_options oa_var="s_jvm_options" osd="Solaris" -verbose:gc -Xmx512M -Xms128M
-XX:

MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB


/jvm_options

-Verbose:gc means JVM is configured to print output when gc(Garbage Collector)


runs.
Xmx is maximum memory allocated to JVM in above example its 512 MB.
Xms is JVM will start with this much memory i.e. 128 MB.
Now Check another line in 11i Context file like
oacore_nprocs oa_var="s_oacore_nprocs"2/oacore_nprocs
30
Which means that there are two JVM's for OACore Group. Usually default its 1 JVM in
my
Instance I changed it to 2, to cater huge Self Service users in my case.

Q: How to increase No. Of JVM's


Since you know place where number of JVM's are stored in Apps 11i in Context File ,
so
you can
change them as per your requirement. There are basically following Groups with
their
own JVM's.

OACoreGroup, where most of Java request goes


DiscoGroup, which serve your Discoverer related requests
FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again as
they run
on
Socket)

XmlSvcsGroup, for XML Services


In Context File
disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM
Process for
Discoverer.
oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for
OACoreGroup
Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services
resp.
These Groups are defined in configuration file for Jserv i.e. jserv.conf under
$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf
This dir also contains more files like forms.properties( for forms ),
xmlsvcs.properties(foe
XML ),
viewer4i.properties( for Disco)

ApJServGroup OACoreGroup
ApJServGroup DiscoGroup
ApJServGroup FormsGroup
ApJServGroup XmlSvcsGrp
Q: Where to find Apps 11i JVM logs ?
JVM log location is defined in java.sh ( found in
$IAS_ORACLE_HOME/Apache/Apache/bin)
Oracle Apps 11i JVM log file directory is defined by parameter JVMLOGDIR (
$IAS_ORACLE_HOME/Apache/Jserv/logs/jvm ) and log file are defined by
STDOUTLOG &
STDERRLOG. Example of JVM log files are

OACoreGroup.0.stderr ,OACoreGroup.0.stdout, DiscoGroup.0.stdout,


DiscoGroup.0.stderr,
XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout
where 0 denotes first JVM & 1 denotes second JVM. stderr records error encountered
in
JVM &

stdout records other information like GC ..


Q.Analyzing Oracle Apps 11i JVM logs
In order to analyze Oracle apps 11i JVM, lets open stdout file for one of Group, I
have
selected
OACoreGroup here, you know log file location (If not check previous page) , open
file
like
OACoreGroup.X.stdout you should see output like below if GC(Grabage Collector) is
set
in
Verbose mode.

[Unloading class sun. reflect. GeneratedMethodAccessor74]


Here first entry is time since JVM was started so each time you bounce Apache it
will be
reset to
0. So difference between two entries is seconds after which GC (Garbage Collector)
was
executed. First entry in bracket [ is Heap Size at start of GC & Second entry is
Heap Size
after

GC was executed. Number mentioned in round bracket () is heap size currently


attocated
in K. If
you see GC running very frequently , you can start thinking of increasing JVM heap
size
First three entries were for Minor Garbage Collector & fourth one is FULL GC is for
Full
Garbage
Collector.

Q: How to check JDBC Connection ?


connect using apps, sys or system & issue
select count(*),module from v$session where program like '%JDBC%' group
by module;
How to find JDBC thin driver that your iAS 1.0.2.2.2 is using ?
I am posting a simple java program & procedure to compile it that will give your
jdbc
thin driver
Q: How to Monitor Oracle Apps 11i JVM ?

There are some tools available like jvmstst, jconsole .. but I never tried so wait
till I
configure one
for my system. For monitoring via jconsole I read wonderful note on my favorite
blogger's (Steven
Chan) site http://blogs.oracle.com/schan/2006/08/14#a565
Q.Sizing Apps JVM
As by now you might be aware that there are four JVM Groups,
OACoreGroup,DiscoGroup,
FormsGroup & XMLsvcsGrp ( FromsGroup JVM's disabled by defualt as forms run on
Socket
rather servlets) so thumb rule in Apps is
1 JVM with default settings per 100 Users for OACoreGroup
so if you have 1000 users with five middle tiers you can configure 2 JVM on each
middle
tier i.e.
2X5X100=1000 Users.

Q. What is access_log in apache , what entries are recored in access_log ? Where is


default location of this file ?
access_log in Oracle Application Server records all users accessing oracle
applications
11i. This
file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by directive
LogFormat in httpd.conf Typical entry in access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1"
200 28035
where 200 is HTTP status code & last digits 28035 is bytes dowloaded as this
page(Size
of page)
Q. Where is Jserv configuration files stored ?
Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc
Q. Where is applications start/stop scripts stored ?
applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/
$CONTEXT_NAME
the following scripts are there :
33

adalnctl.sh adcmctl.sh adexecsql.pl adrepctl.sh adstrtal.sh


adautocfg.sh addisctl.sh adpreclone.pl adstpall.sh gsmstart.sh
Q. What are main configuration files in Web Server (Apache) ?
Main configuration files in Oracle Apps Web Server are
httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
jserv.conf, ssp_init.txt, jserv.properties, zone.properties
plsql.conf, wdbsvr.app, plsql.conf
Q. What is session time out parameter & where all you define these values ?
If someone ask Apps DBA to change Session Idle Time out value How & where will you
change ?
In order to answer first you have to understand what kind of seesions are in Apps
11i and
what is
Idle timeout ?
In Apps there are two broad categories of session
- Self Service Application Session ( Server by Web Server iAS Apache & Jserv, like
iRecruitment,
iProcurement)

-Forms session ( served by your form session, like system Administrator)


What is Session Idle time ?
If Oracle Apps client is not doing any activity for some time (when application
user goes
for coffee
or talks over phone) session during that time is called as Idle Session & because
of
security

reason, performance issues and to free up system resource Oracle Applications


terminates
client
session( both forms & self service) after idle time value is reached to the one
mentioned
in
configuration file.
From FND.G or 11.5.9 or with introduction of AppsLocalLogin.jsp to enter into
application, profile

option "ICX Session Timeout" is used only to determine Forms Session Idle timeout
value . This
might be confusing as earlier this profile option used to control forms as well as
self
service

application(with session.timeout) session.timeout is used to control Idle session


timeout
for Self
Service Applications ( Served by Jserv via JVM )
From where ICX : Session Timeout & session.timeout get values ?
Autoconfig determines value for profile option "ICX: Session Timeout" and
"session.timeout" from
entry in context file ( $APPL_TOP/admin/SID_hostname.xml ) with parameter
s_sesstimeout

where value mentioned is in milliseconds so profile option ICX: Session Timeout


value
should be
s_sesstimeout/ (1000 * 60) which means here its 10 Minutes. This value is also set
in
zone.properties in $IAS_ORACLE_HOME/Apache/Jserv/etc where number mentioned is
in milli
second i.e. 600000 ( equal to 10 Minutes)session.timeout = 600000
session.timeout mentioned in zone.properties is in milli secondsICX Session Time
out
mentioned

in profile option ICX: Session Timeout is in minutes so ICX session timeout=30 &
session.timeout= 1800,000 are same 30 minutes
P.S. ICX Session time out was introduced in FND.D so if your FND version is below D
you might
not see this variable.
Important Things Apps DBA should consider while setting session timeout value ?
34

1.. If you keep session.timeout value too high , when some oracle application user
accessing Self
service application terminates his session, so longer idle session will drain JVM
resource
& can
result in Java.Lang No Memory available issues .
2. If you keep it too low, users going out for tea or sitting idle for some time
have to login
again

into application & can be annoying .


Thumb rule is session time out usually set to 30 minutes.
Q. How to check if Apps 11i System is Autoconfig enabled ?
Under $AD_TOP/bin check for file adcfginfo.sh & if this exists use
adcfginfo.sh contextfile=<CONTEXT> show=enabled

If this file is not there , look for any configuration file under APPL_TOP if
system is
Autoconfig

enabled then you will see entry like


# AutoConfig automatically generates this file. It will be read and.......
Q. How to check if Oracle Apps 11i System is Rapid Clone enabled ?
For syetem to be Rapid Clone enabled , it should be Autoconfig enabled (Check above
How to
confirm if Apps 11i is Autoconfig enabled). You should have Rapid Clone Patches
applied , Rapid

Clone is part of Rapid Install Product whose Family Pack Name is ADX. By default
all
Apps 11i
Instances 11.5.9 and above are Autoconfig & Rapid Clone enabled.
Q. Whats is difference between two env files in <CONTEXT>.env and
APPS<CONTEXT>.env under $APPL_TOP ?
APPS<CONTEXT>.env is main environment file which in turn calls other environment
files like
<CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806 ORACLE_HOME
and

custom<CONTEXT>.env for any Customized environment files.


Q. What is access_log in Apache ?
access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like
198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms
/registry/Registry.dat

HTTP/1.1" 200 4117


Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug
2006 at
03:15 AM , 200 is status code returned by Apache which means page returned
successfully

(Status Code 302 means page redirected , 404 page not found, 500+ Internal Server
error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes.
This file
is quite
useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format
in
Apache

configuration file ( httpd.conf)


Q. Whats is location of access_log file ?
access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs.
Location
of this file is defined in httpd.conf by parameter CustomLog or TransferLog
Q. What is your Oracle Apps 11i Webserver Version and how to find it ?
35
From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version
under
$IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version
./httpd �version
Similarly we can do java �version

Server version: Oracle HTTP Server Powered by Apache/1.3.19


Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)
Q. What is Location of Jserv configuration files ?
Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc.
Q. What is plssql/database cache ?
In order to improve performance mod_pls (Apache component) caches some database
content

to file. This database/plssql cache is usually of type session & plsql cache
a) session cache is used to store session information.
b)plsql cache is used to store plsql cache i.e. used by mod_pls
Q. Where is database/plssql cache stored ?
plssql & session cache are stored under $IAS_ORACLE_HOME/
Apache/modplsql/cache
directory.

Q. How to determine Oracle Apps 11i Version ?


select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.9

Q. What is content of dbc file & why its important ?


DBC file is quite important as whenever Java or any other program like forms want
to
connect to
database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD ,APPS_JDBC_URL ,DB_HOST
Q. There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to
use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"
This option can be seen by navigating into Oracle Apps System as System
Administrator
and
then ?Profile ? System ? Search for %Database% then you can see the parameter
defined
36
Q. What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in
Oracle
Applications 11i for viewing output files & log files.
Q. What is PCP is Oracle Applications 11i ?
PCP is acronym for Parallel Concurrurent Processing. Usually you have one
Concurrent
Manager
executing your requests but if you can configure Concurrent Manager running on two
machines

(Yes you need to do some additional steps in order to configure Parallel Concurrent
Processing) .
So for some of your requests primary CM Node is on machine1 and secondary CM node
on

machine2 and for some requests primary CM is on machine2 & secondary CM on


machine1.
Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is used?
Well If you are running GL Month end reports or taxation reports annually these
reposrts
might
take couple of days. Some of these requests are very resource intensive so you can
have
one

node running long running , resource intensive requests while other processing your
day
to day
short running requets.
Another scenario is when your requests are very critical and you want high
resilience for
your
Concurrent Processing Node , you can configure PCP. So if node1 goes down you still
have CM
node available processing your requests.
Q. Output & Logfiles for requests executed on source Instance not working on cloned
Instance?
Here is exact problem description - You cloned an Oracle Apps Instance from
PRODBOX to
another box with Instance name say CLONEBOX on 1st of August. You can view any
CM
logs/output files after 1st of August only becuase these all are generated on
CLONEBOX
itself,

But unable to view the logs/output files which are prior to 1st August. What will
you do
& where to
check ?
Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS.
Check
select logfile_name, logfile_node_name, outfile_name, outfile_node_name from

fnd_concurrent_requests where request_id=&requestid ;


where requestid is id of request for which you are not able to see log or out
files. You
should see
output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1
37

Update it according to your cloned Instance Variables


Q. How to confirm if Report Server is Up & Running ?
Report Server is started by executable rwmts60 on concurrent manager Node & this
file
is under
$ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output
& log file

to see if report server can display PDF files


Active Users report lists all the users in the system along with their
responsibilities.

Q. What is difference between ICM, Standard Managers & CRM in Concurrent


Manager ?
ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds
other

managers down , it checks & try to restart them. You can say it as administrator to
other
concurrent managers. It has other tasks as well.
Standard Manager These are normal managers which control/action on the requests &
does

batch or single request processing.


CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers &
request. If a request is submitted whose execution is clashing or it is defined not
to run
while a
particular type of request is running then such requests are actioned/assigned to
CRM for
Incompatibilities & Conflict resolution
Q. What is use of Apps listener ?
Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as
APPS_$SID is mainly used for listening requests for services like FNDFS & FNDSM.
FNDFS � FND File Server also known as RRA Reports Review Agent is used to view
text files in

Oracle 11i.
FNDSM � FND Service Manager is a concurrent manager in GSM, and serves requests
like CM�s
Use : ps �ef | grep APPS_
Q. How to start Apps listener ?
In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also
start it
by command

lsnrctl start/status/stop SID (Replace sid by your Instance SID Name) OR


lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)
E.G. lsnrctl status APPS_DEV
Q. How to confirm if Apps Listener is Up & Running ?
38

execute below command


lsnrctl status APPS_$SID (replcae SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like
Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully
Q. What is Web Listener ?
Web Listener is Web Server listener which is listening for web Services(HTTP)
request.
This

listener is started by adapcctl.sh & defined by directive (Listen, Port) in


httpd.conf for
Web
Server. When you initially type request like http://becomeappsdba.blogspot.com:80
to
access

application here port number 80 is Web Listener port.


Q. How will you find Invalid Objects in database ?
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';
Q. How to compile Invalid Objects in database ?
You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle

Database to compile Invalid Database Objects.


This Script is located in $IAS_ORACLE_HOME/rdbms/admin directory
Q. How to compile JSP in Oracle Apps ?
You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files.
This script
is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile �quiet
Q. What is difference between adpatch & opatch ?
adpatch is utility to apply oracle apps Patches whereas
opatch is utility to apply database patches
Q. Can you use both adpatch & opatch in Apps ?
Yes you have to use both in apps , for apps patches you will use adpatch utility
and for
applying

database patch in apps you will opatch utility.


Q. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh in
$COMN_TOP/admin/scripts
and appsweb_$CONTEXT_NAME.cfg (defined by environment variable
FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user
initiates

forms connection.
This file is located in $FND_TOP/admin/template/appsweb.cfg
39Q. What is forms server executable Name ?
f60srvm
Q. What are different modes of forms in which you can start Forms Server and which
one
is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in
socket mode

Q. How you will start Discoverer in Oracle Apps 11i ?


In order to start dicoverer you can use script addisctl.sh under
$OAD_TOP/admin/scripts/$CONTEXT_NAME
OR startall.sh under $ORACLE_HOME/discwb4/util (under Middle/Application Tier)
OR $COMMON_TOP/admin/scripts/$CONTEXT_NAME

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?

There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle
Tier) and One
in Database Tier.
ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is
used by
forms, reports & discoverer. ORACLE_HOME should point to this ORACLE_HOME
while

applying Apps Patch.


ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is
used by Web Listener & contains Apache.
ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous
versions you
might find it in $OA_HTML/_pages
Q. Where is pl/sql cache stored in Oracle Apps ?
Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache
Q. What happens if you don't give cache size while defining Concurrent Manager ?
Lets first understand what is cache size in Concurrent Manager. When Manager picks
request
from FND CONCURRENT REQUESTS Queues, it will pick up number of requests
defined by
cache size in one shot & will work on them before going to sleep. So in my views if
you
don't
define cache size while defining CM then it will take default value 1, i.e. picking
up one
request
per cycle.
Q. What are few profile options which you update after cloning ?
Rapid clone updates profile options specific to site level . If you have any
profile option
set at
other levels like server, responsibility, user....level then reset them.
Q. What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
40
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via
Submit

Concurrent Request Form.


'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line
not from
the Submit Request Form.
Q. How to retrieve SYSADMIN password ?
If forgot password link is enabled and sysadmin account is configured with mail id
user
forget

password link else you can reset sysadmin password via FNDCPASS
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

Q. If you have done two node Installation, First machine : Database and concurrent
processing server. 2nd machine: form,web Which machine have admin server/node?
Admin Server will be on First machine with concurrent processing server. More on
Admin Server
coming soon..
Q. Whats is TWO_TASK in Oracle Database ?
TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets
assume you have database client with tns alias defined as PROD to connect to
Database
PROD
on machine teachmeoracle.com listening on port 1521. Then usual way to connect is
sqlplus
username/passwd@PROD ; now if you don't want to use @PROD then you set
TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql will
check that it
has to connect to tnsalias define by value PROD i.e. TWO_TASK
Q. What is GWYUID ?

GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB
Q. Where GWYUID defined & what is its used in Oracle Applications ?
GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to
database by thin clients.
Q. What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?
GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is
used by
Thick Clients like via Forms Connections.
Q. How to check number of forms users at any time ?
Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l
Q. What is FNDLOAD and what it is used for ?
41
FNDLOAD is a concurrent program that can move Oracle Applications data between
database
and text file. FNDLOAD can download data from an application entity into an
editable
text file,
which can be uploaded to another database. Conversion between database format and
text
file
format is specified by a configuration file. But i could not find anything
regarding
upload/download
of an Oracle Alert. So, my conclusion was that i must be possible to use FNDLOAD to
transfer

Alerts, but that there is no configuration file provided by Oracle. I had to create
a
configuration

file myself.
We use ldt loader data files for loading.
Oracle currently supports the migration of the following types of data using
FNDLOAD
Printers / Print queues / Executables Printers / Print queues / Executables.
Roles / Responsibilities / Forms Roles / Responsibilities / Forms.
Menus / Users / Request Sets Menus / Users / Request Sets.
Request Groups / Request Queues Request Groups / Request Queues.
Work shifts / Programs / Libraries Work shifts / Programs / Libraries.
Attachments / Help Files Attachments / Help Files.
Mime Types Mime Types.
Security Information.
Q. In a Multi Node Installation, How will you find which node is running what
Services ?
You can query for table FND_NODES and check for column , SUPPORT_CP ( for
Concurrent
Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server),

SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.


You can also check same from CONTEXT File (xml file under APPL_TOP/admin)
To Check which node is running what service:
select * from fnd_nodes
Q. If your system has more than one Jinitiator, how will the system know, which one
to

pick. ?
When client makes a forms connection in Oracle Applications, forms client session
uses
configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE
also called as
appsweb config file. These days this file is of format appsweb_$CONTEXT.cfg The
initiator

version number defined by parameter jinit_ver_name in this file will be used .


jinit_ver_name=Version=1,1,8,13 ( tells which Jinit to use if u have multiple)
($FND_TOP/admin/template)

Q. While applying Apps patch using adpatch, if you want to hide the apps password,
how
will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password

being displayed on Users Screen.


Q. What is importance of IMAP Server in Java Notification Mailer ?
IMAP stands for Internet Message Access Protocol and Java Notification mailer
require
IMAP
server for Inbound Processing of Notification Mails.
Q. What is difference between Socket & Servlet Mode in Apps Forms ?
42
When forms run SOCKET Mode these are dedicated connection between Client Machine
& Form
Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms requests
are
fulfilled

by Jserv in Apache . There will be additional JVM for Forms Request in that case
and
you won't
start form via adfrmctl.sh.
Q. What is make program in Unix ?

make is utility in Unix/Linux to maintain , update & generate an file mainly


executable.
Q. If by mistake you/someone deleted FNDLIBR can this executable be restored if
Yes,
How & if no, what will you do ?
Yes, you can restore FNDLIBR executables run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu then select 1. Relink
Applications
programs
when prompts for Enter list of products to link ('all' for all products) [all]
select FND when prompt for Generate specific executables for each selected product
[No] ? YES
select YES & from list of executables select FNDLIBR This will create new FNDLIBR
executables
Q. What is .pls files which you see with apps ?
.pls file stands for plsql files. In apps patch these files contain code to create
package spec
or

package body or both.


Q. What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
.ldt & .lct stands for Loader datafile & Loader configuration files, used
frequently in
migrating

customization, profile options, configuration data, etc.. across Instances.


Q. What are .odf file in apps patch ?
odf stands for Object Description Files used to create tables & other database
objects.
Q. What to find Form Server log files in forms ?
Form Server Start up log file default location is
$OAD_TOP/admin/log/$CONTEXT_NAME/f60svrm.txt
Forms Run Time Diagnostics default location is
$ORACLE_HOME/forms60/log/$CONTEXT_NAME

Q. How to convert pll to pld file or pld file to pll ?


Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/<passwd>
module_access=file output_file=MSCOSCW1.pld script=yes
Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/<passwd> module_type=library
module_access=file output_file=MSCOSCW1.pll parse=y batch=yes
compile_all=special
Q. Is APPS_MRC Schema exists for MRC in 11.5.10 and higher ?
No , apps_mrc schema is dropped with 11.5.10 Upgrade & 11.5.10 new Install. This is
replaced
by more Integrated Architecture.
Q. If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?
43
For products like Payable, Recievables which uses MRC and if MRC is enabled then
each
transaction table in base schema related to currency now has an assoicated MRC
Subtables

Q. When you apply C driver patch does it require database to be Up & Why ?
Yes , database & db listener should be Up when you apply any driver patch in apps.
even
if driver
is not updating any database object connection is required to validate apps & other
schema and
to upload patch history information in database tables.
Q. Can C driver in apps patch create Invalid Object in database ?
No , C driver only copies files in File System. Database Object might be
invalidated
during D
driver when these objects are created/dropped/modified.
Q. What is dev60cgi & f60cgi ?
cgi stands for Common Gateway Interface and these are Script Alias in Oracle Apps
used
to
access forms server . Usually Form Server access directly via
http://hostname:port/dev60cgi/f60cgi

Q. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for
you ?
This question sounds stupid but this is asked quite often in Apps DBA Interview.
Apps
Patch

worker can fail in case it doesn't find expected data, object, files or any thing
which
driver is trying
to update/edit/modify. Possible symptoms may be underlying tables/objects are
invalid, a
prereq
patch is missing , login information is incorrect, inconsistency in seeded data...
Q. What is difference between mod_osso & mod_ose in Oracle HTTP Server ?
mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle
Servlet
Engine.
mod_osso is module in Oracle's HTTP Server serves as Conduit between Oracle Apache
Server
& Singl Sign-On Server where as mod_ose is also another module in Oracle's HTTP
Server

serves as conduit between Oracle Apache & Oracle Servlet Engine


mod_osso:Conduit between Oracle Apache Server & Singl Sign-On Server
mod_ose: Conduit between Oracle Apache & Oracle Servlet Engine
Q. What is difference between COMPILE_ALL=SPECIAL and COMPILE_ALL=YES
while
compiling Forms ?
Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX
file
but
COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL, or
.MMB file.
This confuses version control and build tools (CVS, Subversion, make, scons); they
believe
you've made significant changes to the source. COMPILE_ALL=SPECIAL does not do
this.

Q. What is ps -ef or ps command in Unix ?

ps is unix/linux utility or executable to find status of process. Used mainly to


find if
services/process is running or not.
Q. What is GSM in Oracle application E-Business Suite ?
44

GSM stands for Generic Service Management Framework. Oracle E-Business Suite
consist of
various compoennts like Forms, Reports, Web Server, Workflow, Concurrent Manager ..
Earlier each service used to start at their own but managing these services (given
that)
they can
be on various machines distributed across network. So Generic Service Management is
extension of Concurrent Processing which manages all your services , provide fault
tolerance (If
some service is down ICM through FNDSM & other processes will try to start it even
on
remote
server) With GSM all services are centrally managed via this Framework.
Q. What is FNDSM ?
FNDSM is executable & core component in GSM ( Generic Service Management
Framework

discussed above). You start FNDSM services via APPS listener on all Nodes in
Application Tier in
E-Business Suite.
Q. What is iAS Patch ?
iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server
Component) Usually these are shiped as Shell scripts & you apply iAS patches by
executing
Shell script. Note that by default ORACLE_HOME is pointing to 8.0.6
ORACLE_HOME and if you
are applying iAS patch export ORACLE_HOME to iAS . You can do same by executing
environment file under $IAS_ORACLE_HOME

Ques 1 Where are the front end user details stored?


The front end user details are stored in table fnd_user in database. You can query
the
database for the details you want to know as follows:
logon as database user apps then
sql> desc fnd_user;
sql> select <Column name> from <table>;
you will get the list of details that the table contain from which you can get the
further
details.

Ques 2 Is �apps� a database user or �application user�?


�apps� is a Database user.All the information about database users is defined in
table
dba_users so you can query the database to know about users.
sql> desc dba_users;
sql> select * from dba_users where username=�APPS�;
This query will give you all details of apps user.
Ques 3 Where are the database objects stored for the products �BEN� &�FND�?

45

Database objects for the products like �BEN� & �FND� are stored in their own schema
like BEN or APPLSYS (for FND), GL for GL objects
Ques 4 Can Middle Tier & DB run on different versions of OS?
Yes, Middle Tier & DB can run on different versions of OS. This type of
configuration
are known as Split Configuration.
Ques 5 Can different Middle Tier�s have different flavours of OS?
Yes different Middle tier�s can run on different flavours of OS.
Ques 6 How do we verify the no. of CPU�s running on a node?
Proc (/proc) file system provides easy information about CPU and their speed.To
display
the number of processors in linux you need to use /proc/cpuinfo file. This is a
collection
of CPU and system architecture dependent items, for each supported architecture a
different list.Type the following command:
$ cat /proc/cpuinfo
Ques 7 How do i identify whether my environment is shared APPL_TOP or not?
To know whether the environment is shared APPL_TOP or not , login to first Middle
Tier

& create any file (like abc.txt) in the APPL_TOP. Now logout & login to other
Middle Tier. If you can see that respective file in APPL_TOP, this means you are
having shared APPL_TOP.

Q. If we run autoconfig which files will get effected ?


In order to check list of files changes during Autoconfig , you can run adchkcfg
utility
which will
generate HTML report. This report will list all files & profile options going to
change
when you run
AutoConfig.

Q. What is difference between .xml file & AutoConfig ?


Autoconfig is Utility to configure your Oracle Application environment. .xml file
is
repository of all
configuration from which AutoConfig picks configuration and polulates related
files.
Q. What is .lgi files ?
lgi files are created with patching along with .log files . .lgi files are
informative log files
containing
information related to patch. You can check .lgi files to see what activities patch
has
done. Usually

informative logs.
Q. How will you skip worker during patch ?
If in your adctrl there are six option shown then seventh is hidden option.(If
there are
seven
options visible then 8th option is to Skip worker depending on ad version).
46
Q. Which two tables created at start of Apps Patch & drops at end of Patch ?
FND_INSTALL_PROCESSES (Columns :CONTROL_CODE and STATUS ) &
AD_DEFERRED_JOBS are the tables that get updated while applying a patch mainly (d
or u )
unified driver
Q. How to compile an Oracle Reports and forms file ?
Utility adrepgen is used to compile Reports. Synatx is given below
adrepgen userid=apps\<psswd> source = $PRODUCT_TOP\srw\filename.rdf
dest=$PRODUCT_TOP\srw\filename.rdf stype=rdffile dtype=rdffile logfile=x.log
overwrite=yes

batch=yes dunit=character
Utility f60gen is used to compile Forms. Synatx is given below
f60gen module=<source form name> userid=APPS/<APPS password>
output_file=<executable form name>
EG : For Instance I want to generate sale order forms in ONT schema using f60gen
syntax would be like
OEXOEORD.fmb form:

$cd $AU_TOP/forms/US
$f60gen module= OEXOEORD.fmb module_type=form \
output_file=$ONT_TOP/forms/US/OEXOEORD.fmx userid=APPS/APPS
module_type=form batch=yes compile_all=yes
Q. What is difference between AD_BUGS & AD_APPLID_PATCHES ?
- AD_BUGS: holds information about the various Oracle Applications bugs whose fixes
have been

applied (ie. patched) in the Oracle Applications installation.


- AD_APPLIED_PATCHES: holds information about the "distinct" Oracle Applications
patches that
have been applied. If 2 patches happen to have the same name but are different in
content
(eg.
"merged" patches), then they are considered distinct and this table will therefore
hold 2
records.
- Patchsets.sh: This program (a unix shell script) was created to help customers
evaluate
the

currently installed Oracle Applications patchsets and Family Packs. The program
compares the
currently installed patchsets and family packs to the most recently available ones
generated by
Oracle Development. This program utilizes the the applptch.txt file for 10.7-11.0.
For 11i
and R12,
it utilizes a combination of tables such as AD_BUGS and AD_APPLIED_PATCHES to
create the
installed patch list. If the 11i release does not use these AD tables (11.5.4 or
lower and
have not
applied 11i.AD.E or higher) it still supports using applptch.txt for 11i.
- adutconf.sql: This script provides a wealth of information, including the
following:
Product Group(s)
Multi-Org status
Multi-lingual status
Installed product status
47
Registered schemas

Installed languages
Q. What exactly happens when you put an Oracle Apps instance in maintenance mode ?
Maintenance mode provides a clear separation between normal runtime operation of
Oracle
Applications and system downtime for maintenance. Enabling the maintenance mode
feature
a) Shuts down the Workflow Business Events System and
b) Sets up function security so that no Oracle Applications functions are available
to
users.
Used only during AutoPatch sessions, maintenance mode ensures optimal performance
and

reduces downtime when applying a patch.


(COMPLETED TILL PAGE 29 ) http://teachmeoracle.com/interview29.html
Q: How to find Forms Version in 11i ?
Login to forms from frontend , on top menu bar of forms click on "Help" & Select
"About Oracle
Applications" go to "Forms Server " section. You should see entry like below
depending
on your
forms version
Oracle Forms Version : 6.0.8.26.0
Which mean you are on forms version 6.0.8.26 . If you want to know whats your forms
patchset
level then subtract 9 from fourth digit which means for above case form patchset 17
is
applied.
Q: How to find Forms Version in Apps from command Line ?

Enter "f60gen" on Forms Server and check for first line in output like
Forms 6.0 (Form Compiler) Version 6.0.8.26.0 (Production)
This confirms that you are on forms server version 6.0.8.26.0 and patch set 17.
( Patch
Set =
Fourth Digit - 9)
Q: How to find Jinitiator Version ?
Check for file like appsweb_SID_HOSTNAME.cfg under $OA_HTML/bin defined by
environment
variable FORMS60_WEB_CONFIG_FILE & search for entry like jinit_ver_name , you
will see
entry like
jinit_ver_name=Version=1,3,1,23
which means Jinitiator version is 1.3.1.23 ; if your version is 1.3.1.18 you will
see entry
like
1,3,1,18

Q: How to find Version of any file in Oracle Apps 11i ? or


Q: How to find any Reports Version 11i ? or
In Oracle Applications under ad utilities there is utility called as adident Used
for
Identification
purpose or to find out file version use
adident Header <filename>

for ex. inorder to to find file version of one AR form i.e. ARXGLCOR.fmx
adident Header ARXGLCOR.fmx

You should see output like


$Header APPSTAND.fmb 115.33 2002/04/04 11:13:40 pkm ship
$ $Header ARXGLCOR.fmb 115.15 2005/01/31 13:48 mraymond ship
Which means above form executable consist of two forms whose version is 115.33 &
115.15 resp.
Similarly you can use adident to find version of any report in 11i.
Q: How to find Operation System Version (Unix/Linux) ?
48

For solaris use command


uname �a or cat /etc/release
You will see output like
For Solaris SunOS servername 5.8 Generic_117350-23 sun4u sparc SUNW,Sun-Fire-
V240
For RedHat Linux use command

cat /etc/*release*
You will see output like
Red Hat Enterprise Linux AS release 3 (Taroon Update 6)
Which means you are on Solaris 5.8 or Linux AS 3 resp.
Q: How to find if your Operating System is 32 bit or 64 Bit ?
For solaris use command
isainfo -v

If you see out put like


32-bit sparc applications
That means your O.S. is only 32 bit but if you see output like
64-bit sparcv9 applications
32-bit sparc applications
above means your o.s. is 64 bit & can support both 32 & 64 bit applications
Q: Can I run 64 bit application on 32 bit Operating system ?
You can run 32 bit application (like oracle application server, web server, all
oracle
application
server are 32 bit ) on both 32 /64 bit operating system but a 64 bit application
like 64 bit
database

can run only on 64 bit operating system.


Q How to find if your database is 32 bit or 64 bit(Useful in applying Patches) ?
execute "file $ORACLE_HOME/bin/oracle" , you should see output like
/u01/db/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1
which means you are on 64 bit oracle
If your oracle is 32 bit you should see output like
oracle: ELF 32-bit MSB executable SPARC Version 1
Now you know what should be bit of patch to download
Q: How to find OUI version ?
OUI stands for Oracle Universal Installer. In order to find Installer version you
have to
execute
./runInstaller -help ( From OUI location)

You will get output like


Oracle Universal Installer, Version 10.1.0.4.0 Production Copyright (C) 1999, 2005,
Oracle. All
rights reserved.
That means OUI version in above case is 10.1.0.4
OUI location is $ORACLE_HOME/oui/bin

Q: How to find Database version ?


SQL> select * from v$version;
The command returns the release information, such as the following:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
49

PL/SQL Release 9.2.0.7.0 - Production


CORE 9.2.0.7.0 Production
TNS for 32-bit Windows: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production
Q: How to find Oracle Workflow Cartridge Release Version ?
Log in to the database as the owf_mgr user and issue
select wf_core.translate('WF_VERSION') from dual;
Q: Determining the Current Version of OJSP ?
You may follow these steps to determine which version of OJSP you have on your web
server if
you aren't sure:
Change to the OA_JAVA directory on your web server.
Using a text editor, create a file called test.jsp with only the following line:
<%= application.getAttribute("oracle.jsp.versionNumber") %>
You can also use the echo command, like so:
On Unix:
echo '<%= application.getAttribute("oracle.jsp.versionNumber") %>' > test.jsp
On Windows NT: echo "<%= application.getAttribute("oracle.jsp.versionNumber") %>"
> test.jsp

Access this JSP from a web browser, using the URL:


http://[your web server]:[your port]/OA_JAVA/test.jsp
The resulting page will show you which version of OJSP your Oracle HTTP Server is
configured

to use.
If the web page displays "1.1.2.0", then you do not need to upgrade your OJSP. If,
however, it
displays anything else, such as "1.0.0.6.1", then you are using an older version of
OJSP,
and you
must upgrade your OJSP, following the directions in the MetaLink Note indicated
above.
Q: How to find opatch Version ?
opatch is utility to apply database patch , In order to find opatch version execute
"$ORACLE_HOME/OPatch/opatch version"
You should see output like OPatch Version: 1.0.0.0.52 which means your opatch
version
is
1.0.0.0.52

Q. How to find Version of Apps 11i ?


Run following SQL from apps user ;
SQL> select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.10.2

Which means you are on Apps Version 11.5.10.2


Q How to Discoverer Version installed with Apps ?
Discoverer with Apps installed in ORACLE_HOME same as 806 is usually 3i or 4i. To
find Version
login to Application Tier & go to $ORACLE_HOME/discwb4/bin and execute
50

strings dis4ws | grep -i 'discoverer version'


You should see output like
Discoverer Version:Session 4.1.47.09.00
Which means you are on discoverer 4i version 4.1.47.09
Q. How to find Workflow Version embedded in Apps 11i ?
Run following SQL from apps user ;
SQL>select TEXT from WF_RESOURCES where NAME='WF_VERSION';
You should see output like
TEXT
-----------------------
2.6.0

Which means you are on Workflow Version 2.6.0


You can also use script wfver.sql in FND_TOP/sql to find version of workflow in
Apps.
Q: How to find version of JDK Installed on Apps ?
There might be multiple JDK installed on Operating System . Like JDK 1.3.1, 1.4.2
or
1.5 but in
order to find which Version of JDK your Apps is using
Open your Context File $SID_$HOSTNAME.xml under $APPL_TOP/admin and look
for variable
JDK_TOP oa_var="s_jdktop" what so ever value assigned against that parameter go to
that
directory & cd bin & execute command
./java -version so lets assume entry above is /usr/jdk then cd /usr/jdk/bin &
./java -version
, you

will see output like


java version "1.4.2_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)
Which means you are using JDK 1.4.2 in Oracle Applications 11i.
How do we know that particular instance is cloned or normal installed?
Check clone log file . If log file exists this means this is cloned instance

How can you know that how many modules are already implemented in this
instance?

check using adlicmgr.sh or OAM


How can we know that whether we already applied latest AUTOCONFIG patch or not
at our instance?
find out patch number for Autoconfig and then check from ad_bugs table
Is this possible to clone a database from hotbackup? If yes plz tell how?
Yes, first recover/clone database from hot backup using normal database clone .
Then run adcfgclone.pl with dbTechStack option instead of dbTier (Use Rapid Clone
advance
topic metalink note for more info)
51

Suppose your database size is 2000GB now you want to clone a particular one
datafile or tablespace. Plz tell how co clone a datafile or tablespace?
You can import /export tablespace/datafile but can't clone (Check on this again )
How frequent v have to run Gather Schema Statistics Prog?
and Actually wat happens when U run tht Prog?
When ever you have bulk amount of data loaded into the Database, then you have to
gather
schema statistics I think when ever want a snapshot of the presents schemas then u
need
to
run adadmin for gathering statistics of schema and after runnuning this program it
maintains

patchset level of oracle_homes and all file versions of executable files


Statistics generated include the following:
Table statistics
Number of rows
Number of blocks

Average row length


Column statistics
Number of distinct values (NDV) in column
Number of nulls in column
Data distribution (histogram)
Index statistics
Number of leaf blocks
Levels
Clustering factor
System statistics

I/O performance and utilization


CPU performance and utilization
what is the differnce b/w httpd.conf and httpds.conf ?
httpd.conf is a http demon configuration file where as httpds.conf is a http demon
secure
configuration file.
How to see DB size at os level command.

By Issuing the following command in unix


$ ipcs -pmb
ipcs: invalid option -- b
usage : ipcs -asmq -tclup

ipcs [-s -m -q] -i id


ipcs -h for help.
Different Shutdown options in database ?
52

1) shut (for normal shutdown) --- It will wait until all the users to logout from
database. 2) shut transactional --- It will wait until all the transactions to be
complete by a commit or
rollback.
3) shut immediate--- It will rollforward the commited data and rollback the
uncommited
data.
4) shut abort--- It will not check for users,trancations etc.. just it will aborted
from
database
by shutting down the instance.

A database is running in NOARCHIVELOG mode which type of backups you can take? In
no archive log mode, you have to take cold backup only...means..your database
should be down and

take backup....
For this, you can right shell script in order
(a) shutdown the database
(b) copy all the files
(c) startup the database......
Which users logged in to the system longer than 6 months ago ?
select a.user_id,a.user_name,b.user_id,b.start_time
from FND_USER a, FND_LOGINS b
where a.user_id = b.user_id
and b.start_time = (select max(start_time) from FND_LOGINS where user_id =
b.user_id)
and START_TIME < SYSDATE - 180;
To see how many distint users are connected to my system,at particular time ?
select distinct fu.user_name User_Name,fr.RESPONSIBILITY_KEY
Responsibility,fu.LAST_LOGON_DATE from fnd_user fu,

fnd_responsibility fr, icx_sessions ic


where fu.user_id = ic.user_id AND
fr.responsibility_id = ic.responsibility_id AND

ic.disabled_flag='N' AND
ic.responsibility_id is not null AND
ic.last_connect like sysdate;
Who uses the OBT_AA schema in Apps ?

OBT_AA is used by ILM (Inventory Management) product. Only objects inside this
schema are db
links, functions, packages, procedures and synonyms. No tables in this one.

SQL> SELECT DISTINCT OBJECT_TYPE


2 FROM DBA_OBJECTS
3 WHERE OWNER='OBT_AA';
OBJECT_TYPE

DATABASE LINK
FUNCTION
PACKAGE
PACKAGE BODY
PROCEDURE
SYNONYM
VIEW
What is Bolton: AventX: ?
53

AventX is a fax and email solution for E-Business Suite from STR software. It works
with other
ERPs like SAP R/3 via its ERP connectors. Users in a Unix-based environment,
including AIX,
HP-UX, Intel Linux, Solaris and Tru64, can send information directly from various
host
ERP
applications.
Schemas created by AventX are called: sf and sfgy
SF = STR Software Fax Commander
SFGY= STR Software Fax Commander Gateway
Fax Commander was the original name of the AventX product and internally you will
find a lot of
names with SF and SFC.

Insight into AutoConfig


I am going to give you some insight or inner working of this tool. Thanks to
Harminder
Singh (Try
at your own risk)
For detailed information on AUTOCONFIG refer to the following metalink
Note:165195.1,
Note:218089.1, Note:270519.1 and Note:217368.1.
Wanna create CONTEXT file manually, try this ... and then copy the generated XML to
$APPL_TOP/admin/host_SID.xml
adbldxml.pl tier=apps appsuser=apps appspass=pswd
log=$HOME/admin/log/adconfig_`date
'+%m%d%y_%H%M%S'`.log out=$HOME/admin/SID_`date '+%m%d%y_%H%M
%S'`.xml
servername=nodename
Wanna Update the tags in CONTEXT File, try this to update tag s_appsEnvName to
SHYAM
java -classpath "${CLASSPATH}:${CMDDIR}/java/adconfig.zip"
oracle.apps.ad.context.UpdateContext ${HOME}/admin/SID.xml s_appsEnvName
"SHYAM"
Wanna try to instantiate configuration files from custom driver and templates files
based
on the
values from CONTEXT FILE.
java -classpath "${CLASSPATH}:${CMDDIR}/java/adconfig.zip"
oracle.apps.ad.autoconfig.InstantiateFile -e $HOME/admin/${TWO_TASK}.xml -d

/d01/sid/admin/custom.drv -log /d01/sid/admin/$CONTEXT_NAME.xxcinstantiate.log


-bacdir
/d01/sid/admin/bak/$CONTEXT_NAME -pwd NOP

How to Trace Concurrent Programs for a Specific ERP User


1-First get the ERP user login id .
2- Pull up the SYSTEM profile - make sure in the find screen to select the user &
add the
user, and add the profile value, in one line, at the profile option value called,
�Initialization SQL Statement - Custom�, you can put this in your find as well...
3- Now you need to add the value under the user filed, below the user name, copy
this in
notepad in one line and paste it. You can change the identifier and the dump file
size as
well. NOTE IF YOU MAKE A MISTAKE USER WILL NOT BE ABLE TO LOGIN.
54
begin fnd_ctl.fnd_sess_ctl('','','TRUE','TRUE','LOG', 'ALTER SESSION SET
EVENTS=''10046 TRACE NAME CONTEXT FOREVER, LEVEL 8''

tracefile_identifier=''BENMGL'' max_dump_file_size=''unlimited'''); end;


Q. What is profile options, What are various type of profile options ?
Q. What is APPS listener ? Why its used ?
Q. How do you start/stop apps listener ?
Q. If users complaining Oracle Applications 11i system is running slow , what all
things you will check at broad level ?
Q. What is Autoconfig ?
Q. What is context file ?
Q. Why appsutil directory under Database ORACLE_HOME used for ?
Q. How to create User in Oracle Applications 11i ? Can you delete a User ?
Q. What is Single Sign On ? ( If you are using portal 3.0.9 or 10G )?
Q. How to configure portal with 11i ? ( If you are using portal 3.0.9 or 10G )?
SOME USEFUL QUERIES
1)How to check if the partitions of a table are set to LOGGING
select partition_name, logging
from dba_tab_partitions

where table_name=�WF_LOCAL_ROLES�;
2)How to Correct Session Cookie Name.
a)select session_cookie_name from icx_parameters;
b)update icx_parameters set session_cookie_name = �<hostname_sid>�;
c)select session_cookie_name from icx_parameters;
55
3) How to find database SID from a Concurrent request.

You need your concurrent request ID as an input.


c.SPID= is the operating system process id
d.sid= is the Oracle process id
4) How to check which object is corrupted.
SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
WHERE file_id = 64 and 1 between block_id AND block_id + blocks-1;
5) How to check whether the product is install,shared and Not installed in Apps

6) How to check access level when label security feature is installed.


where USER_NAME=�APPS�;
7) How to find out Summary of Concurrent requests.
56
8 ) How to find out Package Header.
select name,text from dba_source where text like �%Header: %�
and owner = �APPS� and name = �INVALID_OBJECT_NAME�;

9) How to find out version of a package.


select text from dba_source
where line=2
and name=�AP_IMPORT_INVOICES_PKG�;

10) How to find out which request is handle by which concurrent queue.
a) First find out short_name of a program and then pass it as parameter to below
query.
b) The below query will give you output
I - Included - Included in new concurrent queue
E - excluded from Standard Manager
This way you know now this running program (concurrent request) is handled by new
manager and not part of standard manager.
57

11) How to backup the defination of a View before droping a view.


select dbms_metadata.get_ddl(�VIEW�,'RG_View�,'APPS�) from dual;
I will update some more scripts in my next post.
Product installation Information Version of Apps
select * from fnd_product_groups
Information about concurrent requests
select * from fnd_concurrent_requests
Information about particular concurrent request
select logfile_name, logfile_node_name, outfile_name, outfile_node_name
from fnd_concurrent_requests

where request_id =<request id>


Finding Invaled Objects
select count(*) from dba_objects where status ='INVALID'
To Check which node is running what service
select * from fnd_nodes
Information about the bugs fixed in Installation
select * from ad_bugs
Information about the applied patches
select * from ad_applied_patches
Stores values for various profile options
select * from FND_PROFILE_OPTION_VALUES
Information about various profile options
select * from FND_PROFILE_OPTIONS

To Find database version


select * from v$version
As part of Windows to Linux Upgrade/Migrate project. I wrote the
following query to pull all the profiles that has a hardcoded

Wanna DUMP JVM threads or check GC size


This scripts will be handy if you wanna check the Garbage Collection
Size of OACore JVMs or DUMP them to check for any locking/waiting issue
##
scripts Check the Garbage Collection Size of OACore JVMs
#PRINTED TILL HERE

Q) How to check if your system is SSL enabled?


A quick check : If your context file contains the values of
s_url_protocol / s_local_url_protocol set to https, then
your envt has to be SSLenabled.
If the rest of config is
absent but these are set to https, then URL does not resolve
which
is an indirect check of incomplete config.
Also you can use this query to check
select PROFILE_OPTION_VALUE
from applsys.fnd_profile_option_values
where PROFILE_OPTION_VALUE like 'http%';
62
Q) Query to find who and when update an Oracle Application user's
profile.

General Information Q: How often should customers apply minipacks, family packs,
and
maintenance packs? A: You should keep your maintenance level up to date in order
to:
� Receive the latest fixes.
� Reduce the number of file updates needed for emergency fixes.
� Reduce the possibility of unfulfilled prerequisite patches when applying an
emergency
fix.

� Make it easier for Oracle Support and Oracle Development to assist you.
� Keep core products such as AD (patches and maintenance fixes), FND (security and
technology stack updates), and HR (legislative updates) up to date.
At a minimum, apply maintenance packs to stay within two maintenance releases. For
example, since 11.5.10 is currently available, customers at the 11.5.8 (or earlier)
level
should be planning their upgrade to 11.5.10. Use minipacks and family packs if you
have
an immediate need for the latest patch level for a product or product family and
cannot
wait to apply the corresponding maintenance pack. Top

Q: How do I know what patches or files have been applied to a system? What happened
to my applptch.txt? A: Prior to AD Minipack E, patch history was stored in a text
file
called applptch.txt in the $APPL_TOP/admin/<SID> directory. AutoPatch appended the
applptch.txt file with information about each patch applied. With AD Minipack E,
the
new Patch History feature stores all patch information in database tables. If the
information cannot be written to the database, it is stored in files in the file
system, and is
automatically loaded to the database the next time AutoPatch is run. In AD Minipack
E,
the temporary patch history file was named applptch.txt. In AD Minipack H (and
later),
there are two patch history files: javaupdates<timestamp>.txt to record patch
history
about changes to Java files, and adpsv<timestamp>.txt to record patch history about
changes to all non-Java files. The best way to review patch history information is
to use
the Applied Patches search pages provided by Oracle Applications Manager. The patch
history database feature allows you to query on patches or files applied and filter
by patch
number or file name, as well as date, product, APPL_TOP name, server type, or
language. See Oracle Applications Maintenance Utilities for more information. Top
Q: How can I find the latest available minipack, family pack, or maintenance pack?
A:
On OracleMetaLink, click the Patches & Updates button on the left-hand side. Choose
the Quick Links to the Latest Patchsets, Mini Packs, and Maintenance Packs link to
get
either:

� A listing of the latest minipacks, family packs, or maintenance pack for the E-
Business
Suite, or
� A listing of the latest patchsets for Server/Tools products
A link at the top will allow you toggle between the two lists. Top
Q: Where can I find a list of AutoPatch features and the AD minipacks that
introduced
them? A: The Oracle Applications DBA 11i+ Features Matrix (OracleMetaLink ID:
210326.1) contains a list of major AD features in Release 11i and identifies which
AD
minipack introduced each feature. Top
Q: What is the AD Features matrix printed on the AutoPatch screen and logfiles? A:
AD
Feature Versions is a framework created to handle mismatches between the AD code on
the file system and the AD objects in the database. Both the version of the feature
on the
file system and the version of the feature in the database are tracked separately.
When the
two versions do not match, the feature is disabled, and when the two versions
match, the
feature is (normally) enabled. The table below is an example of the information
displayed
by AD Feature Versions in AD utility log files. The first four columns in the table
below
represent the name of the feature, whether or not the feature is enabled, the
version of the
feature in the APPL_TOP, and the version of the feature in the database.
Feature
Active?

The Flags Column values represent: - 1st flag: Is the feature enabled in the
APPL_TOP? -
2nd flag: Does the feature require an enabling file on the file system? - 3rd flag:
Does the
enabling file exist? - 4th flag: Does the feature depend on any database objects? -
5th
flag: Is the value of the 6th flag relevant? - 6th flag: Is the feature enabled in
the
database? This message is informational in nature only, the AD Feature Versions
framework is only used by AD internally and should not be modified unless under
explicit instructions from AD Development. Top

Q: What is a patch driver file? What is the difference between the c driver, d
driver, g
driver, and u driver? A: Patch driver files contain commands used by AutoPatch to
direct
the installation of a patch. There are four types of driver files, and a patch can
contain
more than one driver.
� Copy driver (c driver): Named c<patchnumber>.drv, and contains commands to change
Oracle Applications files. The commands include directives to copy/update files,
libraries, and/or Java, and commands for generating JAR files and/or C executables.
In a
multi-node system, run it on all application tier APPL_TOPs.
� Database driver (d driver): Named d<patchnumber>.drv, and contains commands to
change Oracle Applications database objects, such as PL/SQL and table definitions,
or to
update or migrate data. In a multi-node system, run it only on the application tier
APPL_TOP that implements the administration server.
� Generate driver (g driver): Named g<patchnumber>.drv, and contains commands to
generate forms, reports, and/or graphics files. In a multi-node system, run it on
all
application tier APPL_TOPs, unless the APPL_TOP only implements the administration
server.

� Unified driver (u driver): Named u<patchnumber>.drv, it is a consolidated driver


containing all copy, database, and generate actions. Apply this driver to all
APPL_TOPs
on all application tier servers. AutoPatch knows which commands should be run on
each
type of application tier. The unified driver requires only a single execution of
AutoPatch.
If you merge a patch that contains a unified driver with patches that contain other
driver
types, the resulting merged patch will contain only a merged unified driver.
See Oracle Applications Concepts for a definition of administration server and
other
server types. Top
Q: What releases support unified drivers? A: All 11i versions of AutoPatch support
unified drivers. There is no minimum level. In order to make it easier to turn off
entire
categories of actions, without having to specify each action type, AD Minipack H
introduces simple methods to disable entire categories of actions, for example,
adpatch
options=nodatabaseportion. See Oracle Applications Maintenance Utilities for a list
of
available command line options. Top
Q: What are the patching implications of a multi-node environment? How do I know
what type of server/tier/node I am patching? A: In a multi-node environment, you
need to
apply the patch, in its entirety, to the node implementing the administration
server first.
After that you can apply the patch in any order on the remaining nodes. In many
cases the
terms 'server', 'tier' and 'node' are used interchangeably and the exact meaning
must be
inferred from the context. Officially, the terms are different and have a distinct
meaning.
� A node (or machine) is a computer.
� A server is a collection of one or more computer processes that perform a
specific
function.

� A tier is a logical grouping of one or more servers or computer processes.


In Release 11i there are three tiers: desktop, application, and database.
� The desktop tier (generally an end-user PC) does not consist of any servers.
Rather it
consists of a Web browser that makes use of HTML and a Java applet to provide the
user
interface.
� The application tier (also called the middle tier) consists of a number of
servers, such as
the concurrent processing server, Web server, forms server, and administration
server

These servers are also referred to as application tier servers. Likewise, the nodes
on
which such servers run are referred to as application tier server nodes.
� The database tier consists of the database server, which stores all the data in a
Release
11i system.
For example, if a node contains only the database server and no other Release 11i
software, it is called the database server node, and it is part of the database
tier only.
However, it is possible for the database server and any of the application tier
servers to
run on the same node. In this situation, the node can be called the database server
node,
the forms server node, the Web server node, and so on. Because servers from other
tiers
are running on one node, the node belongs to more than one tier. For more
information
about the Release 11i architecture, see Oracle Applications Concepts. To determine
what
application tier servers are on each node, refer to the Applications Dashboard in
Oracle
Applications Manager (information on using Oracle Applications Manager can be found
in the Oracle Applications Maintenance Utilities). Top
Q: What is the AutoPatch checkfile feature? A: This feature reduces patch
application
downtime by checking to see if a given database action has been performed
previously
for the associated file contained in the patch. If an action has been performed
using the
current (or higher) version of a file, AutoPatch omits the action. Top
Q: Can I run multiple AutoPatch sessions at the same time? A: You cannot currently
run
multiple sessions simultaneously. However, patches can be merged and can be applied
in
a single patching session. A new AD feature called AD Concurrent Sessions is
currently
being tested. It uses a system of locks that will prevent incompatible actions from
executing at the same time, so compatible actions can be run in parallel. This will
allow
you to run multiple
AutoPatch sessions concurrently. Top
Q: What are the Oracle Applications patch types? A: All Applications patches are
organized by aggregation level.
� Stand-alone (one-off) Patch: Addresses a single fix or enhancement. Stand-alone
patches are released only when there is an immediate need for a fix or enhancement
that
cannot wait until an aggregate bundling is available. Although stand-alone patches
are
intended to be as small as possible, they usually include any dependent files that
have
changed since the base release in order to form a complete patch that can be
applied by
any customer. The actual number of files changed will depend on the current code
level
on the system to which the patch is being applied.
� Rollup Patch (RUP): An aggregation of patches that may be at the functional
level, or at
a specific product/family release level. For example, a Flexfields rollup patch
contains all
the latest patches related to Flexfields at the time the patch was created. A
Marketing
Family 11.5.10 rollup patch contains all the latest Marketing patches released
since, and
applicable to, 11.5.10.
� Minipack: An aggregation of patches at the product level. For example, Inventory
Minipack G (11i.INV.G) contains all the latest patches for the Inventory product at
the
time the minipack was created. Minipacks are named in alphabetical sequence such as
11i.INV.E, 11i.INV.F, 11i.INV.G, and so on. Minipacks are cumulative. In other
words,
11i.INV.G contains everything in 11i.INV.F, which contains everything in 11i.INV.E,
and so on. The terms patchset and minipack are often used interchangeably.

� Family Pack: An aggregation of patches at the product family level. For example,
Financials Family Pack C (11i.FIN_PF.C) contains all the latest patches for
products in
the Financials family at the time the family pack was created. Family product codes
always end in "_PF" and family packs are given alphabetical sequence such as
11i.HR_PF.B, 11i.HR_PF.C, and 11i.HR_PF.D. Family packs are cumulative. In other
words, Discrete Manufacturing Family Pack G (11i.DMF_PF.G) contains everything in
11i.DMF_PF.F, which contains everything in 11i.DMF_PF.E, and so on.
� Maintenance Pack: An aggregation of patches for all products in the E-Business
Suite.
For example, Release 11.5.10 Maintenance Pack contains all the latest code level
for all
products at the time 11.5.10 was created. Maintenance packs are numbered
sequentially
such as 11.5.8, 11.5.9, 11.5.10, and are cumulative. In other words, 11.5.10
contains
everything in 11.5.9, which contains everything in 11.5.8, and so on.
In addition to releasing a maintenance pack, Oracle also packages a new Rapid
Install at
each maintenance pack release level. So Applications Release 11.5.10 Rapid Install
contains the same applications code level that a customer would get if they applied
the
Release 11.5.10 Maintenance Pack on an earlier 11i release level. Note that the
technology stack could still be different since Rapid Install includes the latest
certified
technology stack, but the maintenance pack includes only Applications code.
Maintenance packs can be downloaded from OracleMetaLink or ordered as a CD Pack
from the Oracle Store.
Patches can also be organized by purpose.
� Diagnostic Patch: Used to gather additional information when a product failure
cannot
be reproduced by Oracle. The additional information will assist Oracle Support
Services
and Oracle Development in resolving the failure.
� Interoperability Patch: Allows Oracle Applications to function properly with a
newer
version of the technology stack. Interoperability patches are typically required
with new
versions of the database or Applications technology stack.
� Translated Patch: A non-English version of a patch. Release 11i supports 30 non-
English languages. Customers who are using languages other than English, need to
apply
the corresponding translated patch(es) for the languages they are using in addition
to any
base US patch(es).
� Merged Translation Patch: Provided in real time (without requiring a translator)
in the
event a translated patch is not available when a customer needs it. A merged
translation
patch is applied just like a fully translated patch. The fully translated patch is
escalated
and is usually available within 24 hours. It can be applied safely on top of a
merged
translation patch.
� Translation Fix: Provided in the event a translation word choice is
inappropriate. A
translation fix is applied just like a translated patch, except there is no
corresponding base
US patch.
� New Feature Patch: Introduces new functionality and/or products. It is applied
using
standard patching utilities.
� Consolidated Update (CU): Improves and streamlines the upgrade and maintenance
processes by consolidating certain post-release patches. Most recommended patches
and
rollups for a particular maintenance release are consolidated into a single patch
that is
installed immediately following the Maintenance Pack or the Rapid Install. Updates
in
the CU are predominantly error corrections
� Family Consolidated Upgrade Patch: All upgrade-related patches consolidated from
all
the products within a product family. Family consolidated upgrade patches are
released
as needed and are only available for upgrading to Release 11i from Release 10.7 or
11.0.
The Oracle Applications Release Notes lists the most recent patches.
� Documentation Patch: Updates online help. Top
Help Applying Patches Q: How can I shorten patch application time when applying
patches? A: There are several tips and tricks for shortening the time it takes to
apply
patches.

� Schedule periodic downtime for proactive maintenance. The more up-to-date your
system, the less likely you are to experience known problems, and the easier it is
to
resolve new issues. Whenever you can test and schedule downtime to apply the latest
maintenance or family packs, do so.
� Keep AD code up-to-date. Oracle has put tremendous effort in reducing downtime
and
improving the maintenance experience. Running at the latest AD minipack level
allows
you to take full advantage of these efforts.
� Keep your test system current with your production system (see Cloning Oracle
Applications Release 11i with Rapid Clone - OracleMetaLink ID 230672.1). As you
test
the application of a patch, it is imperative that the test be realistic in terms of
current
patch level and transaction data.
� Consolidate multiple patches into a single, merged patch with AD Merge Patch. AD
Merge Patch is a utility that merges multiple Oracle Applications patches into a
single
patch. Use it to apply more than one patch during a single downtime. AD Merge Patch
reduces patch application time by eliminating redundant patching tasks. All 11i
patches
can be merged. If you merge translation patches, AD Merge Patch performs necessary
character set conversion at merge time. If you merge patches containing both split
(c,d,g)
drivers and unified drivers, AD Merge Patch creates a single, unified driver for
the
merged patch allowing the merged patch to be successfully applied.
� Merge and apply US patches, then merge and apply translation patches. Although US
patches must be applied during system downtime, the translation patches can be
applied
during uptime, as long as users of the affected languages are not using the system.
See
Oracle Applications Maintenance Procedures for information on applying translation
patches.

� Employ sufficient space. This includes new tablespace for indexes created by the
patch.
For patches containing large numbers of files, you should also make sure there is
sufficient temporary space to contain the unzipped patch and files to be copied
into the
APPL_TOP.

� Use a shared application tier file system if you have multiple application tier
nodes. In a
shared application tier file system installation, the APPL_TOP, COMMON_TOP, and
application tier Oracle homes (8.0.6 and iAS) are installed onto a shared disk
resource
mounted to each node used in the Oracle Applications system. These nodes can be
used
to provide standard application tier services, such as forms, Web, and concurrent
processing. Refer to Sharing the Application Tier File System on OracleMetaLink
(Doc
ID: 233428.1) for more information.
� Use the Distributed AD feature to utilize additional hardware during maintenance.
AD
has always used a Parallel Jobs System, where multiple AD workers start and are
assigned jobs. Information for the Jobs System is stored in the database, and
workers

receive their assignments by monitoring certain tables in the database. AD Minipack


H
introduces Distributed AD, which allows workers to be started on remote machines as
well, where they can utilize the additional resources on those machines when
completing
their assigned jobs. This capability improves scalability, performance, and
resource
utilization because workers in the same AD session can be started on additional
application tier nodes. Refer to Distributed AD on OracleMetaLink (Doc ID:
236469.1)
for more information.
� Use a Staged APPL_TOP to reduce the downtime to just the database update. A
staged
Applications system represents an exact copy of your Production system including a
copy
of the database. Patches are applied to this staged test system, while your
Production
system remains up. When all patches have been successfully applied to the test
system,
the reduced downtime for the Production system can begin. The staged APPL_TOP is
used both to run the database update into the Production database as well as
synchronizing the production APPL_TOP.
Refer to Using a Staged Applications System on OracleMetaLink (Doc ID: 242480.1)
for
more information.
� Perform uptime maintenance, when possible. Examples of maintenance activities
that
can be accomplished while users are on the system include:
o Gather Schema Statistics
o Patch the Online Help
o Upload patch history information to the database
o Apply translation patches while users are using different languages (possibly in
another
time zone)
o Apply the database update component of a translation patch while using the
affected
language Top
Q: How do I run AutoPatch non-interactively? A: The AD defaults file allows you to
run
AutoPatch (or AD Administration) in non-interactive mode. It contains tokens to
answer
defaults-enabled prompts. Oracle provides a file called adalldefaults.txt that has
tokens
for all possible default-enabled prompts. This file is maintained by AutoConfig and
can
be used as a template when creating defaults files. See Oracle Applications
Maintenance
Procedures for information on running AutoPatch non-interactively using a defaults
file.
Top

Q: Do patches need to be applied in a particular order? What is a prerequisite


patch? A:
Patches do not need to be applied in a particular order, even though a readme may
state a
specific order is required, unless one of the patches is an AD patch. This is
because you
may need to patch the patching utility so that it works properly when you use it to
apply
subsequent patches. A prerequisite patch fulfills a dependency for another patch.
Strictly
speaking, they are co-requisites and can be applied in any order before using the
system.
We recommend that you merge a patch with its required prerequisites, with the
exception
of prerequisite patches for the AD product.
Starting with AD Minipack H, AutoPatch has a Prereq feature that, when run with
patches containing metadata, automatically determines if prerequisites are not
fulfilled
and informs you. At this point, you can download the prerequisites, merge them with
the
patch, restart AutoPatch, and apply the merged patch. Older patches, or patches
whose
metadata is missing the prerequisite information, may list prerequisite patches in
the
patch README. See Oracle Applications Maintenance Utilities for information Top

Q: How do I apply multiple translation patches? A: If an Oracle Applications system


contains multiple languages other than American English (US) and you are applying
multiple patches for each language, the recommended method is to merge all US
patches
into a single patch and all patches for every non-US language into a single patch.
Then,
apply the merged US patch followed by the merged language patch. You can also merge
US patches with the additional language patches or merge each language in separate
language-specific patches. Depending on your downtime window and your system
topology, it may be necessary to keep the US and non-US patches separate. See
Oracle
Applications Maintenance Procedures for a more detailed analysis and step-by-step
procedures. Top

Q: How can I determine the effects a patch will have on my system? A: You can
submit a
specific patch impact analysis request through the Patch Wizard in the Oracle
Applications Manager (OAM) 2.2 and later to determine the impact of a patch on your
system. The Patch Impact Analysis feature of Patch Wizard provides reports on:
� The total number of files in the patch
� The number of files the patch will install
� The products that will have updated files
� The files that will be introduced by the patch
� The files on the target system that will be changed by the patch
� The files with dependencies on patched files
See Oracle Applications Maintenance Utilities for additional information. Top
Q: What happens if I run a driver on the wrong application tier server? A: Because
AutoPatch applies only the necessary actions for each type of application tier
server, any
driver can be applied to any APPL_TOP on any node. However, the sequence is
important. Patches without unified drivers must have the drivers applied in the
following
order: copy driver, database driver, and generate driver. Top
Q: What are AutoPatch restart files? A: Restart files store information about
completed
processing in the event of a patch or system failure. They allow AutoPatch,
AutoUpgrade, and AD Administration to continue processing at the point where they
stopped. Do not modify or delete restart files unless specifically told to do so by
Oracle
Support Services. The restart files reside in $APPL_TOP/admin/<SID>/restart (UNIX)
or
in %APPL_TOP%\admin\<SID>\restart (Windows). Top
Q: If I am applying a patch and it fails, should I simply rerun it from the
beginning after
fixing the issue? A: If a patch driver fails, fix the issue and restart AutoPatch.
AutoPatch
will allow you to continue where the patch left off. Rerunning the patch from the
beginning may result in a patch being applied incorrectly. Top
Q: What should I do when the Oracle Applications AutoPatch Prerequisite Checking
Feature fails? A: There are various issues that could cause a failure in the
AutoPatch
Prerequisite Checking Feature. Please refer to OracleMetaLink Note 233040.1 Top
Q: If a worker fails when AutoPatch is running, what should I do?
A: When a worker fails its job, the AD utility running the worker will take one of
several
possible actions:
� Defer the job to the end of the list of jobs to run and assign the worker another
job
� Set the worker status to Failed and continue to run jobs in other workers

� If all other workers are in failed or waiting state, wait for user input
(interactive mode)
or exit (non-interactive mode)
If the worker remains in a failed state, examine the worker log file and determine
the
cause of the failure. The worker log files are named adwork<number>.log (for
example
adwork01.log or adwork001.log). They are located in the same directory as the main
AD
utility log file. By default this is under $APPL_TOP/admin/<SID>/log. Attempt to
correct the problem and restart the failed job. If you cannot determine the cause
of the
failure, try restarting the failed job to see if it works the second time (it may
have failed
due to a concurrency or resource issue). To restart a failed job, run AD Controller
and
choose the option to restart a failed job. Enter the worker number when prompted.
You
can use AD Controller to see the status of jobs both before and after restarting
them. The
status before restarting should be Failed, and the status after restarting should
be Fixed,
Restart. If you are unable to fix the failed job, contact Oracle Support Services
for
assistance. If the AD utility exited after the job failed, you must use AD
Controller to
restart the failed job before you can restart the AD utility. Otherwise, the AD
utility will
detect the failed job and shut down again. Top
Questions
1. What is a "shared APPL_TOP"?

2. What is a "shared application tier file system"?


3. What operating systems are certified?
4. I want to migrate my existing Oracle Applications system to a shared application
tier
file system. What 11i releases are supported?
5. Can I share the application tier file system across nodes with different
platforms?
6. If the platforms of my nodes are binary-compatible, can I share application tier
file
systems? For example, can I share a node using Solaris 2.6 with one using Solaris
8?
7. Are there any restrictions on the type of shared disk resources that can be used
for
sharing an application tier file system?
8. Can I merge APPL_TOPs?

9. How can I implement a shared application tier file system during an Oracle
Applications installation?
10. How can I migrate my existing Oracle Applications system to a shared
application
tier file system?
11. When migrating my existing Oracle Applications system to a shared application
tier
file sytsem, I had to rename the Oracle Applications Context file. Will I still
need the
original file and its associated context directories/files?
Questions and Answers
1. What is a "Shared APPL_TOP"?

Answer: A traditional multi-node installation requires the Applications file system


on each node in the system. In a Shared APPL_TOP installation, the APPL_TOP and the
COMMON_TOP file systems are installed on a shared disk resource mounted to each
node in the system. These nodes can be used to provide standard application tier
services,
such as Forms, Web, and Concurrent processing. Any changes made in the shared
APPL_TOP file system are immediately visible on all nodes. Note that each node
continues to have a separate Applications techstack installation (see also question
2).
[top]
2. What is a "shared application tier file system"?
Answer: In a shared application tier file system installation, the APPL_TOP, the
COMMON_TOP, and the Applications technology stack (ORACLE_HOMEs) are

installed on a shared disk resource mounted to each node in the system. These nodes
can
be used to provide standard application tier services, such as Forms,
Web, and Concurrent processing. Any changes made in the shared application tier
file
system are immediately visible on all nodes.
[top]

3. What operating systems are certified?


Answer: All Rapid Install platforms except Windows support a shared application
tier
infrastructure. There is no time estimate for a Windows solution.
[top]

4. I want to migrate my existing Oracle Applications system to a shared application


tier
file system. What 11i releases are supported?
Answer: You can migrate any existing Oracle Applications 11i release to a shared
application tier file system.
[top]
5. Can I share the application tier file system across nodes with different
platforms?
Answer: No. The nodes sharing the application tier file system need to be binary-
compatible.
[top]

6. If the platforms of my nodes are binary-compatible, can I share the application


tier file
systems? For example, can I share a node using Solaris 2.6 with one using Solaris
8?
Answer: Yes, you can share application tier file systems across nodes that are
binary-
compatible.
[top]

7. Are there any restrictions on the type of shared disk resources that can be used
for
sharing an application tier file system?
Answer: No, your shared application tier file system can reside on any type of
shared disk
resource. Examples of shared disk resources include an NFS mounted disk or a disk
array. The shared disk resource does not have to be local to the machine, and it
can also
be a standalone disk array. Usual tuning considerations apply.
[top]
8. Can I merge APPL_TOPs?
Answer: Yes, you can merge APPL_TOPs that are spread across multiple nodes. Follow
the instructions described in the OracleMetaLink document 233428.1.
[top]

9. How can I implement a shared application tier file system during an Oracle
Applications installation?
Answer: You must use the Rapid Install 11.5.10 or higher. Refer to Installing
Oracle
Applications for more information.

10. How can I migrate my existing Oracle Applications system to a shared


application
tier file system?
Answer: Follow the instructions described in the OracleMetaLink document 233428.1.
[top]

11. When migrating my existing Oracle Applications system to a shared application


tier
file system, I had to rename the Oracle Applications Context file. Will I still
need the
original file and its associated context directories/files?

Answer: The following files/directories can be removed after you back them up:
o The original Context File <AD_TOP>/admin/<SID>.xml
o The file <APPL_TOP>/APPSORA.env>
o The directory <COMMON_TOP>/admin/scripts/<SID>
o The directory <COMMON_TOP>/admin/install/<SID>
[top]
Questions and Answers
Overview and Terminology

1. What is AutoConfig?
Answer: AutoConfig is a configuration tool that automates the configuration of an
Oracle
Applications system. The information required for configuring an Applications
system is
collected into a repository, called the Applications Context; there is one
Applications
Context for each application tier, and one for the database tier. When AutoConfig
runs, it
uses information from the Applications Context file to generate all configuration
files and
update database profiles. Refer to Metalink Note 165195.1 for details on
installing, using
and updating AutoConfig. The Oracle Applications Maintenance Procedures and the
Oracle Applications Maintenance Utilities provide further information on how to use
AutoConfig in the context of maintaining your system.
[top]

2. What is the difference between the application tier and the database tier?
Answer: Before we can answer that, let's define a few terms in the context of the
Release
11i architecture:
o A node or machine is a computer.
o A server is a collection of one or more computer processes that perform a
specific
function.

o A tier is a logical grouping of one or more servers or computer processes.


Now let's answer the question.
o The application tier (also called the middle tier) consists of a number of
servers, such as
the concurrent processing
server, web server, forms server, and administration server, that process the
transactions
of the Release 11i system, as well as provide communication between the desktop
tier
and the database tier. (Such servers are also referred to as application tier
servers.
Likewise, the nodes on which such servers run are also referred to as application
tier
server nodes.)
o The database tier consists of the database server, which stores all the data of
the
Release 11i system.

The primary location of the files used by the application tier servers is the
APPL_TOP, whereas the primary location of the files used by the database server is
the Oracle8i or Oracle9i ORACLE_HOME.
For more information about the Release 11i architecture, refer to Oracle
Applications
Concepts, Release 11i.
[top]

3. How can I identify the application tier and the database tier in a multi-node
system?
Answer: A node can contain one or more servers, and can therefore belong to one or
more tiers.
In a single node system, that node belongs to both the application tier and the
database
tier, since all servers are contained on that single node.
In a multi-node system, each node contains one or more servers, and therefore
belongs to
one or both tiers. If the node contains any of the application tier servers,
including the
web server, forms server, concurrent processing server, or administration server,
which
means that there is an APPL_TOP on the node, then the node belongs to the
application
tier, and is considered an application tier server node. If the node contains the
database
server, which means that there is an Oracle8i or Oracle9i ORACLE_HOME and the
Applications database instance on the node, then the node belongs to the database
tier,
and is considered a database server node.
Let's analyze a common configuration where the database server and the concurrent
processing server exist on one node (Node 1), and the other servers exist on a
second
node (Node 2). Since Node 1 contains both an application tier server (the
concurrent
processing server) and the database server, Node 1 belongs to both the database
tier and
the application tier. But since Node 2 contains only application tier servers, Node
2
belongs only to the application tier.
[top]

4. How do I configure AutoConfig for a multi-node system?


Answer: The AutoConfig patch is applied using AutoPatch. Therefore, it must be
applied
to each application tier server node, which means to each node that contains an
APPL_TOP.

If the database server node contains only the database server and no other servers,
then
you would not apply an AutoConfig patch on that node.
Once all the application tier servers have been updated by the AutoConfig patch,
there is
a separate process for updating the database server, which is documented in
Metalink
Note 165195.1. This process consists of running the admkappsutil utility on one
(only
one) application tier, copying the generated appsutil.zip file to the database tier
and
unzipping the appsutil.zip file into the RDBMS ORACLE HOME.
Example 1: The system has two nodes. Node 1 = administration server, concurrent
processing server, database server Node 2 = forms server, web server
Since both nodes are application tier server nodes, the AutoConfig patches need to
be
applied to both nodes. Once the patches are applied, you have to update the
database
server Node1 by running the admkappsutil utility from the APPL_TOP on Node1,
copying the generated appsutil.zip to your RDBMS
ORACLE_HOME on Node1 and unzipping the appsutil.zip file into the RDBMS
ORACLE_HOME

Example 2: The system has two nodes. Node 1 = database server Node 2 =
administration
server, concurrent processing server, forms server, web server
Since Node 2 is the only application tier server node, the AutoConfig patch needs
only be
applied to Node 2. Once the patch is applied, you have to update the database
server
Node1 by running the admkappsutil utility from the APPL_TOP on Node2, copying the
generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and unzipping the
appsutil.zip file into the RDBMS ORACLE_HOME.
Example 3: The system has three nodes. Node 1 = database server Node 2 =
administration server, concurrent processing server Node 3 = forms server, web
server
Since Node 2 and Node 3 are application tier server nodes, the AutoConfig patch
needs to
be applied to Node 2 and Node3. Once the patches are applied, you have to update
the
database server Node1 by running the admkappsutil utility either from the APPL_TOP
on
Node1 or Node2 (it does not matter on which Node you run the admkappsutil utility),
copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and
unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.
Reference:
o Metalink Note 208738.1
[top]

5. What user do I log in as to use AutoConfig in a typical multi-node system?


Answer: For nodes running Windows, there is only one user that owns both the
application tier servers and the database server, so you would log in as that user.
For nodes running UNIX or Linux, if you want to configure the application tier
servers,
log in as the user that owns the application tier servers (sometimes referred to as
the
applmgr user). If you want to configure the database server, log in as the user
that owns
the database server (sometimes referred to as the oracle user).
[top]

6. How do I determine if AutoConfig is enabled?


Answer: Check for the script adcfginfo.sh (adcfginfo.cmd on Windows) under
<AD_TOP>/bin. If it exists, use it to check whether AutoConfig is enabled. For the
APPL_TOP:

adcfginfo.sh contextfile=<CONTEXT>
For products:
adcfginfo.sh contextfile=<CONTEXT> show=enabled
If adcfginfo.sh doesn't exist, look in any configuration file in your APPL_TOP. If
the file
header contains the following, AutoConfig has been run on your instance :
################################################################
## AutoConfig automatically generates this file. It will be read and # overwritten.
If you
were instructed to edit this file, or if you are not # able to use the settings
created by
AutoConfig, refer to Metalink # document 165195.1 for assistance.#

################################################################ Note: If you


manually changed any file containing this file header, it is no longer considered
as officially AutoConfig enabled!
[top]

7. Is AutoConfig compatible with Oracle Applications 11.5.x?


Answer: Yes, it is compatible with all 11i releases. You can use AutoConfig to
configure
and maintain any Oracle Applications 11i environment.

Release 11.5.1 - 11.5.6 (all tiers): Apply the latest AutoConfig consolidated patch
to
obtain the AutoConfig utility.
Release 11.5.7 and higher (application tier): AutoConfig is included in new
Applications
installations and in the associated maintenance packs.
Release 11.5.9 and higher (database tier): AutoConfig is included in new
Applications
installations and in the associated maintenance packs.
Note: If you upgrade from a maintenance pack version that does not include
AutoConfig
to a maintenance pack version that includes AutoConfig (for example you upgrade
from
11.5.3 to 11.5.10), you have to separately migrate to AutoConfig as part of the
pre-
upgrade process. Follow the instructions of the corresponding maintenance pack.
[top]

8. What does the term "Context_name" mean?


Answer: The "Context_name" is the logical name for your Context. The default value
for
Context_name is <SID>_<hostname>. In earlier versions of AutoConfig the default was
set to <SID>.
[top]
9. What are the basic components of AutoConfig?
Answer:
Components
Location
Description

Applications Context
On the application tier: <APPL_TOP>/admin
On the database tier: <RDBMS ORACLE_HOME>/appsutil

An XML repository (<Context_name>.xml)contains information specific to that


Applications instance. Can be updated by running the Context Editor. Do not
manually
update this file!
AutoConfig Template Files
On the application tier: <PROD_TOP>/admin/template For example:
<AD_TOP>/admin/template <FND_TOP>/admin/template
Include named tags which are replaced withinstance-specific information from the
Applications Context. There is one template
On the database tier: <RDBMS ORACLE_HOME>/appsutil/template
file for each configuration file. For example: apps_nt.conf apps_ux.conf
AutoConfig File Driver
On the application tier: <PROD_TOP>/admin/driver For example:
<AD_TOP>/admin/driver/adtmpl.drv <FND_TOP>/admin/driver/fndtmpl.drv
On the database tier: <RDBMS ORACLE_HOME>/appsutil/template
Used by AutoConfig to list the AutoConfig Template Files, their destination
locations,
and the commands to be executed, for example, the commands to update profile
options.
Every Product Top contains itsown AutoConfig File Driver.
AutoConfig Scripts
On the application tier: <AD_TOP>/bin
On the database tier: <RDBMS ORACLE_HOME>/appsutil/bin

Provide a simplified interface to the AutoConfig APIs. For example: adautocfg.sh /


adautocfg.cmd adconfig.sh / adconfig.cmd
[top]

10. What are the different AutoConfig scripts and what do they do?
Answer: The scripts are listed in the following table.
Note: .sh scripts are for UNIX users and .cmd scripts are for Windows users.

Scripts
Location
Description
adautocfg.sh
adautocfg.cmd
On the application tier: <COMMON_TOP>/admin/scripts/ <Context_name>
On the database tier: <RDBMS ORACLE_HOME>/appsutil/ scripts/ <Context_name>
A wrapper script that calls adconfig.sh/ adconfig.cmd. Instantiates template files
wspecific to the instance (takthe Applications Context). Uconfiguration files and
profi
adconfig.sh
adconfig.cmd

On the application tier: <AD_TOP>/bin


On the database tier: <RDBMS ORACLE_HOME>/appsutil/bin/
A wrapper script that calls aIn earlier versions of AutoCadconfig.sh/adconfig.cmd
uthe
Java API to start AutoC
adconfig.pl

On the application tier: <AD_TOP>/bin


On the database tier: <RDBMS ORACLE_HOME>/appsutil/bin
A wrapper script that calls tAPI to start AutoConfig.
adbldxml.sh
adbldxml.cmd

On the application tier: <AD_TOP>/bin


On the database tier: <RDBMS ORACLE_HOME>/appsutil/bin
Creates the Applications CoBefore running this script, ysource the environment. On
the
application tier: Source APPS<Context_namAPPSORA.env if
APPS<Context_name>.envexist). On the database tier: Source <Context_name>.e
adchkcfg.sh
adchkcfg.cmd

On the application tier: <AD_TOP>/bin


On the database tier: <RDBMS ORACLE_HOME>/appsutil/bin
Generates a report that higdifferences between the orifiles and AutoConfig-
generafiles.
The report is named cfgcheck.html. It is located On the application tier:
<APPL_TOP>/admin/ <Context_name>/out/<MMOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/o<Context_name>/<MMDDh
[top]

AutoConfig pre-requisites
11. Do I need to upgrade to Apache 1.3.12s?
Answer: If you are applying the AutoConfig patch to an instance created with a
Rapid
Install version lower than Release 11.5.5, upgrade to Apache 1.3.12s.
Refer to Metalink Document 161779.1 on OracleMetalink.
Note: Rapid Install for versions 11i7 and higher installs Oracle HTTP Server 1.3.19
from
iAS 1.0.2.2
[top]

The Context file


12. How will the adbldxml utility name the Applications Context file it generates?
Answer: When adbldxml generates the Context file, it first checks for the existence
of an
Applications Context file conforming to specific requirements in the
<APPL_TOP>/admin directory on the application tier and in the <RDBMS
ORACLE_HOME>/appsutil directory on the database tier. If an xml file exists,
adbldxml
creates the Applications Context
file using the same name. Specific requirements are:
o The Context file refers to the hostname for which we generate the file.
o The Context file refers to the Database SID for which we generate the file.
The default name for the Context file is <Context_name>.xml.
[top]

13. How can I make changes to the Applications Context file?


Answer: Go to the OAM Login page. Sign in and navigate to Site Map. Click on
AutoConfig. Use this link to update your Applications Context file.
For additional information see the Oracle Applications Maintenance Procedures.
Note: Manually editing the Applictions Context file is not supported. Many context
variables have dependencies between each other. The OAM AutoConfig resolves all
these dependencies when changing the value of a variable. By manually editing the
Applications Context file you will bring the data into an inconsistent state.
[top]

14. I want to execute the adbldxml utility on a fresh RDBMS Oracle Home. How can I
build the Context file, when the database environment file is not present?
Answer: The adbldxml utility requires the following environment variables to be
set:
o ORACLE_HOME
o ORACLE_SID (LOCAL on Windows)
o TNS_ADMIN
Set the variables according to your instance. For example:
o On UNIX export ORACLE_SID=PROD
o On Windows set LOCAL=PROD
[top]

15. I was instructed to change the value of the context variables s_adperlprg and
s_perl5lib. How can I achieve that?
Answer: Apply the latest AutoConfig patch, then perform the following steps
depending
on your use case:
o You were instructed to use a certain perl version. You have perl and its
libraries
installed in the perl standard location for your os (e.g. /usr/lib/perl5 on Linux)
and perl is
in your PATH:

1. unset PERL5LIB
2. perl $AD_TOP/bin/adconfig.pl
3. Source the environment file (APPS<Context_name>.env)
4. Review your Applications Context file; s_adperlprg and s_perl5lib will now point
to
your system perl location.

o You were instructed to use a certain perl version. You installed perl and its
libraries
into a custom - non perl standard location (e.g. perl is installed at
/u03/myperl/bin and the
perl libraries at /u03/myperl/lib).

1. PERL5LIB=<location of the new PERL5LIB that you want to use>


2. export PERL5LIB
3. <location of the new perl you want to use> <AD_TOP>/bin/adconfig.pl
4. Source the environment file (APPS<Context_name>.env)
5. Review your Applications Context file; s_adperlprg and s_perl5lib will now point
to
your customized perl location.
Example:
?? PERL5LIB=/u03/myperl/lib/5.00503:/u03/myperl/lib/site_perl/5.005

?? export PERL5LIB
?? /u03/myperl/bin/perl $AD_TOP/bin/adconfig.pl
AutoConfig will update the context variables in the context file accordingly. After
the
AutoConfig run subsequent utilities and tools can use the context variables
s_adperlprg
and s_perl5lib.
[top]
Author � A.Kishore
http://appsdba.info
1All answers are my own or copied from other sites; I really appreciate if anybody
can
suggest a better answer

1)My cloning is completed successfully but my apps listener is not getting up??
What is
the problem ?
2)I am applying a patch , can I open another session and run adadmin ?
Yes, unless you are running a process where workers are involved
3)I am applying a patch , can I open another session in another node and run
adpatch?
(not distributed patching)?
No

4)When database is up, listener is up. Listener.ora and tnsnames.ora both are
configured
properly, still client is not being able to make a connection to the database. What
may be
the possible issues?
Check sqlnet.ora and see the client IP Address information is available
tcp.validnode_checking = yes
tcp.invited_nodes = (hostname1, hostname2)
5)How would take the forms trace?
http://www.appsdba.info/docs/oracle_apps/performance/PerformanceProblemswithform.
pdf
6) Can C driver be applied when database is down?
No, for any patch u are applied authentication is mandatory
7)If users complain they cant see the login page , how you will debug the issue?
Check whether apache is running (ps �ef |grep http), u can also apache log file
8)How you will troubleshoot if concurrent request is taking long time ?
9)If your applying a patch, it was started successfully and in the middle you
realize

nothing happening and no update in patch log file, worker log file (no updates & no
error
messages) � How to troubleshoot?
10)Is it possible to clone a database from hotbackup?
Author � A.Kishore
http://appsdba.info
2Yes

11)When your applying a patch in test mode, does it generate log file?
Yes, never tried though
12)If the user is experiencing performance issues then how you will find the cause?
13)Output & logfiles for requests executed on source instance not working on cloned
instance??

Check whether apps listener is running


14)What happens if you don�t give cache size while defining concurrent manager?
Most often when �a request goes "inactive/no manager" and is then processed a short
time
later, the solution is to either increase the cache size for your Standard manger,
or
increase

the actual number of Standard Manager processes that can run. Cache Size is set in
the
Concurrent/Manager/Define form. Basically, this regulates how many requests a
manager
will pick up for each sleep cycle.
Increasing the cache size within reason allows you to decrease the sleep cycle. In
turn,
your

managers will wake up and scroll through the tables less frequently, which reduces
the amount of work they have to do as well as the amount of system resources
utilized. We see

sleep cycles set to 5 seconds at some customer sites and recommend increasing the
value,
since the managers are waking up and re-reading the same table far too frequently.
For
reports that for the most part take a minimum of 1 minute to run, the queue wakes
up 12
times to check for runnable processes before even one running request completes.
15)If user complaining oracle applications 11i system is running slow , what things
you
will check at broad level ?
16)How do you determine if oracle database has corrupt blocks ?
17)Are the existing DB connections dropped if the DB listener is restarted ?
No, never tried though
18)How do you preserve customizations in a cloned Oracle apps environment?
19)If users are unable to see the output of their concurrent requests , what could
be the
reason?
Apps listener is not running
Author � A.Kishore
http://appsdba.info
320)Can you start the database from middle tier?
No
Copied from other website

* Below script are from metalink and oracle reserved the copyrights. These scripts
are
mentioned here for information only
For Apps DBA the good place to serach for script is with in their installation of
11i. The
path is $FND_TOP/sql (Usually on Concurrent Manager Node). The following SQL
scripts located under $FND_TOP/sql are useful when diagnosing concurrent manager
problems:

afimchk.sql Tells the status of the ICM and PMON method


afcmstat.sql Lists active manager processes
afrqrun.sql Lists all the running, waiting and Terminating requests
afrqwait.sql Lists requests that are constrained and waiting for the ICM to release
them.
afrqscm.sql Prints log file name of managers that can run a given request. It can
be used
to check for possible errors when a request stays in pending status. It requires a
request id
value.

afcmcreq.sql Prints the log file name of the manager that processed the request
afrqstat.sql Summary of completed concurrent requests grouped by completion status
and
execution type. It requires number of days prior to today on which to report
parameter.
afimlock.sql Lists locks that the ICM is waiting to get
afcmrrq.sql Lists managers that currently are running a request
APPLSYS schema contains shared APPS foundation objects like FND,AD,WF related
data like tables and Indexes.
APPS is the runtime user for E-Business Suite. Owns all the applications code in
the
database. APPS Schema Contains Synonyms to the objects of All Products (AP,AR, GL
etc ) and 11i Code (Triggers, views, packages, procedures, functions) but the owner
of all
Author � A.Kishore
http://appsdba.info
4GL tables is GL user , AP tables is AP , and AR tables is AR Schema.

Why should Apps & Applsys passwords always be the same?


The need to have the same password for Apps and Applsys is because when you sign on
to apps, intially it connects to a public schema called APPLSYSPUB. This validates
AOL username and password that we enter (operations/welcome using guest user
account. Once this is verified we select responsibility, this is validated by
APPLSYS
schema and then it connects to APPS schema.
Since it uses both applsys and apps during signon process this expects both the
password
to be identical. Try changing apps password to something else and try to login, the
validation at the last stage would fail. This would result in failure of
application login.
Apps is a universal schema has synonyms to all base product tables and sequences.
This
also has code objects for all products (triggers, views, packages, synonyms etc.).
Applsys schema has applications technology layer products like FND and AD etc.
Q How to use the checksum utility for comparing ?
$ cd /u01/Stage11i
$ find oraAppDB oraApps oraDB oraiAS startCD -type f -exec md5sum '{}' \; >
md5sum_myStage.txt &
Metalink Note Id : 316843.1
Q:What scripts can be used to complie apps schema , which one is used in adadmin
compile apps schema ?

ANS :
adadmin in-turn calls the procedure UTL_RECOMP.RECOMP_PARALLEL

which might be in-turn issues the following commands based on the object types
if object is package body
alter package <package_name> compile ;
alter package <packae_ame> compile body;
alter view <view_name> compile;
$AD_TOP/sql/adcompsc.pls
Author � A.Kishore
http://appsdba.info
5Q : Why DB-CM-ADMIN are always insatlled on the same machine in Oracle

Applications in Multi Node Installation ?


ANS: As such there is no restriction to install all of them on a single machine,but
if we
install them on 3 different machines then when we will run any AD utility on admin
node
or perform any upgradation it needs to access the database so there will be lot of
overhead in accessing the database node on network so to avoid this overhead we
install
them on same machine. Similar is the case when we run any concurrent request on the
CM node as Concurrent manager also updates the database objects.
Q. How will you find discoverer version in Apps ?
Version
$ORACLE_HOME/Discwb4
$ string

Checking the version of any File


You can use the commands like the following:
strings -a $XX_TOP/filename |grep '$Header'
B. What URL you use to access Disco viewer & Disco plus .
where hostname & domainnanme are machine name & domain name on which you

installed 10g AS & port number is port you selected at install time defualt7777 ,
though
you can change these hostname & port number to your desired value
Author � A.Kishore
http://appsdba.info
6The location for looking for dis4pr is $ORACLE_HOME/diswb4/bin
where ORACLE_HOME -> 8.0.6. Oracle Home

Q: I have created EUL using Discoverer 10g Administrator, but my server side is
running 9i AS can I still use Discoverer Plus/Viewer to show reports based on 10g
EUL?

Ans : Your Discoverer Desktop Admin version is 10g and EUL on server is 9i. As soon
as you try to connect to 9i Server it will display message that You are using old
version
of EUL kindly upgrade & it will upgrade EUL on server to 10g
Q: The Oracle Applications use Jinitiator. What is a "Jinitiator"?
Jinitiator for the PC is an Oracle implementation of Sun's JavaSoft Plug-In for
Solaris. It
is used for connectivity between a Windows based client and Oracle Applications
forms.
The Apple Macintosh "MRJ" is an Apple's MAC OS component

Q: What browsers can be used with Jinitiator?


For PCs, Oracle will support Internet Explorer v 5.5 or lower or Netscape 5.5 or
lower.
Internet Explorer is Oracle's browser of choice.
Oracle will support Mac OS 8 to 9.21 with Oracle Applications and using the
Discoverer
3i viewer. Internet Explorer 5.1 works with the Oracle Applications. Netscape does
not.

Q: I'm getting a Yellow Warning Bar. How do I get rid of this?


1. Yellow Warning Banners
a. What Does "Warning: Applet Window" Mean?
Oracle Applications Release 11.5.1 (11i) requires that its code run in a trusted
mode, and
uses J-Initiator to run Java applets on a desktop client. If an applet is
"trusted," however,
Java will extend the privileges of the applet. The Yellow Warning Bar is a warning
that
your applet is not running in a trusted mode. To indicate that an applet is
trusted, it must
be digitally signed using a digital Certificate, so Oracle Applications requires
that all Java
archive files must be digitally signed.
b. Who Does This Affect?
This affects all users that try to access Oracle Applications Rel 11i using
Jinitiator that
have a different identitydb.obj on their client.
Clients have an "identity database" that is maintained by J-Initiator called
IDENTITYDB.obj. When a jar file is downloaded, the owner of the digital signature
is
compared against the entry in the identity databases. If they match, the code
contained in
the archive is allowed to run in a trusted mode. The users will need to fix their
client PC
in one of two ways:
i.
a. Uninstall Jinitiator and clear browser cache
Author � A.Kishore
http://appsdba.info
7b. Log back into Applications to get the new plugin,

(oajinit.exe) including the new identitydb.obj


c. Install the Jinitiator on the Client PC and then Log into the
Oracle Applications to download the new signed JAR files
OR
ii.

a. Copy the IDENTITYDB.OBJ file to C:\Program


Files\Oracle after saving the old one as IDENTITYDB.old.
When I try to download / install J-Initiator from the web, I get the error: Your
current security settings prohibit running ActiveX controls on this page. As a
result,
the page may not display correctly. I hit OK, and the download stops. What does
this mean?
This means that your security settings are too high for the J-Initiator software to
download. To fix this problem, go to Tools ' Internet Options and click on the
"Security"
tab. Click on the Internet icon and then on the button labeled "Custom Level".
Enable the
following ActiveX controls: "Download unsigned ActiveX controls," "Run ActiveX
controls and plug-ins," and "Allow per-session cookies (not stored)." Then hit OK.
OR
simply set the Security Settings to low, and hit the button labeled "Reset" then
"Yes" then
"Ok." Once the install is complete, you may set your security settings back to what
they

were originally.

What happens if the ICM goes down?


All the other managers will keep working. ICM only takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.
How will you speed up the patching process?
You can merge multiple patches.
You can create a response file for non-interactive patching.
You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.
perl -x $JTF_TOP/admin/scripts/ojspCompile.pl --compile
utrl.sql for database compilation
How will you handle an error during patching?
Look at the log of the failed worker, identify and rectify the error and restart
the worker
using adctrl utility.
Author � A.Kishore
http://appsdba.info
8Q: if you want to check the URL of the Application in the database in which table
you can check ?
Ans : ( Method 1)
select * from icx_parameters
Method 2
SELECT
PROFILE_OPTION_VALUE
FROM
FND_PROFILE_OPTION_VALUES
WHERE
PROFILE_OPTION_ID = (SELECT PROFILE_OPTION_ID FROM
FND_PROFILE_OPTIONS WHERE PROFILE_OPTION_NAME
='APPS_FRAMEWORK_AGENT') AND
LEVEL_VALUE=0
select * from FND_PROFILE_OPTIONS WHERE PROFILE_OPTION_NAME
='APPS_FRAMEWORK_AGENT'
select * from fnd_profile_option_values
where PROFILE_OPTION_ID=4532
Q: How to find CPU & Memory detail of linux
ANS :

cat /proc/cpuinfo (CPU)


cat /proc/meminfo (Memory)
Q : To check whether the patch is already there or not. For this we query the
database:
select * from AD_BUGS where bug_number=�<patch number>�
Author � A.Kishore
http://appsdba.info
9Q: How to find if any service is listening on particular port or not ?

netstat -an | grep {port no}


For example if you know that OID is running on 389 port so to check if OID services
is
listening or not then use
netstat -an | grep 389
what is the way to find version of installed family packs?
Select product_version,patch_level from
FND_PRODUCT_INSTALLATIONS where patch_level like '%GL%';

Replace short name by name of Oracle Apps Minipack for which you want to find out
Patch level . ex.
AD - for Applications DBA
GL - for General Ledger
PO - Purchase Order
Another method can be using the patchsets.sh utility which can be downloaded from
Metalink.

Provide an introduction to AutoConfig. How does AutoConfig know which value


from the XML file needs to be put in which file?
AutoConfig uses a context file to maintain key configuration files. A context file
is an
XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which
determines which values to pick from the XML file.
Location of Autoconfig Script ( ADAUTOCFG.sh)
COMMON_TOP/admin/scripts/<CONTEXT_NAME>

Autoconfig can also be run in test mode with following script which will not update
anything in the system (ADCHKCFG.sh)
Author � A.Kishore
http://appsdba.info
10
Location on Application Tier
<AD_TOP>/bin
Location on Database Tier
ORACLE_HOME>/appsutil/bin
The AutoConfig test mode script produces a configuration report that shows the
changes

the AutoConfig script would have made. The configuration report, cfgcheck.html, is
written to <APPL_TOP>/admin/<CONTEXT_NAME>/out/<MMDDhhmm> for the application tier,
and for the database tier in
<RDBMS_ORACLE_HOME>/appsutil/out/<CONTEXT_NAME>/<MMDDhhmm>.
MMDDhhmm stands for the month, day, hour, and minute of the AutoConfig test mode

script session.
A brief about snapshots ?
There are two types of snapshots: APPL_TOP snapshots and global snapshots. An
APPL_TOP snapshot lists patches and versions of files in the APPL_TOP. A global
snapshot lists patches and latest versions of files in the entire Applications
system (that is,
across all APPL_TOPs). Both APPL_TOP snapshots and global snapshots may be either
current view snapshots or named view snapshots. A current view snapshot is created
once

and updated when appropriate to maintain a consistent view. A named view snapshot
is a
copy of the current view snapshot at a particular time (not necessarily the latest
current
view snapshot) and is not updated. Patch Wizard uses the information contained in
the
global current view snapshot to determine which patches have already been applied.
AutoPatch uses the APPL_TOP current view snapshot to determine if all prerequisite
patches have been applied to that APPL_TOP. Snapshot information is stored in the
AD_SNAPSHOTS, AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables.

Can you tell me a few tests you will do to troubleshoot self-service login
problems?
Which profile options and files will you check?
Check guest user/password in the DBC file, profile option guest user/password, the
DB.
Check whether apache/jserv is up. Run IsItWorking, FND_WEB.PING, aoljtest, etc.
What could be wrong if you are unable to view concurrent manager log and output
files?
Author � A.Kishore
http://appsdba.info
11
Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME
and LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at

the FND_NODES table. Look at the FNDFS_ entry in tnsnames.ora.


How will you change the location of concurrent manager log and output files?
The location of log files is determined by parameter $APPLCSF/$APPLLOG and that of
output files by $APPLCSF/$APPLOUT.
If the user is experiencing performance issues, how will you go about finding the
cause?

Trace his session (with waits) and use tkprof to analyze the trace file.
Take a statspack report and analyze it.
O/s monitoring using top/iostat/sar/vmstat.
Check for any network bottleneck by using basic tests like ping results.

How will you change the apps password?


Use FNDCPASS to change APPS password.
Manually modify wdbsvr.app/cgiCMD.dat files.
Change any DB links pointing from other instances.
If you changed the APPS (and APPLSYS) password, update the password in these files:
� iAS_TOP/Apache/modplsql/cfg/wdbsvr.app
� ORACLE_HOME/reports60/server/CGIcmd.dat
If you changed the APPLSYSPUB password, update the password in these files:
� FND_TOP/resource/appsweb.cfg
� OA_HTML/bin/appsweb.cfg
� FND_TOP/secure/HOSTNAME_DBNAME.dbc

Provide the location of the DBC file and explain its significance and how
applications know the name of the DBC file.?
Location: $FND_TOP/secure directory.
Significance: Points to the DB server amongst other things.
Author � A.Kishore
http://appsdba.info

The application knows the name of the DBC file by using profile option
"Applications
Database Id."
How can u change the logfiles location suppose CM logfile location is APPLCSF
now if we want to change that to a nother location hw is it possible.
Ans: Change the Configuration File parameters
change s_applcsf,s_appllog,s_applout variables in XML file and run the autoconfig.
Conflict resolution managers resolves the conflicts yes , but hw it knows tht there
are conficts?why conflicts occur?
Ans:

Concurrent managers read request to start concurrent programs running. The


Conflict Resolution Manager checks concurrent program definitions for
incompatibility rules.
If a program is identified as Run Alone, then the Conflict Resolution Manager
prevents the concurrent managers from starting other programs in the same
conflict domain.

When a program lists other programs as being incompatible with it, the Conflict
Resolution Manager prevents the program from starting until any incompatible
programs in the same domain have completed running.
What is adovars.env file ?
The adovars.env file, located in $APPL_TOP/admin, specifies the location of
variousfiles
such as Java files, HTML files, and JRE (Java Runtime Environment) files. It
iscalled
from the main applications environment file.
How to find the wordsize (32-bit or 64-bit) of Oracle Database
If you have access to an Oracle database which is installed on a 64-bit OS, how can
you
identify whether Oracle is 32 bit or 64 bit ?
Gary Robinson's oracleadvice.com has very good pointers on how to determine the
WORDSIZE
--------------
64-bit Oracle
How to Compile JSP�s without using ADADMIN

adpatch options=nocompilejsp
Tue, 2007-07-10 16:44
When you use adpatch options=nocompilejsp, the lengthy time spent in compiling out
of
date jsps is

saved. The command to compile jsps outside of adpatch is: perl -x


$JTF_TOP/admin/scripts/ojspCompile.pl --compile Here's how the output of the above
command looks like:

initializing compilation:
eliminating children...12318 (-3091)
searching uncompiled...8677
translating and compiling:
searching untranslated...0
compiling jsps... 12% complete: 1100/8677 ETA: 14m7s
Do not use --quite option, as you would not be able to know the progress

14
-log <file> to override logfile from ojspCompile.conf

You are
recommended to set the log file location
outside of any network file system shared (NFS) area/drive.
-conf <file> to override ojspCompile.conf
--retry retry previously failed compilation attempts
--flush forces recompilation of all parent JSPs
--quiet do not provide an actively running progress meter
--fast instantly fail jsps that are *possibly* invalid
example1: ojspCompile.pl --compile -s 'jtf%' -p 20 --retry
example2: ojspCompile.pl --compile -s 'jtflogin.jsp,jtfavald.jsp' --flush
example3: ojspCompile.pl --compile --fast --quiet
jsps do compile on the fly, but that affects the application performance. So it is
a good
idea to
compile them in advance, if you have not done it during adpatch itself.
How to find the ORACLE_HOME path in Oracle Database?
In 9i:
15

Q. What is wdbsvr.app file used for? What's full path of this file? What's
significance of this file ?
I'll again suggest you don't just remember answer & try to solve mystery behind
this file.
First where this file exists ? You can find this file under
$IAS_ORACLE_HOME/Apache/modplsql/cfg

Based on file location I am sure you can say this is related to Apache, & looking
into
modplsql/cfg , I say its related to mod_pls (mod plsql component of Apache/Oracle
11i
WebServer) configuration file. This file is used by mod_plsql component of Apache
to
connect to database. So when you type url http://hostname:port/pls/SID , whenever
Apache(11i Web Server) finds that request is for /pls/ then Apache delegates this
request
to mod_pls component which in turn pick this file & check if there is any DAD with
can correlate it with your Oracle database software installation (I know after
reading this

example you will say its weird but believe me thats how understood it initially ,
ORACLE_HOME can be called as ORA_TOP , network directory you can say TNS_TOP )
Under ( ORA_TOP ) you will see diretcory related to oracle home , there are two
oracle
HOME's in Application Tier 8.0.6 for Forms & Reports , iAS for 9iAS acting as web
server)

COMN_TOP will contain files & directories which will be used commonly by all
components ( Isn't this simple to understand )
Similarly IAS_TOP is top files/directory under ORA_TOP/iAS I hope it might be clear
to
you now if not donot worry it will be more clear once you start working as Apps
DBA.
I am attaching few screenshot of other mount points ( Courtsey oracle 11i concepts
guide
, below is location if you want to read .

http://download-uk.oracle.com/
docs/cd/B25516_08/current/

acrobat/11iconcepts.pdf ( Add these three lines before putting in to browser , I


have not
put it in single line as it breaks my page layout )
So In this guide you will find few more screenshot of different TOP's , Go through
Chapter 2 , Just 13 Pages ( 13 unlucky number for someone but if understand this
chapter
, it can be very lucky for you in your Apps DBA Career.
Q. Whats US directory in $AD_TOP or under various product TOP's .
US directory is defauly language directory in Oracle Applications. If you have
multiple
languages Installed in your Applications then you will see other languages
directories
besides US, that directory will contain reports, fmx and other code in that
respective
directory like FR for France, AR for arabic, simplifies chinese or spanish.
Q. Whats main concurrent Manager types.
ICM - Internal Concurrent Manager which manages concurrent Managers
Standard Managers - Which Manage processesing of requests.
CRM - Conflict Resolution Managers , resolve conflicts in case of incompatibility.
You can check the Status of the concurrent Managers using this script
$FND_TOP/sql/ afcmstat.sql
Q : What are the different methods as per Metalink for finding which patches are
applied in 11i
------------------------------------------------------------------------
1) patchsets.sh (Patch Comparision Tool)
2) AD_PATCH_DRIVERS table

3) Two reports adphrept.sql (patch history) and adfhrept.sql(file


history) in $AD_TOP directory
Author � A.Kishore
http://appsdba.info
20

4) Login to Oracle Applications Manager (OAM) => Applied Patches => Simple Search
by 'Patch ID)
Q. What is Single user and Multi User Installation.
Single-user UNIX installations
In order to prepare for a single-user installation, you must first create an oracle
user
account and log in as the oracle user to run Rapid Install. The account should be
created
with a default shell that is compatible with the Bourne shell.
Multi-user UNIX installations
In order to prepare for a multi-user installation, you must first create an oracle
user
account and an applmgr user account. Both should be created with a default shell
that
is compatible with a Bourne shell. Log in as root to run Rapid Install. Then
specify the
oracle user as the Oracle OS user and the applmgr user as the Apps OS user.
The oracle user is the account that owns the database tier technology stack (9.2.0
ORACLE_HOME) and the database files. The default name for the oracle user is
ora<SID>. For example, for a production (PROD) environment, the default Oracle OS
username might be oraprod.
The applmgr user is the account that owns the application tier technology stack
(APPL_TOP, COMMON_TOP, 8.0.6 ORACLE_HOME, and the iAS ORACLE

HOME). The default name is appl<SID>. For example, for a Vision Demonstration (VIS)
environment, the default Apps OS username might be applvis.
For a multi-user install, you must install both the database server and one or more
application tier servers on the same node. On such nodes, you can assign one user
account to be the owner of the database tier file system, and another to be the
owner of
the application tier file system. If you are installing a system where the database
server is
on one node and all the application tier servers are on one or more separate nodes,
then
essentially you will perform a single-user installation on each node.
Q. Where would i find .rf9 file, and what exactly it dose?
These files are used during restart of patch in case of patch failure because of
some
reason.
Located in $APPL_TOP/admin/<SID>/restart this folder also contains .bak ,.bk2 files

SAMPLE FILE (adwork012.rf9)


%%% restart file format 11.5.A
Location: $APPL_TOP/admin/<SID>/log contains .req files
Author � A.Kishore
http://appsdba.info
21
Q. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used ?
This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is
usually in
directory $OA_HTML/bin on forms tier. This file is used by any forms client
session.
When a user

try to access forms , f60webmx picks up this file and based on this configuration
file
creates a
forms session to user/client.
Sometimes also present in $FNS_TOP/Resource directory
SAMPLE FILE

; Forms Web CGI Configuration File for Oracle Applications 11i ; $Header:
appsweb.cfg 115.100 2001/08/16 12:49:06 pkm ship $ ;
------------------------------------------------------------

; This file defines parameter values used by the Forms Web CGI.
; These parameter values are defined on install. Customizations
; are possible by modifying sections at the end of this file.
; Environment administrators should familiarize themselves with
; this file and its three sections:
; - environment specific parameters,
; - default parameter values,
; - specific configurations.
; ********************************
; ENVIRONMENT SPECIFIC PARAMETERS
; ********************************
; These parameters describe the main production environment.
; They have to be updated after every patching of this file.
;; Forms Server Information: port, machine name and domain

; -------------------------------------------------------

serverPort=9000
serverName=crmees06
domainName=.us.oracle.com

; If using Oracle Forms load balancing, set your serverName to


; serverName=%LeastLoadedHost%
; The following Metrics Server parameters define where the Forms Web CGI
; cartridge should obtain the name of the least loaded Forms Server.
; The default settings leave these parameters blank.
MetricsServerPort=9020
MetricsServerErrorURL=
; Environment Name is shown in Forms session browser startup window
envName=

; Splash Screen: displayed as a separate window on startup.


; oracle/apps/media/splash.gif is the default Oracle Applications
; splash screen (11.5.2+).
; Customers can customize this parameter by setting it to their
; icon's name and providing the icon in the $JAVA_TOP mapped to
; by the web server's OA_JAVA directory.
splashScreen=oracle/apps/media/splash.gif
;Author � A.Kishore
http://appsdba.info
22
; Forms Client-Server Communication Mode: socket, http, or https
; --------------------------------------------------------------
; Oracle Applications is recommending use of socket mode for intranet
; use, and https for internet use. Check Metalink for current issues.
connectMode=socket
;; Database Connection Parameters
; ------------------------------
userid=APPLSYSPUB/PUB@EES06A
fndnam=apps
;; JInitiator Parameters
; ---------------------
; The following parameters relate to the version of JInitiator.
; !!! IMPORTANT !!!

; When patching this file, you must update these parameters to reflect
; the JInitiator version you are using in you environment. Follow
; Metalink Apps11i Alert "Upgrading the JInitiator version used with
; Oracle Applications 11i" (Note:124606.1)
jinit_ver_name=Version=1,1,8,13 ( tells which Jinit to use if u have multiple)
jinit_mimetype=application/x-jinit-applet;version=1.1.8.13
jinit_classid=clsid:ed54a7b0-6c1c-11d5-b63d-00c04faedb18

;; Runform Parameters (NT platform ONLY)


; ------------------

; For Forms Servers running on NT platforms, the prodTop variable


; needs to be set to a FND_TOP-like value: all backslashes (\) should
; be modified to forward slashes (/).
; For example if FND_TOP is D:\oracle\prodappl\fnd\11.5.0 , then
; prodTop should be set to prodTop=D:/oracle/prodappl/fnd/11.5.0 .
; If using platforms other than NT leave the default:
prodTop=/appltop01/1155/ees06aappl/fnd/11.5.0
; For more details see Runform Arguments section of Default Parameters.
; ************************
; DEFAULT PARAMETER VALUES
; ************************
; It is not recommended to modify these unless requested by Oracle.
; SYSTEM PARAMETERS
; -----------------

; These parameters have fixed names and give information required by the
; Forms Web CGI in order to function. They cannot be specified in the
; URL query string, but they can be overridden in a named configuration
; (see sections below).
baseHTML=%OA_HTML%/US/appsbase.htm
baseHTMLJInitiator=%OA_HTML%/US/appsbase.htm
HTMLdelimiter=%

; The next parameter (IE50) specifies which JVM is used to execute the
; Forms applet under Microsoft Internet Explorer 5.0.
Author � A.Kishore
http://appsdba.info
23
IE50=JInitiator
; ORACLE APPLICATIONS PARAMETERS
; ------------------------------

; These match variables (e.g. %FORM%) in the baseHTML file. Their values
; may be overridden by specifying them in the URL query string
; (e.g. "http://myhost.mydomain.com/ifcgi60.exe?form=myform&width=700")
; or by overriding them in a specific, named configuration (see below)
; 1) Runform Arguments
; --------------------

; The module argument defines the first form to be started.


; It is composed from parameters %prodTop%/forms/%lang%/%formName%
; The default looks like $APPL_TOP/fnd/<version>/forms/US/FNDSCSGN
; Following parameters and prodTop are used for composing module.
; Note: Personal Home Page modifies the lang setting automatically.
formName=FNDSCSGN
lang=US
;

; Server Application default is 'OracleApplications'


serverApp=OracleApplications
;; Registry Path defines the location for .dat file
; default is '/OA_JAVA/oracle/apps/fnd/formsClient'
registryPath=/OA_JAVA/oracle/apps/fnd/formsClient
;; Other Forms Server Arguments
env=
form_params=
; 2) Java Client Code Parameters
; ------------------------------
; Codebase defines the location of Java code top;
; default value is /OA_JAVA
codebase=/OA_JAVA/
;; Code defines the first Java class to be executed;
; default value is 'oracle.forms.engine.Main'
code=oracle.forms.engine.Main
;; 8) Special Configurations
; -------------------------

; These configurations separate the JAR files used by CRM and ERP products
; for those users who only use one or the other, but not both.
; If using only CRM applications, JAR files for non-FND ERP products are
; not needed. Simillarly, if using only ERP products, JAR files for
; CRM products are not needed.
; When the above holds for all users the following two specific
; configurations could be used as defaults.
[CRM]
archive2=
macarchive2=
[ERP]
archive3=
macarchive3=
;#********************
;#
;# Begin customizations
Author � A.Kishore
http://appsdba.info
30
;#
;#********************
;# Customizations below this line will be preserved if patching this
;# file via the instantiation utility

; ***********************
; SPECIFIC CONFIGURATIONS
; ***********************

; You may define your own specific, named configurations (sets of parameters)
; by adding special sections as illustrated in the following examples.
; Note that you need only specify the parameters you want to change. The
; default values (defined above) will be used for all other parameters.
; Use of a specific configuration can be requested by including the text
; "config=<your_config_name>" in the query string of the URL used to run
; a form. For example, to use the sepwin configuration, your could issue
; a URL like "http://myhost.mydomain.com/ifcgi60.exe?config=sepwin".
; Example 1: configuration to run forms in a separate browser window with
; "generic" look and feel (include "config=sepwin" in the URL)

[sepwin]
separateWindow=True
lookandfeel=Generic

; Example 2: configuration affecting users of MicroSoft Internet Explorer 5.0.


; Forms applet will run under the browser's native JVM rather than
; using Oracle JInitiator.
[ie50native]
IE50=native

; Example 3: configuration forcing use of the base.htm base HTML file in all
; cases (means applet-style tags will always be generated and
; JInitiator will never be used).
[applet]
baseHTMLJInitiator=
; Example 4: configuration to run the demos
; PLEASE DO NOT REMOVE THIS EXAMPLE, !
; It is needed to run the Forms demos (if they are installed)
[demo]
pageTitle=Oracle Forms Server Demos

width=700
height=550
form=start60
userid=%Demos_ConnectString%
archive=f60all.jar, oracle_ice-4_03_1.jar

serverApp=/forms60demo/demo
lookAndFeel=oracle
colorScheme=teal

; Example 6: Oracle Applications Debug Configuration


; - logging turned on
Author � A.Kishore
http://appsdba.info
31
; - network statistics
; - potentially debug jar files

; - potentially other debug code


; - review JavaScript result for startup page (htmlDebug)
[debug]
envName=DEBUG

htmlDebug=true
record=all
netStats=true
;userjarfile=

; Example 7: Different JAR file configurations


; - All Needed JAR files, a.k.a. cup-of-tea mode
; - no On-Demand-Loading
[alljar]
jarloading=all
; ------------------------------------------
; Example 8: Customizing Oracle Applications
; ------------------------------------------

; - use the same appsweb.cfg for multiple environments


; - customize the JAR files' signature & JInitiator
; - customize the browser called from appletviewer
; - use load balancing
;[apps]
;#********************
;#
;# End customizations
;#
;#********************
;# Begin customizations
;#
;#********************
;# Customizations below this line will be preserved if patching this
;# file via the instantiation utility.
; ***********************
; SPECIFIC CONFIGURATIONS
; ***********************

; You may define your own specific, named configurations (sets of parameters)
; by adding special sections as illustrated in the following examples.
; Note that you need only specify the parameters you want to change. The
; default values (defined above) will be used for all other parameters.
; Use of a specific configuration can be requested by including the text
; "config=<your_config_name>" in the query string of the URL used to run
; a form. For example, to use the sepwin configuration, your could issue
; a URL like "http://myhost.mydomain.com/ifcgi60.exe?config=sepwin".
; Example 1: configuration to run forms in a separate browser window with
Author � A.Kishore
http://appsdba.info

; "generic" look and feel (include "config=sepwin" in the URL)

[sepwin]
separateWindow=True
lookandfeel=Generic

; Example 2: configuration affecting users of MicroSoft Internet Explorer 5.0.


; Forms applet will run under the browser's native JVM rather than
; using Oracle JInitiator.
[ie50native]
IE50=native

; Example 3: configuration forcing use of the base.htm base HTML file in all
; cases (means applet-style tags will always be generated and
; JInitiator will never be used).
[applet]
baseHTMLJInitiator=
; Example 4: configuration to run the demos
; PLEASE DO NOT REMOVE THIS EXAMPLE, !
; It is needed to run the Forms demos (if they are installed)

;# End customizations
Q. What is multi node system ?
Multi Node System in Oracle Applications 11i means you have Applications 11i
Component on

more than one system. Typical example is Database, Concurrent Manager on one
machine and
forms, Web Server on second machine is example of Two Node System.
Q. Explain steps used in cloning oracle Apps 11i Instance at broad level.
Another important & useful utility under AD_TOP which you and me as apps dba
perform quite
often i.e. Cloning Oracle Application 11i Instance.
Cloning is process of creating replica of your source apps 11i Instance ( lets say
you have
one
apps Instance with name VISIONTST and you want to create similar instance
( including
same
patches & user data) like VISIONPRD then you will use adclone utility (Also called
as
Rapid

Clone these days). In this case source Instance will be VISIONTST and target
Instance
will be
VISIONPRD. There are lot for scenario in which you wish to clone your E-Business
Suite 11i
Instance , like you want to Test if everything is OK in Test & then after testing
want to
create

Production instance or you want to move your Instance from one machine to other
machine or if
you are highly experienced Apps DAB you can use clone as staged environment during
Upgrade

to reduce downtime ( this concept is called as staged appl_top or staged


patching/upgrade
, p.s.

this is different from shared APPL_TOP)


So here I am putting broad level steps you will use to clone apps instance .
Step1 . Prerequisites Steps you do before start cloning using rapid clone
1.1 Verify source and target nodes software versions
1.2 Apply the latest AutoConfig Template patch
1.3 Apply the latest Rapid Clone patches
Step2 . Clone Source to Target
2.1 Run preclone on DB tier
2.2 Run preclone on Apps or middle tier
2.3 Copy source file system to target file system
2.4 Configure db tier
Author � A.Kishore
http://appsdba.info
34

2.5 Configure apps/middle tier


Step 3 Finishing Task
3.1 Update profile options
3.2 Update printer settings (If printers are not configured or you don't want to
use printer
you can
skip this step)
3.3 Update workflow configuration settings (Important)
Location of Scripts :
The PRECLONE script is located in:
$COMMON_TOP/admin/scripts/<SID_HOSTNAME>/adpreclone.pl
The post clone scripts are located in:
$COMMON_TOP/clone/bin/adclone.pl (ADCLONE.PL)
Q. Can you clone from multi node system to single node system & vice versa ?
Yes, this is now supported via Rapid Clone, Check if your system has all prereq.
patches
for

Rapid Clone and you are on latest rapid clone patch.


Q. Does rapid clone takes care of Updating Global oraInventory or you have to
register
manually in Global OraInventory after clone ?
Rapid Clone will automatically Update Global oraInventory during configuration
phase.
You don't
have to do any thing manually for Global oraInventory.
Location of Global OraInventory on SUN Solaris is : /var/opt/oracle>
Q. What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database
connection
information used by application tier to connect to database. This file is in
directory
$FND_TOP/secure also called as FND_SECURE
/delphi/applmgr/dev/devappl/fnd/11.5.0/secure
SAMPLE FILE (bloa40_dev.dbc)
Q. Whats things you do to reduce patch timing ? You can take advantage of following
-

Merging patches via admrgpch


Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
Staged APPL_TOP during upgrades

Increase batch size (Might result into negative )


Q. How you put Applications 11i in Maintenance mode ?
Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to
put apps in
maintenance mode you can use adpatch options=hotpatch feature.
Also you can use the script $AD_TOP/patch/115/sql/ adsetmmd.sql
Q. What are various options available with adpatch ?
Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion,

generateportion, hotpatch, integrity, maintainmrc, parallel, prereq, validate


Q. adident utility is used for what ?
adident utility in oracle apps is used to find version of any file . AD
Identification.
for ex. "adident Header <filename>
Q. What is adsplice utility ?
adsplice in oracle apps is utility to add a new product.
Q. How can you licence a product after installation ?
Author � A.Kishore
http://appsdba.info
36
You can use ad utility adlicmgr to licence product in Oracle Apps.
Q. What is MRC ? What you do as Apps DBA for MRC ?

MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US
Dollars but if your organization operating books are in other currency then you as
apps
dba need
to enable MRC in Apps. How to enable MRC coming soon...
Q. Whats is JVM(Java Virtual Machine) and which component uses JVM ?
JVM stands for Java Virtual Machine, JVM acronym for Java Virtual Machine which
executes

instructions generated by Java compiler. So user click on any Self Service Request
or any program which uses Java, then Apache forwards this request to mod_jserv
(mod_oc4j in 10g AS)

& mod_jserv caters this request with help of JVM.


How & Where check JVM related configuration in Oracle Apps 11i ?
So lets start with CONTEXT file under $APPL_TOP/admin (xml file) which is of
pattern
$SID_$HOSTNAME.xml
There are two important lines in CONTEXT file which will help you in understanding
JVM
jvm_options oa_var="s_jvm_options" osd="Solaris" -verbose:gc -Xmx512M -Xms128M

XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:


+UseTLAB
/jvm_options

-Verbose:gc means JVM is configured to print output when gc(Garbage Collector)


runs.
Xmx is maximum memory allocated to JVM in above example its 512 MB.
Xms is JVM will start with this much memory i.e. 128 MB.
Now Check another line in 11i Context file like
oacore_nprocs oa_var="s_oacore_nprocs"2/oacore_nprocs
Which means that there are two JVM's for OACore Group. Usually default its 1 JVM in
my
Instance I changed it to 2, to cater huge Self Service users in my case.

Q: How to increase No. Of JVM's


Since you know place where number of JVM's are stored in Apps 11i in Context File ,
so
you can
change them as per your requirement. There are basically following Groups with
their
own JVM's.

OACoreGroup, where most of Java request goes


DiscoGroup, which serve your Discoverer related requests
FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again as
they run
on
Socket)

XmlSvcsGroup, for XML Services


In Context File
disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM
Process for
Discoverer.
oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for
OACoreGroup
Author � A.Kishore
http://appsdba.info
37
Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services
resp.
These Groups are defined in configuration file for Jserv i.e. jserv.conf under
$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf
This dir also contains more files like forms.properties( for forms ),
xmlsvcs.properties(foe
XML ),
viewer4i.properties( for Disco)

ApJServGroup OACoreGroup
ApJServGroup DiscoGroup
ApJServGroup FormsGroup
ApJServGroup XmlSvcsGrp
Q: Where to find Apps 11i JVM logs ?
JVM log location is defined in java.sh ( found in
$IAS_ORACLE_HOME/Apache/Apache/bin)
Oracle Apps 11i JVM log file directory is defined by parameter JVMLOGDIR(

$IAS_ORACLE_HOME/Apache/Jserv/logs/jvm ) and log file are defined by


STDOUTLOG &
STDERRLOG. Example of JVM log files are
OACoreGroup.0.stderr ,OACoreGroup.0.stdout, DiscoGroup.0.stdout,
DiscoGroup.0.stderr,
XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout
where 0 denotes first JVM & 1 denotes second JVM. stderr records error encountered
in
JVM &

stdout records other information like GC ..


Q.Analyzing Oracle Apps 11i JVM logs
In order to analyze Oracle apps 11i JVM, lets open stdout file for one of Group, I
have
selected
OACoreGroup here, you know log file location (If not check previous page) , open
file
like
OACoreGroup.X.stdout you should see output like below if GC(Grabage Collector) is
set
in
Verbose mode.
50515.494: [Full GC[Unloading class sun. reflect. Generated Method Accessor 143]

[Unloading class sun. reflect. GeneratedMethodAccessor136]


[Unloading class sun. reflect. GeneratedMethodAccessor74]
Here first entry is time since JVM was started so each time you bounce Apache it
will be
reset to
0. So difference between two entries is seconds after which GC (Garbage Collector)
was
executed. First entry in bracket [ is Heap Size at start of GC & Second entry is
Heap Size
after

GC was executed. Number mentioned in round bracket () is heap size currently


attocated
in K. If
you see GC running very frequently , you can start thinking of increasing JVM heap
size
First three entries were for Minor Garbage Collector & fourth one is FULL GC is for
Full
Garbage
Collector.
Q: How to check JDBC Connection ?
Author � A.Kishore
http://appsdba.info
38

connect using apps, sys or system & issue


select count(*),module from v$session where program like '%JDBC%' group
by module;

How to find JDBC thin driver that your iAS 1.0.2.2.2 is using ?
I am posting a simple java program & procedure to compile it that will give your
jdbc
thin driver
version.
Create a file with name JDBCVersion.java in your middle tier (Application Tier)

-----------

Replace following parameters


1. <hostname> with your database hostname or IP address
2. <portno> with your database port no.
3. <yoursid> with SID for your database
4. <appspassword> with your apps password
After changing save it with name JDBCVersion.java in your middle tier & execute
command
javac JDBCVersion.java
This will create class file in your workign directory. Include your current
directory into
your
classpath like
export CLASSPATH=$CLASSPATH:/<location where JDBCVersion.class created by
above
program>

then execute
java JDBCVersion
Author � A.Kishore
http://appsdba.info
39

you should see output like


JDBC driver version is 9.2.0.6.0
Which means you are using jdbc thin driver version 9.2.0.6.0.
Q: How to Monitor Oracle Apps 11i JVM ?

There are some tools available like jvmstst, jconsole .. but I never tried so wait
till I
configure one
for my system. For monitoring via jconsole I read wonderful note on my favorite
blogger's (Steven
Chan) site http://blogs.oracle.com/schan/2006/08/14#a565
Q.Sizing Apps JVM
As by now you might be aware that there are four JVM Groups,
OACoreGroup,DiscoGroup,
FormsGroup & XMLsvcsGrp ( FromsGroup JVM's disabled by defualt as forms run on
Socket

rather servlets) so thumb rule in Apps is


1 JVM with default settings per 100 Users for OACoreGroup
so if you have 1000 users with five middle tiers you can configure 2 JVM on each
middle
tier i.e.
2X5X100=1000 Users.

Q. What is access_log in apache , what entries are recored in access_log ? Where is


default location of this file ?
access_log in Oracle Application Server records all users accessing oracle
applications
11i. This
file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by directive

LogFormat in httpd.conf Typical entry in access_log is


198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1"
200 28035
where 200 is HTTP status code & last digits 28035 is bytes dowloaded as this
page(Size
of page)
Q. Where is Jserv configuration files stored ?
Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc
Q. Where is applications start/stop scripts stored ?
applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/
$CONTEXT_NAME
the following scripts are there :

adalnctl.sh adcmctl.sh adexecsql.pl adrepctl.sh adstrtal.sh


adautocfg.sh addisctl.sh adpreclone.pl adstpall.sh gsmstart.sh
Q. What are main configuration files in Web Server (Apache) ?
Main configuration files in Oracle Apps Web Server are
httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
Author � A.Kishore
http://appsdba.info
40
jserv.conf, ssp_init.txt, jserv.properties, zone.properties

plsql.conf, wdbsvr.app, plsql.conf


Q. What is session time out parameter & where all you define these values ?
If someone ask Apps DBA to change Session Idle Time out value How & where will you
change ?
In order to answer first you have to understand what kind of seesions are in Apps
11i and
what is
Idle timeout ?
In Apps there are two broad categories of session
- Self Service Application Session ( Server by Web Server iAS Apache & Jserv, like
iRecruitment,
iProcurement)
-Forms session ( served by your form session, like system Administrator)
What is Session Idle time ?
If Oracle Apps client is not doing any activity for some time (when application
user goes
for coffee
or talks over phone) session during that time is called as Idle Session & because
of
security
reason, performance issues and to free up system resource Oracle Applications
terminates
client
session( both forms & self service) after idle time value is reached to the one
mentioned
in
configuration file.
From FND.G or 11.5.9 or with introduction of AppsLocalLogin.jsp to enter into
application, profile
option "ICX Session Timeout" is used only to determine Forms Session Idle timeout
value . This

might be confusing as earlier this profile option used to control forms as well as
self
service

application(with session.timeout) session.timeout is used to control Idle session


timeout
for Self
Service Applications ( Served by Jserv via JVM )
From where ICX : Session Timeout & session.timeout get values ?
Autoconfig determines value for profile option "ICX: Session Timeout" and
"session.timeout" from
entry in context file ( $APPL_TOP/admin/SID_hostname.xml ) with parameter
s_sesstimeout

where value mentioned is in milliseconds so profile option ICX: Session Timeout


value
should be
s_sesstimeout/ (1000 * 60) which means here its 10 Minutes. This value is also set
in
zone.properties in $IAS_ORACLE_HOME/Apache/Jserv/etc where number mentioned is
in milli
second i.e. 600000 ( equal to 10 Minutes)session.timeout = 600000
session.timeout mentioned in zone.properties is in milli secondsICX Session Time
out
mentioned

in profile option ICX: Session Timeout is in minutes so ICX session timeout=30 &
session.timeout= 1800,000 are same 30 minutes
P.S. ICX Session time out was introduced in FND.D so if your FND version is below D
you might
not see this variable.
Important Things Apps DBA should consider while setting session timeout value ?
1.. If you keep session.timeout value too high , when some oracle application user
accessing Self
service application terminates his session, so longer idle session will drain JVM
resource
& can
result in Java.Lang No Memory available issues .
2. If you keep it too low, users going out for tea or sitting idle for some time
have to login
again
into application & can be annoying .
Author � A.Kishore
http://appsdba.info
41

Thumb rule is session time out usually set to 30 minutes.


Q. How to check if Apps 11i System is Autoconfig enabled ?
Under $AD_TOP/bin check for file adcfginfo.sh & if this exists use
adcfginfo.sh contextfile=<CONTEXT> show=enabled
If this file is not there , look for any configuration file under APPL_TOP if
system is
Autoconfig

enabled then you will see entry like


# AutoConfig automatically generates this file. It will be read and.......
Q. How to check if Oracle Apps 11i System is Rapid Clone enabled ?
For syetem to be Rapid Clone enabled , it should be Autoconfig enabled (Check above
How to

confirm if Apps 11i is Autoconfig enabled). You should have Rapid Clone Patches
applied , Rapid

Clone is part of Rapid Install Product whose Family Pack Name is ADX. By default
all
Apps 11i
Instances 11.5.9 and above are Autoconfig & Rapid Clone enabled.
Q. Whats is difference between two env files in <CONTEXT>.env and
APPS<CONTEXT>.env under $APPL_TOP ?
APPS<CONTEXT>.env is main environment file which in turn calls other environment
files like
<CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806 ORACLE_HOME
and

custom<CONTEXT>.env for any Customized environment files.


Q. What is access_log in Apache ?
access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like
198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms
/registry/Registry.dat

HTTP/1.1" 200 4117


Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug
2006 at
03:15 AM , 200 is status code returned by Apache which means page returned
successfully
(Status Code 302 means page redirected , 404 page not found, 500+ Internal Server
error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes.
This file
is quite
useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format
in
Apache

configuration file ( httpd.conf)


Q. Whats is location of access_log file ?
access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs.
Location

of this file is defined in httpd.conf by parameter CustomLog or TransferLog


Q. What is your Oracle Apps 11i Webserver Version and how to find it ?
Author � A.Kishore
http://appsdba.info
42
From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version
under
$IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version

./httpd �version
Similarly we can do java �version
Server version: Oracle HTTP Server Powered by Apache/1.3.19
Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)
Q. What is Location of Jserv configuration files ?
Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc.
Q. What is plssql/database cache ?

In order to improve performance mod_pls (Apache component) caches some database


content

to file. This database/plssql cache is usually of type session & plsql cache
a) session cache is used to store session information.
b)plsql cache is used to store plsql cache i.e. used by mod_pls
Q. Where is database/plssql cache stored ?
plssql & session cache are stored under $IAS_ORACLE_HOME/
Apache/modplsql/cache
directory.

Q. How to determine Oracle Apps 11i Version ?


select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.9

Q. What is content of dbc file & why its important ?


DBC file is quite important as whenever Java or any other program like forms want
to
connect to
database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD ,APPS_JDBC_URL ,DB_HOST
Q. There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to
use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"
This option can be seen by navigating into Oracle Apps System as System
Administrator
and
then �Profile � System � Search for %Database% then you can see the parameter
defined
Author � A.Kishore
http://appsdba.info
43
Q. What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in
Oracle

Applications 11i for viewing output files & log files.


Q. What is PCP is Oracle Applications 11i ?
PCP is acronym for Parallel Concurrurent Processing. Usually you have one
Concurrent
Manager
executing your requests but if you can configure Concurrent Manager running on two
machines

(Yes you need to do some additional steps in order to configure Parallel Concurrent
Processing) .
So for some of your requests primary CM Node is on machine1 and secondary CM node
on
machine2 and for some requests primary CM is on machine2 & secondary CM on
machine1.
Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is used?

Well If you are running GL Month end reports or taxation reports annually these
reposrts
might
take couple of days. Some of these requests are very resource intensive so you can
have
one

node running long running , resource intensive requests while other processing your
day
to day
short running requets.
Another scenario is when your requests are very critical and you want high
resilience for
your
Concurrent Processing Node , you can configure PCP. So if node1 goes down you still
have CM
node available processing your requests.
Q. Output & Logfiles for requests executed on source Instance not working on cloned
Instance?
Here is exact problem description - You cloned an Oracle Apps Instance from
PRODBOX to
another box with Instance name say CLONEBOX on 1st of August. You can view any
CM
logs/output files after 1st of August only becuase these all are generated on
CLONEBOX
itself,

But unable to view the logs/output files which are prior to 1st August. What will
you do
& where to
check ?
Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS.
Check
Author � A.Kishore
http://appsdba.info
44
select logfile_name, logfile_node_name, outfile_name, outfile_node_name from

fnd_concurrent_requests where request_id=&requestid ;


where requestid is id of request for which you are not able to see log or out
files. You
should see
output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1

Update it according to your cloned Instance Variables


Q. How to confirm if Report Server is Up & Running ?
Report Server is started by executable rwmts60 on concurrent manager Node & this
file
is under
$ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output
& log file
to see if report server can display PDF files

Active Users report lists all the users in the system along with their
responsibilities.

Q. What is difference between ICM, Standard Managers & CRM in Concurrent


Manager ?
ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds
other

managers down , it checks & try to restart them. You can say it as administrator to
other
concurrent managers. It has other tasks as well.
Standard Manager These are normal managers which control/action on the requests &
does

batch or single request processing.


CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers &
request. If a request is submitted whose execution is clashing or it is defined not
to run
while a
particular type of request is running then such requests are actioned/assigned to
CRM for
Incompatibilities & Conflict resolution
Q. What is use of Apps listener ?
Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as
APPS_$SID is mainly used for listening requests for services like FNDFS & FNDSM.
FNDFS � FND File Server also known as RRA Reports Review Agent is used to view
text files in

Oracle 11i.
FNDSM � FND Service Manager is a concurrent manager in GSM, and serves requests
like CM�s
Use : ps �ef | grep APPS_
Q. How to start Apps listener ?
Author � A.Kishore
http://appsdba.info
45
In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also
start it
by command

lsnrctl start/status/stop SID (Replace sid by your Instance SID Name) OR


lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)
E.G. lsnrctl status APPS_DEV
Q. How to confirm if Apps Listener is Up & Running ?
execute below command
lsnrctl status APPS_$SID (replcae SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like
Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully
Q. What is Web Listener ?
Web Listener is Web Server listener which is listening for web Services(HTTP)
request.
This

listener is started by adapcctl.sh & defined by directive (Listen, Port) in


httpd.conf for
Web
Server. When you initially type request like http://becomeappsdba.blogspot.com:80
to
access

application here port number 80 is Web Listener port.


Q. How will you find Invalid Objects in database ?
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';
Q. How to compile Invalid Objects in database ?
You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle
Database to compile Invalid Database Objects.
This Script is located in $IAS_ORACLE_HOME/rdbms/admin directory
Q. How to compile JSP in Oracle Apps ?
You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files.
This

script is under $JTF_TOP/admin/scripts. Sample compilation method is


perl ojspCompile.pl --compile �quiet
Q. What is difference between adpatch & opatch ?
adpatch is utility to apply oracle apps Patches whereas
opatch is utility to apply database patches
Q. Can you use both adpatch & opatch in Apps ?
Author � A.Kishore
http://appsdba.info
46
Yes you have to use both in apps , for apps patches you will use adpatch utility
and for
applying

database patch in apps you will opatch utility.


Q. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh in
$COMN_TOP/admin/scripts
and appsweb_$CONTEXT_NAME.cfg (defined by environment variable
FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user
initiates

forms connection.
This file is located in $FND_TOP/admin/template/appsweb.cfg
Q. What is forms server executable Name ?
f60srvm
Q. What are different modes of forms in which you can start Forms Server and which
one
is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in
socket mode
Q. How you will start Discoverer in Oracle Apps 11i ?
In order to start dicoverer you can use script addisctl.sh under
$OAD_TOP/admin/scripts/$CONTEXT_NAME
OR startall.sh under $ORACLE_HOME/discwb4/util (under Middle/Application Tier)

OR $COMMON_TOP/admin/scripts/$CONTEXT_NAME

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle
Tier) and
One in Database Tier.
ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is
used by
forms, reports & discoverer. ORACLE_HOME should point to this ORACLE_HOME
while

applying Apps Patch.


ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous
versions you might find it in $OA_HTML/_pages

Q. Where is pl/sql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache

Q. What happens if you don't give cache size while defining Concurrent Manager ?
Lets first understand what is cache size in Concurrent Manager. When Manager picks
request
from FND CONCURRENT REQUESTS Queues, it will pick up number of requests
defined by cache size in one shot & will work on them before going to sleep. So in
my views if you
don't define cache size while defining CM then it will take default value 1, i.e.
picking up one
request per cycle.

Q. What are few profile options which you update after cloning ?
Rapid clone updates profile options specific to site level . If you have any
profile option
set at
other levels like server, responsibility, user....level then reset them.

Q. What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?


0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via
Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line
not from the Submit Request Form.

Q. How to retrieve SYSADMIN password ?


If forgot password link is enabled and sysadmin account is configured with mail id
user
forget password link else you can reset sysadmin password via FNDCPASS
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

Q. If you have done two node Installation, First machine : Database and concurrent
processing server. 2nd machine: form,web Which machine have admin server/node?
Admin Server will be on First machine with concurrent processing server. More on
Admin Server
coming soon..

Q. Whats is TWO_TASK in Oracle Database ?


TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets assume you have database client with tns alias defined as PROD to connect to
Database
PROD on machine teachmeoracle.com listening on port 1521. Then usual way to connect
is
sqlplus
username/passwd@PROD ; now if you don't want to use @PROD then you set
has to connect to tnsalias define by value PROD i.e. TWO_TASK

Q. What is GWYUID ?

GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB
Q. Where GWYUID defined & what is its used in Oracle Applications ?
GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to
database by thin clients.

Q. What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?


GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by

Thick Clients like via Forms Connections.


Q. How to check number of forms users at any time ?
Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l

Q. What is FNDLOAD and what it is used for ?


FNDLOAD is a concurrent program that can move Oracle Applications data between
database and text file. FNDLOAD can download data from an application entity into
an editable
text file, which can be uploaded to another database. Conversion between database
format and text
file format is specified by a configuration file. But i could not find anything
regarding
upload/download of an Oracle Alert. So, my conclusion was that i must be possible
to use FNDLOAD to
transfer
Alerts, but that there is no configuration file provided by Oracle. I had to create
a
configuration file myself.
We use ldt loader data files for loading.

Q. In a Multi Node Installation, How will you find which node is running what
Services ?
You can query for table FND_NODES and check for column , SUPPORT_CP ( for
Concurrent
Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server),
SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.

You can also check same from CONTEXT File (xml file under APPL_TOP/admin)
To Check which node is running what service:
select * from fnd_nodes

Q. If your system has more than one Jinitiator, how will the system know, which one
to pick. ?
When client makes a forms connection in Oracle Applications, forms client session
uses
configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE
also called as
appsweb config file. These days this file is of format appsweb_$CONTEXT.cfg The
initiator version number defined by parameter jinit_ver_name in this file will be
used . jinit_ver_name=Version=1,1,8,13 ( tells which Jinit to use if u have
multiple) ($FND_TOP/admin/template)

Q. While applying Apps patch using adpatch, if you want to hide the apps password,
how
will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password
being displayed on Users Screen.

Q. What is importance of IMAP Server in Java Notification Mailer ?

IMAP stands for Internet Message Access Protocol and Java Notification mailer
require
IMAP server for Inbound Processing of Notification Mails.

Q. What is difference between Socket & Servlet Mode in Apps Forms ?


When forms run SOCKET Mode these are dedicated connection between Client Machine
& Form
Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms requests
are
fulfilled by Jserv in Apache . There will be additional JVM for Forms Request in
that case and
you won't start form via adfrmctl.sh.

Q. What is make program in Unix ?

make is utility in Unix/Linux to maintain , update & generate an file mainly


executable.

Q. If by mistake you/someone deleted FNDLIBR can this executable be restored if


Yes,
How & if no, what will you do ?
Yes, you can restore FNDLIBR executables run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu then select 1. Relink
Applications
programs
when prompts for Enter list of products to link ('all' for all products) [all]
select FND when prompt for Generate specific executables for each selected product
[No] ? YES
select YES & from list of executables select FNDLIBR This will create new FNDLIBR
executables

Q. What is .pls files which you see with apps ?


.pls file stands for plsql files. In apps patch these files contain code to create
package spec
or

Q. What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
.ldt & .lct stands for Loader datafile & Loader configuration files, used
frequently in
migrating

customization, profile options, configuration data, etc.. across Instances.

Q. What are .odf file in apps patch ?


odf stands for Object Description Files used to create tables & other database
objects.

Q. What to find Form Server log files in forms ?


Form Server Start up log file default location is
$OAD_TOP/admin/log/$CONTEXT_NAME/f60svrm.txt
Forms Run Time Diagnostics default location is
$ORACLE_HOME/forms60/log/$CONTEXT_NAME
Q. How to convert pll to pld file or pld file to pll ?
Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/<passwd>
module_access=file output_file=MSCOSCW1.pld script=yes
Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/<passwd> module_type=library

Q. What is difference between mod_osso & mod_ose in Oracle HTTP Server ?


mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle
Servlet
Engine.
mod_osso is module in Oracle's HTTP Server serves as Conduit between Oracle Apache
Server & Singl Sign-On Server where as mod_ose is also another module in Oracle's
HTTP
Server

Q. What is difference between COMPILE_ALL=SPECIAL and COMPILE_ALL=YES


while compiling Forms ?
Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX
file
but COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL, or
.MMB file. This confuses version control and build tools (CVS, Subversion, make,
scons); they
believe you've made significant changes to the source. COMPILE_ALL=SPECIAL does not
do
this.

Q. What is iAS Patch ?


iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server Component) Usually these are shiped as Shell scripts & you apply iAS patches
by
executing Shell script. Note that by default ORACLE_HOME is pointing to 8.0.6
ORACLE_HOME and if you are applying iAS patch export ORACLE_HOME to iAS . You can
do same by executing

Q. If we run autoconfig which files will get effected ?


In order to check list of files changes during Autoconfig , you can run adchkcfg
utility
which will generate HTML report. This report will list all files & profile options
going to change
when you run AutoConfig.

Q. What is difference between .xml file & AutoConfig ?


Autoconfig is Utility to configure your Oracle Application environment. .xml file
is
repository of all configuration from which AutoConfig picks configuration and
polulates related files.

Q. What is .lgi files ?


lgi files are created with patching along with .log files . .lgi files are
informative log files
containing
information related to patch. You can check .lgi files to see what activities patch
has
done.Usually informative logs.

Q. How will you skip worker during patch ?


If in your adctrl there are six option shown then seventh is hidden option.(If
there are
seven options visible then 8th option is to Skip worker depending on ad version).

Q. Which two tables created at start of Apps Patch & drops at end of Patch ?
Author � A.Kishore
http://appsdba.info
54
FND_INSTALL_PROCESSES (Columns :CONTROL_CODE and STATUS ) &
AD_DEFERRED_JOBS are the tables that get updated while applying a patch mainly (d
or u)unified driver

Q. What exactly happens when you put an Oracle Apps instance in maintenance mode ?
Maintenance mode provides a clear separation between normal runtime operation of
Oracle
Applications and system downtime for maintenance. Enabling the maintenance mode
feature
a) Shuts down the Workflow Business Events System and
b) Sets up function security so that no Oracle Applications functions are available
to
users.
Used only during AutoPatch sessions, maintenance mode ensures optimal performance
and reduces downtime when applying a patch.
(COMPLETED TILL PAGE 29 ) http://teachmeoracle.com/interview29.html

Q: How to find Forms Version in 11i ?


Login to forms from frontend , on top menu bar of forms click on "Help" & Select
"About Oracle
Applications" go to "Forms Server " section. You should see entry like below
depending
on your
forms version
Oracle Forms Version : 6.0.8.26.0
Which mean you are on forms version 6.0.8.26 . If you want to know whats your forms
patchset
level then subtract 9 from fourth digit which means for above case form patchset 17
is
applied.

Q: How to find Forms Version in Apps from command Line ?

Enter "f60gen" on Forms Server and check for first line in output like
Forms 6.0 (Form Compiler) Version 6.0.8.26.0 (Production)
This confirms that you are on forms server version 6.0.8.26.0 and patch set 17.
( Patch
Set =
Fourth Digit - 9)
Q: How to find Jinitiator Version ?
Check for file like appsweb_SID_HOSTNAME.cfg under $OA_HTML/bin defined by
environment
variable FORMS60_WEB_CONFIG_FILE & search for entry like jinit_ver_name , you
will see
entry like
jinit_ver_name=Version=1,3,1,23
which means Jinitiator version is 1.3.1.23 ; if your version is 1.3.1.18 you will
see entry
like
1,3,1,18

Q: How to find Version of any file in Oracle Apps 11i ? or


Q: How to find any Reports Version 11i ? or
In Oracle Applications under ad utilities there is utility called as adident Used
for
Identification

Q: How to find Operation System Version (Unix/Linux) ?


For solaris use command
uname �a or cat /etc/release
You will see output like
For Solaris SunOS servername 5.8 Generic_117350-23 sun4u sparc SUNW,Sun-Fire-
V240
For RedHat Linux use command

cat /etc/*release*
You will see output like
Red Hat Enterprise Linux AS release 3 (Taroon Update 6)
Which means you are on Solaris 5.8 or Linux AS 3 resp.

Q: How to find if your Operating System is 32 bit or 64 Bit ?


For solaris use command

isainfo -v

If you see out put like


32-bit sparc applications
That means your O.S. is only 32 bit but if you see output like
64-bit sparcv9 applications
32-bit sparc applications
above means your o.s. is 64 bit & can support both 32 & 64 bit applications

Q: Can I run 64 bit application on 32 bit Operating system ?


You can run 32 bit application (like oracle application server, web server, all
oracle
application
server are 32 bit ) on both 32 /64 bit operating system but a 64 bit application
like 64 bit
database

can run only on 64 bit operating system.


Q How to find if your database is 32 bit or 64 bit(Useful in applying Patches) ?
execute "file $ORACLE_HOME/bin/oracle" , you should see output like
/u01/db/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1
which means you are on 64 bit oracle
If your oracle is 32 bit you should see output like
oracle: ELF 32-bit MSB executable SPARC Version 1
Now you know what should be bit of patch to download

Q: How to find OUI version ?


OUI stands for Oracle Universal Installer. In order to find Installer version you
have to
execute
./runInstaller -help ( From OUI location)
Author � A.Kishore
http://appsdba.info
57

You will get output like


Oracle Universal Installer, Version 10.1.0.4.0 Production Copyright (C) 1999, 2005,
Oracle. All
rights reserved.
That means OUI version in above case is 10.1.0.4
OUI location is $ORACLE_HOME/oui/bin

Q: How to find Database version ?


SQL> select * from v$version;
The command returns the release information, such as the following:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
PL/SQL Release 9.2.0.7.0 - Production
CORE 9.2.0.7.0 Production
TNS for 32-bit Windows: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production

Q: How to find Oracle Workflow Cartridge Release Version ?


Log in to the database as the owf_mgr user and issue
select wf_core.translate('WF_VERSION') from dual;

Q: Determining the Current Version of OJSP ?

You may follow these steps to determine which version of OJSP you have on your web
server if
you aren't sure:
Change to the OA_JAVA directory on your web server.
Using a text editor, create a file called test.jsp with only the following line:
<%= application.getAttribute("oracle.jsp.versionNumber") %>
You can also use the echo command, like so:
On Unix:
echo '<%= application.getAttribute("oracle.jsp.versionNumber") %>' > test.jsp
On Windows NT: echo "<%= application.getAttribute("oracle.jsp.versionNumber") %>"
> test.jsp
Access this JSP from a web browser, using the URL:
The resulting page will show you which version of OJSP your Oracle HTTP Server is
configured

to use.
If the web page displays "1.1.2.0", then you do not need to upgrade your OJSP. If,
however, it
displays anything else, such as "1.0.0.6.1", then you are using an older version of
OJSP,
and you
must upgrade your OJSP, following the directions in the MetaLink Note indicated
above.
Q: How to find opatch Version ?
opatch is utility to apply database patch , In order to find opatch version execute
"$ORACLE_HOME/OPatch/opatch version"
Author � A.Kishore
http://appsdba.info
58
You should see output like OPatch Version: 1.0.0.0.52 which means your opatch
version
is
1.0.0.0.52

Q. How to find Version of Apps 11i ?


Run following SQL from apps user ;
SQL> select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.10.2

Which means you are on Apps Version 11.5.10.2


Q How to Discoverer Version installed with Apps ?
Discoverer with Apps installed in ORACLE_HOME same as 806 is usually 3i or 4i. To
find

Version login to Application Tier & go to $ORACLE_HOME/discwb4/bin and execute


strings dis4ws | grep -i 'discoverer version'
You should see output like
Discoverer Version:Session 4.1.47.09.00
Which means you are on discoverer 4i version 4.1.47.09
Q. How to find Workflow Version embedded in Apps 11i ?

Run following SQL from apps user ;


SQL>select TEXT from WF_RESOURCES where NAME='WF_VERSION';
You should see output like
TEXT
-----------------------
2.6.0

Which means you are on Workflow Version 2.6.0


You can also use script wfver.sql in FND_TOP/sql to find version of workflow in
Apps.

Q: How to find version of JDK Installed on Apps ?


There might be multiple JDK installed on Operating System . Like JDK 1.3.1, 1.4.2
or
1.5 but in
order to find which Version of JDK your Apps is using
Open your Context File $SID_$HOSTNAME.xml under $APPL_TOP/admin and look
for variable
JDK_TOP oa_var="s_jdktop" what so ever value assigned against that parameter go to
that
directory & cd bin & execute command
./java -version so lets assume entry above is /usr/jdk then cd /usr/jdk/bin &
./java -version
, you

will see output like


java version "1.4.2_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)
Which means you are using JDK 1.4.2 in Oracle Applications 11i.
what is the differnce b/w httpd.conf and httpds.conf ?
httpd.conf is a http demon configuration file where as httpds.conf is a http demon
secure
configuration file.

How to see DB size at os level command.


By Issuing the following command in unix
$ ipcs -pmb

ipcs: invalid option -- b


usage : ipcs -asmq -tclup
ipcs [-s -m -q] -i id
ipcs -h for help.
Different Shutdown options in database ?
1) shut (for normal shutdown) --- It will wait until all the users to logout from
database.
2) shut transactional --- It will wait until all the transactions to be complete by
a commit
or
rollback.
3) shut immediate--- It will rollforward the commited data and rollback the
uncommited
data.
4) shut abort--- It will not check for users,trancations etc.. just it will aborted
from
database
by shutting down the instance.

A database is running in NOARCHIVELOG mode which type of backups you can take? In
no archive log mode, you have to take cold backup only...means..your database
should be down and

take backup....
For this, you can right shell script in order
(a) shutdown the database
(b) copy all the files
(c) startup the database......

A database is running in NOARCHIVELOG mode which type of backups you can take? In
no archive log mode, you have to take cold backup only...means..your database
should be down and

take backup....
For this, you can right shell script in order
(a) shutdown the database
(b) copy all the files
(c) startup the database......

PATCHING

Error message: ORA-01013: user requested cancel of current operation


Resolution to error: If this error occurs, simply use adctrl to restart the worker
on the
current machine.
Error message: Patch not applied successfully, adpatch did not cleanup its restart
files
(*rf9).
Resolution to error: If this error occurs, execute the following as the instance
owner:
$cd $APPL_TOP/admin/$CONTEXT_NAME

$mv restart restart_old


$mkdir restart
After cleaning up the restart files, you may then restart the adpatch session using
adpatch.

Question: I�m upgrading from RDBMS Version 9.2.0.5 to 9.2.0.8, and got the
following
error:
SQLPLUS fails when the code you are trying to execute contains
the
statement "WHENEVER OSERROR EXIT FAILURE ROLLBACK" if you attempt
to
connect to the local database instance via sqlplus '/as sysdba'
I researched the problem on MetaLink, and it said to apply patch 5495695. That
still
didn�t resolve the issue.

Answer: Apparently you need to take one more step after applying the patch:
1. Backup $ORACLE_HOME/bin/sqlplus executable
2. Copy $ORACLE_HOME/sqlplus/lib/sqlplus to $ORACLE_HOME/bin
Question: I am looking for a consolidated information point for all changed objects
(tables, views,
etc.) between Release 11.5.8 and Release 11.5.10.2 for GL, AP, AR, FA, CM,
Projects,
OM, PO, INV,

and Treasury. Do you have any idea where I can get this information?
Answer: Unfortunately, there is no utility or single document provided by Oracle
that
outlines the various Release deltas. We'd start with the eTRMs for each Release.
Another source for determining the differences is MetaLink Doc. ID: 163400.1,
�Release
Content Documents and Features Summary Matrices�. The top of the note has links to
the Release Content Documents (RCDs) for all the Release11i point releases and
Family Packs that supersede Release 11.5.10. The RCDs list new features, but
not new/changed components. If you scroll down to the �About� Documents you will
see,
by product family, a document for each Family Pack. These �About� documents do have
a �New and Changed Modules� section that will help you identify the changes.
This does require knowing which Family Pack you are currently on. For Financials
(GL,
AP, AR, FA,CM, Treasury), Release 11.5.8 is Family Pack C, so you would need to
read
about Family Packs D, E,F, and G. For Projects, Release 11.5.8 is Family Pack J, so
you
would need Family Packs K, L, and M.For Purchasing and Inventory and Order
Management, Release 11.5.8 is Family Pack H, so you would need Family Packs I and J
(note: Inventory and Purchasing and Order Management (ONT) are rolled into Supply
Chain Management for J).

How to Apply a Patch When Already Patching

Occasionally, adpatch will fail on one of the workers and patch installation cannot
continue until a different patch is applied. Currently adpatch only supports
applying one
patch at a time. So,how do you stop a patch, apply another patch, and resume the
original patch? The following
steps provide a solution for that scenario.
1. Using the adctrl utility, shutdown the workers.
a. adctrl
b. Select option 3 "Tell worker to shutdown/quit"

2. Backup the FND_INSTALL_PROCESSES/AD_DEFERRED_JOBS tables which is


owned by the
APPLSYS schema
sqlplus applsys/apps
create table fnd_Install_processes_back as select * from
fnd_Install_processes;
select count(*) from fnd_Install_processes_back;
select count(*) from fnd_Install_processes;

create table AD_DEFERRED_JOBS_back as select * from AD_DEFERRED_JOBS;


select count(*) from AD_DEFERRED_JOBS_back;
select count(*) from AD_DEFERRED_JOBS;

3. Backup the .rf9 files located in $APPL_TOP/admin/<SID>/restart directory. At


this
point, the
adpatch session should have ended and the cursor should be back at the UNIX prompt.
cd $APPL_TOP/admin/DEVL
mv restart restart_back
mkdir restart
4. Drop the FND_INSTALL_PROCESSES table and the AD_DEFFERED_JOBS table.
sqlplus applsys/apps
drop table FND_INSTALL_PROCESSES;
drop table AD_DEFERRED_JOBS;
5. Apply the new patch.
6. Restore the .rf9 files located in $APPL_TOP/admin/<SID>/restart_back
cd $APPL_TOP/admin/DEVL
mv restart restart_3263588
mv restart_back restart

7. Restore the FND_INSTALL_PROCESSES/AD_DEFERRED_JOBS tables which is


owned by the
APPLSYS schema.
sqlplus applsys/apps
create table fnd_Install_processes as select * from
fnd_Install_processes_back;
select count(*) from fnd_Install_processes;
select count(*) from fnd_Install_processes_back;

create table AD_DEFERRED_JOBS as select * from AD_DEFERRED_JOBS_back;


select count(*) from AD_DEFERRED_JOBS_back;
select count(*) from AD_DEFERRED_JOBS;

8. Re-create synonyms in APPS User


sqlplus apps/apps
create synonym AD_DEFERRED_JOBS for APPLSYS.AD_DEFERRED_JOBS;
create synonym FND_INSTALL_PROCESSES FOR
APPLSYS.FND_INSTALL_PROCESSES;
9. Start adpatch, it will resume where it stopped previously.
The Case.. The Mess up and The Quick Fix or Re Creating APPS Synonyms
without using ADADMIN

1.Mr.xxxx can u pls introduce u r self.


Ans: Just tell them abt u r educational background, year of passing,native place,
family member detials(if u r comfortable), u r strengths etc.

2. Can u pls tell us abt u r last organization, about u r project, customer.


Ans: My last organization is xxxxxxx. Ltd., project name is yyyyyyyyyyy and
customer name is zzzzzzzzzzzz. Customer business details(if u know). We have some
�n� instances in that we have n/4 production instances.

3. What is u r team size?


Ans:Specify a number depends on number of instances u r handling in u r project
4.What are the projects going on , in u r project?
Ans: Say there are some implementation and conversion projects are going on, but I
don�t know the entire details as our development team is handling that, we just
supporting in Apps DBA point of view whenever it is required.

5. What are u r regular activities?


Ans: Patching, patch analysis, monitoring, trouble shooting, resolving lock issues,
providing trace files,cloning, shutdown/starups,backup etc�.

6. What is a patch?
Ans : A patch can be a solution for a bug/it can be a new feature.

7. What are the different types of patches?


Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

8. What is a oneoff patch?


Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s

9. What is a mini pack ?


Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

10. What is Family pack ?


Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to particular patchsetlevel.

11. What is Maintanance pack ?


Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9
12. What is a Rollup patch?
Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

13. What is consilidated patch?


Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

14. How u will find whether a patch is applied/not?


Ans : Query ad_bugs.

15. What is the other table where u can query what are the patches applied?
Ans : Ad_applied_patches

16. What is the difference between ad_bugs and ad_applied_patches?


Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

17. How u apply a patch?


Ans : adpatch

18. What inputs you need to apply a patch other than driver name and etc?
Ans : apps and system passwords

19. What are the table u r adpatch will create and when?
Ans : Adpatch will creat FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it
will apply d,g and u drivers
20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?

Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that particular worker has failed. We need to trouble shoot and restrart the
worker.

21. If it is a multinode installation which driver we need to apply on which node?

Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to


apply on all nodes.

22.While applying an application patch is that necessary that u r database and


listener should be up?

Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?

Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS


tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

24. What is adctrl?

Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.

25. Can u name some of the menu options in adctrl?

Ans: Check the status of workers, tell manager that worker quits, restart a failed
worker etc�.

26. How to skip a worker and why?

Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

27. How adpatch knows what are the pre-req�s for the patch which it is applying?

Ans: With every patch a file called b<patch_number>.ldt file will be delivered
which contain the pre-req information. adpatch load this into databse using
FNDLOAD and check , whether those pre-req patches were applied or not.

28. What is FNDLOAD ?

Ans: FNDLOAD is a utility which is similar to sqlloader but loads code objects into
database, where as SQLLOADER loads data objects into database.
29. What c-driver will do?

Ans: C-drive copies the files from patch unzipped directory to required location in
u r application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.

30. How adpatch will know the file versions of the patch delivered files?

Ans: With each patch a file with name f<patch_number>.ldt is delivered , which
contain the file versions of the files dilivered with the patch. Adpatch will use
this file to compare the file versions of files its delivering with the file on
file system.

31. What is the adpatch log file location?

Ans : APPL_TOP/admin/SID/log

32. What is the worker log file name and its location?

Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

33. How u will know what are the files the patch is going to change just my
unzipping the patch?

Ans: When u unzip a patch it will keep all the files related to a particular
product under that directory inside u r patch directory for example if the patch
delivering files related to FND product then it will create a sub directory under
the patch directory with the name FND in which it will put all related files to
that product

34. What is the significance of backup directory under u r patch directory?

Ans: When we apply a patch it will keep the copy of the files which its going to
change in file system.

35. What are the different modes you can run your adpatch?

Ans : 1.Interactive � default mode


2.Non interactive � Use defaults files to store prompt values
(adpatch defaultsfile=<filename> interactive=no)
3. Test � Without actually applying a patch just to check what its
doing.(adpatch apply=no)
4. Pre-install � (adpatch preinstall=y) This mode will be usefull to
discrease upgrade downtime as its applies bus fixes without running SQL,EXEC and
generate portion of patch.
36. How u will monitor u r applications as well as database?

Ans: We have our custom scripts which is scheduled to run at a specific time which
will monitor whether applications and databases are up/not. And it will mail us if
some processes is not running. And we have one script which will check database
alert log for ORA errors and mails it to us . Based on this we will react.

37. What are the latest ORA errors u have encountered?


Ans: Usually we will get the ORA errors like unable to extend the tablespace by so
and so size. And we will check those tablespaces for space, if space is not there
we will resize the datafile and add one more datafile.

38. Which table u will query to check the tablespace space issues?

Ans : bytes column in dba_free_spaces and dba_data_files

39. Which table u will query to check the temp tablespace space issues?

Ans : dba_temp_files

40. What is temp tablespace? And what is the size of temp tablespace in u r
instances?

Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.

41. What is autoconfig?

Ans : Autoconfig is an adutility which is used to maintain application environment


and configuration files.

42. What are the parameter autoconfig will ask for?

Ans : Context file name and apps password

43. What is context file?

Ans : Context file is a central repository, which stores all application


configuration information. The name is like <Instance name>_ <Server name>.xml

44. How you will find autoconfig is enabled/not for u r applications?

Ans:
1. Open any env / configuration files, the first few lines will tell u that this
files are maintained by autoconfig.
2. If contextname.xml file is there in APPL_TOP/admin
3. Check for the script adcfginfo.sh (adcfginfo.cmd on Windows) under <AD_TOP>/bin.
If it exists, use it to check whether AutoConfig is enabled
For APPL_TOP
adcfginfo.sh contextfile=< CONTEXT>
For products
adcfginfo.sh contextfile=< CONTEXT> show=enabled

45. How autoconfig will create env and configuration files?

Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.

46. In how many phases autoconfig will run?

Ans : Autoconfig will run in 3 phases.


1.INIT � Instantiate the drivers and templates
2.SETUP � Fill the templated with values from xml and create files
3.PROFILE � Update the profile values in database.

47. What is the location of adconfig log file?

Ans : APPL_TOP/admin/<context_name>/log/<timestamp directory>

48. Is it possiable to restore a autoconfig run?

Ans : Partially. Adconfig will create a restore.sh script at


$APPL_TOP/admin/<context_name>/out/<timestamp directory>. This restore.sh will copy
the backed up files before autoconfig run to its original locations. But the
profile values updated in the database can�t be restored back.

49. How to run autoconfig in test mode?

Ans : adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test
mode and create the difference file cfgcheck.html. It is located under:
On the application tier: <APPL_TOP>/admin/ <Context_name>/out/<MMDDhhmm> which
tells us what is going to change , when u actually run autoconfig.

50. How to find autoconfig is enabled or not for database?

Ans: If we have appsutil directory under RDBMS_ORACLE_HOME

51. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?

Ans : j<patch_number>.zip
52. What is apps.zip/appsbrog2.zip file?

Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files


required for oracle application.
Apps.zip was used to old application version, but from 11.5.8 onwards its
appsbrog2.zip

53. What is the location of apps.zip/appsbrog2.zip?

Ans : AU_TOP/java and JAVA_TOP

54. What is for �validating apps schema� option in adadmin?

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

55. What is �compile apps schema� option in adadmin?

Ans : It will compile the invalid database objects.

56. How to find invalid objects in database?

Ans : select count(*) from dba_objects where status=�INVALID�;

57. 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.

58. 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.

59. 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).

60. What is Multi-Org?

Ans: If this is enabled we can store multiple organization information in a single


oracle application instance.

61. What is the configuration file for adutilities (like adadmin,adconfig etc)?

Ans: adconfig.txt @APPL_TOP/admin

62. 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.

63. How to find the version of a file?

Ans : 1. adident Header <filename>


2. strings -a filename | grep Header

64. What is adodfcmp utility?

Ans : This utility is used to recreate/repair corrupted database objects from


odf(object defination files) files.

65. How you will change apps password?

Ans: FNDCPASS 0 y apps/<pwd> system/<pwd> SYSTEM APPLSYS <new pwd>

66. What if apps password is changed with alter command?

Ans : Applications won�t work.

66. What is the difference between alter and FNDCPASS in changing apps password?

Ans : FNDCPASS will update some fnd tables other than standard tables.

67. Where the FNDCPASS utility is located?

Ans : Concurrent node @FND_TOP/bin

68. How to find out what component of u r oracle applications were installed on
which node?

Ans : Xml file (context file)

69. How to find the version of httpd/Apache web server?


Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version

70. What is the configuration file for httpd and what is the location of it ?

Ans : httpd.conf @IAS_ORACLE_HOME/Apache/Apache/conf

71. Where you will see when you have some problem with u r webserver(httpd/Apache)?

Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs

72. When Apache starts what other components its start ?

Ans : PL/SQL Listener, Servlet Engine, OJSP Engine

73. 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.

74. What is self service application?

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

75. Where u will see when u r not able to get self service applications?

Ans : access_log,error_log, error_pls, jserv.log, wdbsvr.app(for apps password)

76. What is the location of jserv.log?

Ans : IAS_ORACLE_HOME/Apache/Jserv/log

77. What is the location of wdbsvr.app ?

Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg

78. What are jserv.conf and jserv.properties files?

Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.

79. What is mean by clearing cache and bouncing apache?

Ans : 1. Stop apache (adapcctl.sh stop apps)


2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html
directory (rm �r _oa__html)
3. Start apache (adapcctl.sh start apps)

80. What is forms configuration file and its location?

Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin

81. What are the different modes u can start u r form server?

Ans : socket and servlet

82. What is the difference beween socket and servlet mode?

Ans : In socket mode forms sessions are represented by f60webmx


In servlet mode forms sessions are represented by apache processes.
83. What is forms metric server and client?

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

84. Where the forms server related errors will be logged?

Ans : access_log and error_log

85. What is report server configuration and log file name and its location?

Ans : Configuration file � REP_<SID>.ora


Log file � REP_<SID>.log @806_ORACLE_HOME/reports60/server

86. What is CGIcmd.dat file and its location?

Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server

87. What is the significance of DISPLAY variable?

Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in
Reports.

88. Where is the concurrent manager log file located?

Ans : $COMMON_TOP/admin/<SID>/log or $APPLCSF/$APPLLOG

89. Is apps password necessary to start all the components of oracle application?

Ans : No. Only to start/stop concurrent managers apps password is needed.


90. What is a concurrent manager?

Ans : A concurrent manager is one which runs concurrent requests.

91. What are the different types of concurrent managers?

Ans : 1. Internal concurrent manager � Will start all other managers and monitor
2. Standard Manager � All concurrent request by default will to go this
3. Conflict resolution manager � Concurrent programs with
incompatabilites will be handled by this
4. Transaction manager � Handle all transaction requests

92. What are actual and target count in �Adminster Concurrent Managers form�?

Ans : Target is the no. of concurrent processes a manager is supposed to


start(specified in the defination of concurrent manager).
Actual is the no. of processes a manager started actually.

Target and Actual should be always same.

93. What if Target and Actual are not same?

Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.

94. What are work shifts?


Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

95. What if internal concurrent manager target and actual are not same?

Ans : we need to bounce the concurrent manager using adcmctl.sh

96. How to bounce a single concurrent manager?

Ans : From frontend using �Administer Concurrent Manager form�.

97. When we change apps password , is it necessary to bounce application?

Ans : Only we need to bounce concurrent managers.

98. What is 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
99. What is the other script by which u can start apache other than adapcctl.sh?

Ans : apachectl @IAS_ORACLE_HOME/Apache/bin

100. What is the configuration file for PL/SQL listener?

Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

101. How to skip copy portion while applying a patch?

Ans : Adpatch options=nocopyportion

102. How to merge patches and what type of patches can be merged?

Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv

103. What is the Tiered architecture of u r instance?

Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.

104. How to find formserver version?

Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.

105. 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 request form�.

106. What is apps listener?

Ans : Apps lintener 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�.
107. 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.

108. How to find the application version like 11.5.8/11.5.9�.?

Ans : select release_name from fnd_product_groups;

109. How to find the database/sqlplus version?

Ans : select banner from v$version;

110. How to find out what are the languages enabled in u r applications?

Ans : Query fnd_languages

111. What is the size of u r database?

Ans : 200 to 500 GB

112. How to find operating system version?

Ans : uname �a

113. 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.

114. 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.

115. 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.

116. How to kill a database session?

Ans : alter system kill session '&sid,&sno';

117. How to find adconfig is enabled for oracle operating system user/database?

Ans : If appsutil directory is there in RDBMS_ORACLE_HOME


118. Which files tell u the database helath?

Ans : alert log file @RDBMS_ORACLE_HOME/admin/<Contextname>/bdump

119. How to apply a rdbms patch?

Ans : Using opatch

120. How to find opatch is enabled or not for u r database?

Ans : If Opatch directory exists under RDBMS_ORACLE_HOME.

121. What is the pre-req for applying a rdbms patch?

Ans : Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc

122. What is Inventroy?


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.
123. What are different types of inventories?

Ans: The Global inventory (or Central inventory)


The Local inventory (or Home inventory)
124. 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
de-installer in order to keep the Global Inventory synchronized.
125. 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.
126. 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
127. 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.

128. Explain the cloning process?


Ans :
1. Run adpreclone as applmgr and oracle user on source
Perl adpreclone.pl dbTier as oracle user
Perl adpreclone.pl appsTier as applmgr user
2. Take the cold/hotbackup of source database
3. Copy the five directories <prod>appl,<prod>comn,<prod>ora ,
<prod>db,<prod>data to target
4. Rename the directories, and change the permisssion
5. Set the inventory in oraInst.loc
6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold
7. If the backup type is hotbackup then
Perl adcfgclone.pl dbTechStack.
Create the control file on target from the control script trace file from
source
Recover the database
Alter database open resetlogs
8. Run autoconfig with the ports changed as per requirement in xml.
9. Run perl adcfgclone.pl appsTier as applmgr
10. Run autoconfig with the ports changed as per requirement in xml.

129. What is the location of adpreclone.pl for oracle user?

Ans : RDBMS_ORACLE_HOME/appsutil/scripts/<contextname>

130. What is the location of adpreclone.pl for applmgr user?

Ans : $COMMON_TOP/admin/scripts/<contextname>

131. What is the location of adcfgclone.pl for oracle user?

Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin

132. What is the location of adcfgclone.pl for applmgr user?

Ans : $COMMON_TOP/clone/bin

133. What is statspack?

Ans : Statspack is a database utility to gather database and session level


performance information.

134. How to install statspack?

Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin

Note more details on statspack refer metalink noteid: 149113.1

135. How to enable trace at database level?

Ans : set init.ora parameter sql_trace

136. How to enable trace for a session?

Ans: Alter system set sql_trace=true;


Execute the sql query
Alter system set sql_trace=false;
This will create a trace file at $RDBMS_ORACLE_HOME/admin/contextname/udump with
the spid of the current sql session.

137. How to enable trace for other session?

Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)


Eg: To enable trace for sql session with sid 8
SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,true);
PL/SQL procedure successfully completed.
To disable trace
SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);

138.What is the location of inint.ora ?

Ans : $RDBMS_ORACLE_HOME/dbs

139. What is that trace files contains and the utiliy used to read them?

Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.

140. What is the syntax for tkprof?

Ans: tkprof <trace filename> <output filename> explain=apps/<pwd> sys=no

141.How do we find adpreclone is run in source or not ?

Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user


and
$COMMON_TOP for applmgr user.

142. How to find that the database is 64-bit/32-bit?

Ans : $RDBMS_ORACLE_HOME/bin/file oracle

Ex: /oraDB/angdb/920/bin> file oracle


oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped

143. How to find trace file for a given concurrent request id?

Ans : Go to $RDBMS_ORACLE_HOME/admin/<context_name>/udump
Grep �<request id> � *

144. What is a database link? How to create it?

Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.

1.Login as oracle user


2.sqlplus �/as sysdba�
3. create database link <dblink name> connect to <destination user> identified by
<d;estination user pwd> using '<destination database name>';
Ex
SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps
using 'TEST2';

Database link created.

SQL> select name from v$database@ TEST1_TO_TEST2;

NAME
---------
TEST2
SQL>select db_link from dba_db_links;
4. Add destination database tns entry in tnsnames.ora

145. How many clonings u have done?

Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise


just 2 or 3.

146. What u know abt RMAN?

Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.

147. What is netapp?

Ans : Netapp is a storage technology.

148. Have u done any performance tunning?

Ans : Better say No. If u r very good in performance tunning then say �yes�.

149. What is formserver url?

Ans :http://hostname.domain:<port>/dev60cgi/f60cgi

150. 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.

151. What is discoverer server?

Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.

152. What is discoverer viewer url?

Ans: http://hostname.domain:<port>/discoverer4i/viewer
153. What is discoverer plus url?

Ans : http://hostname.domain:<port>/discwb4/html/english/welcome.htm

154. 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:<port>/OA_HTML/jsp/fnd/aoljtest.jsp

155. What is adsplicer?

Ans : Adsplicer is a uitility used to register off cycle products.

156. What is licence manager?


Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.

157. What is tnsping?

Ans : tnsping is command used to check the connectivity to the database server node
from other nodes.

Ex: tnsping <dbsid>

Note: Tns entry should be there in tnsnames.ora for the database we are trying to
work this command.

158. What is top command?

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

159. How to compile a form using f60gen?


Ans : f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS
output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special

160. 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.
161. What is mean by enabling maintanance mode?

Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.

162. Is that necessary to enable maintanance mode while applying a patch?

Ans : We can even apply a patch without enabling maintanance mode with the
following option

Adpatch options=hotpatch

163. How to find out oracle application framework version?

Ans : 1. Through aoljtest


2. cd $COMMON_TOP/html/
3. adident Header OA.jsp

164. 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 are applied to this oracle home.

165. Is that necessary to shutdown database while applying a database patch?

Ans : Yes.

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


Ans : CONSUB

167. 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.

168. How you will find out discoverer version?

Ans : cd $806_ORACLE_HOME/discwb4/lib
strings libd* | grep 'Version:'

169. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?

Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:

Opatch apply �no_inventory

170. Have you opened any TAR and for what?

Ans : Yes. If we have any issues on production then we will raise seviarity 1 tar
otherwise seriarity 2/normal.

171. For what you have raised the TAR?

Ans : We got ORA-7445 error (memory leak) in alert log, for which we have raised a
Seviarity 1 TAR.

172. Have you applied rdbms patches and for what?

Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.

173. What are the patch errors , you have encountered?

Ans :
1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.

2) Unable to generate jar files under JAVA_TOP


AutoPatch error:
Failed to generate the product JAR files

Solution:
Run adjkey -initialize -----------to creat identitydb.obj file which will be
used by adjava to sign jar files.
174. What is adjkey? What files it will create?

Ans : adjkey is an adutility which will create digital signature, which will be
used to sign all the jar files when we generate jar files using adadmin. The
purpose of this is, when you access forms interface every time, the signature of
the jar files which is going to download is compared with the existing cached jar
files signature in client machine. If signature won�t match, it will download that
jar files again.
It will create the following files:
adsign.txt@APPL_TOP/admin
appltop.cer@APPL_TOP/admin
identitydb.obj@applmgr home

175. Have done any OWC with oracle?

Ans : No.

176. What are the post installation task?

Ans : Running adjkey �initialize and then runnning adadmin to regerate jar files.

177. What are the clone errors, you have encountered?


Ans :
Error:

RC-50013: Fatal: Failed to instantiate driver


/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drv
Cause
The source instance has files that adpreclone flags as 'autoconfigable' but in
reality they are not. So adpreclone.pl adds these files into the instconf.drv.
Then when adcfgclone.pl is run on target it looks for the template file to
instantiate for these files and since there isn't a template file adcfgclone.pl
fails.
Solution
Modify the target's instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl

178. What are the real time problems you have encountered and how you trouble
shooted that?

Ans:
1. Concurrent Program is erroing out with snapshot too old error. To resolve
this we have added space to temp tablespace.
2. Concurrent Program is erroing out with unable to extent a perticular
tablespace by so and so extents. To resolve this we have added on more data file to
that tablespace.
3. When we are trying to start apache with adapcctl.sh script after a autoconfig
run, its saying that �node id is not matching with the application server id�. To
resolve this we have updated the server id column in fnd_nodes table with the
server id value in dbc file.

179. How you will find workflow version?

Ans : Run wfver.sql@FND_TOP/sql script as apps user

180 . When forms are running in servlet mode then the environment variables
required for forms must be defined in what file and its location?

Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.
181. How to find out which patch driver is applied(like c,d,g or u)?

Ans: query ad_patch_drivers.

182. How to find out whether a language patch is applied for a perticular patch?

Ans : Query ad_patch_driver_langs.

183. How to validate that sysadmin password is correct or not from backend?

Ans: select fnd_web_sec.validate_login('SYSADMIN','Qwert8765') from dual;

184. How to compile jsp's(other than from adadmin)?

Ans: Force compilation of all jsps using the following command


ojspCompile.pl --compile --flush

185. How to rotate logs for apache logs?

Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.

186. Other way of checking whether MRC is enabled or not besides using adadmin?

Ans : select multi_currency_flag from fnd_product_groups;

187. How to compile rdf?

Ans: Either using adadmin or rwcon60

188. How you will see hidden files in linux/solaris?

Ans : ls �la

189. How to change file/directory owner in linux/solaris?

Ans : chown �R <username>:<group> <file/directory>

Ex: chown �R applmgr:dba testappl

190. How to change the permission of file/directory in linux/solaris?

Ans : chmod �R <permissions> <file/directory>

Ex : chmod �R 755 testappl

191. What are the files which contain apps password?

Ans : 1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg
2. CGIcmd.dat@806_ORACLE_HOME/reports60/server
3.wfmail.cfg@FND_TOP/resource - optional
4. CatalogLoader.conf@OA_JAVA - optional
5. CatalogLoader.xml@OA_HTML - optional

192. What is the script to find out ICM status?

Ans : afimchk.sql@FND_TOP/sql
193. What is the script to list the concurrent request status?

Ans: afrqrun.sql@FND_TOP/sql

194. What is the script that Lists managers that currently are running a request?

Ans : afcmrrq.sql@FND_TOP/sql

195. How you will run adadmin in non interactive mode?

Ans : adadmin defaultsfile=<filename>,interactive=no,logfile=<filename>


196. When should I run AutoConfig?
Answer:
You should run AutoConfig in the event of the following cases:
o You did updates to your Applications Context file.
o An Oracle Metalink Note instructs you to run AutoConfig as part of an
upgrade, migration, cloning and/or configuration process.
o The Readme of an Oracle patch instructs you to run AutoConfig after the
application of the patch.
o You apply any ADX Product patch.
197. Which files / profile options get changed when I run AutoConfig?
Answer:
Run the adchkcfg utility to get an html report that lists all the files and profile
options that get changed when you run AutoConfig.
198. How to find database is in archive log mode or not?
Ans :
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /nqnsi/arch
Oldest online log sequence 77
Next log sequence to archive 80
Current log sequence 80
SQL>
199. How to find from what version to what version our applications were upgraded?
Ans:
SQL> select MAJOR_VERSION,MINOR_VERSION,TAPE_VERSION from ad_releases;
MAJOR_VERSION MINOR_VERSION TAPE_VERSION
------------- ------------- ------------
11 5 0
11 5 7
11 5 8
11 5 9

Q.how to delete files older than n number of day, useful to delete old log files
find . -name ' *.*' -mtime =<T in days> -exec rm{}\

Q. What is wdbsvr.app file used for? What's full path of this file? What's
significance of this file ?
I'll again suggest you don't just remember answer & try to solve mystery behind
this file. First where this file exists ? You can find this file under
$IAS_ORACLE_HOME/Apache/modplsql/cfg
Based on file location I am sure you can say this is related to Apache, & looking
into modplsql/cfg , I am sure you will say its related to mod_pls (mod plsql
component of Apache/Oracle 11i WebServer) configuration file. This file is used by
mod_plsql component of Apache to connect to database. So when you type url
http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds that request
is for /pls/ then Apache delegates this request to mod_pls component which in turn
pick this file & check if there is any DAD with name SID (in our example its
VISION11I) &
Sample entry in wdbsvr.app
[DAD_VISION11I]
connect_string = VISION11I
password = apps
username = APPS
default_page = fnd_web.ping
On typing http://hostname:port/pls/VISION11I , it will connect to database using
apps schema & will return you page fnd_web.ping ( where fnd_web is package & ping
is procedure or vise versa).

So story about this file doesn't stop here , this url which I mentioned about is
quite useful in troubleshooting so you can check if database connection is working
fine or not. Another thing you want to check about this file is since it stores
APPS password you need to change here whenever you change apps password .

Q. What are various components in Application/Middle Tier.


In Application Tier various components are Web Server, Forms Server , Reports
Server, Concurrent Manager, Admin Server & Discoverer Server
Q. What is APPL_TOP, COMN_TOP, ORA_TOP.....
XXX_TOP is top level directory in Oracle Application 11i for respective Component.
To know more about various TOP's Click Here Q. What are issues you encountered
during Oracle Applications 11i?
Answer to this question will depend on issues you encountered. Don't lie infront of
Interviewer. If you have not installed applications 11i accept it.
Q. What's difference between TWO user & single User Apps 11i Install ? What are
advantages/disadvantages of two ? Questions mentioned above are very basic
questions. For more Apps 11i Interview Click Next Page. All the best for your
interview. If you need more info or any doubt Mail Me. Q. Whats US directory in
$AD_TOP or under various product TOP's .
US directory is defauly language directory in Oracle Applications. If you have
multiple languages Installed in your Applications then you will see other languages
directories besides US, that directory will contain reports, fmx and other code in
that respective directory like FR for France, AR for arabic, simplifies chinese or
spanish.
Q. Whats main concurrent Manager types.
� ICM - Internal Concurrent Manager which manages concurrent Managers
� Standard Managers - Which Manage processesing of requests.
� CRM - Conflict Resolution Managers , resolve conflicts in case of
incompatibility.
Q. Where is Concurrent Manager log file location.
By default standard location is $APPLCSF/$APPLLOG , in some cases it can go to
$FND_TOP/log as well.
Q. Where would i find .rf9 file, and what execatly it dose ?
These files are used during restart of patch in case of patch failure because of
some reason.
Q. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used ?
This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is
usually in directory $OA_HTML/bin on forms tier.
This file is used by any forms client session. When a user try to access forms ,
f60webmx picks up this file and based on this configuration file creates a forms
session to user/client.
Questions mentioned above are very basic questions. More Oracle Apps dba 11i
Interview with explanation click next !! Good luck for your interview. If you need
more info or any doubt Mail Me.
Q. What is multi node system ?
Multi Node System in Oracle Applications 11i means you have Applications 11i
Component on more than one system. Typical example is Database, Concurrent Manager
on one machine and forms, Web Server on second machine is example of Two Node
System
Q. Can you clone from multi node system to single node system & vice versa ?
Yes , this is now supported via Rapid Clone, Check if your system has all prereq.
patches for Rapid Clone and you are on latest rapid clone patch.

Q. Does rapid clone takes care of Updating Global oraInventory or you have to
register manually in Global OraInventory after clone ?
Rapid Clone will automatically Update Global oraInventory during configuration
phase. You don't have to do any thing manually for Global oraInventory.

Q. What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database
connection information used by application tier to connect to database. This file
is in directory $FND_TOP/secure also called as FND_SECURE
Q. Whats things you do to reduce patch timing ? You can take advantage of following
-
� Merging patches via admrgpch
� Use various adpatch options like nocompiledb or nocompilejsp
� Use defaults file
� Staged APPL_TOP during upgrades
� Increase batch size (Might result into negative )
Q. How you put Applications 11i in Maintenance mode ?
Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to put apps in maintenance mode you can use adpatch options=hotpatch feature.
Q. Can you apply patch without putting Applications 11i in Maintenance mode ?
Yes, use options=hotpatch as mentioned above with adpatch.
Thanks Yatish for pointing this out
Q. What are various options available with adpatch ?
Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion, generateportion, hotpatch, integrity, maintainmrc, parallel,
prereq, validate
Q. adident utility is used for what ?
adident utility in oracle apps is used to find version of any file . AD
Identification.
for ex. "adident Header <filename>

Q. What is adsplice utility ?


adsplice in oracle apps is utility to add a new product.
Q. How can you licence a product after installation ?
You can use ad utility adlicmgr to licence product in Oracle Apps.

Q. What is MRC ? What you do as Apps DBA for MRC ?


MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US Dollars but if your organization operating books are in other
currency then you as apps dba need to enable MRC in Apps. How to enable MRC coming
soon...
Q. Whats is JVM(Java Virtual Machine) and which component uses JVM ?
Q. What is access_log in apache , what entries are recored in access_log ? Where is
default location of thsi file ?
access_log in Oracle Application Server records all users accessing oracle
applications 11i. This file location is defined in httpd.conf with default location
at $IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by
directive LogFormat in httpd.conf Typical entry in access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1" 200
28035
where 200 is HTTP status code & last digits 28035 is bytes dowloaded as this
page(Size of page)
Q. Where is Jserv configuration files stored ?
Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

Q. What is session time out parameter & where all you define these values ?
To know about session time out parameter & location where its defined Click Here
Q. Where is applications start/stop scripts stored ?
applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/
$CONTEXT_NAME

Q. What are main configuration files in Web Server (Apache) ?


Main configuration files in Oracle Apps Web Server are
� httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
� jserv.conf, ssp_init.txt, jserv.properties, zone.properties
� plsql.conf, wdbsvr.app, plsql.conf

Q. What is *.dbc file & whats is location of dbc file ?


dbc as name stands for is database connect descriptor file used to connect to
database. This file by default located in $FND_TOP/secure directory also called as
$FND_SECURE directory.
Q. What is content of dbc file & why its important ?
DBC file is quite important as whenever Java or any other program like forms want
to connect to database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST
Q. There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"

Q. What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Applications 11i for viewing output files & log files. As most of apps
dba's are not clear about Report Server & RRA, I'll discuss one on my blog and
update link here .
Q. What is PCP is Oracle Applications 11i ?
PCP is acronym for Parallel Concurrurent processing. Usually you have one
Concurrent Manager executing your requests but if you can configure Concurrent
Manager running on two machines (Yes you need to do some additional steps in order
to configure Parallel Concurrent Processing) . So for some of your requests primary
CM Node is on machine1 and secondary CM node on machine2 and for some requests
primary CM is on machine2 & secondary CM on machine1.

Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
To check answer click Next.
Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
Well If you are running GL Month end reports or taxation reports annually these
reposrts might take couple of days. Some of these requests are very resource
intensive so you can have one node running long running , resource intensive
requests while other processing your day to day short running requets.
another scenario is when your requests are very critical and you want high
resilience for your Concurrent Processing Node , you can configure PCP. So if node1
goes down you still have CM node available processing your requests.

Q. Output & Logfiles for requests executed on source Instance not working on cloned
Instance
Here is exact problem description - You cloned an Oracle Apps Instance from PRODBOX
to another box with Instance name say CLONEBOX on 1st of August. You can any CM
logs/output files after 1st of August only becuase these all are generated on
CLONEBOX itself, But unable to view the logs/output files which are prior to 1st
August. What will you do & where to check ?
Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS. Check

select logfile_name, logfile_node_name, outfile_name, outfile_node_name from


fnd_concurrent_requests where request_id=&requestid ;
where requestid is id of request for which you are not able to see log or out
files. You should see output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1
Update it according to your cloned Instance Variables
Q. How to confirm if Report Server is Up & Running ?
Report Server is started by executable rwmts60 on concurrent manager Node & this
file is under $ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr ....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output & log file to see if report server can display PDF files.
Q. What is difference between ICM, Standard Managers & CRM in Concurrent Manager ?
� ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds other managers down , it checks & try to restart them. You can say it as
administrator to other concurrent managers. It has other tasks as well.
� Standard Manager These are normal managers which control/action on the requests
& does batch or single request processing.
� CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers & request. If a request is submitted whose execution is clashing or it is
defined not to run while a particular type of request is running then such requests
are actioned/assigned to CRM for Incompatibilities & Conflict resolution.

Q. What is use of Apps listener ?


Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as APPS_$SID is mainly used for listening requests for services like FNDFS &
FNDSM.

Q. How to start Apps listener ?


In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also start it by command
lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)
Q. How to confirm if Apps Listener is Up & Running ?
execute below command
lsnrctl status APPS_$SID (replcae SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like

Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully
Q. What is Web Listener ?
Web Listener is Web Server listener which is listening for web Services(HTTP)
request. This listener is started by adapcctl.sh & defined by directive (Listen,
Port) in httpd.conf for Web Server. When you initially type request like
http://becomeappsdba.blogspot.com:80 to access application here port number 80 is
Web Listener port.
Q. How will you find Invalid Objects in database ?
using query
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';

Q. How to compile Invalid Objects in database ?


You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle Database to compile Invalid Database Objects.

Q. How to compile JSP in Oracle Apps ?


You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet
Q. What is difference between adpatch & opatch ?

� adpatch is utility to apply oracle apps Patches whereas


� opatch is utility to apply database patches
Q. Can you use both adpatch & opatch in Apps ?
Yes you have to use both in apps , for apps patches you will use adpatch utility
and for applying database patch in apps you will opatch utility.

Q. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh and
appsweb_$CONTEXT_NAME.cfg (defined by environment variable FORMS60_WEB_CONFIG_FILE)
for forms client connection used each time a user initiates forms connection.

Q. What is forms server executable Name ?


f60srvm
Q. What are different modes of forms in which you can start Forms Server and which
one is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in socket mode.
Q. How you will start Discoverer in Oracle Apps 11i ?

In order to start dicoverer you can use script addisctl.sh under


$OAD_TOP/admin/scripts/$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util
(under Middle/Application Tier)

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.
Q. Where is HTML Cache stored in Oracle Apps Server ?
Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache
Q. What happens if you don't give cache size while defining Concurrent Manager ?

Lets first understand what is cache size in Concurrent Manager. When Manager picks
request from FND CONCURRENT REQUESTS Queues, it will pick up number of requests
defined by cache size in one shot & will work on them before going to sleep. So in
my views if you don't define cache size while defining CM then it will take default
value 1, i.e. picking up one request per cycle.
Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache
Q. What are few profile options which you update after cloning ?

Rapid clone updates profile options specific to site level . If you have any
profile option set at other levels like server, responsibility, user....level then
reset them.
Q. How to retrieve SYSADMIN password ?

If forgot password link is enabled and sysadmin account is configured with mail id
user forget password link else you can reset sysadmin password via FNDCPASS.

Q. If you have done two node Installation, First machine : Database and concurrent
processing server. 2nd machine: form,web Which machine have admin server/node?

Admin Server will be on First machine with concurrent processing server. More on
Admin Server coming soon
Q. Whats is TWO_TASK in Oracle Database ?

TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets assume you have database client with tns alias defined as PROD to connect to
Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way
to connect is sqlplus username/passwd@PROD ; now if you don't want to use @PROD
then you set TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql
will check that it has to connect to tnsalias define by value PROD i.e. TWO_TASK
Q. What is GWYUID ?
GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

Q. Where GWYUID defined & what is its used in Oracle Applications ?


GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to database by think clients.

Q. What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?


GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by
Thick Clients like via Forms Connections.

Q. How to check number of forms users at any time ?


Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l
Q. What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line not from the Submit Request Form.
* Corrected by anonymous User (You will see lot of other info from him soon)

Q. In a Multi Node Installation, How will you find which node is running what
SErvices ?
You can query for table FND_NODES and check for column , SUPPORT_CP ( for
Concurrent Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server),
SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.
You can also check same from CONTEXT File (xml file under APPL_TOP/admin)

Q. If your system has more than one Jinitiator, how will the system know, which one
to pick. ?
When client makes a forms connection in Oracle Applications, forms client session
uses configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE
also called as appsweb config file. These days this file is of format
appsweb_$CONTEXT.cfg The initiator version number defined by parameter
jinit_ver_name in this file will be used .

Q. While applying Apps patch using adpatch, if you want to hide the apps password,
how will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password being displayed on Users Screen.
Q. What is importance of IMAP Server in Java Notification Mailer ?
IMAP stands for Internet Message Access Protocol and Java Notification mailer
require IMAP server for Inbound Processing of Notification Mails.

Q. What is difference between Socket & Servlet Mode in Apps Forms ?


When forms run SOCKET Mode these are dedicated connection between Client Machine &
Form Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms
requests are fulfilled by Jserv in Apache . There will be additional JVM for Forms
Request in that case and you won't start form via adfrmctl.sh.

Q. How to find OUI version ?


OUI stands for Oracle Universal Installer. In order to find how to check OUI
version Click Here on my "How to find Version in Oracle" Page.

Q. What is make program in Unix ?


make is utility in Unix/Linux to maintain , update & generate an file mainly
executable.
Q. If by mistake you/someone deleted FNDLIBR can this executable be restored if
Yes, How & if no, what will you do ?
Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables
. What is .pls files which you see with apps ?
.pls file stands for plsql files. In apps patch these files contain code to create
package spec or package body or both.

Q. What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
.ldt & .lct stands for Loader datafile & Loader configuration files, used
frequently in migrating customization, profile options, configuration data, etc..
across Instances.
Q. What are .odf file in apps patch ?
odf stands for Object Description Files used to create tables & other database
objects.
Q. What to find Form Server log files in forms ?
Form Server Start up log file default location is $OAD_TOP/admin/log/
$CONTEXT_NAME/f60svrm.txt
Forms Run Time Diagnostics default location is $ORACLE_HOME/forms60/log/
$CONTEXT_NAME

Q. How to convert pll to pld file or pld file to pll ?


Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/<passwd>
module_access=file output_file=MSCOSCW1.pld script=yes
Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/<passwd> module_type=library
module_access=file output_file=MSCOSCW1.pll parse=y batch=yes compile_all=special
Q. Is APPS_MRC Schema exists for MRC in 11.5.10 and higher ?
No , apps_mrc schema is dropped with 11.5.10 Upgrade & 11.5.10 new Install. This is
replaced by more Integrated Architecture.
Q. If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?
For products like Payable, Recievables which uses MRC and if MRC is enabled then
each transaction table in base schema related to currency now has an assoicated MRC
Subtables.
Q. When you apply C driver patch does it require database to be Up & Why ?
Yes , database & db listener should be Up when you apply any driver patch in apps.
even if driver is not updating any database object connection is required to
validate apps & other schema and to upload patch history information in database
tables.

Q. Can C driver in apps patch create Invalid Object in database ?


No , C driver only copies files in File System. Database Object might be
invalidated during D driver when these objects are created/dropped/modified.
Q. What is dev60cgi & f60cgi ?
cgi stands for Common Gateway Interface and these are Script Alias in Oracle Apps
used to access forms server . Usually Form Server access directly via
http://hostname:port/dev60cgi/f60cgi

Q. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for you ?
This question sounds stupid but this is asked quite often in Apps DBA Interview.
Apps Patch worker can fail in case it doesn't find expected data, object, files or
any thing which driver is trying to update/edit/modify. Possible symptoms may be
underlying tables/objects are invalid, a prereq patch is missing , login
information is incorrect, inconsistency in seeded data...
Q. What is difference between mod_osso & mod_ose in Oracle HTTP Server ?
mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle
Servlet Engine.
mod_osso is module in Oracle's HTTP Server serves as Conduit between Oracle Apache
Server & Singl Sign-On Server where as mod_ose is also another module in Oracle's
HTTP Server serves as conduit between Oracle Apache & Oracle Servlet Engine.
Q. What is difference between COMPILE_ALL=SPECIAL and COMPILE=ALL while compiling
Forms ?
Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX
file but COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL,
or .MMB file. This confuses version control and build tools (CVS, Subversion, make,
scons); they believe you've made significant changes to the source.
COMPILE_ALL=SPECIAL does not do this.

Q. What is ps -ef or ps command in Unix ? for work ex < 1 yr


ps is unix/linux utility or executable to find status of process. Used mainly to
find if services/process is running or not.
Q. What is GSM in Oracle application E-Business Suite ?
GSM stands for Generic Service Management Framework. Oracle E-Business Suite
consist of various compoennts like Forms, Reports, Web Server, Workflow, Concurrent
Manager ..
Earlier each service used to start at their own but managing these services (given
that) they can be on various machines distributed across network. So Generic
Service Management is extension of Concurrent Processing which manages all your
services , provide fault tolerance (If some service is down ICM through FNDSM &
other processes will try to start it even on remote server) With GSM all services
are centrally managed via this Framework.
Q. What is FNDSM ?
FNDSM is executable & core component in GSM ( Generic Service Management Framework
discussed above). You start FNDSM services via APPS listener on all Nodes in
Application Tier in E-Business Suite.

Q. What is iAS Patch ?


iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server Component) Usually these are shiiped as Shell scripts & you apply iAS
patches by executing Shell script. Note that by default ORACLE_HOME is pointing to
8.0.6 ORACLE_HOME and if you are applying iAS patch export ORACLE_HOME to iAS . You
can do same by executing environment file under $IAS_ORACLE_HOME
Q. If we run autoconfig which files will get effected ?
In order to check list of files changes during Autoconfig , you can run adchkcfg
utility which will generate HTML report. This report will list all files & profile
options going to change when you run AutoConfig
Q. What is difference between .xml file & AutoConfig ?
Autoconfig is Utility to configure your Oracle Application environment. .xml file
is repository of all configuration from which AutoConfig picks configuration and
polulates related files.

Q. What is .lgi files ?


lgi files are created with patching along with .log files . .lgi files are
informative log files containing information related to patch. You can check .lgi
files to see what activities patch has done. Usually informative logs.

Q. How will you skip worker during patch ?


If in your adctrl there are six option shown then seventh is hidden option.(If
there are seven options visible then 8th option is to Skip worker depending on ad
version).
Q. Which two tables created at start of Apps Patch & drops at end of Patch ?
FND_INSTALLED_PROCESSES &AD_DEFFERED_JOBS are the tables that get updated while
applying a patch mainly d or unified driver.
Q. How to compile an Oracle Reports file ?
Utility adrepgen is used to compile Reports. Synatx is given below
adrepgen userid=apps\<psswd> source = $PRODUCT_TOP\srw\filename.rdf
dest=$PRODUCT_TOP\srw\filename.rdf stype=rdffile dtype=rdffile logfile=x.log
overwrite=yes batch=yes dunit=character

Q. What is difference between AD_BUGS & AD_APPLID_PATCHES ?


AD_BUGS holds information about the various Oracle Applications bugs whose fixes
have been applied (ie. patched) in the Oracle Applications installation.
AD_APPLIED_PATCHES holds information about the "distinct" Oracle Applications
patches that have been applied. If 2 patches happen to have the same name but are
different in content (eg. "merged" patches), then they are considered distinct and
this table will therefore hold 2 records.

Q. What exactly happens when you put an Oracle Apps instance in maintenance mode ?
Maintenance mode provides a clear separation between normal runtime operation of
Oracle Applications and system downtime for maintenance. Enabling the maintenance
mode feature
a) shuts down the Workflow Business Events System and
b) sets up function security so that no Oracle Applications functions are available
to users.
Used only during AutoPatch sessions, maintenance mode ensures optimal performance
and reduces downtime when applying a patch. (Source Metalink Note: 233044.1)

11. How to determine if Multiorg is installed


You can run this script by issuing the commands below ($ is the unix prompt),
assuming apps password is apps.

$ cd $AD_TOP/sql
$ sqlplus apps/apps @adutconf.sql

It will produce a file listing in adutconf.lst with information about your


current install. One of the checks is for multi-org.

12. What pre-install checks should I make to ensure a successful installation?

� Verify the correct users and groups have been created, as documented in
Installing Oracle Applications.
� Verify the required disk space is available, as documented in Installing
Oracle Applications.
� Verify the file system base install directories have write access granted to
the user that will own the software (on UNIX the Rapid Install Wizard may be run as
root but the install runs as the user that will own the software, therefore this
user must have write access to the base install directories).
� Verify the required ports are available for the.
� Verify system parameters are sufficient for the Oracle software (especially
the database) to run.
13. What is the Oracle Universal Installer Inventory and can I delete it?

The Oracle Universal Installer Inventory registers software installations on the


system. This registry is later used for patching and updating the installed
software. Any
manual modifications to the Universal Installer Inventory, such as deleting it,
will render the system unsupportable.

PATCHING::::
what are things to verify to conclude the test successful and patch can applied on
production system

Patch analysis - Identifying and applying dependency patches.


- How much time it has taken to complete it?
- Whether the patch has applied successfully or not. If not, what actions have you
taken to carry forward the patch?
- After applying patch, Any changes in the application existing functionality

I am applying a HRMS patch and the README says the pre-requisite is to be on HRMS
Family Pack J. How do I find the patchset level?

The adutconf.lst does not provide this information.

To Check the Family packs level in the 11i,

You have to download the Latest patchsets.sh utility from Metalink and run in the
apps.

The Report will show you all the patchsets levels in the System.

Once Check the Latest patchsets.sh utility in the Metalink and download it.

when u apply a patch suddenly its stop at c driver saying prerequisite


missing ...... i said that all the steps like taking a backup of restart directory
and tables fnd_install_processes amd ad_deferred_jobs and take a new session and
aplply the prerequisite patch after it is applied .... restore that backup files
and restart the old patch ..... he asked me how adpatch knows thats it has started
the old patch ..... i said we give adpatch options=restart ... but he said it is
wrong ......

Autopatch updates the restart file corresponding to a worker is complete, This


allows Autopatch to restart from that a point onwards in case it is aborted..

Autopatch reads the restart file and it started from where it was stopped.

when we apply patch in maintenance mode,we need to shut down services


and the users cannot access the applications.
but, in some cases we apply patches with services up and maintenance disabled that
is by adpatch options=hotpatch.so, under this context.. can users access the
applications other than patching activities...as the services are up and
maintenance mode is disabled

Yes , Users can access applications. but, with the compromise of performance....

we have 2 node installation


node1 contains----->admin,cm,reports,database
node2 contains------>forms,web
so i shall apply c driver and g driver on node 1 and node 2 and d driver on node 1.
and the sequence should be same like first c driver on node1 and node 2,d driver on
node 1 and g driver on node1 and node 2

I need to apply 11i.OIE.K Minipack.

For 11i.OIE.K Pre-req is HRMS Family Pack (11i.HR_PF.K and 11i.HR_PF.K Rup1 and 11i
ATG RUP 4)

Can I merge HRMS Family Packs and ATG RUP4 Family Pack and Other Products Minipack
( 11i.OIE.K) and Apply the Merged Patch?

So Can I merge all the above patches and appy them or First I need to apply ATG
RUP4 Patch and then merge the Remaining Family Packs?

is this the order

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and 11i.OIE.K

--------------

Or is this the order?

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and Apply them
(3) Apply 11i.OIE.k

You can merge ATG RU4 with HRMS & OIE all in one

or

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and 11i.OIE.K

You can merge various products like ATG, OIE & HRMS

AD should be avoided from merging with other TOP patches

When I run auto config in the log file I see the message

Updated profile option value - 1 row(s) updated


Application Id : 0
Profile Name : CONC_GSM_ENABLED
Level Id : 10001
New Value : Y
Old Value : N

I want to set the GSM to "N".

After running autoconfig, I turned it to N from backend.

Can you tell me if this can be changed through the editcontext. If it can be
changed then what is the description seen when you try to change the xml file
through editcontext

The GSM can be disabled by changing the profile values.

If I start the system with GSM Y, it creates unnecessary processes.

To avoid it, I want it to be N always.

1.Backup the file $FND_TOP/admin/template/afcpgsm.sql then open it for editing.


2. Change the part that looks like:

set_profile(0, 'CONC_GSM_ENABLED',
10001, 0,
'Y',
0);

To:

set_profile(0, 'CONC_GSM_ENABLED',
10001, 0,
'N',
0);

i.e. Change the 'Y' to 'N'.

3. Save the file.

4. Next time when AutoConfig is run, it will set the profile option to 'N'.

Is it necessary to run the Autoconfig in both Tier after RapidClone patch run?

When I did cloning, I did not run Autoconfig after RapidClone patch, even though
the clone was working. Because the documentation not mention about it.

But in the book says run Autoconfig after Rapidclone patch run in the ApplTier, and
copy and unzip the appsutil.zip in the RDBMS ORACLE HOME, and run Autoconfig in the
DBTier.

Is the autoconfig necessary?

Yes ....When u apply Rapid clone patches ..Oracle changes the templates which
autoconfig picks up for future cloning etc etc

While applying the maintance pack, the log file ( .log and .lgi ) got deleted
accidentally.
Is there any way that we can make oracle to continue writing to the file.

I tried created new file; but it is not updating the same, nor it is creating new.
But the patch is still running

stop the patch and restart it

AUTOCONFIG::::::::::::

1. There is any protocol to run autoconfig such as run in Appl Tier first, then
DB Tier?
No but if you are running on both run it on DB tier first but not necessary

2. There is any file to update/edit manualy before we do autoconfig.


Nope

3. To run OAM Restricted Mode: update the variable <s_trusted_admin_client_nodes>


to include the list of hosts that can access OAM in restricted mode. Run autoconfig
to ensure that the new settings take effect.
So, How to do it? Which file to update? Could you guide me?
Use OAM to edit or $APPL_TOP/admin/$CONTEXT_NAME.xml

4. While preclone the database and Appl Tier Services should be up or down?
For DB & DB listener should be Up, Middle Tier can be Up or down

5. The application listner is residing in which server?


on all Nodes

6. Application listener connect to database - how to connect? Through Report


Server, or Form server, or Concurrent Server?
From forms

7. Before apply patch we should bounce services,


But somewhere says "stop all concurrent managers", and somewhere says "stop all
Appl Tier Services"? Why like that? Could you tell me the deffernces?

Now a days stop all & enable maintenance mode

8. How to check database is up or down? usually query the name from v$database,
Which are the other tips, including OS comand in Linix?

ps -ef | grep smon

How to findout the India Localization patch version like 'IN60107' which is applied
already In the system... No more infn in ad_bugs and ad_applied_patches.

Generally these patches will be applied for india localization and will be placed
on JA_TOP.. These patches wont require adpatch but only execute some scripts..
While applying like these kind of patches (EG : 5452893 ), generally readme will
say to check the prerequ patches like IN60106 (4153130) or earlier version..

In that Case, how can we find out whether IN60106 or earlier version has been
applied successfully in that system.

Unfortunately,, these patches wont update in ad_bugs and ad_applied_patches

can u tell me what internally happen when we put the instance in maintenance mode?
is in that time user be able to access application

For Minimized downtime and optimized performance for an auto patch session, Use
Maintenance mode with Oracle E-Business suite Release 11.5.10 . Maintenance Mode is
a new mode of operation introduced with Release 11.5.10, in which the Oracle
Applications system is made accessible only for patching activities. The users are
not allowed to login any responsibility. This provides optimal performance for auto
patch sessions, and minimizes downtime . You can enable or disable the maintenance
mode by using either Ad utility (adadmin) or OAM(oracle applications Manager

FQDN=fully qualified domain name


*

portno=webserver port number

You will get the following error

* No valid navigations for this responsibility

These are the errors you'll see when maintenance mode is enabled.

when ever we apply a patch it aotuomatically compile invaliddb objects


Then what is the use of compliling invalid db objects
U can discable this feature also while patching ...
Oracle has given an option if u want to comiple APPS Schema ..U have have done
something which requires to compile the schema .. There are many ways to compile
the schema;s etc etc

adsplice utility got removed unfortunately


can regain it by running adautocfg.sh it will successfully regains the ad utility.

whatif adautocfg.sh has removed and how to regain it


Copy it from any other Instance or take it from backup

If adautocfg.sh is removed .. then do the following

cd $AD_TOP/bin
adconfig.sh
It will ask u Questions ....just answer those and adautocfg.sh will be recreated

What is the primary significance of OraInventory?

To maintain list of applied patches & software version

2) What should we check regarding oraInventory while applying an OPatch?

You don't need to do anything opatch will check ; just make sure oraInst.loc is
pointing to right oraInventory

To verify that patches are applied correctly Where can i find the patch logs of the
patches applied to 806 ORACLE_HOME for App tiers and Admin tiers.

806 home is under the category of techstack patches. These patches are related to
file system not updating any information in the database.

Read the readme which will suggest you how to apply the patch. Readme also talk
about the log to. You need to copy this patch under 806 $ORACLE_HOME/cpu <create
this sub-directory to place your patch and unzip and run the patch from this place.
Your log file will be created here>

Where can i find the patch logs for the patchs listed in ad_bugs ?

cd $APPL_TOP/admin/$SID/log

what is the use of .pll file in apps patch. can we merged it with admerged patch
utility
pll files are library files. You can merge a patch that has a .pll file with other
patches using admerge

can u tell me when should we run cmclean.sql?

cmclean.sql is not destrcutive command for CM to clear the status flag in CM's.

You can try running it when CM are not coming up properly .

Shutdown CM & execute cmclean.sql from apps schema


what exactly maintenance mode and hotpatch....?

In order to apply patches in apps using adpatch from version AD.I & above you ahve
to put apps in Maintenance mode using ADADMIN

Some time its required to apply patch without shutting down instance & without
putting apps in maintenance mode so you can use oprion=hotpatch to do so .

Can u give me doc on MRCs related to patching and are there any separate scripts to
run MRCs other than Adadmin

If you are 11.5.10 or higher you don't even need to maintain/compile apps_mrc
schema as there is no apps_mrc schema in 11.5.10

For 11.5.9 & lower use adadmin to run maintain apps_mrc schema

After patching how to check whether autoconfig executed or not?

Check in autoconfig log location, if their is new log file or new directory (in new
AD.I.4 version with time stamp )inside that if there is autoconfig log that means
autoconfig was executed

Before starting to apply a patch, is there a way to find if the patch would run
autoconfig?

Yes ...

1. adpatch apply=n
OR
2. See in drv file if some new templates are delivered.If New templates are
delivered , then patch will apply autoconfig

how come we know any other users are applying patches ( my version is 11.5.9) ?

you can check at OS level. If you are running unix, then do a ps -ef | grep
adpatch.
If it returns some processes that shows adpatch is running

We have Standby Database. I would like to know Patching procedure both Primary and
Secondary database & application

I am assuming you have Standby Database against Oracle Applications.


For Apps Patch , apply on ptimary site . D driver will automatically be replicated
for c & g driver apply on DR site when you make standby site as primary (As you
can't apply patch in DR site because database is not opened).

If its big patch , recreate your standby site after big patches on primary site.

For Database patch you have apply on both primary & standby

can i merged family pack patch,nls patch through AD merge utility or it is only for
one off patch? and what is syntax to use admrgpch

1. AD patches can be merged with other AD patches, but AD patches and non-AD
patches cannot be merged

2. AD Merge Patch cannot merge patches of different releases,different parallel


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

3. for NLS Patches recommended method is to merge all US patches into a single
patch and all patches for every non-US language into a single patch. Then, apply
the merged US patch followed by the merged language patch.

P.S. You can merge all patches including NLS into single patch but above method
point 3 is to reduce downtime i.e. you apply US patches with system down & non us
patches with system UP but if you got enough downtime you merge all NLS into single
patch

4. Here is syntax of merging patch

admrgpch -s <source directory> -d <destination directory> -merge_name <name> [-


manifest <manifest filename>]

APPLICATIONS 11i DBA QUESTION AND ANSWERS

1.How will you find the Patch Set Level?


(a). By adutconf.sql under ad_top/Sql

2.What are the different Concurrent Managers?


(a). There are 3 Manager they are

i. ICM(Internal concurrent Manager)


ii. CMR(Conflict resolution manager)
iii. SM(Standard Manager)

3.How will you increase the performance of the Concurrent Manager?


(a). By increasing the CM Cache Size, at least twice the number of target
Processes.

4.How will you see whether the database is up or not?


(a). By ps �ef |grep SMON

5.How will you change the APPS Password?


(a). By FNDCPASS logon username/password mode username password.

And we have to change in three files

$Ias_top/apache/modplsql/conf.wdbsvr.apps
$8.O.6_oracle_home/reports60/server/CGIcmd.dat
$OA_HTML/bin/appsweb.cfg

6.What is FNDLOAD?
(a). It is a utility under FND_TOP/bin, it loads code objects to database objects.

7.Can u restore the Autoconfig?


(a). Yes, as when u run autoconfig it creates restore.sh script under
APPL_TOP/admin/out/timestamp.
8.Can u restore the Autoconfig in Database tier?
(a). As when u run the autoconfig it will update the profile values as we cant
restore the database.

9.what C, D and G Driver do?


(a). C-Driver is a copy driver that updates the file system versions.
D-Driver is a database driver that runs the SQL scripts and updates the
database tables and objects.
G-Driver is a Generate driver that generates forms, reports, and jar files.
U-Driver is a unified driver that runs c, d and g drivers.

10. What is OraInventory?


(a). It is a repository (directory) where it stores/records the oracle software
products and their oracle_home locations. Now a days it is in the XML format called
as XML inventory.

11.what is the file that contains all the database information?


(a) Alert log file.

12.What is TNSNAMES.ORA & LISTENER.ORA and what the information it contains?


(a). As TnsNames.ora contains the server port number ,alias of the database name to
connect to the server

13. Where is the Jserv log file location and what will u check when u got the error
in Jserv/Jsp?
(a). The log file location is in $Apache_top/jserv/log
Check http://url/servelts/hello
Apache Log file, Jserv Log file

14.As in Linux I want to change all the names to other name for ex: suppose as in
my text file contains as e:\apps\sa.txt, like so many paths are there in my text
file, how will u change my name �apps� to �oracle�?
(a). Just press Esc in text file and give the command as follows
:/s /apps/oracle/g

15.What are the Tables that we need to take the backup while changing the apps
password (only in 11.5.9)?
(a). FND_USERS, FND_ORACLE_USERID

16.What are Simple Filters?


(a). Head, Tail, Grep and Diff

17.Where is the Cloning Log file located?


(a).
(i)Appl_top/admin/<context_name>/log/Timestamp/StageAppstierlog
(ii)RDBMS_ORACLE_HOME/appsutil/log/<context_name>/Timestamp/StageDBtierlog

18.What is Data Group?


(a). Mapping Between the Oracle Application products and Oracle ID�s.

19.How will u check the Health Checks?


(a).
(i). For Apache http://<url>/Servlets/Hello
(ii). For Jserv http://<url>/OA_HTML/jtflogin.jsp
(iii). For Discoverer http://<url>/Discoverer4i/Viewer
(iv). For Forms http://<url>/dev60cgi/f60cgi
(v). For Reports: System Admin?Login?Business Suite?Responsibilities?Financial
Intelligence
?Purchase Intelligence?Project Performance

19.How will u see the Autoconfig is Enabled or not?


(a). We can see in adcfginfo.sh under $AD_TOP/bin

20.What is your perl Version & OUI Version?


(a). 5.005 & 2.2.0.19
21.What is the Difference between 8i & 9i?
(a).
In 8i ? (i) roll back segments
(ii) Standard Blocks
(iii) By default it is Dictionary Managed

In 9i ? (i) Undo Segments


(ii) Non-Standard Blocks
(iii) By Default it is Locally Managed

22. How will u find the Host Name and Domain name by Linux Command?
(a). Hostname -f

23.How to stop the Patch while it was running?


(a). Goto adctrl and give the Option 2

24.After completing the Autoconfig Oracle Forms webcgi. Error: Detected your
request cannot be completed at this time bcoz of the following error.
(a).
URL contains one or more restricted characters.
That, we have to remove �[ ]� (brackets) from apps.conf ,xml file and check in
$ad_top/temp and adxmlctx.tmp.Modify that brackets and Bounce the Apache.

25.How to see what files are there in zip files?


(a). Unzip �l

26.How will u copy a particular file from the zip file?


(a). Unzip location/<zip file_name> <file_name>

27.Where is the Parameter File located?


(a). Oracle_home/Dbs

28.What is the difference between Socket mode and Servlet mode?


(a). Socket Mode ?Forms server will take care
Servlet Mode ?Apache Server will take care
By default it is in servlet Mode.

29.When you are running adpatch, giving �Apps� as password, it will not taking why?
(a). We have to unlock applsys
Conn to Sql as sysdba & give the command as
Sql>alter user applsys account unlock;

Note: as we can tell this error in the interview while running ad patch utility.

30.What are Rollup patches?


(a). Combination of One off Patches

31.What will you do when concurrent manager not up or not shutting down properly?
(a). We have to run the command
Sql> cmclean.sql
(Some related threds would be deleted,& we have to download this file from metal
ink)

32.Why Autoconfig?
(a). Change the Parameters in XML File & To Stabilize the Instance.

33.What will u do when service manager is not stopping?


(a).
Step 1. Stop the Concurrent Manager
Step 2. Verify the Log file
Step 3. Modify the GSM Profile option in SysAdmin?Profile?System?Set it to �Y�(By
default it is in �N�)
Step 4. Start the Concurrent Manager

34.If Application Context File does not exits what will u do?
(a). Run the Script $. /AD_TOP/bin/adbldxml.sh

35.What is Adconfig and what happens when u run this script?


(a). Adconfig is an Adutility, when modifications have made to the context file we
have to run the script on all nodes
$. /AD_TOP/bin/adconfig.sh
As it will updates the Templates and the parameters in the XML file. The prompts it
will ask context file and Apps Password.
And the log file location is $APPL_TOP/admin/Context_name/Log/mmhhdd/adconfig.log
$ORACLE_HOME/appsutil/log/context_name/mmhhdd/adconfig.log

36.What is FNDFS?
(a). FNDFS is an �Report Review Agent, it is text viewer used by oracle
Applications for viewing log and output files of Concurrent Manager requests, As
the configuration files are Listener.ora and TNSnames.ora

37.What is identity.obj file and how will u create this file?


(a). The File is located in the application owner�s $Home directory.
The errors will appear like:
(i). Regeneration of Jar files may fail during patch applications
(ii). Yellow warning bar may appear at the bottom of the applications screen.

As we can re-create this file with adjkey command .it will prompt for entity name
and an organization name

$adjkey �initialize

38.How will u see the Concurrent Requests?


(a). To Review Active C.M->run the script Sql>@$FND_TOP/sql/afcmrrq
By OAM?Administration?Concurrent Request?Running from the menu.
(ii). To Monitor Pending CM Request.
By OAM?Administration?Concurrent Request, from here simply select Pending Request
menu Option.

To resolve this issue you need to determine the bottleneck for the request.

UPGRADATION:

Step 1.we have to run the TUMS Maintenance patch (as it gives the html file)
TUMS->The up gradation maintenance script.
Patch->423826

Step 2.Run AD Mini Pack ?this will upgrade to AD I2.


As we can see in fnd_poduct_installation whether the it is upgraded or
not.

Step 3. Update Autoconfig Template Patch (no-4104924)


Here, the templates file will be upgraded.

Step 4. Install and Run the Technology Validation Utility


Here, it will generate the report
To every node we have to install.

Step 5. Configure database for new products and new table spaces requirement
(31080164)

Step 6. Enable American English maintenance patch file->we have to unzip the file.

Step 7. Techstack Up gradation

Here, go to stage directory ->rapid wiz->techstack


We have to take the backup of the products (ias, 8.o.6)
Take the backup of env files, xml files and tnsnames.ora
Step 8. RDBMS Up gradation
- Rapid wiz
- Start Up migrate
- Catproc.sql
Step 9.Applying the techstack interoperability patch
Ias �3545924
8.0.6-4138754
Step 10. Upgrading the Jinitiator patch no-4624920

Step 11.Applying the Maintenance Patch (3480000)


Up the Env files
Switch as applmgr

Note: As it will take nearly 24 hrs to run the Maintenance patch (3480000)

POST UPGRADATION STEPS:

Step 1.Applying Interoperability patch for log

Step 2. View Security Patches

Step 3. Drop MRC Schema

-Appl_top/admin
Conn as system/manager
Sqlplus> @addrpmrc.sql
Step 4. Register New Products.

Note: For step3 it will take nearly 2-3 hrs.

12. How to see whether autoconfig is enabled or not


13. What are the components of Autoconfig
14. Procedure for cloning
15. How to clone a database
16. What is the installation file for apps
Rapidwiz.cmd
17. How to see the workers --- adctrl
18. which utility is used to install a patch
19. How to validate invalid objects
20. How to see the version of the apps(which is the file)
(Or) How To Determine What Products Are Installed in Applications 11i?
Sqlplus apps/apps
Sql> $APPL_TOP/ad/11.5.0/sql/adutconf.sql

It will create a file called adutconf.lst in the current location


The file contains all configuration information
21. How to see the patchset of the apps(patch levels)

Sqlplus apps/apps
Sql> $APPL_TOP/ad/11.5.0/sql/adutconf.sql

It will create a file called adutconf.lst in the current location


The file contains all configuration information

22. How to determine if Multiorg is installed


You can run this script by issuing the commands below ($ is the unix prompt),
assuming apps password is apps.

$ cd $AD_TOP/sql
$ sqlplus apps/apps @adutconf.sql

It will produce a file listing in adutconf.lst with information about your


current install. One of the checks is for multi-org.

12. What pre-install checks should I make to ensure a successful installation?

� Verify the correct users and groups have been created, as documented in
Installing Oracle Applications.
� Verify the required disk space is available, as documented in Installing
Oracle Applications.
� Verify the file system base install directories have write access granted to
the user that will own the software (on UNIX the Rapid Install Wizard may be run as
root but the install runs as the user that will own the software, therefore this
user must have write access to the base install directories).
� Verify the required ports are available for the.
� Verify system parameters are sufficient for the Oracle software (especially
the database) to run.
13. What is the Oracle Universal Installer Inventory and can I delete it?

The Oracle Universal Installer Inventory registers software installations on the


system. This registry is later used for patching and updating the installed
software. Any
manual modifications to the Universal Installer Inventory, such as deleting it,
will render the system unsupportable.

Apps dba questions:


1)Oracle's rendition of the Apache HTTP server with Oracle specific extensions.

a) Mod_plsql is an Oracle specific module that routes all PL/SQL requests to the
Oracle Universal Server through the Database Access Descriptors (DAD) file.

b) Mod_cgi provides for the execution of Common Gateway Interface (CGI)


applications.

c) Mod_ssl deals with data security via cookies, encryption, and session
expiration.

d) Mod_jserv routes servlets requests to JServ server engine, which then executes
through Java Virtual Machine (JVM). This is one of the key, core components that
you will deal with.

e) Mod_perl.

-- HTML documents.
-- JavaServer Pages (JSP)

-- JavaBeans are reusable Java classes that have specific naming conventions for
methods and variables. They perform well-defined tasks that are reused over and
over (e.g., connecting, screen rendering).

-- Java Servlets are small key components of server side Java development.

2) Patch set level is taken from

fnd_product_installations

3) To check if some patches are applied


ad_bugs, ad_applied_patches
4) 11.5.8 is tied with Oracle 8.1.7
11.5.9 is tied with Oracle 9.2.0
5) which is the primary configuration file for Apache service
httpd.conf

6) Some parameters in httpd.conf


Global environment
Server root
Lock file
pid file
Score board file
Resource config

7) How does Jserv help


Jserv allows you to include Java servlets in the Oracle E-Business Suite
Application

8) FND_CONCURRENT_REQUESTS -- Contains a complete history of all concurrent


requests (both past history and those scheduled to run in the future).

9) FND_RUN_REQUESTS -- Stores information about the reports in a report set that a


user submits including the report set's parameter values.

10) FND_CONC_REQUEST_ARGUMENTS -- Records all arguments passed by Concurrent


Managers to concurrent requests as those requests are running.
11) FND_DUAL -- Records when a request does not update any database tables
12) FND_CONCURRENT_PROCESSES -- Records information about Oracle Applications
processes and OS processes.
13) FND_CONC_STAT_LIST -- Collects runtime performance statistics for concurrent
requests
14) FND_CONC_STAT_SUMMARY -- Contains Concurrent Program performance statistics
generated by the Purge Concurrent Request program or the manager data program.
These programs use the data in FND_CONC_STAT_LIST to compute these statistics.

-----------------------------------------------------------------------------------
----------------------------------------------------------

15) FNDLOAD, also known as Oracle Applications Generic Loader, is a generic loader
used to populate a variety of table types. FNDSLOAD is another utility used to load
functions, forms, and menus. They are Concurrent Programs that can move data
between text file representations of data and the tables within the database after
reading a configuration file to determine what data to process
16) ADJAVA restores several zip files if a patch contains Java files. Usually, you
will see messages during the running of a C driver that show that this utility is
running. However, you occasionally will have to manually run it if something
happens that you cannot explain or as a manual step during a patch

17) The AD Merge Patch (ADMRGPCH) utility can merge multiple, noninterdependent
patches into a single integrated patch that can be applied in one ADPATCH session.
The ADMRGPCH utility is an executable program that is located in the $AD_TOP/bin
directory.

Syn : Admrgpch <source unzip directory> <target merged


directory> <optional merged name>

18) To upload a workflow :

It should be done only on db tier

syn :

USAGE : WFLOAD <apps/pwd> 0 Y {UPLOAD | DOWNLOAD | UPGRADE | FORCE} [@<appl-


shortname>:]<filepath> [<item type>]

WFLOAD apps/xxxx@gpsesp76 0 Y FORCE "GEPS ePO Workflow.wft"

WFLOAD apps/sc#77ream@gpsorp77 0 Y DOWNLOAD ECO_Workflow.wft "ECO Approval"


19) Patch set level is queried from which tables?

APPS.fnd_application_vl
APPS.fnd_product_installations

20)Where are the concurrent Manager out and log files created?
$APPLCSF/log
$APPLCSF/out
$APPLCSF = $COMMON_TOP/admin
21) Where are the logs created for most of the adutilities such as adadmin,
adpatch, adaimgr?
$APPL_TOP/admin/sid/log
22)How many types of drivers can be there in a patch?
c driver -- copy driver
d driver -- database driver
g driver -- generate driver

u driver -- unified driver


23) Where can you check the path defined for $APPLTMP?
utl_file_dir in init.ora
24)How many types of patches are there and what are they?
One-off patch
Minipack
Family pack
Translation patches
Diagnostic patches
Interoperability patches
Maintenance patches
25)Query to get the apps link from the database?
select HOME_URL from icx_parameters;
26) Where can the apps password be found?
The apps password can be found in
iAS/Apache/modplsql/cfg/wdbsvr.app
27) What if MRC is enabled?
apps and apps_mrc passwords should always be the same.
28) Maintenance mode option is available from which patch set level of AD?
AD.I
29) To check if the maintenance mode is enabled or not?
select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;
If this returns Y, then run adadmin to disable maintenance mode
30) desc fnd_application_vl;
Name Null?
Type
ROW_ID
ROWID
APPLICATION_ID NOT NULL
NUMBER
APPLICATION_SHORT_NAME NOT NULL
VARCHAR2(50)
LAST_UPDATE_DATE NOT NULL
DATE
LAST_UPDATED_BY NOT NULL
NUMBER(15)
CREATION_DATE NOT NULL
DATE
CREATED_BY NOT NULL
NUMBER(15)
LAST_UPDATE_LOGIN
NUMBER(15)
BASEPATH
VARCHAR2(20)
APPLICATION_NAME NOT NULL
VARCHAR2(240)
DESCRIPTION
VARCHAR2(240)
31) desc fnd_product_installations;
Name Null?
Type
------------------------------------------------------------------------ --------
-------------------------------------------------
APPLICATION_ID NOT NULL
NUMBER(15)
ORACLE_ID NOT NULL
NUMBER(15)
LAST_UPDATE_DATE NOT NULL
DATE
LAST_UPDATED_BY NOT NULL
NUMBER(15)
CREATION_DATE NOT NULL
DATE
CREATED_BY NOT NULL
NUMBER(15)
LAST_UPDATE_LOGIN NOT NULL
NUMBER(15)
PRODUCT_VERSION
VARCHAR2(30)
STATUS
VARCHAR2(1)
INDUSTRY
VARCHAR2(1)
TABLESPACE
VARCHAR2(30)
INDEX_TABLESPACE
32) desc fnd_oracle_userid;
Name Null?
Type
------------------------------------------------------------------------ --------
-------------------------------------------------
ORACLE_ID NOT NULL
NUMBER
ORACLE_USERNAME NOT NULL
VARCHAR2(30)
LAST_UPDATE_DATE NOT NULL
DATE
LAST_UPDATED_BY NOT NULL
NUMBER(15)
CREATION_DATE NOT NULL
DATE
CREATED_BY NOT NULL
NUMBER(15)
LAST_UPDATE_LOGIN NOT NULL
NUMBER(15)
DESCRIPTION
VARCHAR2(240)
ENABLED_FLAG
VARCHAR2(1)
READ_ONLY_FLAG
VARCHAR2(1)
ENCRYPTED_ORACLE_PASSWORD
VARCHAR2(100)
CONCURRENT_BATCH_QUEUE_ID
NUMBER(15)
INSTALL_GROUP_NUM
NUMBER
33) Form Compilation :
First set the path
FORMS60_PATH=:FORMS60_PATH:$AU_TOP/resource:$AU_TOP/forms/US; export FORMS60_PATH;
Compile using f60gen command
f60gen module=$GEPSCSC_TOP/forms/US/GEPSBILI.fmb userid=apps/minutes60
module_type=FORM output_file=$GEPSCSC_TOP/forms/US/GEPSBILI.fmx compile_all=special

---
34)How to find out the e-mail address of a user in Oracle applications

>select email_address from fnd_user where user_name='xxxxx'; (from apps schema)


35) How to compile a report from the backend?
a)rwcon60 userid=APPS/pw
source=/dba76/p002/app/applmgr/gpsesp76/appl/po/11.5.0/reports/US/POXACREC.rdf
dest=/dba76/p002/app/applmgr/gpsesp76/appl/admin/gpsesp76/out/tmp.rdf stype=rdffile
dtype=rdffile
logfile=/dba76/p002/app/applmgr/gpsesp76/appl/admin/gpsesp76/out/adreptmp.txt
overwrite=yes batch=yes compile_all=yes

b)then move the rdf file generated in dest to source, after taking a backup of the
file in source
36)How to run autoconfig?

AD_TOP>/bin/adconfig.sh contextfile=<CONTEXT> appspass=<APPSpwd>


37)Which apache log files should i look at when looking for problems?

For Apache specific errors please refer to the error_log. For unhanded application
exceptions it is useful to look at both error_log and jserv.log as these two my
contain more detailed appropriate error messages then the ones displayed on the
browser. For Jserv specific problems, for instance when you are unable to
start/access Jserv, refer to mod_jserv.log file.

-----------------------------------------------------------------------------------
----------------------------------------------------------

38)What is a dbc file?what is it used for and how is it created?

A DBC (Database Connection) file is a text file which stores all the information
required to connect to a particular database. It allows a user or administrator to
easily load groups of environment variable settings. At the minimum it contains the
value of the GWYUID, FNDNAM, TWO_TASK and GUEST_USER_PWD.

Location : $FND_TOP/secure

How it is created : Please refer to "Oracle Applications System Administrator's


Guide" How to test it: Please refer to Test your Webserver setup for Self Service
Framework Applications in the section Configuring Http Server for Self Service
Framework Applications.

-----------------------------------------------------------------------------------
----------------------------------------------------------

System administration Questions:


---------------------------------

1) Concurrent process :

A Concurrent Process is an instance of a currently running Concurrent Program or


other concurrent request. Every time a Concurrent Manager goes out to the
FND_CONCURRENT_REQUESTS table and there is a request waiting and available to run
and the Concurrent Manager starts running it, that running job is considered a
Concurrent Process.

-----------------------------------------------------------------------------------
----------------------------------------------------------

2)Concurrent Manager :

A Concurrent Manager is a special Concurrent Program that works as a mechanism for


starting and running Concurrent Programs that operates during the times and days
that are predefined as its work shift. These managers can run any kind of
Concurrent Program including OS programs, C programs, reports, Java programs, and
PL/SQL programs.

-----------------------------------------------------------------------------------
----------------------------------------------------------

3) Concurrent Request :

A concurrent request is a request for a Concurrent Manager to run a Concurrent


Program as a Concurrent Process. A user makes a concurrent request anytime she goes
out and requests an immediate or future scheduled job to be run as a concurrent
job. To schedule a concurrent request to run at some point in time in the future,
you specify, at request time, the starting date and time that you want the request
to be started, the time of day and frequency of resubmission, if this is going to
be a recurring job, and the stop date and time, if any, at which point you want the
job to no longer be run.

-----------------------------------------------------------------------------------
----------------------------------------------------------

4) Request group :

A request group is a set of reports or other Concurrent Programs that have been
defined by the sysadmin to assist in control of user access to these reports and
programs. They can be used to control access in two ways. Access can be granted or
denied according to the users' responsibility (e.g., receivables manager). The
other way that users access a request group would be through a customized Submit
Request form. This is a relatively simple and Oracle supported customization with
detailed instructions in the Oracle Applications System Administrator's Guide that
entails registering a form function and passing in arguments to the Submit Request
form. Only a user with sysadmin authority has the ability to create a request
group.

-----------------------------------------------------------------------------------
----------------------------------------------------------

5) Request Set :

A request set sets the run options, print options, and (if applicable) any
parameter values for a collection of reports or programs not already included in a
request group. End users can define these and own the request sets that they
create. These sets are connected to the user's sign-on ID and are available to that
user regardless of which responsibility that user is currently logged into.

-----------------------------------------------------------------------------------
----------------------------------------------------------

6) Concurrent Manager :

Every time a request is made for a Concurrent Program, an entry gets put into the
FND_CONCURRENT_REQUESTS table along with its unique request ID. From this table,
the Concurrent Manager retrieves requests based on their availability to run

-----------------------------------------------------------------------------------
----------------------------------------------------------

7) Work Shift :

Work shifts for a Concurrent Manager is similar to a work shift for a human being.
It is defined as those hours for which a Concurrent Manager is defined for working.
Work shifts are defined using the Work Shift form. Often additional managers are
defined to work off hours when large batch jobs are scheduled to not adversely
impact the performance of the OLTP that occurs during a person's work shift.

-----------------------------------------------------------------------------------
----------------------------------------------------------

8) Concurrent Request Cache :

Another component of the Concurrent Processing environment is the Concurrent


Request Cache or the Concurrent Request Buffer. The Concurrent Request Cache gets
set when each manager is defined and it specifies the number of requests each
Concurrent Manager process can hold in its memory each time it reads from the
request queue (FND_CONCURRENT_REQUESTS). Its main purpose in life is to reduce the
number of cycles each manager has to make to the concurrent request table and as a
result lessens the likelihood of locked rows on the FND_CONCURRENT_REQUESTS table
or the likelihood of more than one manager attempting to start a concurrent request
at the same time. Blank or zero value cache sizes are automatically assigned a
value of 1 when they are started. If you find that, in your environment, you
reprioritize requests frequently, leave the cache size at the default setting of 1
so that reprioritizations can be picked up as soon as they happen and the requests
run accordingly. If you rarely reprioritize requests and have managers that service
many short running requests, you can safely set the cache size to twice the target
processes, thereby increasing the throughput of the Concurrent Managers by limiting
their attempts at sleep time.

-----------------------------------------------------------------------------------
----------------------------------------------------------

9)Types of Concurrent Managers :


-------------------------------

a) Internal Concurrent Manager :

The Internal Concurrent Manager (ICM) is the controlling manager for all of the
others. When you start the Concurrent Managers, this is the only one that you
actually have direct control over. This manager in turn starts all of the others
depending on their schedules and work shifts. It controls starting and stopping all
other managers based on the definition of their work shifts and it monitors for
failures. If there are failures, it cleans up after them. Its definition cannot be
changed after its startup. On starting, you can, by parameter passing, set its
values for sleep time, PM ON on cycle, and queue size.

b) Conflict Resolution Manager :

The Conflict Resolution Manager enforces all compatibility rules and based on
priorities and run rules, determines which jobs can run when if there is a conflict
in timing. You cannot change its definition, but can set its values for sleep time
for each work shift or for parallel Concurrent Processing, if applicable.

c) Scheduler Manager :

The Scheduler Manager, a manager added in 11i, assists the ICM and the CRM in
scheduling and conflict resolution.

d) Product specific concurrent Manager :

There are many product specific Concurrent Managers. The list includes Inventory,
MRP, and Projects, as well as any user-defined managers. These managers are
specialized to perform Concurrent Processing specifically for those products for
which they are built. Utilizing these managers can help you off-load some of the
processing from the Standard Manager

e) Standard Manager :
The Standard Manager (as the name implies) is the manager that ships with the
Oracle E-Business Suite and accepts any and all requests and does not, as
configured, have any specialization rules. The Standard Manager is customizable but
care needs to be taken to ensure that, if you change the rules on the Standard
Manager, that all jobs have a manager that is able to run them.

f) Transaction Managers :

Conventional Concurrent Managers run batch type jobs that are typically long
running, involve large amounts of data, and run asynchronously. Transaction
Managers run synchronous processing of certain reports requested from a client
program but run as a server side program. These managers run as immediate programs,
are started automatically by the ICM, and communicate with Transaction Managers
automatically. Running the job is transparent to the calling user as the job runs
extremely quickly and in real time. The calling client is notified of the ultimate
outcome of the program execution by a completion message and a set of values
returned to them.

A Transaction Manager is owned by an application and associated with a data group.


Due to this association, and the fact that it runs immediate programs, the
Transaction Manager can only run programs contained within its program library.

10) What is CONCSUB and what is it used for?

CONCSUB is a utility for allowing the sysadmin username and password to have the
ability to submit concurrent requests at the OS level. This utility, unlike many of
the Applications utilities, is not menu driven. It runs from the command line,
submits a concurrent request, and returns you to the command prompt once the
concurrent request completes. You can check the status of your concurrent request
via the Concurrent Request form.

The CONCSUB command takes the following form:

CONCSUB applsys/pwd 'responsibility application


shortname' 'responsibility name' 'username' [wait=]
CONCURRENT 'Program application shortname' PROGRAM

17)What all can a user do if he is granted with only connect option ?

cd $IAS_ORACLE_HOME/Apache/Apache/bin

httpd -v

perl adbldxml.pl tier=apps appsuser=<APPSuser> appspasswd=<APPSpwd>


for generation of xml file

Advantages and importance of maintenance mode


---------------------------------------------

There is a separate logon page for Restricted Mode access while the system is in
Maintenance Mode.
Restricted Mode allows administrators access to specific privileged functionality
in OAM,
for example to view the timing report that shows the progress of a patching
session.
For more Information on Restricted Mode Access please consult Metalink Note:
364236.1
or the OAM Online Help (OAM->Patches and Utilities -> Managing Downtime Schedules
-> Restricted Mode)

1.Minimizes the downtime


2.When the System has been scheduled for 'Downtime',
Apache should be re-started on Restricted Mode by using the Script (adaprstctl.sh).

Site Map --> Maintenance --> Manage Downtime Schedules

When adsetmmd.sql runs, it sets the Profile Option 'Applications Maintenance Mode'
(APPS_MAINTENANCE_MODE) to 'MAINT' to Enable 'Maintenance Mode' and to 'NORMAL' to
Disable it.

2. Advantages

There are several practical points relating to the use of Maintenance Mode:

You can toggle Maintenance Mode between Enabled and Disabled using the new Change
Maintenance Mode menu in AD Administration, or the equivalent function in Oracle
Applications Manager.

Although you can run AutoPatch with Maintenance Mode disabled, there will be a
significant degradation in performance.

There is a separate logon page for Restricted Mode access while the system is in
Maintenance Mode. Restricted Mode allows administrators access to specific
privileged functionality in OAM, for example to view the timing report that shows
the progress of a patching session.
For more Information on Restricted Mode Access please consult Metalink Note:
364236.1
or the OAM Online Help (OAM->Patches and Utilities -> Managing Downtime Schedules
-> Restricted Mode)

Note: Maintenance Mode is only needed for AutoPatch Sessions. Other AD utilities
do not require Maintenance Mode to be enabled. Maintenance Mode must be 'Enabled'
before running AutoPatch and 'Disabled' after the patch application was completed.

When Maintenance Mode is disabled, you can still run Autopatch by using
options=hotpatch on the command line, if necessary. However, doing so can cause a
significant degradation of performance.

IMP: The concurrent processing can run and only the apache and forms services can
be taken down and restarted when main mode is disabled

Step by Step Process

1. Schedule the 'System Downtime' from OAM

OAM: Site Map --> Maintenance --> Manage Downtime Schedules


At the moment of the downtime, do the following:

2. Shutdown Apache (on Normal Mode):

adapcctl.sh stop
or
adstpall.sh <apps_user>/<apps_pwd>

3. Enable 'Maintenance Mode' from adadmin

Important points:

Every patch should have c driver.

adadmin: Options 5, 1

4. Start Apache (on Restricted Mode)

adaprstctl.sh start

5. Apply the Patch with adpatch

6. Stop Apache (on Restricted Mode)

adaprstctl.sh stop

7. Disable 'Maintenance Mode' from adadmin

adadmin: Options 5, 2

8. Start Apache (on Normal Mode):

adapcctl.sh start
or
adstrtal.sh <apps_user>/<apps_pwd>

with hotpatch option.

$AU_TOP/java is the location for apps.zip file.


In java patches the class files are updated.
jcopy is used to copy the java files.

A.Copy driver, cXXXXXX.drv

The copy driver is the first driver, which must be run using adpatch.
This driver will do the following functions.

a)copy the files from the patch to the appropriate directory

b)relink executables

c)regenerate jar files

<command> <product> <subdirectory> <file> <other arguments�>

start and stop scripts use env file to get the node information and the necessary
details.

Steps Used for Implementing Parallel Concurrent Processing:


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

1. On Node 1, log in as applmgr (owner of the application files) Unix user and
Source all your environment files to fully set your environment.

At the prompt type:


$ id

This should return output that looks similar to:


uid=1003(applmgr) gid=102(ad)

You need this information when you are creating the applmgr user on Node 2.
If the applmgr user on Node 2 does not have the same exact uid and gid
Then this will cause errors later when one of the nodes tries to login and
Start processes on the other node.

1. What are the scripts do you use while Apps Cloning?


adpreclone.pl prepares the source system to be cloned by collecting information
about the database and creating generic templates of files containing source
specific hardcoded values. Its location is $COMMON_TOP/ admin/scripts/ contextname/
adcfgclone.pl creates the new context file used to configure the target system.
2. What is Patch?
Patch is a program which fixes the bug. ��
3. Apps11i Post-Installation steps?
1) Shutdown all Oracle Application Processes
2) Apply Inter-Operability Patch(3830807)
3) Apply Discoverer Patch(3170128)
4) Relink all Oracle Appications executables
5) Restart Oracle Application Processes
4. Apps11i Post Cloning steps?
1)Update the profile options
2)Update the printer settings
3)Update workflow configuration settings
4)Verify APPLCSF variable
5)Update session_cookie_ domain in icx_parameter table
5. Types of Patches?
One-off patch: This is the simplest type of patch. It is created to resolve a
specific bug.
Minipack patch: This is a collection of one-off patches and enhancements
related to a particular module. Alphabetic characters denote the Minipack version
for the module; for example, the product code for the Application DBA utilities is
AD, and version Minipack I of this product would be called AD.I
Family Pack patch: This is a collection of Minipack patches for a particular
family group of application modules. Alphabetic characters denote the Family Pack
version; for example, the J version of the Human Resources Suite Product Family
would be HR_PF.J
Maintenance Pack patch: This is a collection of Family Packs that serves as a
point-level release upgrade; Oracle Applications Release 11.5.10 is an example of a
Maintenance Pack.
6. Contents of a Patch?
Readme files
Driver files
Metadata files
Replacement files
7. Modes of Patching?
Test mode (apply=n), With the Test mode, we can see the effects
applying the patch will have on your system before applying the patch.
Pre-install mode (preinstall= y), Pre-install mode of Autopatch is used when
the version of Oracle Applications AutoPatch works with is different than the
version of Oracle Applications in the database. We use this mode during upgrade
process.
Non-interactive mode (adpatch defaultsfile= $APPL_TOP/ admin/<SID>/log)
8. What are the drivers present in patching?
C driver copies the files and links executables
D driver runs the SQL scripts and programs that updates the database
G driver generates the forms, reports and message files
U driver is a consolidated driver containing all copy, database, and generate
actions
9. Options of adpatch?
Novalidate Prevents adpatch from validating all schema connections
Noprereq Prevents adpatch from checking the existence of prerequisite patches
Nocompiledb Prevents adpatch from compiling database objects
Nocompilejsp Prevents adpatch from compiling JSP objects
Noautoconfig Prevents adpatch from running autoconfig after the patch has been
completed
Nogenerateportion Prevents adpatch from compiling forms, menus, and plls
Hidepw Prevents passwords from being displayed in log files
Hotpatch Allows adpatch to be run when the instance is not in maintenance mode
10. Minipack naming convention?
11i.<prod>.A, 11i.<prod>.B For example: 11i.AD.G, 11i.AD.H
11. Maintenance pack naming convention?
11.5.1, 11.5.2, 11.5.3
12. Family pack naming convention?
11i.<prod family name>.<letter> For example: 11i.HR_PF.C
13. Difference between adpatch and Opatch?
adpatch is utility to apply Oracle Application Patches
opatch is utility to apply Database Patches
14. What is the prerequisite to apply Opatch?
Database should be down
15. What do you do if patch fails?
Review log file(s) to determine the cause of the error
Fix the cause of the error
Restart adpatch
Answer 'Yes' when adpatch asks if you want to continue the previous session
Adpatch will skip already completed jobs, and pick up from where it left off.
16. How to apply a pre-requisite patch when adpatch is running?
Shut down the workers using adctrl
Backup FND_INSTALL_ PROCESSES, AD_DEFERRED_ JOBS, restart files(.rf9)
Then, drop the above tables, restart files and apply the pre-requisite
patch.
Restore the two tables and restart files from backup & run the adpatch.
17. If you know that the patch has been applied previously but patch is asking
you to apply the existing patch as a pre-requisite?
adpatch options=noprereq
18. While applying Apps patch using adpatch, if you want to hide the apps
password, how will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password being displayed on Users Screen.
19. How do you reduce patch timings?
Merging patches via admrgpch
Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
20. How you put Applications 11i in Maintenance mode ?
Use adadmin to change Maintenance mode in Oracle Apps. With AD.I you need to
enable maintenance mode in order to apply apps patch via adpatch
utility. If you don't want to put apps in maintenance mode you can use adpatch
options=hotpatch feature.
21. How do you know that a patch has been applied?
Navigate to sitemap > patches patchhistory
(or)
Query AD_BUGS or AD_APPLIED_PATCHES
22. How do you find out which drivers have been applied?
Query the ad_patch_drivers;
23. How do you find out what patches have been applied on database?
$ opatch lsinventory
24. How to rollback the opatch?
opatch rollback
25. How to apply the patch?
opatch apply
26. How to go for the help on Opatch?
opatch help
27. Location of Patch History files?
$APPL_TOP/admin/ SID/javaupdates<timestamp>.txt(for java related files)
$APPL_TOP/admin/ SID/adpsv<timestamp>.txt(non-java related files )
28. Where do you find adpatch log files ?
Patch log files will be in directory $APPL_TOP/admin/ SID/log
like adpatchXXX.log ( file name you mentioned while patching ), adworkXXX.log for
worker log files
29. Location of Adpatch default logfile location?
$APPL_TOP/install/ log
30. Location of APPS password?
$IAS_ORACLE_ HOME/Apache/ modplsql/ cfg/wdbsvr. app
(or)
$8.0.6 ORACLE_HOME/ report60/ server/CGIcmd. dat
31. How do you know whether ur system is autoconfing enabled or not?
From $AD_TOP/bin
Run adcfginfo.sh contextfile= $APPL_TOP/ admin/contextnam e.xml
32. How do you determine whether your system is Rapid Clone enabled?
First, verify that your system is AutoConfig enabled. Then, Verify that the
latest Rapid Clone Patch has been applied or not
33. If I have 5 databases, is it possible to point only to 1 bdump?
Keep the same location in 'background_ dump_dest' parameter for 5 databases in
pfiles
34. How to retrieve recent files?
ls -ltr
35. How do you know the kernel version?
uname -r
36. Contents of pfile?
db_name
background_dump_ dest
user_dump_dest
core_dump_dest
control_files
undo_management
compatible
db_block_size
db_cache_size
db_domain
global_names
instance_name
max_dump_file_ size
remote_login_ passwordfile
service_names
shared_pool_ size
37. Contents of controlfile?
Database name & Identifier
Timestamp of database creation
Tablespace names
Names & locations of datafiles and redolog files
Current redolog file sequence number
Checkpoint information
Begin & end of undo segments
Redo log archive information
Backup information
38. Why do you set Kernel parameters?
Oracle uses UNIX resources such as shared memory, swap space and semaphores for
interprocess communication.
So we modify the Kernel parameters in /proc/sys/kernel. To setup these
parameters permanently is use /etc/sysctl. conf file.
If your Kernel parameter settings are insufficient for Oracle, you will
experience problems during installation and/or instance startup.
39. What is the purpose of find?
if you are in present directory, how do you find? f ind .-name<filename>
if you are not in present directory, how do you find? find -name<filename>

40. How to enable a new language?


Through License Manager
41. How do you take backup in LINUX?
By using tar or cp or cpio
42. What is Generic Service Management(GSM) ?
GSM is an extension of concurrent processing which provides a powerful
framework for managing processes on multiple host machines.
43. How to find out the version of a FORM?
f60gen------ --------- ---for FORM version
44. How do you find out if Form Server is running or not?
ps -ef |grep f60webmx
45. What is the Forms Server executable name?
f60srvm
46. What if the Form Server is slow?
Bounce the server
47. How to confirm if Report Server is Up & Running ?
ps -ef | grep rwmts60
48. What are Materialized views?
Materialized views are schema objects that can be used to summarize and
distribute data.
49. What is deadlock?
When two processes waiting to update the rows of a table which are locked by an
other process, then deadlock arises.
50. How do you create the user?
Navigate to Security-->user-->define
51. How do you delete an existing user in the applications?
Applications users cannot be deleted since records belonging to users are kept for
security and monitoring purposes. The only thing to do is to invalidate the user by

assigning an end date to the effective period for the user.


Navigating path: Security -> User -> Define
52. How do you delete a responsibility from Oracle Applications?
Responsibilities cannot be deleted since those records are kept for security and
monitoring purposes. However, responsibilities can be disabled by assigning an end
date to the effective period
53. How do you tell what products are installed within Applications?
This information can be accessed within Applications from the Alert Manager
Responsibility.
Navigation Path: System--> Installations
54. What is Concurrent Manager?
Concurrent Manager is a program or process manager on application db server, that
coordinates the concurrent processes generated by user�s concurrent requests.
55. What is Standard manager?
Standard manager is the default manager which accepts all kinds of requests. It has
no predefined specialization rules and is active all the time.
56. What is Transaction manager?
A Transaction manager is started on concurrent processing server and periodically
reads the pipe (concatenation of Application tier and Database tier) for incoming
transactions. It occurs only in 11i RAC configuration.
57. What is ICM?
ICM is the manager which controls other managers. If it finds other managers
down , it checks & try to restart them.
58. What is Confict Resolution Manager?
CRM resolves conflicts such as request incompatabilities.
59. What is incompatability with Concurrent request?
When a concurrent request is being processed and another concurrent manager is
trying to process same type of request, there is an incompatability with
concurrent request and is resolved by Conflict Resolution Manager.
60. How to start/stop the Concurrent Manager?
adcmctl.sh start/stop
(or)
$FND_TOP/bin/ startmgr
61. How do you define a Concurrent Manager?
Navigate to Manager --> Define
62. How do you check the current status of manager processes at OS level?
$FND_TOP/sql/ afcmstat. sql
63. How do you know whether Concurrent Manager is running or not?
ps -ef |grep FNDLIBR
64. Where do you see the requests?
Query the FND_CONCURRENT_ REQUESTS
65. How do you know whether Listener is up or not?
ps -ef |grep FNDFS
66. If Concurrent manager is not getting up, what might be the problem?
Apps Listener is not up
67. How do you determine whether the standard managers are up?
ps -ef |grep FNDLIBR (or)$FND_TOP/ sql/afimchk. sql
68. What happens, if Conflict Resolution Manager is down?
ICM will take over the jobs of CRM
69. If ICM is down, what happens?
All the other managers will keep working. ICM takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.
70. What happens if user kills ICM?
Applications will be down
71. What is PMON cycle?
This is the number of sleep cycles that the ICM waits between the time it checks
for concurrent managers failures, which defaults to 20. You should change the PMON
cycle to a number lower than 20 if your concurrent managers are having problems
with abnormal terminations.
72. What is Queue Size?
The queue size is the number of PMON cycles that the ICM waits between checking for
disabled or new concurrent managers. The default for queue size of one PMON cycle
should be used.
73. What is Sleep Time?
The sleep time parameter indicates the seconds that the ICM should wait between
checking for requests that are waiting to run. The default sleep time is 60, but
you can lower this number if you see you have a lot of request waiting
(Pending/Normal) . However, reducing this number to a very low value many cause
excessive cpu utilization.
74. Location of AutoConfig template files and its use?
AutoConfig uses template files to determine the basic settings that are needed.
Its location is prod_top/admin/ template
75. What is Auto Config? How does AutoConfig know which value from the XML file
needs to be put in which file?
Auto Config is a configuration tool that supports automated configuration of an
Oracle Application file system. All of the information required for configuring an
Applications file system is collected into a central repository, called the
Applications Context; there is one Applications Context for each application tier,
and one for the database tier. When you run AutoConfig, it reads the XML files and
creates all the AutoConfig managed configuration files. For each configuration file
maintained by AutoConfig, there exists a template file which determines which
values to pick from the XML file.
76. How do you change the port values?
Port values can be changed in the context file with the help of ContextEditor and
running AutoConfig.
Navigate to Sitemap > Context Editor
77. What is Snapshot?
Snapshot gives a picture of selected Application related files in a given APPL_TOP
78. Location of Snapshot Information?
$APPL_TOP/admin/ SID/out/snapdnld .txt
AD_SNAPSHOT, AD_SNAPSHOT_ FILES, AD_SNAPSHOT_ BUGFIXES
79. What is the runaway process in CPU?
The process to which the memory assigned is not released is known as runaway
process.
80. What is dbclone?
Creating same structure of existing database.
81. How do you know that you are in DbTier or AppsTier?
Through XML file, If DbTier=yes, you are in DbTier
82. How do you know the database has invalid objects?
Select * from dba_objects where status like 'invalid';
83. How do you compile invalid objects?
By running 'Validate APPS Schema' task in adadmin
(or)
Run utlrp.sql. Its location is $ORACLE_HOME/ rdbms/admin
84. Location of Apache logs?
$IAS_ORACLE_ HOME/Apache/ Apache/log
85. Why do you run catalog.sql, catproc.sql, pupbld.sql?
catalog.sql creates views and synonyms on data dictionary
Its location is $ORACLE_HOME/ rdbms/admin
catproc.sql creates the PL/SQL procedures and packages
Its location is $ORACLE_HOME/ rdbms/admin
pupbld.sql creates the product and user profile tables
Its location is $ORACLE_HOME/ sqlplus/admin
86. How do you drop the user including contents?
Drop user XXX cascade;
87. What is use InterOperability Patch?
We apply this patch for the compatability between OS and Oracle
88. How do you know the database growth?
Query dba_free_space
dba_segments
dba_extents
89. In which mode do you up the database after creating control file?
startup mount
90. What happens when you give ALTER tablespace begin backup?
Datafile headers will be freezed.
Undo information will be written into redo log files.
91. What if the database got crashed after giving ALTER tablespace xxx begin
backup?
Startup the database in mount mode and give the command ALTER tablespace xxx
end backup
92. When you kill a particular process id, it is again restarted. How to solve
it?
Kill the parent process by this command
pkill pid
93. How do you findout the installation is single-node or multi-node?
adconfig.txt- --------- --------- ->$APPL_TOP/admin
(or)
Query FND_NODES
94. How to find Apache (web server) is running or not?
ps -ef | grep httpd.conf
95. If Apache is getting problems, which files do you look for to trouble shoot?

$IAS_ORACLE_ HOME/Apache/ Apache/conf/httpd.conf


$ IAS_ORACLE_HOME/ Apache/Jserv/ etc/jserv.properties
96. Location of HTML Cache in Oracle Applications?
$OA_HTML/_pages
97. Location of PL/SQL Cache in Oracle Applications?
$IAS_ORACLE_ HOME/Apache/ modplsql/ cache
98. How do you restart the Discoverer in Oracle Applications 11i?
addisctl.sh start
(or)
$ORACLE_HOME/ discwb4/util/ startall. sh
99. Location of audit traces?
$ORACLE_HOME/ rdbms/audit
100. What is the use of adutconf.sql?
adutconf.sql reports standard information about the installed configuration of
Oracle Applications
101. How do you know the Jinitiator version?
Under $COMMON_TOP/ html/bin/ appsweb_SID_ HOSTNAME. cfg, search for
entry like jinit_ver_name
(or)
Under $FND-TOP/resource/ appsweb_SID_ HOSTNAME. cfg, search
for entry like jinit_ver_name
102. How to find opatch Version ?
$ORACLE_HOME/ OPatch/opatch version
103. How to find out database version?
select * from v$version;
104. How do you know the OUI version?
$IAS_ORACLE_ HOME/appsoui/ oui/oraparam. ini
(or)
grep -i version oraparam.ini
105. How do you the Apache version?
Type sqlplus after connecting to $IAS_ORACLE_ HOME
106. How do you find out the status and process id of the adworkers?
ps �ef |grep adworker
107. How do you connect to RMAN?
rman target system/manager@ SID-----To connect remotely
rman target / ------------ --------- -------To connect globally
108. When you run the convert character set, adadmin creates 3 files in the
APPL_TOP/admin/ SID/out. What are they?
admanifest_excp. lst
admanifest.lst
admanifest_lossy. lst
109. Location of Non-OAM context editor wizard?
COMMON_TOP/util/ editcontext- --------- --------- -----Application Tier
RDBMS_ORACLE_ HOME/appsutil/ editcontext- ----Database Tier
110. How to lock/unlock the scott/tiger account?
alter user scott account lock/unlock
111. Diff. between sys and system?
Sys owns data dictionary views
System owns the objects owned by oracle utilities
112. Diff. between sys and sysoper?
Sysoper can take backup of controlfile
Sys can take full backup of database
113. How to create a user through command prompt?
useradd -g groupname -d directory -p password username
114. What is softlink or hardlink?
A softlink is a file that points to another file.
Syntax: ln -s filename linkname
A hardlink is a pathname that references an inode
Syntax: ln filename linkname
115. How do you maintain multiple databases with single instance?
By sourcing the environment variables
116. What happens when you give commit statement?
Server process records the SCN & commit record in the redo log buffer
LGWR writes the redo log buffer entries & the SCN to redo log files
Oracle notifies the user that the commit is completed
Server process records that the transaction is completed & that the resource lock
can be released
117. Multiplexing the controlfile using SPfile
Alter system set control_files= location
Shutdown the database
Create additional controlfiles
Startup the database
118. Multiplexing the controlfile using Pfile
Shutdown the database
Copy the existing controlfiles to a newname and location
Add the new controlfile name to pfile
Startup the database
119. Multiplexing the Redo log files?
If the log file is current, perform logswitch by using ALTER SYSTEM SWITCH
LOGFILE
Copy the redolog file to the new location
Use ALTER DATABASE RENAME FILE xxx TO xxx to make the change in control
files.
120. What are the storage clauses do you specify?
local, uniform, autoextend, dictionary
121. How to find out the file version?
adident Header <filename>
122. How do you mount the directories through NFS?
mount -t nfs hostname:source destination
123. How to recover clone data?
Recover database until cancel
124. What is the utility to upgrade from one version to another version?
dbua
125. Contents of APPL_TOP?
environment files and products
126. What does APPLCSF mean?
$COMMON_TOP/ admin
127. How to change the APPLTMP, APPLPTMP?
utl_file_dir should be edited in pfile
128. How do you know the product versions, patchset levels?
$AD_TOP/sql/ adutconf. lst
(or)
Query PRODUCT_COMPONENT_ VERSION table.
129. Location of JAR files?
$PROD_TOP/java/ jar------ --------- --------- ---------
----APPL_ TOP
$JAVA_TOP/oracle/ apps/<prod>/jar-------- --------- -JAVA_TOP

130. Location of US directory?


$APPL_TOP/au/ 11.5.0/reports/ us
131. What happens when you give open resetlogs?
log sequence no. will be reset
132. How do you know that the particular datafile belongs to particular
tablespace?
Query v$tablespace, v$datafile
133. If .dbc file is corrupted, what happens? and What should you do?
autoconfig should be run
134. What are AutoPatch Restart files?
Restart files store information about completed processing in the event of a patch
or system failure. They allow AutoPatch, AutoUpgrade, and AD Administration to
continue processing at the point where they stopped. Its location is
$APPL_TOP/admin/<SID>/restart
135. How to check whether all the processes are running or not?
ps -ef |grep smon
136. How do you know which user has which privileges?
$DBA_SYS_PRIVS
137. How do you create Applications Context file?
Run $AD_TOP/bin/ adbldxml. sh, after sourcing APPL_TOP & ORACLE_HOME environment
files.
Then, the following values will be prompted for
ORACLE_SID used to connect to database
Full path to the Rapid Install Configuration file
Full path to the JDK 1.3.1 installation
138. What is OraInventory?
The OraInventory stores information about all oracle software products installed
in all ORACLE_HOMES and other non-oracle products such as the Java Runtime
Environment( JRE). The location of the OraInventory is /etc/oraInst. loc which
points the location of Global Inventory.
139. What is XML oraInventory?
Starting with OUI 2.x and 11.5.8, the informatio in the inventory is stored in
Extensible Markup Language(XML) format. The XML format allows for easier diagnosis
of problems and faster loading of data.
The inventory is XML if the following file exists $ORACLE_HOME/ inventory/
ContextXML/ comps.xml Unlike the binary
OraInventory, the XML inventory is divided into 2 distinct components.
Global Inventory or Central Inventory
Local Inventory or Home Inventory
140. What is Global Inventory?
The Global Inventory is the part of the XML inventory that contains the high level
list of all Oracle products installed on a machine. The Global Inventory records
the physical location of Oracle products installed on the machine, such as
ORACLE_HOME( 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
everytime you install or de-install an ORACLE_HOME.
Note: If you need to delete and ORACLE_HOME, you should always do it through the
OUI de-installer in order to keep the Global Inventory synchronized.
141. What is Local Inventory?
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.
142. What does OUISetup.pl do?
OUISetup.pl is included with the OUI patch, listed as a pre-requisite to Rapid
Clone. It should be run as part of the OUI Patch installation and performs the
following tasks:
Register the OUI program in the Global Inventory
Register the JRE in the Global Inventory
Ensures that the ORACLE_HOME in which the patch is
installed is properly registered in the Global Inventory.
143. How do you determine if your system is autoconfig enabled or not?
Run adcfginfo.sh contextfile= context
144. How do you determine if your system is Rapid Clone enabled or not?
First, verify that your system is AutoConfig enabled. Then, verify if latest Rapid
Clone Patch has been applied.
145. Can you clone a multinode system to a singlenode system?
You can use Rapid Clone to merge multiple APPL_TOP and COMMON_TOP file systems
into a single APPL_TOP and COMMON_TOP file system.
146. How does adcfgclone.pl know the target system values?
adcfgclone.pl will prompt for the values required to create the new context file
used to configure the target system.
PROMPTS:
Database SID
Domain name
Prompts specific to the DBTier
Target system database name
RDBMS ORACLE_HOME directory
DATA_TOP path
Prompts specific to the AppsTier
Database server node
Does the target system have more than one applications tier server node(Y/N)?
Is the target system APPL_TOP divided into multiple mount points(Y/N)?
APPL_TOP mountpoint
COMMON_TOP directory
8.0.6 ORACLE_HOME directory
IAS ORACLE HOME directory
Location of JDK1.3.1
Prompts common to DB and AppsTier
Port Pool Number [0-99]
147. What is Port Pool?
The Port Pool provides a way to use a set of predefined server ports. There are
100 port pools.
Port Name Default port numubers
Web Listener Port 8000
Database Port 1521
RPC Port 1626
Reports Port 7000
Metric Server Data Port 9100
JTF Fulfillment Server Port 9300
148. What is .dbc file? and its contents? How do applications know the name of
the dbc file?
dbc stands for database connect descriptor file used to connect to database.
Whenever java or any other program like forms want to connect to database, its
uses dbc file. The application knows the name of the DBC file by using profile
option "Applications Database Id"
Contents of dbc file:
GUEST_USER_PWD
DB_NAME
DB_HOST
DB_PORT
Location: $FND_TOP/secure
149. How to compile JSP in Oracle Applications?
Run ojspCompile. pl script
Location: $JTF_TOP/admin/ scripts
150. What is Web Listener?
Web Listener is web server listener which is listening for web services (HTTP)
request. This listener is started by adapcctl.sh
151. What are the development technologies?
Java, D2K, HTML
152. How do you restart the installation?
rapidwiz -restart
153. Documents to be referred for installation?
Installation guide
Update Release notes
154. How do you set the path of /etc/oraInst. loc when it is not present and you
dont have root access?
run ./rapidwiz -inventory_loc= 'location'
155. How to verify whether java is installed or not?
which java
156. How to findout the java version?
java -version
157. How to check whether the packages are available or not?
rpm -qa |grep ar/make/qa
158. Do you have to install JDK on all systems, when you are doing multinode
installation?
Yes, mandatory
159. Location of installation log files?
$ORACLE_HOME/ appsutil/ log/contextname- --------- ---> on database
$APPL_TOP/admin/ contextname/ log------ --------- --------- -->on application
160. By using FNDCPASS, whose passwords can be changed?
Oracle------ ---Database tier
System------ --Application tier
User-------- ---Oracle user
161. How do you switch the logfile?
alter system switch logfile
162. How to force the checkpoint?
By setting FAST_START_MTTR_ TARGET parameter
(or)
alter system checkpoint
163. What is the purpose of adcfginfo.sh?
It shows whether the system is autoconfig enabled or not.
Location: $AD_TOP/bin adcfginfo.sh contextfile=<contextfilepath>
[show=<enabled||disabled||all>]
164. What is the difference between apps schema, applsys schema, applsyspub
schema?
Apps schema contains only synonyms for other modules
Applsys schema contains all the fnd tables, administration schema
Applsyspub is the gateway to login to the application
165. Parameters regarding the performance tuning?
audit_trail= true
timed_statistics= true
max_dump_file_ size=10240
166. Why do you use scope=spfile, memory and both?
MEMORY: Set for the current instance only. This is the default behaviour if a
PFILE was used at STARTUP
SPFILE: update the SPFILE, the parameter will take effect with next database
startup
BOTH: affect the current instance and persist to the SPFILE. This is the default
behaviour if an SPFILE was used at STARTUP
167. Steps to apply Patchset?
Patchset includes bugfixes for 9.2.0.4 � 9.2.0.6
1)Unzip the patchset in /stage directory and run the runInstaller
2)Select the 10G OUI and again run the runInstaller
3)Select patchset
4)Startup migrate
5)Run the script catpatch.sql
168. What is Shared Server?
In Shared Server environment, the server process handles the request of several
user processes.
169. How to enable Shared Server?
Two parameters should be set in pfile.
shared_server= no. of predefined server processes
dispatchers= protocol of dispatcher and no. of dispatchers
Then, tnsnames.ora should be modified
170. What is Cost based optimization?
Cost based optimization is used to identify the shortest way to execute and
retrieve data from an object
171. How do you change the database name?
Change SID in controlfile and parameterfile
In controlfile, set dbname=xxx, reuse=xxx
172. Difference between 8i and 9i?
In Oracle9i, DB_CACHE_SIZE or SHARED_POOL_ SIZE can be resized when the database
is up and running. It is not possible with Oracle8i.
Time stamp facility is available in 9i whereas it is not available in 8i
You can drop a column in oracle 9i using alter table command where as this is not
available in oracle 8i
In 9i, we call undo segments whereas rollback segments in 8i
173. What is Explain Plan?
Explain Plan parses a query and records the "plan" that Oracle devises to execute
it. By examining this plan, you can findout if Oracle is picking the right
indexes and joining your tables in the most efficient manner.
@?/rdbms/admin/ utlxplan. sql script will create the PLAN_TABLE
174. What is the use of utlrp.sql?
This script compiles the invalid PL/SQL modules. Its locations is $ORACLE_HOME/
rdbms/admin
175. Which initialization parameters do you set to effect the SGA size?
shared _pool_size
db_block_size
db_cache_size
log_buffer
176. Which parameters in pfile effect the database?
db_name
db_block_size
control_files
177. Tasks of Adadmin?
1. Generating Applications files
2. Maintaining the Applications database objects
3. Maintaing Applications files

178. AD Administration Prompts?


Is this the correct APPL_TOP [Yes]?
Logfile name [adadmin.log]
Email feature [No]
Batch size [1000]
Is this the correct database [Yes]?
Enter the password for 'SYSTEM' ORACLE schema:
Enter the password for APPLSYS schema

179. Ad Administration Preliminary Tasks?


Run the environment file
Verify the ORACLE_HOME is set properly
Verify the TWO_TASK identifies the correct database
Ensure that ORACLE_HOME/ bin and AD_TOP/bin are in path
Shutdown the concurrent managers when relinking
Ensure sufficient temporary disk space
Note: The temporary directories APPLTMP, APPLPTMP, REPORT60_TMP and the OS
temporary directories, /tmp, /usr/tmp must each have atlease 50MB of free space

180. When do you run Relink Application Programs task in AdAdmin?


Run the Relink Application Programs after
Installing a new version of the database or a technology stack
component
Installing another underlying technology component that Oracle
Applications rely on
Applying a patch to the Applications technology stack
Applying a patch to the OS
Including a new or changed third party or custom code into Applications
programs

181. What is the pre-requisite before running the 'Convert to Multiple Reporting
Currencies' task in Ad Administration?
Always run the 'Validate APPS Schema' task before running the convert to MRC
task

182. How do you know database version?

Select * from v$sys.version

183. What is Password file?


Password file is created on a server side to store valid users and password. It
is used for validating users and their passwords.

184. Purpose of Undo segments? Undo segment is used to save the old value when a
process changes data in a database.

185. How many undo tablespaces should be there? We can have any no. of
tablespaces but only one should be active.
186. Where does redo log information store?
In memory area

187. Explain the difference between a hot backup and a cold backup?
We take hot backup when database is up and running and it must be in archivelog
mode. We take cold backup while database is shutdown and it doesnt need to be in
archive log mode.

188. What is admrgpch?


It merges multiple patches into a single, integrated patch.

189. What is adadmin?


It performs maitenance tasks on the Oracle Applications file system and database

190. What is adpatch?


It applies patches and adds new languages and products.

191. What is adaimgr?


It upgrades to the latest version of Oracle Applications

192. What is adctrl?


It manages parellel workers in Autoupgrade, ADAdministration and AutoPatch

193. What is adrelink?


It relinks Oracle Applications executable programs with the Oracle Server Product
Libraries

194. What is adsplice?


It registers off-cycle products

195. How do you determine howmuch virtual memory is being utilized?


Run the vmstat command

196. How to know which process is consuming more CPU resources?


Run the top command

197. How do you determine the blocklevel utilisation?


Run the iostat command

198. What for do you use the 'netstat' command?


Netstat reports on the contents of network data structures

199. How do you increase the datafile size?


By using ALTER DATABASE DATAFILE xxx RESIZE n

200. How do you bring datafile offline?


By using ALTER DATABASE DATAFILE xxx OFFLINE

201. Do we need to close the window after installing Jinitiator?


No need, if Internet Explorer is used
Need to be closed, if Netscape is used

202. Whats is difference between two env files in <CONTEXT>.env and


APPS<CONTEXT>.env under $APPL_TOP ?
APPS<CONTEXT>.env is main environment file which inturn calls other environment
files like <CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806 ORACLE_HOME and
custom<CONTEXT>.env for any Customized environment files.
203. What are main configuration files in Web Server (Apache)?
httpd.conf, jserv.conf, wdbsvr.app

204. What are various components in Application/ Middle Tier?


Web Server, Forms Server , Reports Server, Concurrent Manager, Admin Server &
Discoverer Server.

205. What is Maintenance Mode?


Maintenance Mode is a new mode of operation introduced with Release 11.5.10, in
which the Oracle Applications system is made accessible only for patching
activities. This provides optimal performance for AutoPatch sessions, and minimizes
downtime needed. Maintenance mode is only needed for AutoPatch sessions.

206. Difference between delete and truncate?


if you delete a table, you can rollback but if you truncate a table you cannot
rollback
Delete is a DML command whereas Truncate is a DDL command

207. What does OUI do?


OUI(Oracle Universal Installer) is used to install, upgrade or remove software
components, and create database

208. Application Scripts?


adfrmctl.sh -------Form Server
adfmsctl.sh- ------Forms Metric Server
adfmcctl.sh- ------Forms Metric Client
adalnctl.sh- -------Listener
adrepctl.sh- -------Report Server
adcmctl.sh-- ------Concurrent Manager
adapcctl.sh- ------Web Server
addisctl.sh- -------Discovere r Server
adtcfctl.sh- -------TCF Socket Server
jtffmctl.sh- --------Fulfillm ent Server

209. Database Scripts?


addlnctl.sh- -------DB Listener Process
addbctl.sh-- -------DB Process

210. Difference between du and df?


du shows the used space for each and every directory and file
df shows the used and available space with mount points

211. In which mode the recovery is done?


mount mode

212. How do you increase the tablespace size?


By adding datafile to the tablespace or by resizing the datafile
ALTER TABLESPACE xxx ADD DATAFILE xxx RESIZE n
ALTER DATABASE DATAFILE xxx RESIZE n

213. Where does undo memory information store?


Redo log buffer cache

214. What happens when you use alter system archive log start?
To enable the automatic archiving

215. What happens when you use alter database archive log?
To keep the database in archivelog mode
216. How do you maintain security?
By creating users and assigning them roles and profiles

217. Why do you use Resetlogs, Set, Reuse?


If you reset the logs, log sequence number will be set 0
Set is for new SID
Reuse is for reusing the existing controlfiles

218. How to check the free space and used space in OS level?
df -h, du -h

219. How to check the top directories used space in OS level?


du -h --max-depth= 1

220. Which parameters effect the undo?


undo_management
undo_retention
undo_suppress_ errors
undo_tablespace

221. What is the purpose of cmclean.sql? and its location?


It will purge the concurrent manager logs and tables

222. What is JInitiator?


JInitiator provides the JVM on which Forms client Applet will run.

223. What for do we use shared, exclusive, none in password file?


shared is to allow the remote users
exclusive is only for particular database
If none is set, remote login is not allowed

224. What is datagroup?


Datagroup is the pairing of Oracle user and Application user.

225. What happens when the environment is sourced?


All the product top directories and necessary executables such as adadmin, adpatch
are set into path.

226. Contents of COMMON_TOP?


admin/scripts, java, html, rgf, temp/txkValidateRol lup.html, util/jinitiator

227. Contents of ORA directory?


IAS_ORACLE_HOME and 806 ORACLE_HOME

228. What is checkpoint?


Checkpoint signals the DBWR to write the dirty buffers to datafiles
Updates the datafile headers and controlfiles with checkpoint information

229. What is there in httpd.conf?


This is a server configuration file which typically contains directives that
affect how the server runs, such as user and group IDs it should use, and location
of other files. Because the server configuration file is the main file that the
server starts with, Oracle HTTP Server does not include any directive that says
where to locate it. The location is passed on command line when the server starts.

230. What is RRA/FNDFS ?


Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Apps 11i for viewing output files & log files
231.Where to check log files after autoconfig is executed ?
On database tier its under $ORACLE_HOME/ appsutil/ log/contextname/ mmddhhmm/
adconfig. log On Application tier its under $APPL_TOP/admincont extname/log/
mmddhhmm/ adconfig. log

232.What is location of Contexts file in 11i ?

Database Context file is under Database $ORACLE_HOME/ appsutil Application Context


file is under $APPL_TOP/admin

233. What is a responsibility?


Responsibility is a collection of menus, request security groups and data groups.
Menu is a collection of forms Request security group is a
collection of programs Data group is a group of modules to be
made accessible by the user through Responsibility System admin-->security--
>define security-->user-->define

234How do you troubleshoot self-service login problems? Which profile options and
files do you check?
Check guest user/password in DBC file, profile option guest user/password.

Check whether apache/jserv is up RunFND_WEB.PING,aoljtest etc

235.What could be wrong if you are unable to view concurrent manager log and output
files?
Most likely listener is down. Look at the FND_CONCURRENT_ REQUESTS, FND_NODES table
and FNDFS_entry in tnsname.ora

236.How do you change the apps password?

Use FNDCPASS to change APPS password and modify manually wdbsvr.app/cgiCMD. dat

237.How do I check if Multi-org is installed?

Select multi_org_flag from fnd_product_ groups;

238.How do I check the currently installed release of applications?


Select realease_name from fnd_product_ groups;

239.How to find the name of a form?


Navigate Help-->About Oracle Applications

240.How do you cancel a running concurrent request?


Navigate Concurrent Request Summary form, select a request. In character, do a
Quickpick on the Status column. You can select Cancel or Hold

241.Why does Help-->Tools-->Examine ask for a password?


This profile option controls whether users can use the Examine utility
The password should be the APPS password

242.What are .lgi files?


It contains informational messages, such as files that were not applied
Its location is $APPL_TOP/admin/ SID/log

243.What is location of .cfg? and its purpose?


This file is defined by environment variable FORMS60_WEB_ CONFIG_FILE. This is
usually in directory $OA_HTML/bin on forms tier. This file is used by any forms
client session. When a user tries to access forms , f60webmx picks up this file and
based on this configuration file creates a forms session to user/client.
244.Where would i find .rf9 file, and what exactly it does?
These files are used during restart of patch in case of patch failure.
Location is $APPL_TOP/admin/ SID
245.Whats US directory in $AD_TOP or under various product TOP's ?
US directory is default language directory in Oracle Applications. If you have
multiple languages installed in your Applications then you will see other languages
directories besides US, that directory will contain reports, fmx and other code in
that respective directory like FR for France, AR for arabic, simplifies chinese or
spanish.

246.How to find Version of Apache used with oracle apps 11i ?


Go to location $IAS_ORACLE_ HOME/Apache/ Apache/bin and run this command
./httpd -version

247.How do you work with multiple oracle homes?


Whatever oracle home you want to work, Source that environment file

248.What is concurrent request?


When a user runs a report, a request will be generated. The command to run that
report is called Concurrent request

249.How do you rebuild the oraInventory?


1) If inventory_loc is not there in oraInst.loc, create it manually
2) Rename the corrupted globale inventory with a different name
3) Apply OUI patch(5035661)
4) Run the OUISetup.pl script on both IAS_ORACLE_HOME & RDBMS_ORACLE_ HOME
5) Change the permissions of new OraInventory
6) Run the runInstaller. sh command on $ORACLE_HOME/ appsoui/oui/ install

250.What are .fmb and .fmx files?


When you execute .fmb files, these files will be converted into .fmx

251.What is the use of restore.sh?


When you run restore.sh, it will come to previous stage like how it was.
Location: $ORACLE_HOME/ appsutil/ out/contextname/ MMDDhhmm/

252.What is Pasta?
Pasta is the utility to install the printers.

253.How do you kill group processes?


By using awk command

254.What is yellow bar? How to solve?


Whenever the clients are accessing the forms, due to the security problems, we get
yellow bar warning.
To solve this problem, copy identitydb.obj from production to test system and run
Jinitiator.

255.What is the use of SYSAUX tablespace?


SYSAUX tablespace contains statistical data.(It reduces the burden of system)

256. What is PCTFREE & PCTUSED?


PCTFREE: The percentage of space reserved for future update of existing data.
PCTUSED: The percentage of minimum space used for insertion of new row data. This
value determines when the block gets back into Free List table.
257. What does data block header contain?
The header contains general information about the data; i.e. block address and type
of segments (table, index, etc.). The header also contains information about the
table and the actual row (address) that holds the data.

258. What is Row Migration?


Oracle will try to shift the entire row from the current block to another block
having 25 (10+15) units of free space.
259. What is Row Chaining?
When a row is so large that it cannot fit into one free block, Oracle will span the
data into a number of blocks so that it can hold all of the data. The existence of
such data results in "Row Chaining". Row Chaining is the storage of data in a
chain of blocks.

260. What is listener.ora & tnsnames.ora?


listener.ora: To connect to database, clients first contact a listener process
that typically resides on database server. It consists
of listener, port, SID name, hostname.
The listener logs will be $ORACLE_HOME/ network/log tnsnames.ora: It is located at
the client side and it stores net service names. It contains description, host,
port, protocol, servicename, address. The location of these two configuration files
is $ORACLE_HOME/ network/admin

261. Types of checkpoints?


Full checkpoint, Incremental checkpoint, Partial checkpoint

262.Why do we get snapshot too old error?


If undo tablespace is having insufficient space, we get this error.
263. What is profile?

Profile controls the behaviour of applications

264. What is the use of 3 Oracle Homes?


There are
three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier) and One
in Database tier.
8.0.6 ORACLE_HOME: On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.

IAS_ORACLE_HOME: On Application Tier used by iAS (Web Server) techstack software.


This is used by Web Listener & contains Apache.

RDBMS ORACLE_HOME: On Database Tier used by Database Software usually 8i,9i or 10g
database.

265. What is RDA?


RDA is a set of command line diagnostic scripts that are executed by an engine
written in the Perl programming language. RDA is used to gather detailed
information about an Oracle environment; the data gathered is in turn used to aid
in problem diagnosis. The output is also useful for seeing the overall system
configuration. Oracle Support encourages the use of RDA because it provides a
comprehensive picture of the customer's environment. This can greatly reduce
service request resolution time by minimizing the number of requests from Oracle
Customer Support for more information. RDA is designed to be as unobtrusive as
possible; it does not modify systems in any way, it only collects useful data for
Oracle Customer Support.

266. How to manually change the APPLSYS, APPS and APPLSYSPUB passwords for
Applications?
� All users should be log out of application.
� Shutdown the concurrent managers
� Login as Sys Admin
� Navigate to Security?Oracle?Register
� At the same time, login as the SYSTEM user
� In the applications session, enter the new password for APPLSYS
� Save the changes
� ALTER USER <APPLSYS USERNAME> IDENTIFIED BY <NEW PASSWORD>
� In the same applications session, change the APPS and APPLSYSPUB password
� Save the change
� ALTER USER APPLSYS IDENTIFIED BY XXX; ALTER
USER APPS IDENTIFIED BY XXX; ALTER USER APPLSYS IDENTIFIED BY
XXX;
� Open a new session in applications, without closing the previous session,
and login
� Restart the concurrent managers

267. In a Multi Node Installation, how will you find which node is running what
Services?
Query the table FND_NODES and check for the columns
SUPPORT_CP for Concurrent Manager
SUPPORT_FORMS for Forms server
SUPPORT_WEB for Web Server
SUPPORT_ADMIN for Admin Server
SUPPORT_DB for database tier
268. Can FNDLIBR be restored if it is deleted?
Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables.
269. What are .odf file in apps patch?
odf stands for Object Description Files used to create tables & other database
objects

Well purpose of writing this page on JVM & JVM monitoring / Tuning for Oracle Apps
11i is that for Quite some time we were getting errors like
java.lang.OutOfMemoryError or java.lang.NoClassDefFoundError error message across
applications. So I thought of troubleshooting JVM and Middle Tier in Oracle
Applications 11i and got enough material which I have summarized here for other as
well. This page is based on Oracle Application 11i with Autoconfig and Java 1.4.2
version. Though Java/JDK 1.5 is also available & certified with 11.5.10.2 . Lets
start with understanding JVM (Java Virtual Machine) and related components. What
is JVM ?

JVM acronym for Java Virtual Machine which executes instructions generated by Java
compiler. So user click on any Self Service Request or any program wh
Q: How to increase No. Of JVM's

Since you know place where number of JVM's are stored in Apps 11i in Context File ,
so you can change them as per your requirement. There are basically following
Groups with their own JVM's.
# OACoreGroup, where most of Java request goes
# DiscoGroup, which serve your Discoverer related requests
# FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again)
# XmlSvcsGroup, for XML Services
In Context File

disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM


Process for Discoverer.

oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for


OACoreGroup

Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services


resp.
These Groups are defined in configuration
On our 11i10 instance, the topfile.txt is missing from @APPL_TOP/admin.

I am unable to run autoconfig or clone the system. How do I generate a new


pfile.txt file

check if you can create it via ADGENTOPFILE.SH

am able to create the topfile.txt, once i run the autoconfig..

There are the steps i have experemented.

-------------------------------------------------

(1) I have removed/backed up the topfile.txt to some other name

(2) Ran the autoconfig

(3) Once I ran the autoconfig using adautonconfig.sh, the movement i ran the
autoconfig, topfile.txt is created in $APPL_TOP/admin

How to get out of the following error:

Once I logon with the correct userid and


password,I have been interrupted to move any further
and following error msg showing:

JSP Error
-----------

Request URI:/OA_HTML/fndvald.jsp

Exception:

java.lang.NoClassDefFoundError

have u tried by bouncing the Apache

Solution 1:Check DFND_SECURE in jserv.properties and comment it out and then bounce
the server.

Solution 2: If the node is RAC then removed DB_HOST from your DBC file and add JDBC
URL entry into that. If it is non-RAC then remove JDBC URL entry if present.
If you still have problem. Please paste your error of Apache,Jserv and std err log
of FORMS and OACoreGroup.

installed Apps 11i sucessfully and i started databse and applications

but i am unbale to getting login page ,

when i check log file in


/apps/applvis/viscom/admin/log/VIS_rajani/

in that some services are disbaled , how to enable that services, listed below all
the services with status

service status
----------- ------
1. Oracle restricted apache server VIS_rajani (adaprstctl.sh) ----disabled
2. Oracle Apache server VIS_Rajani for pl/sql (adapcctl.sh) ------disabled
3. Oracle TCF socket server VIS_rajani ( adtcfctl.sh) --------------disabled
4. Oracle ICSM VIS_Rajani (ieoicsm.sh) ---------disabled
5. Oracle iproceurement Bulk loader VIS_Rajani (icxldkctl.sh) �disabled

1)check log files unde ias_home/Apache/Apache/logs


check error_log and access_logs
and also check mod_jserv/log

if every thing is fine then

2)check by giving ps -ef|grep Apache. if any Apache services are running then use
the URL

http://host.domain:port/OA_HTML/AppsLocalLogin.jsp

Check your DBC file for the value of GUEST_USER_PWD. Make sure this is the same as
the profile option "Guest User Password". Ideally it will be "GUEST/ORACLE"

Also make sure that the profile option "Applications Database Id" is the name of
the DBC file.

When i login to apps through IE , and select any responsibility . IE just closes
the window .This happens multiple time.Finally i cannot login to APPS through IE.

But if i use Netscape . I can login to apps , without any problem

I am using :11.5.10.2
DB:9.2.0.6
IE Version :5
Clinet Desktop Version : Win Xp
Server : HP-UX

Any Suggestions ???

Uninstall your jinitiator on your desktop and access the application again and
install the jinitiator. See if your problem resolves. If you still have an issue
check any software is recently installed on your desktop causing this issue.

Let me know if you still have problem after doing above steps then i will guide you
what to do?
Also let me know the version of jinitiator and jdk on your server side?

go into jinitiator directory

C:\program files\oracle\JinitiatorXX\bin

and rename the file symcjit.dll. and then try it.

I am able to log into url if i type : http://machinename:portno/dev60cgi/f60cgi


( able to access forms) but when i login to ebusiness home page it not allowing me
to log in. It gives error message contact system administrator.

Its 11.5.10 Vision instance. Where do i start from for troubleshooting?

Check you $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app for apps password if its


correct

check at $IAS_ORACLE_HOME/Apache/Apache/logs

or

$IAS_ORACLE_HOME/Apache/Jserv/logs

Can some explain me

What exactly admin server will do?

How to find on which node admin server is running... from backend...


not by using fnd_nodes.

and also y we are applying d driver only on admin server.

Admin server is basically used during patching and various other jobs so if you
have apply a patch on any node that node should have Admin node configured.

Another mis conception about admin server is that only CM node will have Admin node
which is wrong (web & forms can also have admin node)

Its not that you apply only d driver on admin node.

You have to apply only d driver if a particular node is not forms or web node

Say there is application running on 3 nodes

node 1: databas,CM,Admin
Node 2: forms,Web
Node 3: CM

We have to apply a patch on all three nodes, that means three nodes should have
admin server according to above response from (Admin server is basically used
during patching and various other jobs so if you have apply a patch on any node
that node should have Admin node configured. ) and we have to apply d driver to
node 1 and node2. Since node 1 and node 2 doesnt have either forms or web.

So if i am correct with above ... that means admin is running on 3 nodes.....


If it wrong pls correct me.

The impotant thing i want to know is

How to find on which node admin server is running... from backend...


not by using fnd_nodes.

The Concurrent Manager of my system is not running. Any manager is not running.
When try ps -ef | grep FNDLIBR then getting no output. I bounce the
Concurrent Manager and also run "cmclean" but still concurrent manager is not
running.

PHASE --> INACTIVE & STATUS --> NO MANAGER

In Concurrent Manager screen all ACTIVE PROCESS 0 and TARGET 0

Now i can run the concurrent manager

At first i went to : $FND_TOP/bin

Then : startmgr sysmgr=apps/apps

But when i am trying to start the concurrent manager by using adcmctl.sh then it is
giviny 1 error thet is "PERMISSION DENIED"

Check for permission 755 on the adcmctl.sh script by the active user and make sure
you also use the format ./adcmctl.sh apps/appspass

If this doesn't work check the server adcmctl.txt file in $APPLCSF/$APPLLOG to try
and get a better error message

jinitiator.............as it was not downloading to client machine automatically


to solve it i refer metalink ID 305959.1
and run adjbuild.sh..................now it is downloading and working fine

adjbuil.sh repackage Jinitiator with digital certificates .

There might be some issue on jinit executable or certificates ..

I want to relink form executables to resolve


form server isssue. can u GIVE your valuable advice to relink f60webmx
executables.

Use

adrelink.sh force=y ranlib=y 'FND f60webmx'

or

You can use adadmin also to relink specific executable or all.

how to break or reset the sys password


login as system user

and do an alter sys identified by newpassword;

PATCHING::::
what are things to verify to conclude the test succesful and patch can applied on
production system

Patch analysis - Identifiying and applying dependency patches.


- How much time it has taken to complete it?
- Whether the patch has applied successfully or not. If not, what actions have you
taken to carry forward the patch?
- After applying patch, Any changes in the application existing functionality

I am applying a HRMS patch and the README says the pre-requisite is to be on HRMS
Family Pack J. How do I find the patchset level?

The adutconf.lst does not provide this information.

To Check the Family packs level in the 11i,

You have to download the Latest patchsets.sh utility from Metalink and run in the
apps.

The Report will show you all the patchsets levels in the System.

Once Check the Latest patchsets.sh utility in the Metalink and download it.

when u apply a patch suddenly its stop at c driver saying prerequisite


missing ...... i said that all the steps like taking a backup of restart directory
and tables fnd_install_processes amd ad_deferred_jobs and take a new session and
aplply the prerequisite patch after it is applied .... restore that backup files
and restart the old patch ..... he asked me how adpatch knows thats it has started
the old patch ..... i said we give adpatch options=restart ... but he said it is
wrong ......

Autopatch updates the restart file corresponding to a worker is complete, This


allows Autopatch to restart from that a point onwards in case it is aborted..

Autopatch reads the restart file and it started from where it was stopped.

when we apply patch in maintenance mode,we need to shut down services


and the users cannot access the applications.
but, in some cases we apply patches with services up and maintenance disabled that
is by adpatch options=hotpatch.so, under this context.. can users access the
applications other than patching activities...as the services are up and
maintenance mode is disabled

Yes , Users can access applications. but, with the compromise of performance....

we have 2 node installation


node1 contains----->admin,cm,reports,database
node2 contains------>forms,web
so i shall apply c driver and g driver on node 1 and node 2 and d driver on node 1.
and the sequence should be same like first c driver on node1 and node 2,d driver on
node 1 and g driver on node1 and node 2

I need to apply 11i.OIE.K Minipack.

For 11i.OIE.K Pre-req is HRMS Family Pack (11i.HR_PF.K and 11i.HR_PF.K Rup1 and 11i
ATG RUP 4)
Can I merge HRMS Family Packs and ATG RUP4 Family Pack and Other Products Minipack
( 11i.OIE.K) and Apply the Merged Patch?

So Can I merge all the above patches and appy them or First I need to apply ATG
RUP4 Patch and then merge the Remaining Family Packs?

is this the order

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and 11i.OIE.K

--------------

Or is this the order?

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and Apply them
(3) Apply 11i.OIE.k

You can merge ATG RU4 with HRMS & OIE all in one

or

(1) Apply ATG RUP4


(2) Merge HRMS Family Packs and 11i.OIE.K

You can merge various products like ATG, OIE & HRMS

AD should be avoided from merging with other TOP patches

When I run auto config in the log file I see the message

Updated profile option value - 1 row(s) updated


Application Id : 0
Profile Name : CONC_GSM_ENABLED
Level Id : 10001
New Value : Y
Old Value : N

I want to set the GSM to "N".

After running autoconfig, I turned it to N from backend.

Can you tell me if this can be changed through the editcontext. If it can be
changed then what is the description seen when you try to change the xml file
through editcontext

The GSM can be disabled by changing the profile values.

If I start the system with GSM Y, it creates unnecessary processes.

To avoid it, I want it to be N always.

1.Backup the file $FND_TOP/admin/template/afcpgsm.sql then open it for editing.


2. Change the part that looks like:

set_profile(0, 'CONC_GSM_ENABLED',
10001, 0,
'Y',
0);

To:

set_profile(0, 'CONC_GSM_ENABLED',
10001, 0,
'N',
0);

i.e. Change the 'Y' to 'N'.

3. Save the file.

4. Next time when AutoConfig is run, it will set the profile option to 'N'.

Is it necessary to run the Autoconfig in both Tier after RapidClone patch run?

When I did cloning, I did not run Autoconfig after RapidClone patch, even though
the clone was working. Because the documentation not mention about it.

But in the book says run Autoconfig after Rapidclone patch run in the ApplTier, and
copy and unzip the appsutil.zip in the RDBMS ORACLE HOME, and run Autoconfig in the
DBTier.

Is the autoconfig necessary?

Yes ....When u apply Rapid clone patches ..Oracle changes the templates which
autoconfig picks up for future cloning etc etc

While applying the maintance pack, the log file ( .log and .lgi ) got deleted
accidentally.
Is there any way that we can make oracle to continue writing to the file.

I tried created new file; but it is not updating the same, nor it is creating new.
But the patch is still running

stop the patch and restart it

AUTOCONFIG::::::::::::

2. There is any protocol to run autoconfig such as run in Appl Tier first, then
DB Tier?
No but if you are running on both run it on DB tier first but not necessary

2. There is any file to update/edit manualy before we do autoconfig.


Nope

3. To run OAM Restricted Mode: update the variable <s_trusted_admin_client_nodes>


to include the list of hosts that can access OAM in restricted mode. Run autoconfig
to ensure that the new settings take effect.
So, How to do it? Which file to update? Could you guide me?
Use OAM to edit or $APPL_TOP/admin/$CONTEXT_NAME.xml
4. While preclone the database and Appl Tier Services should be up or down?

For DB & DB listener should be Up, Middle Tier can be Up or down

5. The application listner is residing in which server?


on all Nodes

6. Application listener connect to database - how to connect? Through Report


Server, or Form server, or Concurrent Server?
From forms

7. Before apply patch we should bounce services,


But somewhere says "stop all concurrent managers", and somewhere says "stop all
Appl Tier Services"? Why like that? Could you tell me the deffernces?

Now a days stop all & enable maintenance mode

8. How to check database is up or down? usually query the name from v$database,
Which are the other tips, including OS comand in Linix?

ps -ef | grep smon

How to findout the India Localization patch version like 'IN60107' which is applied
already In the system... No more infn in ad_bugs and ad_applied_patches.

Generally these patches will be applied for india localization and will be placed
on JA_TOP.. These patches wont require adpatch but only execute some scripts..
While applying like these kind of patches (EG : 5452893 ), generally readme will
say to check the prerequ patches like IN60106 (4153130) or earlier version..

In that Case, how can we find out whether IN60106 or earlier version has been
applied successfully in that system.

Unfortunately,, these patches wont update in ad_bugs and ad_applied_patches

can u tell me what internally happen when we put the instance in maintenance mode?
is in that time user be able to access application

For Minimized downtime and optimized performance for an auto patch session, Use
Maintenance mode with Oracle E-Business suite Release 11.5.10 . Maintenance Mode is
a new mode of operation introduced with Release 11.5.10, in which the Oracle
Applications system is made accessible only for patching activities. The users are
not allowed to login any responsibility. This provides optimal performance for auto
patch sessions, and minimizes downtime . You can enable or disable the maintenance
mode by using either Ad utility (adadmin) or OAM(oracle applications Manager

FQDN=fully qualified domain name


*

portno=webserver port number

You will get the following error

* No valid navigations for this responsibility

These are the errors you'll see when maintenance mode is enabled.

when ever we apply a patch it aotuomatically compile invaliddb objects


Then what is the use of compliling invalid db objects

U can discable this feature also while patching ...


Oracle has given an option if u want to comiple APPS Schema ..U have have done
something which requires to compile the schema .. There are many ways to compile
the schema;s etc etc

adsplice utility got removed unfortunately


can regain it by running adautocfg.sh it will successfully regains the ad utility.

whatif adautocfg.sh has removed and how to regain it


Copy it from any other Instance or take it from backup

If adautocfg.sh is removed .. then do the following

cd $AD_TOP/bin
adconfig.sh
It will ask u Questions ....just answer those and adautocfg.sh will be recreated

I would like to know the difference between utlrp.sql and compile apps schema
option available in adadmin. How do they differ in functionality?

In my views adadmin calls utlrp.sql with some specified workers ...

The utlrp.sql recomplies all invalid objects in the database while adadmin utulity
just does the apps schema.

The utlrp.sql should be run as one of the last steps during upgrade or downgrade,
This script will validate all remaining invalid objects. There should be no other
DDL on the database while running this script. Not following this recommendation
may lead to deadlocks.

The utlrp.sql in turn calls utlprp.sql which is a wrapper based on the UTL_RECOMP
package. UTL_RECOMP provides a more general recompilation interface, including
options to recompile objects in a single schema. The degree of parallelism for
recompilation can be controlled by
providing a parameter to this script. If this parameter is 0 or NULL, UTL_RECOMP
will automatically determine the appropriate level of parallelism based on Oracle
parameters cpu_count and parallel_threads_per_cpu. If the parameter is 1,
sequential recompilation is used.

The UTL_RECOMP package is created by utlrcmp.sql script.

Can you tell me when can we know we need to apply one patch (only when users
complaints about a bug?
When there are performance problems? To be on the latest patch level? Why should we
apply a patch?)

Patch can be applied in folowing situation

Bug : You are hitting any bug & oracle support or your development tea or you find
solution as patch

Enhanceent / New features : Your functional tea or you for cloning or Manageent
team identifies new functionality or better feature shipped with patch.
Peformance : If you are hitting any perf issues

Security : Every quarter oracle release security bug fixes

Can anyone advise me if this critical patch is always need to apply? since our
production run with minimal errors only

any advice is highly appreciated

CPU patches are not for Issues but they are mainly for security & targeted to fix
security vulnerability

Q) What patches cannot be merged, if any?

- Most patches can be merged with the exception of some AD patches and US patches
with their corresponding NLS patches. The readme for a patch will state when a
patch cannot be merged.

Q) Can I make a merge with a patch and its pre-req?


- Yes. With the exception of prereq patches for the AD product. See my previous
answer for more details.

Can u tell me what is meant by dangling patch or dangling patch info?


During patch application or rollback on an Oracle Home using OPatch,
the inventory is detected to be corrupted or having unwanted or dangling
components. This is a dangling patch.

Please see Metalink Note 298906.1 on how to repair a corrupted inventory

how to use utlrp utility to compile the invalid database objects??


cd $ORACLE_HOME/rdbms/admin

sqlplus "/ as sysdba"

SQL>@utlrp.sql

You can also use adcompsc.pls script for compiling invalid objects

Maintain snapshot information" menu entry in the AD Administration "Maintain


Applications Files".

Can anyone suggest me the use of maintaining APPL_TOP snapshot and when to use ?

snapshot is like the index of all the patch info on that APPL_TOP

usually i run it during application refresh,or while refreshing the staged appl_top

c.d.g which nodes to be applied

c-all the nodes


d-admin node
g-convention is all the nodes but it depends some times like only forms,web
but,better go for all the nodes..

how to hide passwords at the time of patching


if u are at AD level G(11i.AD.G) then you cant hide the password using flag=hidepw&
if it is above or = 11i.AD.H,then it really works i have done it a couple of times
Can someone please list down what steps needs to be followed when applying Patches
when the Database is on RAC?

Thumb Rule: Read all readme carefully before applying any patch.

DB PATCH Steps:
If you want to apply database patches use opatch utility to apply the patches on
all cluster nodes.

A)Patch Installation Instructions for a RAC Environment


Follow these steps:

Shut down the instance on one node.

Shut down all nodeapps services on the node in step 1:

srvctl stop nodeapps -n <node-name>

Apply patch on the node in step 1.

Set your current directory to the directory where the patch is located and then run
OPatch by entering the following command:

cd 1234567
opatch apply -local

Check the log file for any errors

Start the instance on the node in step 1.

Start all nodeapps services on the node in step 1:

srvctl start nodeapps -n <node-name>

Shut down the instance on the next node.

Repeat steps 1-6 on all the nodes in the cluster.

Post Installation Instructions for a RAC Environment


Follow these steps:

Start all database instances running from the Oracle home that you are patching.

For each database instance running of the Oracle home being patched, connect to the
database using SQL*Plus. Connect as SYSDBA and run the catcpu.sql script as
follows:

(Due to changes in the installation scripts, it is no longer a requirement to


startup the database in MIGRATE mode.)

cd $ORACLE_HOME/patch/1234567
sqlplus /nolog
SQL> CONNECT /AS SYSDBA
SQL> STARTUP
SQL> @catcpu.sql
SQL> QUIT
Check the log file for any errors. .
If catcpu.sql reports any Invalid Objects, run the following commands:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT /AS SYSDBA
SQL> STARTUP
SQL> @utlrp.sql

You can check for any invalid objects by executing following statement:

SQL> SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS= 'INVALID';

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

APPLICATION PATCH Steps:


for eg. DB on RAC and your CM (DB App Tier) tier on PCP and you have two nodes on
you App tier.

Suppose u driver is u12300000.drv and want to apply on RAC nodes.

Enable the Maint. mode using adadmin:(before applying the patch backup your
configuration files)

A)First On DB App Tier (Concurrent Node - CM tier):


On Primary DB App tier

adpatch

Secondary DB App Tier

adpatch options=nodatabaseportion

B) On App Tier (Apache, Forms Tier)

Primary node

adpatch

Secondary node

adpatch

For each patche you need to follow the above steps

If we applied a patch with 20 workers,is it possible to increase the workers during


patching ,if yes how we will do this can u explain

No it not possible to increase number of worker once patch is started.

when u apply merge patch what is the process which happens internally ?

Internally it will merge all the drives (c,d g) and create one drive called u drive

. Source -> Output


c,d,g -> c (all c's into 1), d ( all d's into 1), g ( all g's into 1)
c,d,g,u -> u

when u driver exist at the sorce, the output is going to be u only other wise it
will have multiples.. based on source

how to apply opatch?

Download patch lets say patch number is 234567

unzip <patch>.zip

It will create directory with name 234567


cd 234567

stop oracle processes including database

opatch apply
Thats it
(If patch is not in path it will be in $ORACLE_HOME/OPatch)

if we shutdown the services that means no access to applications so why we need to


keep in maintenance mode ?

Maintenance Mode is a new mode of operation introduced with Release 11.5.10, in


which the Oracle Applications system is made accessible only for patching
activities not allowing the ordinary users to login to any responsibility. This
provides optimal performance for AutoPatch sessions, and minimizes downtime needed.

However u can also make ur system up in MAintenance mode by starting apache in


"restricted mode",this will allow you to access features of OAM.
One of the feature of OAM is that the it will allow "AD_MONITOR" user to
to monitor the progress of patches being applied during the system downtime.
For accessing application in restricted mode we have to start apache thr`u
"adaprstctl.sh" script in $COMMON_TOP/scripts/<contextname>/
Also there is seperate URL for this purpose
http://servername.domain:[port]/servlets/weboamLocal/oam/oamLogin

after running adpatch bounce the services is mandatory or not?


Iam not getting the menus without bouncing the services.
Its not compulsory but recommended .
If patch changes some configuration & if that config is cached those changes will
not come into effect .

tell how to analyze patch timing when we go to apply a patch.??

Try it on Test or Dev & find out time .

What is the primary significance of OraInventory?

To maintain list of applied patches & software version

2) What should we check regarding oraInventory while applying an OPatch?

You don't need to do anything opatch will check ; just make sure oraInst.loc is
pointing to right oraInventory
To verify that patches are applied correctly Where can i find the patch logs of the
patches applied to 806 ORACLE_HOME for App tiers and Admin tiers.
806 home is under the category of techstack patches. These patches are related to
file system not updating any information in the database.
Read the readme which will suggest you how to apply the patch. Readme also talk
about the log to. You need to copy this patch under 806 $ORACLE_HOME/cpu <create
this sub-directory to place your patch and unzip and run the patch from this place.
Your log file will be created here>

Where can i find the patch logs for the patchs listed in ad_bugs ?

cd $APPL_TOP/admin/$SID/log
what is the use of .pll file in apps patch. can we merged it with admerged patch
utility
pll files are library files. You can merge a patch that has a .pll file with other
patches using admerge

can u tell me when should we run cmclean.sql?

cmclean.sql is not destrcutive command for CM to clear the status flag in CM's.
You can try running it when CM are not coming up properly .
Shutdown CM & execute cmclean.sql from apps schema

what exactly maintenance mode and hotpatch....?

In order to apply patches in apps using adpatch from version AD.I & above you ahve
to put apps in Maintenance mode using ADADMIN
Some time its required to apply patch without shutting down instance & without
putting apps in maintenance mode so you can use oprion=hotpatch to do so .Can u
give me doc on MRCs related to patching and are there any separate scripts to run
MRCs other than Adadmin If you are 11.5.10 or higher you don't even need to
maintain/compile apps_mrc schema as there is no apps_mrc schema in 11.5.10
For 11.5.9 & lower use adadmin to run maintain apps_mrc schema

After patching how to check whether autoconfig executed or not?

Check in autoconfig log location, if their is new log file or new directory (in new
AD.I.4 version with time stamp )inside that if there is autoconfig log that means
autoconfig was executednBe

fore starting to apply a patch, is there a way to find if the patch would run
autoconfig?

Yes ...

1. adpatch apply=n
OR
2. See in drv file if some new templates are delivered.If New templates are
delivered , then patch will apply autoconfig

how come we know any other users are applying patches ( my version is 11.5.9) ?

you can check at OS level. If you are running unix, then do a ps -ef | grep
adpatch.
If it returns some processes that shows adpatch is running

We have Standby Database. I would like to know Patching procedure both Primary and
Secondary database & application

I am assuming you have Standby Database against Oracle Applications.


For Apps Patch , apply on ptimary site . D driver will automatically be replicated
for c & g driver apply on DR site when you make standby site as primary (As you
can't apply patch in DR site because database is not opened).

If its big patch , recreate your standby site after big patches on primary site.

For Database patch you have apply on both primary & standby

can i merged family pack patch,nls patch through AD merge utility or it is only for
one off patch? and what is syntax to use admrgpch

1. AD patches can be merged with other AD patches, but AD patches and non-AD
patches cannot be merged

2. AD Merge Patch cannot merge patches of different releases,different parallel


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

3. for NLS Patches recommended method is to merge all US patches into a single
patch and all patches for every non-US language into a single patch. Then, apply
the merged US patch followed by the merged language patch.

P.S. You can merge all patches including NLS into single patch but above method
point 3 is to reduce downtime i.e. you apply US patches with system down & non us
patches with system UP but if you got enough downtime you merge all NLS into single
patch

4. Here is syntax of merging patch

admrgpch -s <source directory> -d <destination directory> -merge_name <name> [-


manifest <manifest filename>]
Q.how to delete files older than n number of day, useful to delete old log files
find . -name ' *.*' -mtime =<T in days> -exec rm{}\

Q. What are various components in Application/Middle Tier.


In Application Tier various components are Web Server, Forms Server , Reports
Server, Concurrent Manager, Admin Server & Discoverer Server

Q. What is APPL_TOP, COMN_TOP, ORA_TOP.....


XXX_TOP is top level directory in Oracle Application 11i for respective Component.
To know more about various TOP's Click Here
Q. What are issues you encountered during Oracle Applications 11i?
Answer to this question will depend on issues you encountered. Don't lie infront of
Interviewer. If you have not installed applications 11i accept it.

Q. What's difference between TWO user & single User Apps 11i Install ? What are
advantages/disadvantages of two ? Questions mentioned above are very basic
questions. For more Apps 11i Interview Click Next Page. All the best for your
interview. If you need more info or any doubt Mail Me.
Q. Whats US directory in $AD_TOP or under various product TOP's .
US directory is defauly language directory in Oracle Applications. If you have
multiple languages Installed in your Applications then you will see other languages
directories besides US, that directory will contain reports, fmx and other code in
that respective directory like FR for France, AR for arabic, simplifies chinese or
spanish.

Q. Whats main concurrent Manager types.


� ICM - Internal Concurrent Manager which manages concurrent Managers
� Standard Managers - Which Manage processesing of requests.
� CRM - Conflict Resolution Managers , resolve conflicts in case of
incompatibility.

Q. Where is Concurrent Manager log file location.


By default standard location is $APPLCSF/$APPLLOG , in some cases it can go to
$FND_TOP/log as well.

Q. Where would i find .rf9 file, and what execatly it dose ?


These files are used during restart of patch in case of patch failure because of
some reason.
Q. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used ?
This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is
usually in directory $OA_HTML/bin on forms tier.
This file is used by any forms client session. When a user try to access forms ,
f60webmx picks up this file and based on this configuration file creates a forms
session to user/client.

Questions mentioned above are very basic questions. More Oracle Apps dba 11i
Interview with explanation click next !! Good luck for your interview. If you need
more info or any doubt Mail Me.
Q. What is multi node system ?
Multi Node System in Oracle Applications 11i means you have Applications 11i
Component on more than one system. Typical example is Database, Concurrent Manager
on one machine and forms, Web Server on second machine is example of Two Node
System
Q. Can you clone from multi node system to single node system & vice versa ?
Yes , this is now supported via Rapid Clone, Check if your system has all prereq.
patches for Rapid Clone and you are on latest rapid clone patch.

Q. Does rapid clone takes care of Updating Global oraInventory or you have to
register manually in Global OraInventory after clone ?
Rapid Clone will automatically Update Global oraInventory during configuration
phase. You don't have to do any thing manually for Global oraInventory.

Q. What is .dbc file , where its stored , whats use of .dbc file ?
dbc as name says is database connect descriptor file which stores database
connection information used by application tier to connect to database. This file
is in directory $FND_TOP/secure also called as FND_SECURE
Q. Whats things you do to reduce patch timing ? You can take advantage of following
-
� Merging patches via admrgpch
� Use various adpatch options like nocompiledb or nocompilejsp
� Use defaults file
� Staged APPL_TOP during upgrades
� Increase batch size (Might result into negative )
Q. How you put Applications 11i in Maintenance mode ?
Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to put apps in maintenance mode you can use adpatch options=hotpatch feature.
Q. Can you apply patch without putting Applications 11i in Maintenance mode ?
Yes, use options=hotpatch as mentioned above with adpatch.
Thanks Yatish for pointing this out
Q. What are various options available with adpatch ?
Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion, generateportion, hotpatch, integrity, maintainmrc, parallel,
prereq, validate
Q. adident utility is used for what ?
adident utility in oracle apps is used to find version of any file . AD
Identification.
for ex. "adident Header <filename>

Q. What is adsplice utility ?


adsplice in oracle apps is utility to add a new product.
Q. How can you licence a product after installation ?
You can use ad utility adlicmgr to licence product in Oracle Apps.

Q. What is MRC ? What you do as Apps DBA for MRC ?


MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US Dollars but if your organization operating books are in other
currency then you as apps dba need to enable MRC in Apps. How to enable MRC coming
soon...

Q. Whats is JVM(Java Virtual Machine) and which component uses JVM ?

Q. What is access_log in apache , what entries are recored in access_log ? Where is


default location of thsi file ?
access_log in Oracle Application Server records all users accessing oracle
applications 11i. This file location is defined in httpd.conf with default location
at $IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by
directive LogFormat in httpd.conf Typical entry in access_log is
198.0.0.1 - - [10/Sep/2006:18:37:17 +0100] "POST /OA_HTML/OA.jsp?.... HTTP/1.1" 200
28035
where 200 is HTTP status code & last digits 28035 is bytes dowloaded as this
page(Size of page)

Q. Where is Jserv configuration files stored ?


Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

Q. What is session time out parameter & where all you define these values ?
To know about session time out parameter & location where its defined Click Here
Q. Where is applications start/stop scripts stored ?
applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/
$CONTEXT_NAME

Q. What are main configuration files in Web Server (Apache) ?


Main configuration files in Oracle Apps Web Server are
� httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
� jserv.conf, ssp_init.txt, jserv.properties, zone.properties
� plsql.conf, wdbsvr.app, plsql.conf

Q. How to check if Apps 11i System is Autoconfig enabled ?


Under $AD_TOP/bin check for file adcfginfo.sh & if this exists use
adcfginfo.sh contextfile=<CONTEXT> show=enabled
If this file is not there , look for any configuration file under APPL_TOP if
system is Autoconfig enabled then you will see entry like
# AutoConfig automatically generates this file. It will be read and .......
Q. How to check if Oracle Apps 11i System is Rapid Clone enabled ?
For syetem to be Rapid Clone enabled , it should be Autoconfig enabled (Check above
How to confirm if Apps 11i is Autoconfig enabled). You should have Rapid Clone
Patches applied , Rapid Clone is part of Rapid Install Product whose Family Pack
Name is ADX. By default all Apps 11i Instances 11.5.9 and above are Autoconfig &
Rapid Clone enabled.
Q. Whats is difference between two env files in <CONTEXT>.env and
APPS<CONTEXT>.env under $APPL_TOP ?
APPS<CONTEXT>.env is main environment file which inturn calls other environment
files like <CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806 ORACLE_HOME and
custom<CONTEXT>.env for any Customized environment files.
Q. What is access_log in Apache ?
access_log file keeps record of users accessing Oracle Apps 11i Webserver.
Typical entry in access_log is like
198.0.0.1 - - [25/Aug/2006 :03:15:13 +0100] "GET /OA_JAVA /oracle /forms
/registry/Registry.dat HTTP/1.1" 200 4117
Which means client with IP 198.0.0.1 requested for file mentioned above on 25 Aug
2006 at 03:15 AM , 200 is status code returned by Apache which means page returned
successfully (Status Code 302 means page redirected , 404 page not found, 500+
Internal Server error)
last digit 4117 in above entry of access_log means file size which is 4117 bytes.
This file is quite useful in monitoring your Web Server.
Please note above format might defer on your system as this is dependent log_format
in Apache configuration file ( httpd.conf)
Q. Whats is location of access_log file ?
access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs.
Location of this file is defined in httpd.conf by patameter CustomLog or
TransferLog
Q. What is your Oracle Apps 11i Webserver Version and how to find it ?
From 11.5.8 to 11.5.10 Webserver version is iAS 1.0.2.2.2, In order to find version
under $IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version
./httpd -version
Server version: Oracle HTTP Server Powered by Apache/1.3.19
Server built: Dec 6 2005 14:59:13 (iAS 1.0.2.2.2 rollup 5)
Q. What is Location of Jserv configuration files ?
Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc .
Q. What is plssql/database cache ? In order to improve performance mod_pls
(Apache component) caches some database content to file. This database/plssql cache
is usually of type session & plsql cache
� session cache is used to store session information.
� plsql cache is used to store plsql cache i.e. used by mod_pls
Q. Where is database/plssql cache stored ?
plssql & session cache are stored under $IAS_ORACLE_HOME/ Apache/modplsql/cache
directory.
Q. How to determine Oracle Apps 11i Version ?
select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME
-----------------------
11.5.9 or 11.5.10.2
Q. What is *.dbc file & whats is location of dbc file ?
dbc as name stands for is database connect descriptor file used to connect to
database. This file by default located in $FND_TOP/secure directory also called as
$FND_SECURE directory.
Q. What is content of dbc file & why its important ?
DBC file is quite important as whenever Java or any other program like forms want
to connect to database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD
APPS_JDBC_URL
DB_HOST
Q. There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"

Q. What is RRA/FNDFS ?
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Applications 11i for viewing output files & log files. As most of apps
dba's are not clear about Report Server & RRA, I'll discuss one on my blog and
update link here .

Q. What is PCP is Oracle Applications 11i ?


PCP is acronym for Parallel Concurrurent processing. Usually you have one
Concurrent Manager executing your requests but if you can configure Concurrent
Manager running on two machines (Yes you need to do some additional steps in order
to configure Parallel Concurrent Processing) . So for some of your requests primary
CM Node is on machine1 and secondary CM node on machine2 and for some requests
primary CM is on machine2 & secondary CM on machine1.

Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
To check answer click Next.
Q. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?
Well If you are running GL Month end reports or taxation reports annually these
reposrts might take couple of days. Some of these requests are very resource
intensive so you can have one node running long running , resource intensive
requests while other processing your day to day short running requets.
another scenario is when your requests are very critical and you want high
resilience for your Concurrent Processing Node , you can configure PCP. So if node1
goes down you still have CM node available processing your requests.

Q. Output & Logfiles for requests executed on source Instance not working on cloned
Instance
Here is exact problem description - You cloned an Oracle Apps Instance from PRODBOX
to another box with Instance name say CLONEBOX on 1st of August. You can any CM
logs/output files after 1st of August only becuase these all are generated on
CLONEBOX itself, But unable to view the logs/output files which are prior to 1st
August. What will you do & where to check ?
Log , Output file path & location is stored in table FND_CONCURRENT_REQUESTS. Check

select logfile_name, logfile_node_name, outfile_name, outfile_node_name from


fnd_concurrent_requests where request_id=&requestid ;
where requestid is id of request for which you are not able to see log or out
files. You should see output like
/u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1
Update it according to your cloned Instance Variables
Q. How to confirm if Report Server is Up & Running ?
Report Server is started by executable rwmts60 on concurrent manager Node & this
file is under $ORACLE_HOME/bin .execute command on your server like
ps -ef | grep rwmts60
You should get output like
applmgr ....... rwmts60 name=REP60_VISION
where VISION is your Instance name.
Else you can submit a request like "Active Users" with display set to PDF, check
output & log file to see if report server can display PDF files.
Q. What is difference between ICM, Standard Managers & CRM in Concurrent Manager ?
� ICM stand for Internal Concurrent Manager, which controls other managers. If it
finds other managers down , it checks & try to restart them. You can say it as
administrator to other concurrent managers. It has other tasks as well.
� Standard Manager These are normal managers which control/action on the requests
& does batch or single request processing.
� CRM acronym for Conflict Resolution Manager is used to resolve conflicts between
managers & request. If a request is submitted whose execution is clashing or it is
defined not to run while a particular type of request is running then such requests
are actioned/assigned to CRM for Incompatibilities & Conflict resolution.

Q. What is use of Apps listener ?


Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as APPS_$SID is mainly used for listening requests for services like FNDFS &
FNDSM.

Q. How to start Apps listener ?


In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You
can also start it by command
lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)
Q. How to confirm if Apps Listener is Up & Running ?
execute below command
lsnrctl status APPS_$SID (replcae SID with your Instance Name)
so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like

Services Summary...
FNDFS has 1 service handler(s)
FNDSM has 1 service handler(s)
The command completed successfully
Q. What is Web Listener ?
Web Listener is Web Server listener which is listening for web Services(HTTP)
request. This listener is started by adapcctl.sh & defined by directive (Listen,
Port) in httpd.conf for Web Server. When you initially type request like
http://becomeappsdba.blogspot.com:80 to access application here port number 80 is
Web Listener port.
Q. How will you find Invalid Objects in database ?
using query
SQLPLUS> select count(*) from dba_objects where status like 'INVALID';

Q. How to compile Invalid Objects in database ?


You can use adadmin utility to compile or you can use utlrp.sql script shipped with
Oracle Database to compile Invalid Database Objects.

Q. How to compile JSP in Oracle Apps ?


You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet
Q. What is difference between adpatch & opatch ?

� adpatch is utility to apply oracle apps Patches whereas


� opatch is utility to apply database patches
Q. Can you use both adpatch & opatch in Apps ?
Yes you have to use both in apps , for apps patches you will use adpatch utility
and for applying database patch in apps you will opatch utility.

Q. Where will you find forms configuration details apart from xml file ?
Forms configuration at time of startup is in script adfrmctl.sh and
appsweb_$CONTEXT_NAME.cfg (defined by environment variable FORMS60_WEB_CONFIG_FILE)
for forms client connection used each time a user initiates forms connection.

Q. What is forms server executable Name ?


f60srvm
Q. What are different modes of forms in which you can start Forms Server and which
one is default ?
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in socket mode.
Q. How you will start Discoverer in Oracle Apps 11i ?

In order to start dicoverer you can use script addisctl.sh under


$OAD_TOP/admin/scripts/$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util
(under Middle/Application Tier)

Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.
Q. Where is HTML Cache stored in Oracle Apps Server ?
Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache

Q. What happens if you don't give cache size while defining Concurrent Manager ?

Lets first understand what is cache size in Concurrent Manager. When Manager picks
request from FND CONCURRENT REQUESTS Queues, it will pick up number of requests
defined by cache size in one shot & will work on them before going to sleep. So in
my views if you don't define cache size while defining CM then it will take default
value 1, i.e. picking up one request per cycle.
Q. How many ORACLE HOME are Oracle Apps and whats significance of each ?
There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier)
and One in Database Tier.
� ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This
is used by forms, reports & discoverer. ORACLE_HOME should point to this
ORACLE_HOME which applying Apps Patch.
� ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software.
This is used by Web Listener & contains Apache.
� ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g
database.

Q. Where is HTML Cache stored in Oracle Apps Server ?


Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

Q. Where is plssql cache stored in Oracle Apps ?


Usually two type of cache session & plssql stored under
$IAS_ORACLE_HOME/Apache/modplsql/cache
Q. What are few profile options which you update after cloning ?

Rapid clone updates profile options specific to site level . If you have any
profile option set at other levels like server, responsibility, user....level then
reset them.
Q. How to retrieve SYSADMIN password ?

If forgot password link is enabled and sysadmin account is configured with mail id
user forget password link else you can reset sysadmin password via FNDCPASS.

Q. If you have done two node Installation, First machine : Database and concurrent
processing server. 2nd machine: form,web Which machine have admin server/node?

Admin Server will be on First machine with concurrent processing server. More on
Admin Server coming soon
Q. Whats is TWO_TASK in Oracle Database ?

TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets assume you have database client with tns alias defined as PROD to connect to
Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way
to connect is sqlplus username/passwd@PROD ; now if you don't want to use @PROD
then you set TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql
will check that it has to connect to tnsalias define by value PROD i.e. TWO_TASK
Q. What is GWYUID ?
GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

Q. Where GWYUID defined & what is its used in Oracle Applications ?


GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to database by think clients.

Q. What is difference between GUEST_USER_PWD (GUEST/ORACLE) & GWYUID ?


GUEST_USER_PWD(Guest/Oracle) is used by JDBC Thin Client where as GWYUID is used by
Thick Clients like via Forms Connections.

Q. How to check number of forms users at any time ?


Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l
Q. What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line not from the Submit Request Form.
* Corrected by anonymous User (You will see lot of other info from him soon)

Q. In a Multi Node Installation, How will you find which node is running what
SErvices ?
You can query for table FND_NODES and check for column , SUPPORT_CP ( for
Concurrent Manager) SUPPORT_FORMS ( for forms server) , SUPPPORT_WEB (Web Server),
SUPPORT_ADMIN( Admin Server), and SUPPORT_DB for database tier.
You can also check same from CONTEXT File (xml file under APPL_TOP/admin)

Q. If your system has more than one Jinitiator, how will the system know, which one
to pick. ?
When client makes a forms connection in Oracle Applications, forms client session
uses configuration file defined by environment variable FORMS60_WEB_CONFIG_FILE
also called as appsweb config file. These days this file is of format
appsweb_$CONTEXT.cfg The initiator version number defined by parameter
jinit_ver_name in this file will be used .

Q. While applying Apps patch using adpatch, if you want to hide the apps password,
how will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password being displayed on Users Screen.
Q. What is importance of IMAP Server in Java Notification Mailer ?
IMAP stands for Internet Message Access Protocol and Java Notification mailer
require IMAP server for Inbound Processing of Notification Mails.

Q. What is difference between Socket & Servlet Mode in Apps Forms ?


When forms run SOCKET Mode these are dedicated connection between Client Machine &
Form Server (Started by adfrmctl.sh). When Forms run in servlet mode the forms
requests are fulfilled by Jserv in Apache . There will be additional JVM for Forms
Request in that case and you won't start form via adfrmctl.sh.
Q. How to find OUI version ?
OUI stands for Oracle Universal Installer. In order to find how to check OUI
version Click Here on my "How to find Version in Oracle" Page.

Q. What is make program in Unix ?


make is utility in Unix/Linux to maintain , update & generate an file mainly
executable.
Q. If by mistake you/someone deleted FNDLIBR can this executable be restored if
Yes, How & if no, what will you do ?
Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables
. What is .pls files which you see with apps ?
.pls file stands for plsql files. In apps patch these files contain code to create
package spec or package body or both.

Q. What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
.ldt & .lct stands for Loader datafile & Loader configuration files, used
frequently in migrating customization, profile options, configuration data, etc..
across Instances.
Q. What are .odf file in apps patch ?
odf stands for Object Description Files used to create tables & other database
objects.
Q. What to find Form Server log files in forms ?
Form Server Start up log file default location is $OAD_TOP/admin/log/
$CONTEXT_NAME/f60svrm.txt
Forms Run Time Diagnostics default location is $ORACLE_HOME/forms60/log/
$CONTEXT_NAME

Q. How to convert pll to pld file or pld file to pll ?


Pll->Pld f60gen module=MSCOSCW3.pll module_type=library userid=apps/<passwd>
module_access=file output_file=MSCOSCW1.pld script=yes
Pld -> pll f60gen module=MSCOSCW3.pld userid=apps/<passwd> module_type=library
module_access=file output_file=MSCOSCW1.pll parse=y batch=yes compile_all=special
Q. Is APPS_MRC Schema exists for MRC in 11.5.10 and higher ?
No , apps_mrc schema is dropped with 11.5.10 Upgrade & 11.5.10 new Install. This is
replaced by more Integrated Architecture.
Q. If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?
For products like Payable, Recievables which uses MRC and if MRC is enabled then
each transaction table in base schema related to currency now has an assoicated MRC
Subtables.
Q. When you apply C driver patch does it require database to be Up & Why ?
Yes , database & db listener should be Up when you apply any driver patch in apps.
even if driver is not updating any database object connection is required to
validate apps & other schema and to upload patch history information in database
tables.
Q. Can C driver in apps patch create Invalid Object in database ?
No , C driver only copies files in File System. Database Object might be
invalidated during D driver when these objects are created/dropped/modified.
Q. What is dev60cgi & f60cgi ?
cgi stands for Common Gateway Interface and these are Script Alias in Oracle Apps
used to access forms server . Usually Form Server access directly via
http://hostname:port/dev60cgi/f60cgi

Q. Why does a worker fails in Oracle Apps Patch and few scenarios in which it
failed for you ?
This question sounds stupid but this is asked quite often in Apps DBA Interview.
Apps Patch worker can fail in case it doesn't find expected data, object, files or
any thing which driver is trying to update/edit/modify. Possible symptoms may be
underlying tables/objects are invalid, a prereq patch is missing , login
information is incorrect, inconsistency in seeded data...
Q. What is difference between mod_osso & mod_ose in Oracle HTTP Server ?
mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle
Servlet Engine.
mod_osso is module in Oracle's HTTP Server serves as Conduit between Oracle Apache
Server & Singl Sign-On Server where as mod_ose is also another module in Oracle's
HTTP Server serves as conduit between Oracle Apache & Oracle Servlet Engine.
Q. What is difference between COMPILE_ALL=SPECIAL and COMPILE=ALL while compiling
Forms ?
Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX
file but COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL,
or .MMB file. This confuses version control and build tools (CVS, Subversion, make,
scons); they believe you've made significant changes to the source.
COMPILE_ALL=SPECIAL does not do this.

Q. What is ps -ef or ps command in Unix ? for work ex < 1 yr


ps is unix/linux utility or executable to find status of process. Used mainly to
find if services/process is running or not.
Q. What is GSM in Oracle application E-Business Suite ?
GSM stands for Generic Service Management Framework. Oracle E-Business Suite
consist of various compoennts like Forms, Reports, Web Server, Workflow, Concurrent
Manager ..
Earlier each service used to start at their own but managing these services (given
that) they can be on various machines distributed across network. So Generic
Service Management is extension of Concurrent Processing which manages all your
services , provide fault tolerance (If some service is down ICM through FNDSM &
other processes will try to start it even on remote server) With GSM all services
are centrally managed via this Framework.
Q. What is FNDSM ?
FNDSM is executable & core component in GSM ( Generic Service Management Framework
discussed above). You start FNDSM services via APPS listener on all Nodes in
Application Tier in E-Business Suite.

Q. What is iAS Patch ?


iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web
Server Component) Usually these are shiiped as Shell scripts & you apply iAS
patches by executing Shell script. Note that by default ORACLE_HOME is pointing to
8.0.6 ORACLE_HOME and if you are applying iAS patch export ORACLE_HOME to iAS . You
can do same by executing environment file under $IAS_ORACLE_HOME
Q. If we run autoconfig which files will get effected ?
In order to check list of files changes during Autoconfig , you can run adchkcfg
utility which will generate HTML report. This report will list all files & profile
options going to change when you run AutoConfig
Q. What is difference between .xml file & AutoConfig ?
Autoconfig is Utility to configure your Oracle Application environment. .xml file
is repository of all configuration from which AutoConfig picks configuration and
polulates related files.

Q. What is .lgi files ?


lgi files are created with patching along with .log files . .lgi files are
informative log files containing information related to patch. You can check .lgi
files to see what activities patch has done. Usually informative logs.

Q. How will you skip worker during patch ?


If in your adctrl there are six option shown then seventh is hidden option.(If
there are seven options visible then 8th option is to Skip worker depending on ad
version).
Q. Which two tables created at start of Apps Patch & drops at end of Patch ?
FND_INSTALLED_PROCESSES &AD_DEFFERED_JOBS are the tables that get updated while
applying a patch mainly d or unified driver.
Q. How to compile an Oracle Reports file ?
Utility adrepgen is used to compile Reports. Synatx is given below
adrepgen userid=apps\<psswd> source = $PRODUCT_TOP\srw\filename.rdf
dest=$PRODUCT_TOP\srw\filename.rdf stype=rdffile dtype=rdffile logfile=x.log
overwrite=yes batch=yes dunit=character

Q. What is difference between AD_BUGS & AD_APPLID_PATCHES ?


AD_BUGS holds information about the various Oracle Applications bugs whose fixes
have been applied (ie. patched) in the Oracle Applications installation.
AD_APPLIED_PATCHES holds information about the "distinct" Oracle Applications
patches that have been applied. If 2 patches happen to have the same name but are
different in content (eg. "merged" patches), then they are considered distinct and
this table will therefore hold 2 records.

Q. What exactly happens when you put an Oracle Apps instance in maintenance mode ?
Maintenance mode provides a clear separation between normal runtime operation of
Oracle Applications and system downtime for maintenance. Enabling the maintenance
mode feature
a) shuts down the Workflow Business Events System and
b) sets up function security so that no Oracle Applications functions are available
to users.
Used only during AutoPatch sessions, maintenance mode ensures optimal performance
and reduces downtime when applying a patch. (Source Metalink Note: 233044.1)

Q How to find if your database is 32 bit or 64 bit.

ANS;: execute "file $ORACLE_HOME/bin/oracle" , you should see output like


/u01/db/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1
which means you are on 64 bit oracle
If your oracle is 32 bit you should see output like
oracle: ELF 32-bit MSB executable SPARC Version 1
Now you know what should be bit of patch to download

Q: How to find OUI version ?

ANS:: OUI stands for Oracle Universal Installer. In order to find Installer version
you have to execute ./runInstaller -help ( From OUI location) You will get output
like Oracle Universal Installer, Version 10.1.0.4.0 Production Copyright (C) 1999,
2005, Oracle. All rights reserved. That means OUI version in above case is 10.1.0.4
OUI location is $ORACLE_HOME/oui/bin
--------------------------------
A Good Recovery Scenario
-------------------------------
Here's the scenario : You want to recover a database that has a datafile added to
it since the last database backup which means that the backup does not have the
datafile in it. Here's how you recover the database:

These is the scenario:

(1) A valid hot or cold backup of the database exists, except for the datafile that
was created since the backup was taken.
(2) The controlfile is a backup from before the creation of the new datafile.
(3) The database is in archivelog mode.

Step 1. Restore the datafiles and the controlfiles from the last hot or cold
backup. The current online redo logs must be intact.
Step 2. Mount the database
Step 3. Start media recovery, specifying backup controlfile
SQL> recover database using backup controlfile;
ORA-00279: Change 1234 generated at 10/10/05 10:10:10 needed for thread 1
ORA-00289: Suggestion : /archive/devdb/arch0000124.arc
ORA-00280: Change 1234 for thread 1 is in sequence #124
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

At this point, apply the archived logs as requested. Eventually Oracle will
encounter redo to be applied to the non-existent datafile. The recovery session
will exit with the following message, and will return the user to the SQL prompt:
ORA-00283: Recovery session canceled due to errors
ORA-01244: unnamed datafile(s) added to controlfile by media recovery
ORA-01110: data file 8: '/oradata/oracle9i/tables/users01.dbf'

Step 4. Recreate the missing datafile. To do this, select the relevant filename
from v$datafile:
SQL> select name from v$datafile where file#=8;
NAME
-------------------------------------------------------
UNNAMED0008

Now recreate the file:


SQL> alter database create datafile 'UNNAMED0008' as
'/oradata/oracle9i/tables/users01.dbf';
Step 5. Restart the recovery process
SQL> recover database using backup controlfile
ORA-00279: Change 2234 generated at 10/10/05 12:10:10 needed for thread 1
ORA-00289: Suggestion : /archive/devdb/arch0000224.arc
ORA-00280: Change 2234 for thread 1 is in sequence #224
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

Apply archived logs as requested. Continue the recovery process to either do a


complete database recovery or an incomplete point in time recovery.

I will come up with all possiable ways of recovery scenario in the next blog
-Shantanu

sol: Displays all sessions which are inactive for more than 12 hrs .. ?

Sol: It will display all sessions in ascending order of inactive time and which
are...
1. logged in frontend (not running in background)
2. inactive more than 12 Hrs
3. where username not DBSNMP

Please explain the below part of this query...

action like 'Online%'

-Neeti

-------------------------------------------------------

To Know Db/Oracle is 64 Bit or Not.


----------------------------------------

If a database is 32-bit or 64-bit :

Three ways.

1. Type:

%cd $ORACLE_HOME/bin

%$ORACLE_HOME/bin> file oracle

The operating system "file" command is available on most Linux machines. If the
output of the "file oracle" command does not
say 64-bit explicitly then you are running 32-bit Oracle.

2. You run SVRMGRL and the Server Manager banner specifies 64-bit:

[tchp1]/u04/home/rsupport> svrmgrl

Oracle Server Manager Release 3.0.5.0.0 - Production

(c) Copyright 1997, Oracle Corporation. All Rights Reserved.

Oracle8 Enterprise Edition Release 8.0.5.2.1 64bit - Production


With the Partitioning and Objects options
PL/SQL Release 8.0.5.2.0 - Production

3. A query of v$version shows the same information:

SVRMGR> select * from v$version;


BANNER
----------------------------------------------------------------
Oracle8 Enterprise Edition Release 8.0.5.0.0, 64bit - Productio
PL/SQL Release 8.0.5.0.0 - Production
CORE Version 4.0.5.0.0 - Production
TNS for IBM/AIX RISC System/6000: Version 8.0.5.0.0 - Production
NLSRTL Version 3.3.2.0.0 - Production
5 rows selected.
SVRMGR>

The examples above show that the Oracle database software version is
64-bit. If the software is 32-bit, then "64bit" would not be present
in either example above.

A 64-bit operating system can support either a 32-bit database or a 64-bit


database. A 32-bit operating system cannot support a 64-bit database.

If the OS is 32-bit or 64-bit: (** To Know if OS is 64 Bit or Not)


------------------------------------------------------------------------------
isainfo -b present at /usr/bin ( use isainfo command to Find Os version whether 64
bit or not)

More info about OS

uname -a

------------------------------------------------------------------

RSYNc info,,
---------------

rsync is a program that behaves in much the same way that rcp does, but has many
more options and uses the rsync remote-update protocol to greatly speed up file
transfers when the destination file is being updated.

The rsync remote-update protocol allows rsync to transfer just the differences
between two sets of files across the network connection, using an efficient
checksum-search algorithm described in the technical report that accompanies this
package.

Some of the additional features of rsync are:

support for copying links, devices, owners, groups, and permissions


exclude and exclude-from options similar to GNU tar
a CVS exclude mode for ignoring the same files that CVS would ignore
can use any transparent remote shell, including ssh or rsh
does not require super-user privileges
pipelining of file transfers to minimize latency costs
support for anonymous or authenticated rsync daemons (ideal for mirroring)

-------------------------------------------------------

PATCHING ISSUES;:
-----------------------

If the database is of 32-bit and the OS is of 64-bit then it is suggested that


patches should be downloaded for 32-bit and not for 64-bit though the OS is 64-bit.
This is because the applications binaries u r patching are of 32-bit.

--------------------------------------------------

OS--> 32 bit or 64 Bit.


--------------------------

DBAs often need to know if they should install Oracle 32-bit or 64-bit software on
a given server. If the operating system support 64-bit applications, the 64-bit
Oracle distribution can be loaded. Otherwise, the 32-bit distribution must be
installed. The following Unix commands will tell you whether your OS is running 32-
bits or 64-bits:

Solaris - isainfo -v (this command doesn't exist on Solaris 2.6 because it is only
32-bits)

HP-UX - getconf KERNEL_BITS

AIX - bootinfo -K

If you need to know if Oracle 32-bit or 64-bit software is currently installed on a


system, connect using a command line utility like sqlplus and look at the banner.
If you are running 64-bit software, it will be mentioned in the banner. If nothing
is listed, you are running on a 32-bit base.

Hot Backup
----------------

Problem Description:

Writes are still occurring to the database files while in hot backup mode.

A tablespace was altered into hot backup mode:

> alter tablespace <tablespacename> begin backup;

While the tablespace is in hot backup mode, database writer is still writting
blocks to the database files. How does hot backup work?

Solution Description
===================

It is normal for writes to occur to the database file while the tablespace is
in hot backup mode. A hot backup allows the database files to be backed up
while the database is up and running. It still allows the database file to be
updated.

Explanation:
=====================

When an 'alter tablespace begin backup' command is issued the datafiles that
belong to the tablespace are marked as hot-backup-in-progress. The dirty
databuffers in the database buffer cache that belong to the database files are
written out to the files and the datafiles are checkpointed. The datafile
headers are updated to the SCN captured when the begin backup is issued. The
datafile headers are not updated until the 'alter tablespace end backup'
command is issued; however, the datablock within the database files can
continue to be read and updated. When the datafile is restored from a hot
backup, the recovery will begin from the SCN captured during the begin backup
is issued. All changes applied during the hot backup time period will be
rolled forward from the redo logs.

----------------------------------------------------------------

-----------------------
How to find if particular Patch is applied ?
Check table ad_bugs (bug_number ) or ad_applied_patches table .
select APPLIED_PATCH_ID,
PATCH_NAME,
MAINT_PACK_LEVEL ,
PATCH_TYPE
from
ad_applied_patches
where
APPLIED_PATCH_ID=&patch;

-----------------------------------------------

Q.What are main configuration files in Web Server (Apache) ?

Main configuration files in Oracle Apps Web Server are


httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf
jserv.conf, ssp_init.txt, jserv.properties, zone.properties
plsql.conf, wdbsvr.app, plsql.conf

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

. How to change Apps/applsys password ? In which file apps password is stored ?


We can the password using FNDCPASS utitlity,
The apps passowrd will be store wdbsvr.app

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

Q. How to compile JSP in Oracle Apps ?


You can use ojspCompile.pl perl script shipped with Oracle apps to compile JSP
files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is
perl ojspCompile.pl --compile --quiet

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

Q. What is APPS listener ? Why its used ?


Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as APPS_$SID is mainly used for listening requests for services like FNDFS &
FNDSM.

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

How & Where check JVM related configuration in Oracle Apps 11i ?

So lets start with CONTEXT file under $APPL_TOP/admin (xml file) which is of
pattern $SID_$HOSTNAME.xml
There are two important lines in CONTEXT file which will help you in understanding
JVM
jvm_options oa_var="s_jvm_options" osd="Solaris" -verbose:gc -Xmx512M -Xms128M
-XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB
/jvm_options

-Verbose:gc means JVM is configured to print output when gc(Garbage Collector)


runs.
Xmx is maximum memory allocated to JVM in above example its 512 MB.
Xms is JVM will start with this much memory i.e. 128 MB.

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

How to increase No. Of JVM's ?


Since you know place where number of JVM's are stored in Apps 11i in Context File ,
so you can change them as per your requirement. There are basically following
Groups with their own JVM's.
OACoreGroup, where most of Java request goes
DiscoGroup, which serve your Discoverer related requests
FormsGroup, for Forms (If they are running in Servlet Mode, confirm it again)
XmlSvcsGroup, for XML Services
In Context File
disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM
Process for Discoverer.
oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for
OACoreGroup
Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services
resp.
These Groups are defined in configuration file for Jserv i.e. jserv.conf under
$IAS_ORA/Apache/Jserv/conf ; like
ApJServGroup OACoreGroup
ApJServGroup DiscoGroup
ApJServGroup FormsGroup
ApJServGroup XmlSvcsGrp

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

Q: Where to find Apps 11i JVM logs ?


JVM log location is defined in java.sh ( found in
$IAS_ORACLE_HOME/Apache/Apache/bin) Oracle Apps 11i JVM log file directory is
defined by parameter JVMLOGDIR ( $IAS_ORACLE_HOME/Apache/Jserv/logs/jvm ) and log
file are defined by STDOUTLOG & STDERRLOG. Example of JVM log files are
OACoreGroup.0.stderr ,OACoreGroup.0.stdout, DiscoGroup.0.stdout,
DiscoGroup.0.stderr, XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout
where 0 denotes first JVM & 1 denotes second JVM. stderr records error encountered
in JVM & stdout records other information like GC ..

How to Apply an 11i Patch When adpatch is Already Running ?

Problem Description
~~~~~~~~~~~~~~~~~~~
Adpatch is running and fails on one of the workers. To fix this worker and
continue with the patch installation, a new patch needs to be applied.
Considering that only 1 adpatch session can run on an instance at any given
time, how can a patch be applied when adpatch is already running?

Solution Description
~~~~~~~~~~~~~~~~~~~~
1. Using the adctrl utility, shutdown the workers.
a. adctrl
b. Select option 3 "Tell worker to shutdown/quit"
2. Backup the FND_INSTALL_PROCESSES table which is owned by the APPLSYS schema
a. sqlplus applsys/<password>
b. create table fnd_Install_processes_back
as select * from fnd_Install_processes;
c. The 2 tables should have the same number of records.
select count(*) from fnd_Install_processes_back;
select count(*) from fnd_Install_processes;
3. Backup the AD_DEFERRED_JOBS table.
a. sqlplus applsys/<password>
b. create table AD_DEFERRED_JOBS_back
as select * from AD_DEFERRED_JOBS;
c. The 2 tables should have the same number of records.
select count(*) from AD_DEFERRED_JOBS_back;
select count(*) from AD_DEFERRED_JOBS;
4. Backup the .rf9 files located in $APPL_TOP/admin/<SID>/restart directory.
At this point, the adpatch session should have ended and the cursor should
be back at the Unix prompt.
a. cd $APPL_TOP/admin/<SID>
b. mv restart restart_back
c. mkdir restart
6. Drop the FND_INSTALL_PROCESSES table and the AD_DEFERRED_JOBS table.
a. sqlplus applsys/<password>
b. drop table FND_INSTALL_PROCESSES;
c. drop table AD_DEFERRED_JOBS;
8. Apply the new patch.
9. Restore the .rf9 files located in $APPL_TOP/admin/<SID>/restart_back
directory.
a. cd $APPL_TOP/admin/<SID>
b. mv restart restart_<patchnumber>
c. mv restart_back restart
10. Restore the FND_INSTALL_PROCESSES table which is owned by the APPLSYS
schema.
a. sqlplus applsys/<password>
b. create table fnd_Install_processes
as select * from fnd_Install_processes_back;
c. The 2 tables should have the same number of records.
select count(*) from fnd_Install_processes;
select count(*) from fnd_Install_processes_back;
11. Restore the AD_DEFERRED_JOBS table.
a. sqlplus applsys/<password>
b. create table AD_DEFERRED_JOBS
as select * from AD_DEFERRED_JOBS_back;
c. The 2 tables should have the same number of records.
select count(*) from AD_DEFERRED_JOBS_back;
select count(*) from AD_DEFERRED_JOBS;
12. Re-create synonyms
a. sqlplus apps/apps
b. create synonym AD_DEFERRED_JOBS for APPLSYS.AD_DEFERRED_JOBS;
c. create synonym FND_INSTALL_PROCESSES FOR APPLSYS.FND_INSTALL_PROCESSES;
13. Start adpatch, it will resume where it stopped previously.
Explain the ORacle Apps cloning ?
So here I am putting broad level steps you will use to clone apps instance .
Step1 . Prerequisites Steps you do before start cloning using rapid clone
1.1 Verify source and target nodes software versions
1.2 Apply the latest AutoConfig Template patch
1.3 Apply the latest Rapid Clone patches

Step2 . Clone Source to Target


2.1 Run preclone on DB tier
2.2 Run preclone on Apps or middle tier
2.3 Copy source file system to target file system
2.4 Configure db tier
2.5 Configure apps/middle tier

Step 3 Finishing Task


3.1 Update profile options
3.2 Update printer settings (If printers are not configured or you don't want to
use printer you can skip this step)
3.3 Update workflow configuration settings (Important)
===============================
HOW TO SUBMIT CONCURRENT MANAGER REQUEST FROM THE OPERATING SYSTEM?
Solution Description:
Syntax:
CONCSUB <ORACLE ID>
<ResponsIbility Application Short Name>
<ResponsIbility Name>
<User Name>
CONCURRENT
<Concurrent Program Application Short Name>
<Concurrent Program Name>
[START=<Requested Start Date>]
[REPEAT_DAYS=<Repeat Interval>]
[REPEAT_END=<Request Resubmission End Date>]
<Concurrent Program Arguments ...>

g:\prints\interview\emctl.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
OEM:Daily / Weekly Backups not happening
Issue :
Daily incremental/ weekly full backups scheduled through OEM is not happening as
scheduled.

Troubleshooting:

1) First check whether emagent is running or not on that database node?


a) ps -efa|grep agent
- confirms the agent is running.
b) cd /home/oracle/OEM_GRID/agent10g/bin/
./emctl status agent
- The output says agent is up and running fine properly.

2) Checked whether agent upload is happening or not?


./emctl upload agent

- ERROR.
May be the same thing is not allowing the backups to happen as scheduled.

Fix :
cd /home/oracle/OEM_GRID/agent10g/bin/
./emctl stop agent
./emctl clearstate agent
./emctl start agent
./emctl upload agent

After this, scheduled OEM jobs will run as expected.

g:\prints\interview\enable ddl stat.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Enable DDL auditing in 11GR2 Database
======================================:

Audit parameter in 11Gr2, enable_ddl_logging will allow the tracking of all ddl's
in the alert log using the following:

Enable it by using the below command.


ALTER SYSTEM SET enable_ddl_logging=TRUE
Now all the DDL commands executed against the database will be recorded in the
alert<SID>.log
More details of the DDL of the command executed can be found in the XML file in the
alert directory

g:\prints\interview\f&f.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Find and Replace in Vi editor
Syntax for Text Substitution inside the vi editor is,
:[range]s[ubstitute]/{pattern}/{string}/[Flags] [count]

Following are the possible Flags


[g] -> replace all occurances in the line.
[c] -> Confirm each substitution
[i] -> make case insensitive

Case 1: Replace a text with another in the whole file


:%s/oldText/newText/g
where %s indicates all lines in the file.

Case 2: Replace a text within a single line


:s/oldText/newText/g
No range was specified therefore it replaces text in the single line.
:s/I/oldText/newText/g
where I indicates case insensitive

Case 3: Replace a text within a range of lines


:1,10s/oldText/newText/g
replaces text between line 1 and 10

Case 4: Replace text in only the first N lines


:s/oldText/newText/g 5
replaces the text in 5 lines from the current cursor position.

Case 5: Replace the whole word and not the partial word
:s/\<his\>/her/
The standard replace will make the word history with herstory. Enclose the word
with < and > to ensure the search is for the whole word and not for partial one.

Case 6: Interactive Find and Replace

:%s/oldText/newText/gc
This will prompt for confirmation.
replace with newText (y/n/a/q/l/^E/^Y)?

y -> replace the highlighted word. After replace moves to the next word.
n -> does not replace the highlighted word. Moves to the next word.
a -> replace all the highlighted words.
l -> replaces the current highlighted word and terminates the find and replace.

g:\prints\interview\General_Answers.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Q) Can you shutdown the database in begin mode?
Ans) No
SQL> alter database begin backup;
Database altered.
SQL> shutdown immediate;
ORA-01149: cannot shutdown - file 1 has online backup set
ORA-01110: data file 1: 'D:\QADAR_APEX\ORADATA\PROD\SYSTEM01.DBF'

Q) Primary and Standby archive crosscheck?

LOGIN TO THE PRIMARY SERVER


GET THE SEQUENCE MAX FROM V$LOG_HISTORY
SQL> select max(sequence#) from v$log_history;
MAX(SEQUENCE#)
�����
76968

LOGIN TO THE PRIMARY SERVER


SQL> select max(sequence#) from v$log_history;
MAX(SEQUENCE#)
�����
8548

SQL> select * from v$archive_gap;


SQL> select sequence#, archived, applied, status from v$archived_log;

Q) how to resize redologfiles

withd drop and operating system command.


You cannot drop CURRENT and ACTIVE redolog files
You can only drop INACTIVE redolog files.

Q) how to resize the undo tablespace.

We can use shrink, adding a new tablespace with new datafile.


resizing the current undo tablespace
add a new datafiles to existing tablespace.

Q) How to Recover archive gaps in standby database.


Using Both Methods
-Manually Log Shipping (when the missing logs are very less approx 400)
-Performing Incremental Backup (When there is a very huge gap

Q) When we face slowness issue in database

1. Taking user inputs:


Is application is slow or any particular batch processing is slow?
Slowness is observed through out the system or only few or one user
Is it happening in some particular timing ?
2. Check for any lock contention
3. Check the resource utilization
4. Check the alert log

g:\prints\interview\how to change ip address.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
How to Change IP Address in an Oracle Applications Environment
1. Change the IP Address in the Server;
2. Verify the current ip address setup in the Oracle Applications environment.
Connect as apps user into SQL*Plus and run:
select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST,
VIRTUAL_IP from fnd_nodes where node_name = upper('hostname');
3. Run the following command to remove the old ip address from the Oracle
Applications tables:
perl $AD_TOP/bin/adgentns.pl appspass=apps
contextfile=$APPL_TOP/admin/<SID>_hostname.xml -removeserver
replace <SID>_hostname.xml for the context file name under the $APPL_TOP/admin
directory;
then connect to SQL*Plus as apps user and run:
begin
FND_NET_SERVICES.remove_server('<SID>', '<hostname>');
end;
/
commit;
/
replace <SID> by the SID of the environment and <hostname> by the hostname in the
environment. Both must be entered in upper case.
4. Run autoconfig to populate the values using the new IP Address.
5. Confirm the ip address has been changed to the new value changed in the step 1:

select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST,


VIRTUAL_IP from fnd_nodes where node_name = upper('hostname');

g:\prints\interview\interview questions.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I lost one datafile i dont have backup how can you recover that???
Answer
# 1 Recovery is not possible if no backup.
But inconsistent recovery is possible by following method:
1.shutdown your database
2.take the database in mount state
3. Make the tablespace of lost datafile to off line.
4.alter database create datafile 'old_datafile_path'
as 'new_datafile_path';
5. Made the database online.
6.once new file created do the incomplete recovery. from
any old backup.
7. open the database with resetlogs.

Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the
benefits and disadvantages to each.
Answer
# 3 Archivelog mode - In archivelog mode cold and hot backups
are possible. We can recover our database upto the last
point of failure.

Noarchivelog mode- Here we can only go for cold


backup.Generally in this mode complete recovery is not
.........
What is the difference between online backup & offline backup?
Answer
# 1online backup: 1) inconsistent backup 2) database must be in archive log mode 3)
database should be in upon running
offline backup: 1) consistent backup 2)database may be or may not be in archive log
mode 3)database should in shut down state
in a hot backup it have fractured blocks and where as in
cold backup there is no fractured blocks"

what is incremental checkpoint?


Answer
# 1 During normal running of database, dirty buffers are added
to checkpoint queue.Also when a block is first modified it
is entered in the checkpoint queue.The RBA of redo record
is also added.Every 3 sec CKPT records the RBA from
checkpoint queue.In case of instance failure RBA gives the
location from where recovery has to start( Checkpoint
position). During log switch CKPT updates contrl file and
data file headers.

what is the difference between catalog & nocatalog?

Answer
# 1 CATALOG is used when you use a repository database as catalog.
NOCATALOG is used when you used the controlfile to register your backup
information.
Default in NOCATALOG.

Explain how you would restore a database using RMAN to Point in Time?
Answer
# 1 Requirements for database restore using RMAN point in time:
* database must be running in Archive Log mode.
* Must have the full backup of the database and redologs
of the period from the backup and current time(find by SCN
NUMBERS).

Steps:

> SHUTDOWN IMMEDIATE;


>STARTUP MOUNT;
>RUN
{
SET UNTIL SCN 1000;
# Alternatives:
# SET UNTIL TIME 'Nov 15 2004 09:00:00';
# SET UNTIL SEQUENCE 9923;
RESTORE DATABASE;
RECOVER DATABASE;
}
>alter database open resetlogs;

How do you find out from the RMAN catalog if a particular archive log has been
backed-up?
Answer
# 2 RMAN> list archivelog all;

what is the difference between hot backup n rman backup?


Answer
# 1 To take both backups we should keep database in archive log
mode.

Neither cold backup nor hot backup identify the corrupted


blocks in backup where as rman can identify
RMAN will take the backup of database used block only where as
hot backup will take physical existing database files

which background process will run @ the time of creation of catalog database
Answer
# 1 SERVER PROCESS

now one user in online.now i want drop him..how do u drop him?


Answer
# 3 DROP USER USERNAME CASCADE;
Is This Answer Correct ? 0 Yes 0 No

now one user in online.now i want drop him..how do u drop him?

Answer
# First query

select username, sid#, serial from v$session where


username='ur_username';

if rows are get selected, then kill the process, by issuing


following statement:

alter system kill session 'sid, serial#';


after that issue the following statement:
drop user username cascade;

Q. What is adspliceutility ?
A. adsplice in oracle apps is utility to add a new product.

Q. What are various options available with adpatch ?


A. Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion, generateportion, hotpatch, integrity, maintainmrc, parallel,
prereq, validate

Q. How to check Oracle EBS version?


SQL> select RELEASE_NAME from FND_PRODUCT_GROUPS;

Q. Describe the how many different types of patches are there and describe their
function.
One-off ,mini ,diagnostics,cu,rup,
language,help,platformspecific,OS,OPatch,Interoperability,family pack, maintenance
pack

Q. Does rapid clone takes care of Updating Global oraInventory or you have to
register manually in Global OraInventory after clone ?
A. Rapid Clone will automatically Update Global oraInventory during configuration
phase. You don't have to do any thing manually for Global oraInventory.

Q. adident utility is used for what ?


A. adident utility in oracle apps is used to find version of any file .AD
Identification.for ex. "adident Header

Q. Can you apply patch without putting Applications 11i in Maintenance mode ?
A. Yes, use options=hotpatch as mentioned above with adpatch.
1)What happens if the ICM goes down?
All the other managers will keep working. ICM only takes care of the queue control
requests, which means starting up and shutting down other concurrent managers.

2)How will you speed up the patching process?


You can merge multiple patches.
You can create a response file for non-interactive patching.
You can apply patches with options (nocompiledb, nomaintainmrc, nocompilejsp) and
run these once after applying all the patches.

3)How will you handle an error during patching?


Look at the log of the failed worker, identify and rectify the error and restart
the worker using adctrl utility.

5)Provide an introduction to AutoConfig. How does AutoConfig know which value from
the XML file needs to be put in which file?
AutoConfig uses a context file to maintain key configuration files. A context file
is an XML file in the $APPL_TOP/admin directory and is the centralized repository.
When you run AutoConfig it reads the XML files and creates all the AutoConfig
managed configuration files.
For each configuration file maintained by AutoConfig, there exists a template file
which determines which values to pick from the XML file.
1.) What's the diff. btw. 'adconfig.sh' and 'adautocfg.sh'
You will use script adautocfg.sh (on both Database & Application tier) which inturn
will call adconfig.sh , which further will calladconfig.pl. You should not worry
about later two scripts its for information only. adautoconfig.sh is script which
you use to run autoconfig.
3.) Must I stop all running application processes before I run autoconfig.i.e by
running adstpall.sh?
Yes, if you are running autoconfig on application tier u need to stop the
application tier, always database should be up

7)What could be wrong if you are unable to view concurrent manager log and output
files?
Most likely the FNDFS listener is down. Look at the value of OUTFILE_NODE_NAME and
LOGFILE_NODE_NAME in the FND_CONCURRENT_REQUESTS table. Look at the FND_NODES
table. Look at the FNDFS_entry in tnsnames.ora.

8) How to findout whether concurrent manager is running through backend?


Findout whether concurrent manager is running or not, by using �ps -ef | grep
FNDLIBR�
What are the logfile and output file naming conventions?
Request logfiles: l<request id>.req
Manager logfiles:
ICM logfile: Default is std.mgr, can be changed with the mgrname
startup parameter
Concurrent manager log: w<XXXXXX>.mgr
Transaction manager log: t<XXXXXX>.mgr
Conflict Resolution manager log: c<XXXXXX>.mgr
Where: <XXXXXX> is the concurrent process id of the manager.

How can I check to see if a concurrent manager is running?


One way to see if a manager is running is to use the �Administer Concurrent
Managers� form. Navigate to Concurrent->Managers->Administer.

You will see two columns labeled �Actual� and �Target�. The Target column lists the
number of processes that should be running for each manager for this particular
workshift. The Actual column lists the number of processes that are actually
running. If the Actual column is zero, there are no processes running for this
manager. If the Target column is zero, then either a workshift has not been
assigned to this manager, or the current workshift does not specify any target
processes. If the target column is not zero, and then the manager processes have
either failed to start up, or gone down.

How to define the concurrent manager - The navigation of the concurrent manager is
Concurrent > manager > Define
In that we will assign the specialization rules, workshifts, and program libraries
to the manager.

1 What is the adutilities ?


A: AD Utilities are a group of tools designed to install, upgrade, maintain, and
patch a
specific set of products contained in a given release of Oracle Applications.

2 When applying the patch if you get an error worker1 is failed then what utility
is used
to
examine the adutility ? and where the log files whill be stored ?
A: adctrl, $APPL_TOP/admin/ <SID>/log

3 What is adrelink ?
AD Relink (or adrelink) allows you to relink Oracle Applications executable
programs
with the Oracle Server product libraries. You can run the adrelink utility manually
to
relink individual executable programs, or use the relink option in the AD
Administration
utility to relink all executable programs.
adrelink force=y ranlib=y "ar RAXTRX"
$adrelink force=y ranlib=y "fnd all"

9 when applying the patch if you get an error FND_INSTALL_ PROCESSES table
alredy
exists ? Then what do you do?
If previous patch is not applied successfully then this table will not drop, You
have to
login to sql as applsys/apps then drop this table and reapply the patch.

13 what oscommnad is used to find the version of a file ?and what is the oracle
applications utility?
strings -s <file name> | grep "Header" or adident<file name>

16 How do you change the apps password ??


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

6.Contents of a Patch?
a. Readme files
Driver files
Metadata files
Replacement files

8.What are the drivers present in patching?


a. C driver copies the files and links executables
D driver runs the SQL scripts and programs that updates the database
G driver generates the forms, reports and message files
U driver is a consolidated driver containing all copy, database, and generate
actions
10.Minipack naming convention?
a. 11i.<prod>.A, 11i.<prod>.B For example: 11i.AD.G, 11i.AD.H
Maintenance pack naming convention?
11.5.1, 11.5.2, 11.5.3
11.Family pack naming convention?
a. 11i.<prod family name>.<letter> For example: 11i.HR_PF.C
Difference between adpatch and Opatch?

13.What do you do if patch fails?


a. Review log file(s) to determine the cause of the error
Fix the cause of the error
Restart adpatch
Answer 'Yes' when adpatch asks if you want to continue the previous session
Adpatch will skip already completed jobs, and pick up from where it left off.

14.How to apply a pre-requisite patch when adpatch is running?


a. Shut down the workers using adctrl
Backup FND_INSTALL_ PROCESSES, AD_DEFERRED_ JOBS, restart files(.rf9)
Then, drop the above tables, restart files and apply the pre-requisite patch.
Restore the two tables and restart files from backup & run the adpatch.

15.If you know that the patch has been applied previously but patch is asking you
to apply the existing patch as a pre- requisite?
a. adpatch options=noprereq
While applying Apps patch using adpatch, if you want to hide the apps password, how
will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system
password being displayed on Users Screen.

18.How do you know that a patch has been applied?


a. Navigate to sitemap > patches patchhistory
(or)
Query AD_BUGS or AD_APPLIED_PATCHES

Question :

What is Log Switch ?


A log switch occurs when one online redo log has been filled and the next online
redo log is going to be filled. A log switch always triggers a checkpoint.
We can switch the log file using:
SQL>ALTER SYSTEM SWITCH logfile;

Question :
What are the steps involved in Instance Recovery ?
Answers:
Rolling forward to recover data that has not been recorded in data files, yet has
been recorded in the on-line redo log, including the contents of rollback segments.
Rolling back transactions that have been explicitly rolled back or have not been
committed as indicated by the rollback segments regenerated in step a. Releasing
any resources (locks) held by transactions in process at the time of the failure.

Resolving any pending distributed transactions undergoing a two-phase commit at the


time of the instance failure.
Answers:
well the term instance recovery not database.
restart the instance oracle recover Automatically
the SMON backgroup process is responsible for instance recovery
when we restart the instance the SMON rollback,rollforward and recover the instance
Answers:
firstly, when a instance failure is occur the first SMON process is running ,there
arefollowing step to recover the file
1.startup
2.there is error occurs and database automaticaly in nomount state
3.the offline the paticular file
4.then startup the database

Question :
What is the steps for recovery of missing data file? and the steps for physical
stand by database creation?
steps:
copy all the files in the Hot backup.
2.startup mount
3.alter database recover automatic using backup controlfile until cancel
;
4.alter database open reset logs;

Question :
What are the different modes of mounting a Database with the Parallel Server ?
Exclusive Mode If the first instance that mounts a database does so in exclusive
mode, only that Instance can mount the database.
Parallel Mode If the first instance that mounts a database is started in parallel
mode, other instances that are started in parallel mode can also mount the
database.

Question :
What is Restricted Mode of Instance Startup ?
To Enable Restricted Session
Alter system enable restricted session;

To Disable Restricted Session


Alter system disable restricted session;

To Start the Database in Restricted Mode


STARTUP RESTRICT
An instance can be started in (or later altered to be in) restricted mode so that
when the database is open connections are limited only to those whose user accounts
have been granted the RESTRICTED SESSION system privilege.

Question :
What are the advantages of operating a database in ARCHIVELOG mode over operating
it in NO ARCHIVELOG mode ?
Answers:
Complete database recovery from disk failure is possible only in ARCHIVELOG mode.

Online database backup is possible only in ARCHIVELOG mode.


Answers:
If the database in NOARCHIVELOG mode, you disable the archiving of the redo
log.NOARCHIVELOG mode protects a database from instance failure but not from media
failure. Only the most recent changes made to the database, which are stored in the
online redo log groups, are available for instance recovery. If a media failure
occurs while the database is in NOARCHIVELOG mode, you can only restore the
database to the point of the most recent full database backup. You cannot recover
transactions subsequent to that backup.

In NOARCHIVELOG mode you cannot perform online tablespace backups, nor can you use
online tablespace backups taken earlier while the database was in ARCHIVELOG mode.
To restore a database operating in NOARCHIVELOG mode, you can use only whole
database backups taken while the database is closed. Therefore, if you decide to
operate a database in NOARCHIVELOG mode, take whole database backups at regular,
frequent intervals.

If the database in ARCHIVELOG mode, you enable the archiving of the redo log.
?A database backup, together with online and archived redo log files, guarantees
that you can recover all committed transactions in the event of an operating system
or disk failure.

?If you keep an archived log, you can use a backup taken while the database is open
and in normal system use.

?You can keep a standby database current with its original database by continuously
applying the original archived redo logs to the standby

Can Full Backup be performed when the database is open ?


Answers:
yes it is possible. it is possible in hot mode.

if we are using the user managed backup than some step r following
1 begin backup
2 copy data
3 end backup.
Answers:
Yes it is possible by using HOT backup method ..but the consistant backup will not
possible through this method...So for the consistancy Go for COLD backp (if the
down time available for the production database).

Question :
What is Full Backup ?
Answers:

A full backup is an operating system backup of all data files, on-line redo log
files and control file that constitute ORACLE database and the parameter.
Answers:
Full backup is performed as an admin task on every week end, which is carried out
in non production hours to ensure all the data is backed up.

Question :
What is On-line Redo Log?
Answers:
The On-line Redo Log is a set of tow or more on-line redo files that record all
committed changes made to the database. Whenever a transaction is committed, the
corresponding
redo entries temporarily stores in redo log buffers of the SGA are written to an
on-line redo log file by the background process LGWR. The on-line redo log files
are used in cyclical fashion.
What are the steps involved in Database Shutdown ?
When Shutdown cmd given No new sessions allowed.
There are 4 types
Abort,Immediate,Transactional,Normal.
In abort:-Doestnt wait for current sessions,and also for current transactions.Not
make checkpoint to close file.

In Immediate:-Make checkpoit and close file

In Transactional:-Wait for current transactions,Make checkpoit and close file

In Normal-Wait for current session,Wait for current transactions,finally make


chckpoints and close files.

Question :
What is the steps for recovery with missing online redo logs?
Answers:
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 2885681152 bytes


Fixed Size 2086736 bytes
Variable Size 1610614960 bytes
Database Buffers 1258291200 bytes
Redo Buffers 14688256 bytes
Database mounted.
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: ?/u03/oradata/redo02b.rdo?
Missing redo log, it was the online one so I can?t switch logfiles.
Time for recovery, this will only get your SCN matched up on all the data files, no
real recovery takes place.
SQL> recover database until cancel;
Media recovery complete.
SQL> alter database open resetlogs;
SQL> /
Database altered.

Question :
What is Mirrored on-line Redo Log ?
Answers:
A mirrored on-line redo log consists of copies of on-line redo log files physically
located on separate disks, changes made to one member of the group are made to all
members.

Question :
What is Archived Redo Log ?
The log writer process (LGWR) writes the online redo logs from the log buffer. The
online redo logs are a set of files that will be repeatedly written into by LGWR.
To prevent loss of data, these online redo logs are written to a permanent location
by the archiver process (ARCH) before the online redo log is overwritten. The
permanent copy is the archived redo log.

Question :
What is a deadlock ? Explain .
Answers:
Two processes wating to update the rows of a table which are locked by the other
process then deadlock arises. In a database environment this will often happen
because of not issuing proper row lock commands. Poor design of front-end
application may cause this situation and the performance of server will reduce
drastically.
These locks will be released automatically when a commit/rollback operation
performed or any one of this processes being killed externally.

Question :
What is the difference between DATABASE ADMINISTRATION & ORACLE?
Answers:
The task of DBA:-
1)db Availability
2)create or plan db
3)Manage physical ,logical storage
4)security
5)Backup and Recovery
6)Network Administration

Question :
What is a Database instance ? Explain
Answers:
1. Instance is the combination background process and memory structures.
2.Instance must be started to access the data in the database.
3.When instance is started, SGA is allocated and Background processes are started
at nomount stage.
4.Instance can open and use only one database at a time.

Question :
What is a Schema ?
Answers:
A schema is a collection of database objects. A schema is owned by a database user
and has the same name as that user. Schema objects are logical structures created
by users to contain, or reference, their data. Schema objects include structures
like tables, views, and indexes.

Question :
What is the use of control file?
Answers:
Control file is binary file which is having all the information realted to
database. db_name, maxlogfiles, maxdatafiles, tablespaces information. Without this
u cannot open your database. Init.ora parameter file showing the location of the
controlfile.
Answers:
1.Control file is a binary file. 2.Control file containing information necessary to
maintain and verify database integrity.
3.Defines current state of physical database.
4.Required at mount state during database startup.
Answers:
Control file uses
1)open the db
2)Maitain the Integrity of db
3)recovery for db

Question :
If you have an open cursor on a table, modify the same tableand commit, what would
happen?
Answers:
changes will be committed

Question :
What is a segment?
Answers:
segment is the collection of extents allocated to paricular object like table and
index. Table segment and index segment

Question :
How do you sort a table?
Answers: You can only sort the results of a query. Even if you were to sort a table
using export/import or SQL*Loader, a query against that table does not/cannot
guarantee data will be returned in that sort order without the use of an ORDER BY
clause.
These may appear symantics of the same answer, but in fact the two are very
different.

Question :
What does a control file contains?
Answers:
1. Database name and identifier.
2. Time stamp of database creation.
3. Tablespace names.
4. Backup information.
5. Checkpoint information.
6. Current online redo log file sequence number.

Question :
Can we decrease the Datafile size?
Answers:
Yes you can decrease the size of the datafile to the place where the extents are
deallocated in to it by resizing the datafiles to something smaller than current.
If the data in the datafile is scattered than reorg the object in the tablespace to
deallocate the extent and decrease the filesize

Question :
What are clusters?
Answers:
Group of tables physically stored together because they share common columns and
are often used together is called Cluster.

Question :
What is public database link?
Answers:
You can create a public database link for a database. All users and PL/SQL
subprograms in the database can use a public database link to access data and
database objects in the corresponding remote database.
When many users require an access path to a remote Oracle database, an
administrator can create a single public database link for all users in a database.

CREATE PUBLI C DATABASE LINK ...;

Question :
How can you find all the tables created by an user?
Answers:
This could be found through
1. select table_name from sys.dba_tables where owner='specified user'
2. select * from cat;
3.select * from sys.dba_objects where owner ='specified owner'

Question :
Different types of table join.?
Answers:
-Cartesian Product or Cross Join
-Inner Join
-Equi Join or Natural Join
-Non Equi Join
-Self Join
-Outer Join
-Left Outer Join
-Right Outer Join
-Full Outer Join

Question :
Whats the difference between indexes,views,synonyms?
Answers:
An index is a method of allowing faster retrieval of records.
A view is an virtual table formed using a single table or one or more tables.
A synonym is an alternative name for objects such as tables, views, sequences,
stored procedures, and other database objects

Question :
What are the basic element of Base configuration of an oracle Database ?
Answers:
It consists of
one or more data files.
one or more control files.
two or more redo log files.
The Database contains
multiple users/schemas
one or more rollback segments
one or more tablespaces
Data dictionary tables
User objects (table,indexes,views etc.,)
The server that access the database consists of
SGA (Database buffer, Dictionary Cache Buffers, Redo log buffers, Shared SQL pool)
SMON (System MONito)
PMON (Process MONitor)
LGWR (LoG Write)
DBWR (Data Base Write)
ARCH (ARCHiver)
CKPT (Check Point)
RECO
Dispatcher
User Process with associated PGS

Question :
What are the uses of Rollback Segment ?
Answers:
Rollback Segments are used :
To generate read-consistent database information during database recovery to
rollback uncommitted transactions for users.

Question :
What is Rollback Segment ?
Answers:
A Database contains one or more Rollback Segments to temporarily store "undo"
information.

Question :
What are the different type of Segments ?
Answers:
Data Segment, Index Segment, Rollback Segment and Temporary Segment.
Answers:
table,table patition,cluster,Index,
Index partition,Undo,Temprary,
LOB,Nested tables,Bootstrap,

Question :
What is an Integrity Constrains ?
Answers:
An integrity constraint is a declarative way to define a business rule for a column
of a table.
Question :
What is a Temporary Segment ?
Answers:
Temporary segments are created by ORACLE when a SQL statement needs a temporary
work area to complete execution. When the statement finishes execution, the
temporary segment extents are released to the system for future use.

Question :
What is SYSTEM tablespace and when is it Created?
Answers:
Every ORACLE database contains a tablespace named SYSTEM, which is automatically
created when the database is created. The SYSTEM tablespace always contains the
data dictionary tables for the entire database.

Question :
What is the difference between media recovery & crash recovery..?Answers:
Media recovery is a process to recover database from backup when physical disk
failure occure.
cash recovery is a automated process take care by oracle when instance failure
occure.

Question :
What is db_recovery_file_dest ? When do you need to set this value ?
Give me the steps to perform the point in time recovery with a backup which is
taken before the reset logs of the db ?
Tell me about the steps required to enable the RMAN backup for a target database ?
Answers:
db_recovery_file_dest specifies a default location of flash recovery area which
contains multiplexed current control files,
online redo logs as well as archived logs, Rman backups,flash back logs.
db_recovery_file_dest_size should be specified as well.
Answers:
The parameter db_recovery_file_dest is used to enable the flash recovery area.
OR
This initialization parameter is a valid destination to create the Flash Recovery
Area. The destination can be defined as a directory, file system or ASM disk group.

Question :
What is the difference between recovery and restoring of the database.
Answers: 0
Here is a scenario to understand Restore & Recovery
Sunday 10pm : Database is backed up. and is running fine.
Monday 11am : Went down / crashed due to some reason.
To bring up the database, we have 2 options:
1. Simple Restore : copying files from backup taken sunday night and open the
database. Here, we loose all the changes that are done since sunday night.
2. Restore and Recovery: Copying files from backup taken sunday night and applying
all the archivelog and redo log files to bring up the database to the point of
failure. Here you dont loose the changes done until monday 11 am.
Restore : copying files from the backup overwriting the existing database files
Recovery: applying the changes to the database till point of failure. these changes
are recorded in online redolog and archivelog ( which are the backups of redolog)
files.

Question :
What are the different tools available for hot backups. Is it preferable to take it
manually all the time or it depends on the size of the database.
Answers:
See A hot backup can be done by either RMAN,User Managed Backups by puting
tablespace in backup mode my OEM which does the same as the user managed backup.But
the Backup depends upon the size of the database you are using . if the database
size in TB the RMAN backup will take more than 10 hours to complete and if the
database is critical you can' wait for long to go for so long in this case their
are special backup techniques which are given by vendors like TIVOLI and Netbackup
they provide BC Vol backup called Business content Volumn Sync which copies a
snapshot of the primary data to another place and backsup the database from one SAN
to another with in 15 min for 2 TB of database and is the preferable method for big
companies.

Question :
What is the disk migration?what isthe steps involved in diskmigration?
Answers:
Disk migration is noting but, migration of data from one OS dependent database to
another Dependent database. The steps involved in this are
- first go to your target database and export all your data into flat files
-next in the destination database during the installation of the database, it asks
for data source ,instead of giving the data of the oracle provided , give the path
of the flat file you exported previously .

Question :
What are the roles and user accounts created automatically with the database?
Answers:
DBA - role Contains all database system privileges.
SYS user account - The DBA role will be assigned to this account. All of the base
tables and views for the database's dictionary are store in this schema and are
manipulated only by ORACLE.
SYSTEM user account - It has all the system privileges for the database and
additional tables and views that display administrative information and internal
tables and views used by oracle tools are created using this username.

Question :
What is the use of ANALYZE command ?
Answers:
To perform one of these function on an index,table, or cluster:
- To collect statistics about object used by the optimizer and store them in the
data dictionary.
- To delete statistics about the object used by object from the data dictionary.
- To validate the structure of the object.
- To identify migrated and chained rows of the table or cluster.

Question :
What are the responsibilities of a Database Administrator ?
Answers:
Installing and upgrading the Oracle Server and application tools.
Allocating system storage and planning future storage requirements for the database
system. Managing primary database structures (tablespaces) Managing primary objects
(table,views,indexes)
Enrolling users and maintaining system security. Ensuring compliance with Oralce
license agreement Controlling and monitoring user access to the database.
Monitoring and optimizing the performance of the database. Planning for backup and
recovery of database information. Maintain archived data on tape
Backing up and restoring the database. Contacting Oracle Corporation for technical
support.

Question :
What are the different Levels of Auditing ?
Answers: Statement Auditing, Privilege Auditing and Object Auditing.
Question :
What is a trace file and how is it created ?
Answers:
Each server and background process can write an associated trace file. When an
internal error is detected by a process or user process, it dumps information about
the error to its trace. This can be used for tuning the database.

g:\prints\interview\Interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Weblogic Interview
===================:

What is weblogic server?

Answer
Oracle WebLogic Server is J2EE Server (earlier known as BEA WebLogic Server)
similar to Oracle Application Server.
Oracle Weblogic server

What oracle weblogic server includes?

Answer
Oracle weblogic server includes

1)Domain
2)cluster
3)servers

We often see BSU when using weblogic.What is the meaning of BSU ?

Answer
Oracle bought Weblogic from BEA. BSU Stands for Bea Smart Update. This utility is
used to apply the WebLogic Server Patches. In simple terms, it is first letter of
name of founders Bill Coleman, Ed Scott and Alfred Chuang.

What is domain in WebLogic ?


Answer
Domain is a group of WebLogic server resources like admin server, managed server,
jms,connection pool, data sources etc or whatever the resource you know of WebLogic
server. since domain is the basic unit you have to create after installation and
everything created and configured under a domain.

There can only be one administration Server in domain and zero to N Managed Server.

How to create weblogic Domain

What is Administration Server ?

Answer
Admin server is the central point from where you can configure, Monitor and manage
all resources of a domain.
Administration Server is WebLogic Server instance that maintains configuration data
for a domain. You can deploy your application on administration Server but it is
recommended to create managed Server and deploy your application in managed server
and leave Administration domain for configuration and maintenance.
There will always be at least one Administration Server in a domain.

How to stop-start Weblogic server

Answer
startWeblogic.sh script to start the weblogic server

What is Managed Server ?


Answer
It is an instance of your WebLogic server that is running on JVM and has its own
configuration.
In Managed server we will deploy the java components
Web Applications
EJB Applications
JMS Applications
Web services

Can we start a Managed Server if the Administration Server is unavailable?

Answer
By default, if a Managed Server is unable to connect to the specified
Administration Server during startup, it can retrieve its configuration by reading
a configuration file and other files directly. You cannot change the server�s
configuration until the Administration Server is available. A Managed Server that
starts in this way is running in Managed Server Independence mode

What is the easiest way to set the classpath?

Answer
WebLogic Server installs the following script that you can use to set the classpath
that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

where WL_HOME is the directory in which you installed WebLogic Server

What is Cluster in WebLogic ?

Answer
Two or more managed server becomes or forms the cluster in a domain and cluster
handle the load balancing across the cluster.
Group of WebLogic Managed Server Instances that work together to provide high
availability and scalability for applications is called cluster. WebLogic Servers
with in cluster can run on same machine or different machines. These are also
called as managed Server cluster.

What is Server
Answer
Server is an instance of your WebLogic which is running on a JVM and has dedicated
RAM.

How to start Node Manager ?

Answer:
$WL_HOME\server\bin\startNodeManager.sh

To Stop Node Manager


In Unix/Linux, kill the process �
kill -9 ps -ef | grep -i nodemanager.javahome | grep -v grep | awk {'print $2'} |
head -1
How to start/stop Node manager

Why node manager is required?

Answer
A Node Manager process is not associated with a specific WebLogic domain but with a
machine. You can use the same Node Manager process to control server instances in
any WebLogic Server domain, as long as the server instances reside on the same
machine as the Node Manager process. Node Manager must run on each computer that
hosts WebLogic Server instances. whether Administration Server or Managed Server
that you want to control with Node Manager.

How many types of weblogic installation ?

Answer
There are 3 types of weblogic installation.

(a) Grapical Mode (interactive GUI based)


(b) Console Mode (interactive Text Based)
(c) Silent Mode ( Non Interactive method using .xml properties file)

How does Cluster Communication Happen?

Answer:
Members of the Cluster communicate over the Cluster Multicast IP and Port by
sending periodic heart beat messages.

What is the difference between the Sun JVM and BEA JRockit JVM?

Answer

The most well know JVM is the implementation from Sun. The Sun JVM is called
HotSpot. The Sun JVM is shipped in the Java Developer�s Kit (JDK) and Java Runtime
Environment (JRE) from Sun.

The BEA JRockit JVM from BEA systems is optimized for reliability and performance
for server side applications. To achieve this, BEA JRockit JVM uses technologies
such as code generation, hot spot detection, code optimization, advanced garbage
collection algorithms and tight operating system integration.

What are JVM Tuning Parameters.


Answer
If you have a single processor, single thread machine then you should use the
serial collector (default for some configurations, can be enabled explicitly for
with -XX: +UseSerialGC). For multiprocessor machines where your workload is
basically CPU bound, use the parallel collector. This is enabled by default if you
use the -server flag, or you can enable it explicitly with -XX:+UseParallelGC. If
you�d rather keep the GC pauses shorter at the expense of using more total CPU
time for GC, and you have more than one CPU, you can use the concurrent collector
(-XX:+UseConcMarkSweepGC).

How do you do performance tuning of WLS? What are various areas to do it

Answer

a. Application Tuning.
jsp precompilation, ejb pool size cache..
b. OS Tuning
Setting tcp ip parameter.
tcp_time_wait_interval
tcp_conn_req_max_q

c. Core Server Tuning.


tune work manager, tune chuck size and chunk pool size, using performance packs,
connection backlog buffering.

d. JVM Tuning
tuning gc strategy, monitoring garbage collection..

How do stubs work in a WebLogic Server cluster?

Answer
Clients that connect to a WebLogic Server cluster and look up a clustered object
obtain a replica-aware stub for the object. This stub contains the list of
available server instances that host implementations of the object. The stub also
contains the load balancing logic for distributing the load among its host servers

What is HTTP tunneling? How can we configure it on WebLogic?

Answer
HTTP tuning provides a way to simulate a tasteful socket connection between
WebLogic Server and a Java client when your only option is to use the HTTP
protocol. It is
generally used to tunnel through an HTTP port in a security firewall. HTTP is a
stateless protocol, but WebLogic Server provides tunneling functionality to make
the connection appear to be a regular T3Connection.
Steps to configure Http tunneling.
Login into the Admin Console, click on the server on which you want to enable he
Http Tunneling feature
Click on the Protocols tab
General
check the �Enable Tunneling� check box.
Now you can communicate with the JVMs (Server Instances) using protocols other than
t3

What is the difference between T3 and HTTP protocol?

Answer
WebLogic uses the T3 protocols for internal and external connections to the
servers. The T3 protocol often is used in WebLogic implementation of RMI.
Proprietary of WebLogic Server.

Http protocols are used primarily for HTTP communication between the browser and
the web server. Standard follows the W3C (World Wide Web Consortium).
Note: All of these protocols are, by default, multiplexed over the same connection
to the server�s address and port. So you can access a web page hosted by the
server using a URL such as http://host:port/page.jsp. An external client can set
up an initial JNDI context to a server using the URL t3://host:port/. All that has
changed is the protocol over which the client must communicate with the server.

What are the States of the Weblogic Server?

Answer
There are 9 states of server which are given below

Shutdown
Starting
Standby
Resuming
Running
Suspending
Shutting down
Failed
Unknown

What is the difference between Multicast and Unicast?

Answer
Unicast is the method used in the clustering technique where there are cluster
master and each server should ping to this cluster master for informing that the
server is alive.

Multicast: It is a kind of clustering system where there is no cluster master and


each and every server needs to ping each other for informing their existence.
Multicasting has many messages to be sent in the form of ping as each server needs
to inform all others about its existence. This condition creates much complexity
associated with the method compared to unicast.

How to access admin console ?

Answer
ssl enabled admin console accessed as :
https://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_se
rver_is _running>/console

Example � https://localhost:7001/console

non ssl admin console accessed as :

http://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_ser
ver_is_ running>/console
Example � http://localhost:7001/console

How many admin consoles possible in a single domain ?

Answer
only one is possible

What is the default port of admin server ?

Answer
7001

What is config.xml in weblogic server?

Answer
config.xml is the central configuration repository for a domain. every resource you
have configured from admin console or by command line or by any other tool
registered under this file.

What is boot.properties file ? what is the significance of it

Answer
boot.properties is the file used by admin or managed server during startup for
username and password. it exist under your domain/servers/server_name/security
folder.

When you create a domain in development mode then it creates automatically during
startup of admin server but if you create a domain in production mode then you
need to define it explicitly otherwise on every reboot of admin server it will
prompt you for username and password.
So in production mode �
Start admin server by manually passing the username and password
stop it ( press cntrl+c on the started session )
go to your domain/servers/your_admin_server/ create a folder �security�
go inside security and create a file �boot.properties� with below contents
username=your_admin_username
password=your_admin_password
now start the admin server, it will not prompt you for username & password further.
If you are going to start your managed servers from admin console then no need to
create this file for managed server but if you are going to start managed servers
via startManagedweblogic script then you need to follow the same above procedure
for each
managed server.

What is actually WebLogic Cache?

Answer:
Basically all the web-tier related files (.jsp .class, JSPCompiled files etc.,) get
stored in some directory. This is treated as cache whenever there is restart of a
WebLogic instance happen then the WebLogic server will look-up for last serviced
object status stored in the cache to service for any pending requests. Usually,
when your EJB Classes need sessions, JMS object requires persistance, your web-
tier may contain static contents then Cache will be used by WebLogic Application
Server instance.

Why we need to remove Cache?

Answer:
Whenever your application is accessed for the first time that fresh deployment of a
new version, WebLogic server lookup in this directory, if there are older objects
persists that will be conflict with new code objects. This is where the need of
removal of cache arises.Where there is a need of new version deployment we might
need to clear the cache when the changes to the new version is not reflected.

Generally for WebLogic 9.x and higher versions

WIN: C:\weblogic\user_projects\domains\yourdomain\servers\yourserver\tmp

UNIX: /weblogic/user_projects/domains/yourdomain/servers/yourserver/tmp

you can use the following commands to clear the cache:


WIN: rd C:\weblogic\user_projects\domains\yourdomain\servers\yourserver\tmp
UNIX: rm -rf /weblogic/user_projects/domains/yourdomain/servers/yourserver/tmp

Here I am removing all the subdirectories and files in the the given directory.

What is Thread dump?

Answer
Thread Dump is a textual dump of all active threads and monitors of Java apps
running in a
Virtual Machine.
When we will take Thread dump? Please give us some examples

Answer

Some of the examples would be


1. when server is hang Position, i.e. that time server will not respond to coming
requests.
2. While sever is taking more time to restart
3. When we are Getting exception like �java.lang.OutOfMemoryException�
4. Process running out of File descriptors. Server cannot accept further requests
because sockets cannot be created
5. Infinite Looping in the code

How many ways take Thread Dumps?

Answer
we have to take a Thread dumps many times when we faced issues. We can choose one
Procedure. For analyzing take dumps some Intervals (like every 20mins, 5mins etc.).

What you Can Do with Node Manager

Answer
We can manage the whole gamut of activities from Node manager
1) Start, Shut Down, and Restart an Administration Server
2) Start, Shut Down, Suspend, and Restart Managed Servers
3) Monitor Servers and View Log Data

How to check port number?

Answer
netstat -na |grep connected (to find the ports connected in Linux box.)
netstat -na |grep listen (to find the listening ports in HP-UX,Solaris)

What are the capabilities of WebLogic server?

Answer
There are various capabilities associated with WebLogic server and they are
Changes in dynamic configuration.
Production application redeployment
Rolling upgrades.

How can default JVM be changed to other?

Answer:

For changing the JVM can be done by following the steps below.
1)You should first set the JAVA_HOME in the start script of the server.
2)Change the config.xml of domain for using the JRockit javac.exe
3) Remove any kind of switches specific to Sun JVM from start scripts of server.

What are the modes of operation for Weblogic server domains?

Answer:

There are two modes


Development mode:
You use development mode while you are developing your applications. Development
mode uses a relaxed security configuration and enables you to auto-deploy
applications.
Production mode:
You use production mode when your application is running in its final form. A
production domain uses full security and may use clusters or other advanced
features.

We see error like 404 and 500. What does they mean?

Answer
The error code 404 � Page not found this says there is no page on the server when
browser client requesting, this can happen when application is not deployed
properly or not in active state or not initialized properly

500- Internal server error This error occurs when there is a communication issue
between server�s intermediate services

What is the difference between stage and no stage deployment?


Answer
Stage Deployment:- Admin server Having the physical copy and it will distribute to
remaining instances.

Staged deployment will copy your deployment units onto the deployment servers,
place them into the $WL_HOME/servers/SERVER_NAME/stage directory and deploy them
from there.

In no-stage mode, the Administration Server does not copy the archive files from
their source location. Instead, each target server must access the archive files
from a single source directory for deployment. The staging directory of target
servers is ignored for no-stage deployments.

how to Check the version of java in Unix ?

Answer
java -version run this command in linux to know the java version.

Rac Interview
==============:

What is cache fusion?

In a RAC environment, it is the combining of data blocks, which are shipped across
the interconnect from remote database caches (SGA) to the local node, in order to
fulfill the requirements for a transaction (DML, Query of Data Dictionary).

What is split brain?

When database nodes in a cluster are unable to communicate with each other, they
may continue to process and modify the data blocks independently. If the
same block is modified by more than one instance, synchronization/locking of the
data blocks does not take place and blocks may be overwritten by others in the
cluster. This state is called split brain.

What is the difference between Crash recovery and Instance recovery?

When an instance crashes in a single node database on startup a crash recovery


takes place. In a RAC enviornment the same recovery for an instance is performed by
the surviving nodes called Instance recovery.
What is the interconnect used for?

It is a private network which is used to ship data blocks from one instance to
another for cache fusion. The physical data blocks as well as data dictionary
blocks are shared across this interconnect.

How do you determine what protocol is being used for Interconnect traffic?

One of the ways is to look at the database alert log for the time period when the
database was started up.

What methods are available to keep the time synchronized on all nodes in the
cluster?

Either the Network Time Protocol(NTP) can be configured or in 11gr2, Cluster Time
Synchronization Service (CTSS) can be used.

What files components in RAC must reside on shared storage?

Spfiles, ControlFiles, Datafiles and Redolog files should be created on shared


storage.

Where does the Clusterware write when there is a network or Storage missed
heartbeat?

The network ping failure is written in $CRS_HOME/log

How do you find out what OCR backups are available?

The ocrconfig -showbackup can be run to find out the automatic and manually run
backups.

If your OCR is corrupted what options do have to resolve this?

You can use either the logical or the physical OCR backup copy to restore the
Repository.

How do you find out what object has its blocks being shipped across the instance
the most?

You can use the dba_hist_seg_stats.

What is a VIP in RAC use for?

The VIP is an alternate Virtual IP address assigned to each node in a cluster.


During a node failure the VIP of the failed node moves to the surviving node and
relays to the application that the node has gone down. Without VIP, the application
will wait for TCP timeout and then find out that the session is no longer live due
to the failure.

How do we know which database instances are part of a RAC cluster?

You can query the V$ACTIVE_INSTANCES view to determine the member instances of the
RAC cluster.

What is OCLUMON used for in a cluster environment?

The Cluster Health Monitor (CHM) stores operating system metrics in the CHM
repository for all nodes in a RAC cluster. It stores information on CPU, memory,
process, network and other OS data, This information can later be retrieved and
used to troubleshoot and identify any cluster related issues. It is a default
component of the 11gr2 grid install. The data is stored in the master repository
and replicated to a standby repository on a different node.

What would be the possible performance impact in a cluster if a less powerful node
(e.g. slower CPU�s) is added to the cluster?

All processing will show down to the CPU speed of the slowest server.

What is the purpose of OLR?

Oracle Local repository contains information that allows the cluster processes to
be started up with the OCR being in the ASM storage ssytem. Since the ASM file
system is unavailable until the Grid processes are started up a local copy of the
contents of the OCR is required which is stored in the OLR.

What is the default memory allocation for ASM?

In 10g the default SGA size is 1G in 11g it is set to 256M and in 12c ASM it is set
back to 1G.

How do you backup ASM Metadata?

You can use md_backup to restore the ASM diskgroup configuration in-case of ASM
diskgroup storage loss.

What files can be stored in the ASM diskgroup?

In 11g the following files can be stored in ASM diskgroups.

Datafiles
Redo logfiles
Spfiles
In 12c the files below can also new be stored in the ASM Diskgroup

Password file
What it the ASM POWER_LIMIT?

This is the parameter which controls the number of Allocation units the ASM
instance will try to rebalance at any given time. In ASM versions less than
11.2.0.3 the default value is 11 however it has been changed to unlimited in later
versions.

What is a rolling upgrade?

A patch is considered a rolling if it is can be applied to the cluster binaries


without having to shutting down the database in a RAC environment. All nodes in the
cluster are patched in a rolling manner, one by one, with only the node which is
being patched unavailable while all other instance open.

What are some of the RAC specific parameters?

Some of the RAC parameters are:

CLUSTER_DATABASE
CLUSTER_DATABASE_INSTANCE
INSTANCE_TYPE (RDBMS or ASM)
ACTIVE_INSTANCE_COUNT
UNDO_MANAGEMENT
What is the future of the Oracle Grid?
The Grid software is becoming more and more capable of not just supporting HA for
Oracle Databases but also other applications including Oracle�s applications. With
12c there are more features and functionality built-in and it is easier to deploy
these pre-built solutions, available for common Oracle applications.

What components of the Grid should I back up?


The backups should include OLR, OCR and ASM Metadata.

Is there an easy way to verify the inventory for all remote nodes
You can run the opatch lsinventory -all_nodes command from a single node to look at
the inventory details for all nodes in the cluster.

Weblogic
=========:

1. Explain deployment descriptors?

Deployment descriptors are associated with almost all the modules as well as
applications. The deployment descriptors can be seen in the form of XML documents,
and they are capable of describing the contents that are part of the directory or
the jar file. J2EE specifications usually define the standard as well as the
deployment descriptors which are portable for J2EE applications and modules.

2. What is web.xml ?

Web.xml is an XML document that is mainly for application purpose and it helps in
listing out the J2EE components and configuration that of your application in J2EE
modules format.

3. What is the name of default JVM that is made used for WebLogic?

The sun hotspot JDK default is made used for development, JRockit is the one used
for production of WebLogic 11g as well as 12c. Operating system is another factor
that helps in choosing the certified JDK JVM.

4. Explain the methods for providing user credentials for starting the server?

At the time of the creation of domain, the wizard for setting configuration asks
for the details like user name, password etc. from the user who is logging in for
the first time as an administrator. If the domain is created in development mode,
the configuration wizard saves the encrypted password as well as the username
inside an identity file. This file is available for reference during the time of
booting so that in the absence of this file, system can prompt the user for the
purpose of entering credentials. A new boot � identity file can be created if you
want to change the use credentials or else if you are having the requirement of
creating domain in the production mode.

5. Is there any possibility for starting managed server during the absence of
administrator server?

The usual process is that in case of any difficulty for the manager server to get
connected to any administration server at the time of start up, there is an option
for the managed server to retrieve the configuration related to it from the
configuration files as well as other files involved. The information thus
retrieved cannot be altered and it is possible only when the administration server
is really available. When the administration server is unavailable, then the
managed server enters into its independence mode for carrying out its operations.

6. Explain WebLogic server.

This is a kind of server that supports various services as well as infrastructure


that are related with JEE applications. WebLogic server is capable of deploying
components as well as applications through WSDL, UDDI and SOAP. This server gets
configured as a web server by making use of HTTP listener for supporting the HTTP.
Web servers like that of Apache, Netscape and Microsoft are utilized. The
configuration of a web server allows WebLogic is capable of providing services to
dynamic and static requests that are usually generated by servlets, HTML and JSP.

7. What are the capabilities of WebLogic server?

There are various capabilities associated with WebLogic server and they are
Changes in dynamic configuration.
Production application redeployment
Rolling upgrades.

8. Explain about the function associated with T3 in WebLogic server ?

T3 provides enhancements support for the messages of WebLogic server. The


enhancements comprise of the object replacement, the working of the seblogic server
� clusters and also HTTP. T3 also performs serialization of java object and also
predation of RMI. T3 can be considered as a superset associated with java object.
T3 is mandated between WebLogic servers, programmatic clients and cluster
associated with WebLogic server. The protocols HTTP and IIOP are made used for
enabling communication between WebLogic server and processes.

9. Explain the use of HTTP ?

HTTP is the protocol that is made used for the purpose of enabling communication
between the WebLogic server and processes.

10. Explain the functionality of IIOP ?

IIOP is a kind of protocol helpful in enabling the communication between WebLogic


server and object request broker.

11. How do stubs function inside WebLogic server cluster at the time of failure?

Stubs perform the process of removing the failed instance from the list whenever
there is a failure. The stub usually makes use of DNS for finding the running
server and also for obtaining the list of the instances that are currently
available with the application. List of the instances available with the server
inside cluster gets periodically refreshment and allows in acquiring advantages
associated with new servers. The advantages are gained as the server gets added to
the cluster.

12. How can default JVM be changed to other?

For changing the JVM can be done by following the steps below.

You should first set the JAVA_HOME in the start script of the server.
Change the config.xml of domain for using the JRockit javac.exe
Remove any kind of switches specific to Sun JVM from start scripts of server.
13. How clients handle the DNS � requests to the failed servers?

Bandwidth gets wasted in the case of continues DNS requests to that of unavailable
machine at the time of server failure. This problem usually occurs during the time
of startup associated with the application that of client side. The servers that
are unavailable are removed by searching DNS entries provided by WebLogic server.
This removal prevents the clients from accessing failed servers. A third party load
� balancers are made used for avoiding the unnecessary DNS requests. Some of the
third party load � balancers are BigIP, resonate, local director and Alteon. The
main function of these third party loads � balancers is to mask multiple addresses
of DNS in to a single one.

14. Explain the functionality of T3 associated with WebLogic server?

T3 is capable of providing framework or overall structure for the messages that are
capable of supporting the enhancements. The enhancements comprises of product
tunneling, working in the context associated with clusters of WebLogic server and
also in object replacement.

15. How can classpath be set?

Classpath can be set by making use of the following script


WL_HOME\server\bin\setWLSEnv.cmd (in case of windows).

16. Explain the functioning of Stub?

Stub is usually expected by the people who connect to the WebLogic server cluster.
The stub has the list that consists of the available instances of server that
perform host implementations associated with object. The stub also has the
functionality of balancing the load by distributing load amongst the host servers.

17. What are the steps for the creation of Pooling within Tomcat server?

The first step involved in this process of creating pooling is to download 3 jar
files which are the commons-dbcp-1.2 jar, commons-pool-1.3.jar and commons-
collections-3.1 jar.
The next step is to make an entry inside server.xml of tomcat factory.
18. How can you differentiate server crash and server hang?

With a server crash, there is no existence for the Java process and if it is a
server hang, then the Java process stops responding.

19. What are the causes for server crash?

The major reasons for the occurrence of server crash are the native IO, JVM,
supported configuration, JDBC driver issues and SSL native libraries.

20. How can you solve the issue of server crash?

A crash associated with JVM is capable of generating hs_err_pid file. You need to
refer this file for finding out the root cause for such a crash. In the case of
native IO being the origin of thread, you need to disable it. If the origin of the
problem is from the driver, need to contact the driver team.

21. How can Server Hang be solved?

Java WebLogic.Admin PING needs to be checked for finding whether you get a normal
and positive response. You can find out the root cause for hanging from this file.
You just need to rectify the errors that are identified from this file.

22. Explain the reasons for server hang?


The major reasons that lead to the server hang are memory leak, deadlock, and long
time for returning.

23. Define memory leak ?

Memory leak is the condition that arises when the objects get retained in the heap
even after they have no use.

24. What causes the condition OUT OF MEMORY?

There are various reasons that can lead to this condition and they are

Insufficient size of the heap compared to the extra load.


Placing of the objects takes longer period of time like that of HTTP sessions.
Occurrence of memory leak inside the application code.
The prevention of occurrence of full GC because of JVM bug.
25. How can the OUT OF MEMORY be solved?

There is a possibility for collecting the memory data after enabling GC � verbose.
If the condition has aroused because of HTTP session, then it will be automatically
solved when the session gets time out. You should also verify the code associated
with the handling of jdbc connectivity. You should also optimize the size of the
heap by considering the load.
26. When can high usage of CPU occur?

This is the condition that usually occurs when a single thread or process makes use
of a larger portion of the CPU in an unexpected manner.

27. How can the issue associated with high CPU usage be solved?

In windows platform the issue of CPU high usage can easily be solved by making use
of pslist and also with the process explorer to observe the function performed by
the thread or the process.

28. Explain the term clustering?

Clustering is the process of grouping the servers together for accomplishing high
percentage of scalability and availability.

29. What is the purpose of clustering?

The major goal of performing the process of clustering is to make high scalability
as well as availability of the servers possible. This process also helps in
balancing the load in a proper manner and also accomplishes failover.

30. How can cluster communication occur?

The communication through cluster is made possible by the multicast IP as well as


port by the process of sending periodic messages which are normally called as
heartbeat messages.

31. What are the various types of WebLogic installations?

The WebLogic installation usually occurs in three different modes which are:

Graphical mode
Console mode
Silent mode.
32. What is Graphic mode?
It is a kind of installation type that makes use of interactive GUI.

33. What is console mode?

This is a kind of installation type that follows interactive text based method.

34. What is silent mode?

This is a method of installation that is non-interactive and is usually based on


the .xml properties � file.

35. What is Unicast?

Unicast is the method used in the clustering technique where there are cluster
master and each server should ping to this cluster master for informing that the
server is alive.

36. What is Multicast?

It is a kind of clustering system where there is no cluster master and each and
every server needs to ping each other for informing their existence. Multicasting
has many messages to be sent in the form of ping as each server needs to inform all
others about its existence. This condition creates much complexity associated with
the method compared to unicast.

37. What is a stage deployment?

Stage deployment is a kind of process in which the admin gets a physical copy which
is distributed to the other instances.

38. What is non-stage deployment?

There is no copy in the administrator but each and every server needs to contact
the source directly for getting the item to be deployed.

39. How can port number be checked?

Port number can be checked by using netstat-na|grep connected.

40. How to find out the listening ports?

Listening ports can be found out by using netstat-na|grep listen.

41. How to check the version of Java?

Version of java can be checked by using [roo@h1vm/]#java-version.

42. How is it informed when the server is added to the cluster?

The availability of the new server in the cluster is broadcasted by the WebLogic
server � cluster.

43. How many WebLogic servers can be held inside a multi-processor machine?

There is no limitation for the number of servers.

44. What is application tuning?


This process involves ejb pool � size cache and jsp recompilation.

45. What is OS tuning?

This is the process of setting up TCP/IP parameters.

46. What is Core Server tuning?

This is the process involving the tuning of work manager, chuck size, performance
packs, chunk pool size and connection backlog buffering.

47. What is JVM tuning?

This process involves monitoring of the garbage collection and the tuning of gc
strategy.

48. What is a Machine?

Machine is the logical representation that of the physical machine.

49. What is Node Manager?

Node manager is a service from Java that is capable of running separate process
other than that of WebLogic server.

50. What is a domain?

Domain can be defined as the group which comprises of various WebLogic � server
resources.

What Is A Domain Template?


Answer :

A domain template is a jar file default one is wls.jar file, which is


'/bea/weblogic81/common/templates/domains/, it has all the features that is
required for the standard weblogic domain, we can even create domain template of
our own configuration. by this template we dont have to configure every time we
create a new domain.

By using template we can:

Create servers.
Clusters.
Machines.
Configure services such as JMS, JDBC, Applications

What Are The Admin Default Ports?

Answer :

The non-SSL listen port for the Administration Server's default network
configuration is 7001 by default.
The SSL listen port for the Administration Server's default network configuration
is 7002 by default.
WebLogic Admin servers and Managed servers could communicate with Admin port which
is separate network channel. So that other communications can be run on different
networks.

How to change from development mode to production mode in Weblogic 10.3?


ANSWER : To change Weblogic start up mode from DEV to production. One way to change
it is, by simply
editing setDomainEnv.cmd which resides in $root_domain/bin folder.
1. Look for the line that sets the PRODUCTION_MODE script variable: set
PRODUCTION_MODE
Add false to the value of the PRODUCTION_MODE variable to ensure the server starts
in development
Set true for starting in prod mode.
set PRODUCTION_MODE=false
2. Save your changes and exit the text editor.

What are the supported installation modes for WebLogic Server?


ANSWER :
Graphical mode, console mode and silent mode.

How to access admin console?

ANSWER :
Ssl enabled admin console accessed as :
https://hostname or ip address (where admin server running):(port on which admin
server is ssl
enabled admin console accessed as :
Example - https://localhost:7002/console
mode:

non ssl admin console accessed as :


http://hostname or ip address (where admin server running):(port on which admin
server is ssl enabled
admin console accessed as :
Example - http://localhost:7001/console

What is the default port of Weblogic admin server?


ANSWER : By default weblogic admin server configured on port 7001 and SSL is on
7002.

How many admin consoles possible in a single domain?

ANSWER :
Only One

What is boot.proerties file in weblogic server?

ANSWER :
boot.properties is the file used by admin or managed server during startup for
username and
password. it exist under your domain/servers/server_name/security folder.

What is config.xml?

ANSWER :
config.xml is the central configuration repository for a domain. every resource you
have
configured from admin console or by command line or by any other tool registered
under this file.
WLS 9.x onwards, this file contain references to other xml configuration files also
those are under your
domain/config folder ( further sub folder under it for respective resources ).
How do I provide User credentials for starting weblogic server?

ANSWER :
When you create a domain, the Configuration Wizard prompts you to provide the
username
and password for an initial administrative user. If you create the domain in
development mode, the
wizard saves the username and encrypted password in a boot identity file. A
WebLogic Server instance
can refer to a boot identity file during its startup process. If a server instance
does not find such a file,it
prompts you to enter credentials.
If you create a domain in production mode, or if you want to change user
credentials in an existing boot
identity file, you can create a new boot identity file.

What is the advantage of clustering?

ANSWER :
WebLogic clustering offers three important benefits:
1. Scalability:
The capacity of an application deployed on a WebLogic Server cluster can be
increased dynamically to
meet demand. You can add server instances to a cluster without interruption of
service � the application
continues to run without impact to clients and end users.
2. Load balancing:
The ability to distribute requests across all members of the cluster, according
tothe workload on each
server.
3. High availability:
A mix of features that ensure applications and services are available even if
aserver or machine fails.
Clients can continue to work with little or no disruption ina highly available
environment. WebLogic
achieves high availability using acombination of features: replication, failover,
and migratable services.

How many types you configure managed server in weblogic server?


A.Three types
1)Domain Configuration Wizard
2)Administration Console
3)Weblogic Scripting Tool

How to know weblogic version?

ANSWER :
In the WebLogic console, in the left navigation tree, click on "Environment", then
"Servers".
Then click on one of the servers in the list. Then click on the "Monitoring" tab.
Look at the "WebLogic
Version" field.

How do you set the classpath?

ANSWER :
WebLogic Server installs the following script that you can use to set the
classpath that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

How managed servers communicate with each other ?

ANSWER :
Managed servers communicate each other using t3 protocol internally.

How you deploy your applications on weblogic server?

ANSWER :
These are the types.
1) Auto Deployment
2) Console
3) Command line � weblogic.deployer
4) ANT / WLST

RMAN Interview related


=======================:

Can you explain what is current control file? if we are using multiplexed control
files, then which is current control file (CONTROL01.CTL,CONTROL02.CTL or
CONTROL03.CTL)? RMAN take which controlfile backup?

Ans) CONTROL01.CTL, CONTROL02.CTL and CONTROL03.CTL are mirrors of each other.


Logically, it is one control file with 3 physical mirrors. This logical 1
controlfile is the CURRENT CONTROLFILE. Oracle may copy any one of three mirrors.

What is SCN?

Ans) The SCN is an Oracle server�assigned number that indicates a committed version
of the database. It�s quite possible that different datafiles in the database might
have a different SCN at any given point in time.
At checkpoint, the server will makes all database file SCNs and control file SCN
consistent with respect to an identical SCN.The datafiles will not contain any
database changes beyond that common SCN. This synchronization of the SCNs will make
sure we have a consistent backup of database.
When you are doing hot backup, you may end up with backups of the various datafiles
at various time points and different SCNs and you can not open a database without
synchronizing the SCN on all data files, so you will have to apply archive logs to
make the data current and synchronize the SCNs across the datafiles.

What is the significance of fast_start_mttr_target parameter?

Ans) You use the Oracle initialization parameter fast_start_mttr_target to specify


the number of seconds you want the crash recovery to take. Oracle will try to
recover the
instance as close as possible to the time that you specify for the
fast_start_mttr_target parameter. The maximum value of this parameter is 3600
seconds (1 hour).

During instance recovery, in the first roll forward operation, the database server
must apply all transactions between the last checkpoint and the end of the redo log
to the datafiles. Thus, in order to tune instance recovery, you control the gap
between the checkpoint position and the end of the redo log. This is called Mean
Time to Recover (MTTR).

There was a media failure. How can you find which files you must recover?
Ans) By querying the V$RECOVER_FILE view, which lists all files that need media
recovery.

What are the benefits of RMAN over user-managed backup-recovery process?

Ans)
� powerful Data Recovery Advisor feature
� simpler backup and recovery commands
� automatically manages the backup files without DBA intervention.
� automatically deletes unnecessary backup datafiles and archived redo log files
both from disk and tape.
� provides you with detailed reporting of backup actions
� Easy to duplicate a database or create standby database.
� Without actually restoring data, you can test whether you will be able to do it
or not
� Incremental backup! only RMAN can do that.
� Active Duplication! (11g new feature), you can perform database duplication
without backups by using the network enabled database duplication feature
� automatically detects corrupt data blocks during backups
� Data block level recovery possible in case only few DB blocks are corrupt
� Encrypted backups possible
� Use RMAN with a variety of third-party storage systems easily

With so many benefits, RMAN shold be used as primary backup-recovery tool.

How important is Database Redundancy Set and where you should plan to keep it?
Ans) Database Redundancy Set is essential set of recovery-related files. As a DBA,
you need to be well prepared for any kind of contingency situation.
It should contain below:
� Recent backups of all datafiles & control file (duplex or triplex the control
file at database level)
� All archived redo logs made after the last backup
� Current control files and online redo file copies (duplex online redo files at
database level)
� Oracle database-related configuration file copies (spfile, password file,
tnsnames.ora and listener.ora files etc)

Operating system mirroring is good, but you should do database level mirroring
wherever possible.
If you using ASM, try to have atleast Normal redundancy.

When setting up production systems, use at least two disk drives(one for the
redundancy set and the other for the datafiles). They should be completely
separated by using different volumes, file systems, disk controllers, and RAID
devices to hold the two sets of files
You can set up FRA for keeping the redundancy set. Oracle recommends the flash
recovery area as a logical candidate to keep a copy of all the files belonging to
the redundancy set (which includes the most recent database backup) on disk.

What is the benefit of making automatic control file backup to ON?

Ans) Remember that control file is absolutely necessary during a recovery.

Below command can be used to have automatic control file backup to be taken. This
is highly recommended.
RMAN> configure controlfile autobackup on
Now at the end of every RMAN backup command, RMAN automatically backs up the
control file.
Even when you make some changes via SQL*Plus( say creating a new tablespace or
adding or renaming a datafile or an online redo log member), the control file is
automatically backed up.
Also, you can restore RMAN�s backup and recovery information (called RMAN�s
repository), when you lose all your control files and aren�t using the optional
recovery catalog.

What is the significance of RMAN view V$RMAN_OUTPUT?

Ans) V$RMAN_OUTPUT displays messages reported by RMAN. This is an in-memory view


(means will not persist thru a database restart)and is not recorded in the
controlfile. This information straight out of the database by using SQL queries.

Sometimes RMAN log files may have already been overwritten by the next backup or
simply just deleted. This is an alternative way of accessing the RMAN output
information

For Example:
Review the last two days worth of rman output:
select output
from v$rman_output
where session_recid in (select session_recid from v$rman_status
where start_time > sysdate-2)
order by recid ;

OUTPUT
�������������������������������������������-
connected to target database: BRIJ (DBID=3142459675)
using target database control file instead of recovery catalog

echo set on
backup archivelog all not backed up delete all input;
Starting backup at 09-FEB-14
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=124 instance=BRIJ devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=126 instance=BRIJ devtype=DISK
�.

What all you can store in Flash Recovery Area(FRA)? Can one FRA directory be used
for more than one database?

Ans) Oracle can store different kind of files under FRA:

� backupset: for RMAN regular backups.


� datafile: for RMAN image copies.
� autobackup: for control file autobackups.
� flashback: If your database runs in flashback mode, you will see flashback logs
in this subdirectory.
� archivelog: for Archived redo logs
� controlfile: The control file, if configured to go to the flash recovery area.
� onlinelog: Online redo logs can also be made to go to the flash recovery area

You can use the same flash recovery area for as many databases as you want. The
RMAN backup process will create a subdirectory called <SID_NAME>, the same name as
the database you are backing up.

Which views can be used for Checking Space Usage in the FRA?
Ans) Check Below..

SQL> select NAME,SPACE_LIMIT/1024/1024/1024 TOTAL_GB,SPACE_USED/1024/1024/1024


USED_GB,SPACE_RECLAIMABLE,NUMBER_OF_FILES from v$recovery_file_dest;
NAME TOTAL_GB USED_GB SPACE_RECLAIMABLE NUMBER_OF_FILES
����������������� ���- ���- ������ �����
/u01/oracle/DB11G/fast_recovery_area 16 1.13197899 0 3

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES


������� ������ ��������- �����
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG .12 0 1
BACKUP PIECE 6.95 0 2
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0

7 rows selected.

Is putting control file and online redo logs in Flash Recovery Area (FRA)
advisable?

Ans) Control file is very important file for the database operation. Loosing a
single control file will make the database unstable and will lead to interruption
in service.
So we will always try to put control file in a safe and stable place.

Similarly online logs are equally important and loosing them can also cause
database to crash, incomplete recovery and possible data loss.

CASE 1:
Usually the flash recovery area and the main database disks are located in such a
way that the probability of both going down at the same time is very slim.
And If your flash recovery area is in a storage location as reliable as the main
database storage, then you should put one control file and one redo member/log
group there.
It will surely help you in quick and complete recovery.

CASE 2:
If your flash recovery area is NOT as reliable as the main database storage, the
chance of failure in the flash recovery area is greater compared to the main
database disks. If the flash recovery area fails, then you lose one of the control
files and the online redo log. You will be able to start database easily by
removing that control file from the control file parameter in the initialization
parameter file (copying online log from the secondary Non-FRA location) and
restarting it but you will have an interruption of production service, which is
very undesirable.

Scenario A)
Besides FRA, we have multiplexed Control files to two other separate location, so
risk of loosing control file (and fear of not able to do complete recovery) is
minimized
We won�t be putting even a single control file in the FRA.

Scenario B)
Besides FRA, we have multiplexed Control files to only one other separate location,
so risk of loosing control file and (and fear of not able to do complete recovery)
is more. Complete recovery of database is of primary importance to you than the
database interruption.
Here we can go and put the control file in FRA.

How can you make sure that only one of the redo log member is created in FRA?

Ans) If you want only one member of the group in the flash recovery area and the
other one in the regular database file location, you should define two
parameters�the flash recovery area and db_create_file_dest.

SQL> Show parameter db_recovery_file_dest

NAME TYPE VALUE


������������ ���� ����������
db_recovery_file_dest string /u01/oracle/DB11G/fast_recovery_area
SQL> alter system set db_create_file_dest =�/u01/oracle/DB11G/oradata';
System altered.
SQL> alter database add logfile group 4;
Database altered.
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
���- ��- ��- ����������������� ��������
3 ONLINE /u01/oracle/DB11G/oradata/brij/redo03.log NO
2 ONLINE /u01/oracle/DB11G/oradata/brij/redo02.log NO
1 ONLINE /u01/oracle/DB11G/oradata/brij/redo01.log NO
4 ONLINE /u01/oracle/DB11G/oradata/brij/BRIJ/onlinelog/o1_mf_5_9hl8zjmt_.log NO
4 ONLINE /u01/oracle/DB11G/fast_recovery_area/BRIJ/onlinelog/o1_mf_5_9hl8zjsz_.log
YES

How can you create log of your RMAN activity?

Ans) Two ways to do it

A) WHILE STARTING RMAN


$ rman log=�tmp/rman_log.log� OR $ rman log /tmp/rman_log.log append
(use with append clause if you don�t wanna overwrite existing file)
Also If you are running RMAN interactively and you want to see output on your
terminal screen as well as have it written to a log file, use tee command:
$ rman | tee /tmp/rman.log

B) WHILE INSIDE RMAN


$rman
RMAN> spool log to �/tmp/rman_log.log';
(use with append clause if you don�t wanna overwrite existing file �spool log to
�/tmp/rman_log.log� append.)
..
RMAN> spool log off;
** you can use any writeable directory and log file name.

Can Recovery Catalog database also be shutdown from RMAN prompt like TARGET
Database can be done?

Ans) All the shutdown and startup commands applies only to the target database. You
can�t start and stop the recovery catalog instance from RMAN. The only way to start
up and shut down the recovery catalog instance is by connecting to the recovery
catalog database as the target database and by issuing the relevant commands to
start or stop the instance.
How to check the syntax of RMAN commands?

Ans) Start the RMAN client with the operating system command-line argument
checksyntax.
$ rman checksyntax
Recovery Manager: Release 11.2.0.4.0 � Production on Wed Feb 12 14:36:22 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target /
The command has no syntax errors
RMAN> backup database;
The command has no syntax errors
You can also use the checksyntax argument to check the syntax of RMAN commands that
are part of a command file.
Example:
$ rman checksyntax @/tmp/rmancmdfile

Does using recovery catalog means RMAN won�t use the control file to store
information?

Ans) No. Even when you choose to use a recovery catalog, backup information will
continue to be stored in the control file as well by default.

What is the benefit of using Recovery Catalog?

Ans)
� provides larger storage capacity, thus enabling access to a longer history of
backups
� you can create and store RMAN scripts in the recovery catalog and Any client that
can connect to the recovery catalog and a target database can use these stored
scripts
� Can service many target databases
� you can use �KEEP FOREVER� clause of RMAN backup command.
� Allows you to list the data files and tablespaces that are or were in the target
database at a given time

What is the significance of �resync catalog� RMAN command?

Ans) The resync catalog command is used in order to update or resynchronize a


recovery catalog from the target database control file. Since sync is done from
Target database control file, so you must connect to the recovery catalog as well
as to the target database in order to perform the resynchronization.

RMAN> resync catalog;


starting full resync of recovery catalog
full resync complete

When above command is executed, RMAN will first create a snapshot control file.
It�ll then compare the contents of the recovery catalog to the contents of the
snapshot control file and update the recovery catalog by adding the missing
information and modifying the changed backup and schema related records.

It means that we will keep parameter control_file_record_keep_time longer than our


backup interval, so that the data in the control file gets transferred to the
recovery catalog before that data is overwritten.
When you issue certain RMAN commands such as the backup command, RMAN automatically
performs a resynchronization.

You want to move your recovery catalog from one database to another. How you can do
it?

Ans) Moving Recovery catalog to another database is simple process

a) Create a new recovery catalog in the target database. You don�t need to register
any database to it
b) Use the import catalog command in RMAN after connecting to the target database:

$ rman

RMAN> connect catalog rman_new/rman@target_database


RMAN> import catalog rman_old/rman@source_database;
The import catalog command will import the source recovery catalog contents into
the target recovery catalog.

What are the most important recovery catalog views?

Ans) Below are some of the frequently used views:

RC_STORED_SCRIPT: Information about RMAN scripts stored in the recovery catalog.


RC_UNUSABLE_BACKUPFILE_DETAILS: Lists the unusable backup files recorded in the
recovery catalog.
RC_RMAN_STATUS: Similar to V$RMAN_STATUS view and shows the status of all RMAN
operations. This view doesn�t contain information about any operations that are
currently executing.
RC_RMAN_CONFIGURATION: Information about persistent configuration settings.
RC_DATAFILE: Shows all datafiles registered in the recovery catalog.
RC_DATABASE: Shows the databases registered in the recovery catalog.
RC_ARCHIVED_LOG: Provides historical information on both archived as well as
unarchived redo logs.

How to check the version of your recovery catalog?

Ans) You can easily check the version of your recovery catalog by issuing the
following command from SQL*Plus after logging in as the recovery catalog owner:

RMAN@rmandb > select * from rcver;

VERSION
����
11.02.00.04

What all files can NOT be backed up by RMAN?

Ans)

1) Oracle home-related files


2) External files
3) Network configuration files
4) Password files

Oracle Apps DBA Interview uestions


===================================:

1 Why do you need GUEST/ORACLE To connect to database?


The GUEST user account is used in the application internally ( it is an application
user). One of the major needs of this account is when there is a need to decrypt
the APPS password (which is stored in an encrypted format in the apps tables). In
order to decrypt the APPS password, the GUEST username/password is used to
accomplish this task (using �Guest User Password� profile option).
GUEST account is used to obtain the decrypted value of the apps password for
internal processes (i.e. when there is a need to connect as apps internally).
when the account gets locked/end-dated then you will see a blank page when you try
to login to the instance.In that scenario you will have to correct this situation
from the back-end as you will not be able to login to the application.
You will not find much details about the GUEST account documented anywhere ( may be
coz of security reasons).
Key points :
s_guest_user is GUEST and s_guest_pwd is EXPORT in adconfig xml file.
select fnd_web_sec.validate_login(�GUEST�,�ORACLE�) FROM DUAL; ( to validate if
guest user is corrrect)
select fnd_profile.value(�GUEST_USER_PWD�) from dual; (to find the current guest
user password)
Check the GUEST/ORACLE password is present in DBC file at $FND_TOP/secure directory
as well as at $FND_TOP/secure/SID_hostname directory.

2 What is the purpose of JSERV?

Oracle 11i uses Jserv as the servlet engine. R12 uses OC4J as the servlet engine.
R12 uses version 10g of the Oracle Application Server, which does not have or use
jserv
Once you click on the Oracle E-Business Home Page link, the reuest is forwarded by
Apache to Jserv. Jserv sends it to Appslogin servlet
Few related useful definitions below :

a) Apache JServ
� the 100% pure Java server application that acts as an independent servlet-reuest
server.

b) mod_jserv
� the Apache module that converts HTTP reuests to servlet reuests, connecting to
the proper servlet engine and sending back the HTTP response to the client.

c) Apache JServ Protocol(AJP)


� the protocol used to communicate between the web server and the servlet engine
over a TCP/IP connection.

d )Servlet
� A servlet is a Java server side application that runs inside a network service,
such as a web server.It responds to reuests from clients, accepting client input
and dynamically generating output. For example, a database uerying servlet may
receive a client�s uery, run it against the connected database, process obtained
data, and return formatted output to the client.

3 How to increase the performance of Apache?


Oracle HTTP Server uses directives in httpd.conf. This configuration file specifies
the maximum number of HTTP reuests that can be processed simultaneously, logging
details, and certain limits and time outs.
The parameters defined in this file can be tweaked, which will impact the
performance of http (apache) server.
for example :
1) KeepAlive option should be used judiciously along with MaxClients directive.
KeepAlive option would tie a worker thread to an established connection until it
times out or the number of reuests reaches the limit specified by
MaxKeepAliveReuests. This means that the connections or users in the ListenBacklog
ueue would be starving for a worker until the worker is relinuished by the keep-
alive user. The starvation for resources happens on the KeepAlive user load with
user population consistently higher than that specified in the MaxClients.
2) Increasing MaxClients may impact performance in the following ways:

A high number of MaxClients can overload the system resources and may lead to poor
performance.

For a high user population with fewer reuests, consider increasing the MaxClients
to support KeepAlive connections to avoid starvation. Note that this can impact
overall performance if the user concurrency increases. System performance is
impacted by increased concurrency and can possibly cause the system to fail.To
avoid potential performance issues, values for any parameters should be set only
after considering the nature of the workload and the system capacity.

4 Tell me some issues with Apache?


There can be many Apache issues. Some issues can be:
1) Apache process crashes and not able to come up.
One reason can be huge log file of above 2 gb because of which Apache process is
unable to write to it coz of OS limitations.
2) sometimes clone/ install issues can also cause problem with Apache, example
After clonning (or installing) an Oracle Applications Release 12.0 or 12.1 instance
on Linux 5, an error may occur while starting up the Apache service. The error
would be this:

You are running adapcctl.sh version 120.6.12000000.4
Starting OPMN managed Oracle HTTP Server (OHS) instance �
adapcctl.sh: exiting with status 204

Review the HTTP log file. The error is very clear about the missing soft link. It
would show this error:

<physical Path>/10.1.3/Apache/Apache/bin/apachectl startssl: execing httpd
<physical Path>/10.1.3/Apache/Apache/bin/httpd: error while loading shared
libraries: libdb.so.2: cannot open shared object file: No such file or directory

Soft link libdb.so.2 is missing.
As the unix root user, create a soft link as follows:
ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2

5 What is the difference between applsys, applysyspub and apps users?


Apps is a schema which does not contain any tables of itself. We can say APPS is
the shared runtime schema for all E-Business Suite products. It contains all the
synonyms of all the table in Oracle apps. But it also contains packages, functions,
procedures. The default password is apps.
Hence, apps schema has universal access to Oracle Applications.

Applsys

schema contains all the tables reuired for administarative purpose. The default
password is apps. All the technical products� database objects are consolidated
into a single schema called Applsys
It is a schema that stores the data objects for the Applications technology layer
products (FND, AD, and so on).

Applsyspub

schema is responsible for password checking.The default password is pub.Applsyspub


is used for authentication by having read only views.
It is a public schema which is used only during the signon process and has no data
objects, only synonyms to APPS.
This user account has very restricted privileges and has access to below objects
(primarily for authentication purposes):-
FND_APPLICATION

FND_UNSUCCESSFUL_LOGINS
FND_SESSIONS
FND_PRODUCT_INSTALLATIONS
FND_PRODUCT_GROUPS
FND_MESSAGES
FND_LANGUAGES_TL
FND_APPLICATION_TL
FND_APPLICATION_VL
FND_LANGUAGES_VL
FND_SIGNON
FND_PUB_MESSAGE
FND_WEBFILEPUB
FND_DISCONNECTED
FND_MESSAGE
FND_SECURITY_PKG
FND_LOOKUPS

6 What is GSM and FNDSM ?

Service processes (application tier processes such as Forms listeners, HTTP


servers, and concurrent managers etc) must be kept running on an application tier
for the proper functioning of their associated products. Management of the services
is complicated by the fact that they may be distributed across multiple host
machines. The Generic Service Management (GSM) feature simplifies management of
these generic service processes, by providing a fault-tolerant framework with a
central management console built into Oracle Applications Manager.

FNDSM is executable and core component in GSM (Generic Service Management


Framework). GSM and Concurrent Processing are closely integrated.
You start FNDSM services via application listener on all Nodes in Application Tier
in E-Business Suite.

The Service Manager (FNDSM) PID can be used to locate all concurrent manager and
service processes on the node, since the Service Manager (FNDSM) is the parent
process

Script to start FNDSM: gsmstart.sh

7 What will happen to pending reuest if ICM is down?

Keep in mind that the ICM really does NOT have any concurrent reuest scheduling
responsibilities. It has NOTHING to do with scheduling reuests, or deciding which
manager will run a particular reuest.
Its function is only to run �ueue control� reuests, which are reuests to startup or
shutdown other managers. It is responsible for startup and shutdown of the whole
concurrent processing facility, and it also monitors the other managers
periodically, and restarts them if they should go down. It can also take over the
Conflict Resolution manager�s job, and resolve incompatibilities.

So pending reuest will run as usual.

8 What happen if �alter user apps identified by password� is fired for apps user?

We cannot change apps password through alter user statement because Oracle
Application use APPS PASSWORD to encrypt end user�s password in FND_USER and oracle
user�s password in FND_ORACLE_USERID. So using FNDCPASS to change password of APPS,
changes the column encrypted_oracle_password in these two tables, but alter don�t
do this actions. FNDCPASS update DBA_USERS table as well.

While when you run �alter user apps identified by password� it will update only
DBA_USERS.

If you have mistakenly did used �alter user�, you may see below error:

APP-FND-01496: Cannot access application ORACLE password


Cause: Application Object Library was unable access your ORACLE password.

It is very difficult to recover the application at this stage.

9 How will you plan to do multi-node to single node cloning in 11i and R12?

In 11i, RapidInstall copies from the Staging Area only reports on CM nodes and
Forms on the Web nodes. To do multi-node to single node clone in 11i, it is called
merging appltops.
$perl adpreclone.pl appsTier merge
and then copy /clone/appl from every source appl server
Depending on which tier you chose as the primary node, certain files may be
missing. Run adadmin to verify files reuired at runtime. If any files are listed as
missing files, you must manually copy them to the merged APPL_TOP from other nodes�
APPL_TOP

In R12 it is easy to do multi node to single node cloning.


In R12, it employs a new concept called Unified Appltop, which means that no matter
what you choose while installing, R12 will install a complete apps file system on
all nodes.
All you need to do is choose a node for running adpreclone.pl appsTier, copy that
node to target system, and run adcfgclone.pl

10 Which all tables FNDCPASS touches when changing user�s password?

Below is how FNDCPASS works.

(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.

11 ADPATCH creates two tables during patch application. What are the contents of
those tables.

when we are applying patches 2 tables will be created i.e


1)fnd_install_processes
2)ad_deferred_jobs

1)fnd_install_processes � This table is used to store the information about the job
given to the worker. It will insert a row for each worker when it assigned a job.
This table serves as a staging area for the job information, and as a way for the
manager and the worker to communicate. Once all jobs are complete, the manager
tells the workers to shut down, and then drops the FND_INSTALL_PROCESSES table

2)ad_deferred_jobs � this table is used to store the information about the deferred
jobs (jobs failed to run).

12 What are custom schema creation steps?

Step-1 : Create a Tablespace in the backened Database for custom schema.


Step-2 : Create Schema
Step-3 : Grants Connect and Resource to schema
Step-4 : Make the directory structure for your custom application files.
Step-5 : Create Custom Environment file in APPL_TOP directory
Step-6 : Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application�>Register
Step-7 : Register Oracle User
Naviate to Security�>Oracle�>Register
Step-8 : Add Application to a Data Group
Navigate to Security�>Oracle�>DataGroup
Step-9 : Create custom reuest group, custom menu etc

13 How to do new product licensing?

select Site Map -> License Manager -> License Applications Product
or
$AD_TOP/sl/adlicmgr.sl

Select the product(s) to be licensed.

Click on submit button.

14 What is the purpose of FNDFS?

FNDFS or the Report Review Agent (RRA) is the default text viewer within Oracle
Applications, which allows users to view report output and log files. Report Review
Agent is also referred to by the executable FNDFS.

When the operation of trying to view reports takes place, the Report Review Agent
needs a valid connection string definition to successfully make the network
connection to the application server, and this is done through the FNSFS entries
presented in the tnsnames.ora file.
1) The user selects �Reuest Output�, �Reuest Log�, or �Manager Log�
2) The file name and nodename are selected from the database.
SELECT outfile_name, outfile_node_name FROM fnd_concurrent_reuests
WHERE reuest_id = :id;
3) The client takes the nodename that was returned and adds FNDFS_ to the
beginning of it.
4) a connection is made to the given host. The listener on
this host receives the connection reuest, and resolves the SID using its
listener.ora file. If it finds a PROGRAM parameter listed for this SID, it will
launch this program. (which should be $FND_TOP/bin/FNDFS)

15 What are the basic steps for Printer Installation in EBS 11i/R12?

For most printing needs, the Pasta Utility offers uick setup and easy maintenance.
For additional flexibility, Oracle E-Business Suite allows you to define your own
printer drivers and print styles.

1. Setup the printer at the OS level


2. Add a valid entry in the hosts file (Printer Name and the IP Address)
3. Login to System Administrator responsibility
4. Navigate to Install > Printer > Register
5. Define a new printer by entering the Printer Name you have set in the hosts file
6. Save
7. Bounce the Concurrent Manager

16 What are basic steps for Workflow Mailer configuration?

> use Oracle Application Manager (OAM) to configure Workflow Notification Mailer.
> For Outbound Notification, CM (Concurrent Manager) node should be able to connect
to SMTP (Simple Mail Transfer Protocol) server/relay.
> For Inbound Notification (Optional), CM node should be able to connect to IMAP
(Internet Message Access Protocol) Server.
> Log file for Workflow Mailer Notification are at $APPLCSF/$APPLLOG/FNDC*.txt
> Workflow Notification Mailer in background run as Concurrent Manager (Workflow
Mailer Service, Workflow Agent Listener Service)
> If you wish to configure Inbound Notification as well then ensure IMAP Server
should be configured with a valid user (create Inbox, Processed & Discard folder
for this User)
> Schedule �Workflow Background Process� Concurrent Reuest:

1. Freuency : Every 5 Minutes � Parameter : Deferred:Yes, Timeout:No, Stuck:No


2. Freuency : Every 60 Minutes � Parameter : Deferred:No, Timeout:Yes, Stuck:No
4. Freuency : Daily � Parameter : Deferred:No, Timeout:No, Stuck:Yes
5. Freuency : Every 10 Minutes � Parameter : Deferred:Yes, Timeout:No, Stuck:
6. Freuency : Every 6 Hours � Parameter : Deferred:Yes, Timeout:Yes, Stuck:Yes
The main component of the Oracle Workflow Notification Mailer is the executable
WFMAIL. This is a server side program that ueries the database for any pending
notifications. It then dispatches these notifications by calling sendmail for UNIX
and the MAPI APIs for Microsoft Windows NT. The notification mailer also ueries the
local inbox for incoming messages. These messages are validated and then passed to
the database for response processing. To configure Workflow Notification Mailer we
have to do OS level setup (Sendmail) and Application level setup.

17 Is it possible to upgrade to R12.1.1 from 11.5.9?

Yes
Applications R11.5.6 and below reuires to first upgrade to R11.5.10.2/10gR2
Applications R11.5.7 and up can be directly upgraded to R12
But 11.5.9 can not be upgraded to R12.2 directly.

18 What are the high level steps for upgrading 11i to R12.1.3?

� Upgrade database 9.2.0.6 to 11.2.0.4 in 11i


* Upgrade database from 9.2.0.6 to 9.2.0.8 and then to 11.2.0.4.
* Apply all interoperability patches for EBS 11i to work with 11.2.0.4 database.
* Upgrade JDK/JRE to supported version.

� If you want to use R12 on 64 Bit, 11i Split configuration- Move 11g Database to
Linux 6 64Bit.

* Install 64 Bit Database 11.2.0.4 software on the new 64 Bit Linux machine.
* Move 11i database from old Linux 32-bit to new Linux-64 bit machine and attach
11i application to new 64 Bit database.

� Upgrade 11i TO R12.1.1

* Prepare 11i database for upgrade (configuration, applying patches etc).


* Install R12.1.1 upgrade filesystem on the same 64 Bit Linus machine that we
configured earlier and where our database currently run.
* Configure R12.1.1 application with existing 11.2.0.4 64 Bit database.
� Upgrade R12.1.1 To R12.1.3

* Upgrade all ORACLE_HOMEs (database, forms 10.1.2, web 10.1.3)


* Upgrade R12.1.1 application to R12.1.3 on Linux 64 Bit machine.

19 How does one process more concurrent reuests concurrently?

The Concurrent Manager parameters, (uery the concurrent manager by Login as


Sysadmin, navigate -> Concurrent -> Manager -> Define and uery for the relevant
concurrent manager), should be modified to handle more concurrent reuests
concurrently, this can be done in two steps:

(i) Increase the Number of Target processes for the manager


(ii) Change the cache size of the concurrent manager as this determines how many
reuests will be evaluated by a manager at a time and should match the target
(process) value as set above.

20 How to restart a patch? How will you take backup of tables �


FND_INSTALL_PROCESS, AD_DEFERED_JOBS?

Sometimes you need to apply a second patchin the middle of a running patch.

1. Use adctrl (option 3) to tell all the existing workers to UIT

2. Use adctrl (option 5) to tell managers that all workers have UIT. (Adpatch
session ends!)

3. Backup tables applsys.ad_deferred_jobs and applsys.fnd_install_processes.


Login as APPLSYS user and execute:
ALTER �TABLE� applsys.ad_deferred_jobs �RENAME� TO ad_deferred_jobs_old;
ALTER �TABLE� applsys.fnd_install_processes �RENAME� TO fnd_install_processes_old;
ALTER �INDEX� applsys.ad_deferred_jobs_u1 �RENAME� TO ad_deferred_jobs_u1_old;
ALTER �INDEX� applsys.fnd_install_processes_u1 �RENAME� TO
fnd_install_processes_u1_old;
4. Go to $APPL_TOP/admin/SID/ for example $APPL_TOP/admin/TEST/ and rename the
existing directory �restart�

$mv restart restart.old

5. Use adpatch to apply the second/other patch.

6. Login as APPLSYS and revert back to the original tables, ad_deferred_jobs and
fnd_install_processes
ALTER �TABLE� applsys.ad_deferred_jobs_old �RENAME� TO ad_deferred_jobs;
ALTER �TABLE� applsys.fnd_install_processes_old �RENAME� TO fnd_install_processes;
ALTER �INDEX� applsys.ad_deferred_jobs_u1_old �RENAME� TO ad_deferred_jobs_u1;
ALTER �INDEX� applsys.fnd_install_processes_u1_old �RENAME� TO
fnd_install_processes_u1;
CREATE SYNONYM FND_INSTALL_PROCESSES FOR APPLSYS.FND_INSTALL_PROCESSES;
CREATE SYNONYM AD_DEFERRED_JOBS FOR APPLSYS.AD_DEFERRED_JOBS;
7. Replace the original restart directory:
cd $APPL_TOP/admin/SID/ for example $APPL_TOP/admin/TEST/
mv restart restart_new
mv restart.old restart
8. Run adpatch to continue the first patch (with continue session?Yes)
9. Use adctrl (option 2, will change status to �Fixed/Restart�) to restart the
failed workers for first patch

21 How will you reduce down time in 11i to R12 upgrade?


APPLICATION LEVEL
������
� Take advantage of patch merge & hot patching of help/nls portions
� Use Shared APPL_TOP, shared application tier with Distributed AD (use of multiple
application nodes to run ADPATCH in parallel)
� Prepare a complete list of pre and post patches and recommended code levels
including CUP � Critical Upgrade Patches
� Apply latest RUPs for ATG/AD/OAM prior to upgrade
� Purge Data aggressively
� Re-gather Statistics close to start of actual upgrade downtime
� Batch size � 10K is suitable for most installs, you can test other values from 1K
up to 100K
� Number of Workers � Starting rule-of-thumb is between 1 and 1.5 x #CPUs
� Order NLS Sync patchsets in Oracle instead of download and apply it for each
patch.
� use staged application system ( not good for r12.2)
DATABASE LEVEL
�����
� Maximize SGA and PGA sizing � Adjust with help from AWR pool advisories
� Set job_ueue_processes = # of CPUS
� Set parallel_max_servers = 2 X CPUs
� Double java_pool_size
� Shutdown other RAC instances on same server
� Re-create your redo-logs � no mirrors, 2GB+
� Make sure you�ve applied the latest PSU for your DB version (especially if you�re
doing an 11i to R12 upgrade with DB upgrade as well).
� Turn off archive logging � use interim snapshot backups for rollback points
� Gather statistics with higher estimate.
HARDWARE LEVEL
�����
� H/W and OS planned changes � put as much CPU as possible on database node and
RAM.
� CPU Server utilization in testing cycle (scale down if at 100%)
� Implement �huge pages� to offload your CPUs.
� Check Server Memory utilization in testing cycle (no swapping/ excessive paging)

22 What are high level important steps in R12.2 cloning process?

PART 1 : PREREUISITE TASKS


���������-
� check for in-progress online patching cycle

PART 2 : PREPARE SOURCE SYSTEM


����������
perl adpreclone.pl dbTier
perl adpreclone.pl appsTier
**reuire Apps User password and Weblogic AdminServer password
In 12.2, the adpreclone.pl process on the application tier creates a complete
compressed archive of the Oracle Fusion Middleware and its components

PART 3 : COPY APPLICATION TIER NODE


������������
Copy Application Tier node from the Source �Run Edition File System� to the Target
�Run Edition File System�.
so if source run edition is fs2, then target run edition will also be fs2
Only copy �EBSapps� directory from under $RUN_BASE. DO NOT COPY �inst� or
�FMW_Home�
PART 4 : COPY DATABASE TIER NODE
�����������
do normal RMAN cloning
PART 5 : CONFIGURE TARGET DATABASE SYSTEM
��������������
SL> exec fnd_conc_clone.setup_clean;

$ perl adconfig.pl dbTier


PART 6 : CONFIGURE TARGET APPLICATION SYSTEM
���������������
$ perl adcfgclone.pl appsTier

RUN ADPRECLONE ON RUN EDITION <<< NEW STEP IN R12.2


COPY TARGET RUN EDITION OVER TARGET PATCH EDITION <<< NEW STEP IN R12.2
RUN ADCFGCLONE ON TARGET APPLICATION NODE PATCH EDITION <<< NEW STEP IN R12.2

PART 7 : FINISHING TASKS


��������-
Update profiles, workflow settings, SESSION_COOKIE_DOMAIN, SSL and SSO
configuration as reuired
Changing SYS/SYSTEM/APPS/SYSADMIN/OTHER ORACLE passwords as per business
reuirements

23 AD_BUGS VS AD_APPLIED_PATCHES. When to use which table?

� AD_BUGS: holds information about the various Oracle Applications bugs whose fixes
have been applied (ie. patched) in the Oracle Applications installation.
So this table holds information about all bug fixes that have been applied. Even if
this patch have been included in other patch.

� AD_APPLIED_PATCHES: holds information about the �*distinct*� Oracle Applications


patches that have been applied. If 2 patches happen to have the same name but are
different in content (eg. �merged� patches), then they are considered distinct and
this table will therefore hold _2 records_
So it contains information on patches you installed directly (running adpatch
driver=u<patch>.drv).

24 What is forms server? Explain briefly, how the connection of the forms server
works?

The forms server is that server which the forms are hosted. It�s a component of
middle tier. The forms server can be hosted from more than one node and the load
balancing can be implemented with the forms. The forms user interface is used in
the desktop clients for working in Oracle Applications.

Below is what happens:


� Browser receives Java Applet (JAR files) and begins to run them in its JVM
� The Java thin client connects to the forms listener via a TCP/IP socket or an
HTTP port. The forms listener is already started, and listens for these reuests.
� Forms Listener allocates a forms runtime engine
� Java Applet connection is passed from Forms Listener to forms runtime engine.
Forms runtime engine loads module(s) needed to run the reuested form. As per form
name received, Forms runtime engine loads the form and any libraries and/or menus
reuired by that form.
� Forms runtime engine opens a connection to the database.

25 Describe Purge programs in EBS and their significance?

Below are two important purge programs:


1) Purge Concurrent Reuests and/or Manager Data

� delete information about completed concurrent reuests from below set of tables

FND_CONCURRENT_REUESTS,
FND_RUN_REUESTS,
FND_CONC_REUEST_ARGUMENTS,
FND_CONC_STAT_LIST,
FND_CONCURRENT_PROCESSES,
FND_CONC_STAT_SUMMARY,
FND_CONC_PP_ACTIONS,
FND_RUN_RE_PP_ACTIONS
and FND_DUAL tables.

� also deletes the log and output files for those concurrent reuests from your UNIX
file system
� For parameter �Mode], choose Age so it could delete files older than the number
of days specified in Mode Value.

2) Purge Obsolete Workflow Runtime Data

Workflow records data about each step of a running workflow in the

WF_ITEMS,
WF_ITEM_ACTIVITY_STATUSES,
WF_ITEM_ACTIVITY_STATUSES_H,
WF_ACTIVITY_ATTR_VALUES,
WF_NOTIFICATIONS, and
WF_NOTIFICATION_ATTRIBUTES

26 In the cloning process, when do you utilize dbTechStack vs just dbTier?


perl adcfgclone.pl dbTechStack vs perl adcfgclone.pl dbtier

There are different components with RapidClone that are used when cloning an Oracle
Applications instance. These are:

dbTechStack (RDBMS ORACLE_HOME)


database (database only, including control file creation)
dbconfig (database only, with no control file creation)
dbTier (both dbTechStack and database)

atTechStack (Tools and Web ORACLE_HOMEs)


appltop (APPL_TOP only)
appsTier (both atTechStack and appltop)

perl adcfgclone.pl dbtier


This will configure the ORACLE_HOME on the target database tier node + recreate the
control files. This is used for cold backup.
perl adcfgclone.pl dbTechStack
This will configure the ORACLE_HOME on the target database tier node only. When
running this command you will have to recreate the control files manually.
This is used to clone the Database separately, for example using RMAN hot backup.

When you use �dbTier� option, the perl script will configure both the tech stack
and data stack(ORACLE_HOME and Oracle Database) whereas �dbTechStack� option will
only configures ORACLE_HOME and it WILL NOT create database and this is generally
used while doing hot clone where db creation is a manual step.
27 How To Verify Application Of Pre-install Patches As They Are Not Recorded In
Tables AD_APPLIED_PATCHES Or AD_BUGS?

The preinstall mode of adpatch will not update the ad_bugs neither the
ad_applied_patches tables. The preinstall mode is used when Oracle may reuire
the install of a patch before running AutoInstall to install or upgrade Oracle
Applications. Otherwise, the patch should be applied in normal mode.

Please check the read me of the patch you are applying in pre install mode. It
would typically show the files and file versions installed by the patch.
By checking the file versions in the read me is the easy way to verify if the patch
is installed.

AutoPatch stores patch information in the database automatically each time it


successfully applies a patch. However, if the patch is not applied successfully, or
when you run AutoPatch in pre-install mode, patch history is not written directly
to the database, but instead is written to these patch information files:

javaupdates.txt, which contains information about changes to Java files

adpsv.txt, which contains information about changes to all files except Java files

Both files are located in the /admin/ directory. Each time you run AutoPatch, it
checks this directory for the existence of the patch information files. If it finds
them, it automatically uploads the information they contain to the patch history
database. If the upload is successful, AutoPatch then deletes the files from the
directory. The AutoPatch log file records whether the upload was successful or
unsuccessful.

28 Does Last Update Date Column In The AD_APPLIED_PATCHES Table Get Updated For
Every Patch Run?

There is no information captured in the AD_APPLIED_PATCHES Table for every re-


application of a patch.

Users should refer to tables like ad_patch_runs,ad_patch_run_bugs and


ad_patch_run_bug_actions to see change in last updated date as these tables hold
information of various runs of a patch and the bugs that may or may not have got
applied in a particular invocation.

Whereas the tables like ad_applied_patches and ad_bugs do not get updated their
rows with various invocations of adpatchand hence last updated date also does not
change.

1) I am applying a patch , can I open another session and run adadmin ?

Answer Yes, We can run unless you are running a process where workers are involved

2) I am applying a patch , can I open another session in another node and run
adpatch?

Answer No because it will create tables while running first session when you start
the 2nd session it will fail due to the first

Related:40 Adpatch every DBA should know

3) How to determine Oracle Apps Version ?

Answer select RELEASE_NAME from fnd_product_groups;


You should see output like

RELEASE_NAME��������12.1.3

4) How u will find whether a patch is applied/not?

Answer Query ad_bugs.

select substr(APPLICATION_SHORT_NAME,1,10) Product,substr(BUG_NUMBER,1,10) Patch#,


substr(ARU_RELEASE_NAME,1,10)
Version,last_update_date applied_date from applsys.ad_bugs where BUG_NUMBER=
to_char(�&bug_no�);

5) What is the difference between ad_bugs and ad_applied_patches?

Answer A patch can deliver solution for more than one bug, so ad_applied_patches
may not give u the perfect information as in case of ad_bugs.

6) What is FNDLOAD ?

Answer FNDLOAD is a utility which is similar to sqlloder but loads code objects
into database, where as SQLLOADER loads data objects into database.It has the
control file .lct and loader files are .ldt
FNDLOAD APPS/apps 0 Y UPLOAD @INV:patch/115/import/invctcg.lct
@INV:patch/115/import/US/invcat.ldt

Related:FNDLOAD and WFLOAD

7) What is autoconfig?

Answer Autoconfig is an adutility which is used to maintain application environment


and configuration files.

8) What are the parameter autoconfig will ask for?

Answer Context file name and apps password are asked in autoconfig run

$AD_TOP/bin/adconfig.sh

9) What is context file?

Answer Context file is a central repository, which stores all application


configuration information. The name is like _ .xml

10) How autoconfig will create env and configuration files?

Answer Autoconfig will go to each and every top template directory take the
templates from there and fill the values from xml file and create the required
files.Templates are stored in product top/admin/template

Related:Oracle apps Autoconfig templates location

11) In how many phases autoconfig will run?

Answer Autoconfig will run in 3 phases.

1.INIT � Instantiate the drivers and templates


2.SETUP � Fill the templatewith values from xml and create files
3.PROFILE � Update the profile values in database.

12) What is the location of adconfig log file?

Answer APPL_TOP/admin//log/

13) Is it possible to restore a autoconfig run?

Answer Adconfig will create a restore.sh script at $APPL_TOP/admin//out/. This


restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.

14) How to clear cache in R12?

Answer:

cd $COMMON_TOP/_pages
find . -name �*� -exec rm -rf {} \;cd $FND_TOP/patch/115/bin
./ojspCompile.pl �compile �flush -p 5
logfile set:
/u01/oracle/TEST/inst/apps/TEST_myserver/logs/appl/rgf/ojsp/ojspc_error.log
starting�(compiling all)
using 10i internal ojsp ver: 10
synchronizing dependency file:
enumerating jsps�8000
parsing jsp�8000
writing deplist�8000
initializing compilation:
eliminating children�5912 (-2088)
translating and compiling:
translating jsps�5912/5912 in 1m40s
compiling jsps�5912/5912 in 4m19s
Finished!

15) When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?

Answer <patch no>.zip

16) What is apps.zip/appsbrog2.zip file?

Answer apps.zip/appsbrog2.zip is the patchable archive of all java class files


required for oracle application.Apps.zip was used to old application version, but
from 11.5.8 onwards its appsbrog2.zip

17) What is the location of apps.zip/appsbrog2.zip?

Answer AU_TOP/java and JAVA_TOP

18) How to find Multi-Org is enabled or not?

Answer 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.

19) What is Multi-Org?

Answer If this is enabled we can store multiple organization information in a


single oracle application instance.
20) What is adodfcmp utility?

Answer This utility is used to recreate/repair corrupted database objects from


odf(object definition files) files.

Related:ADODFCMP utility

21) How you will change apps password?

Answer FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS

Related:FNDCPASS and AFPASSWD

22) What if apps password is changed with alter command?

Answer Applications won�t work.

23) What is the difference between alter and FNDCPASS in changing apps password?

Answer FNDCPASS will update some fnd tables like FND_ORACLE_USERID, FND_USERS other
than standard tables.

24) How to find the version of httpd/Apache web server?

Answer

$IAS_ORACLE_HOME/Apache/bin/httpd �version
Related:How to find R12 components Version

25) Where you will see when you have some problem with u r web
server(httpd/Apache)?

Answer access_log & error_log @INST_TOP/ora/10.1.3/Apache/Apache/logs

26) What is self service application?

Answer Whatever part of u r oracle application u r able to see through web browser
is self service.

27) What are the different modes u can start u r form server?

Answer socket and servlet

28) What is the significance of DISPLAY variable?

Answer Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in Reports.

29) Where is the concurrent manager log file located?

Answer $APPLCSF/$APPLLOG ,If APPLCSF is null, the log out are formed in individual
Product top

30) Is apps password necessary to start all the components of oracle application?

Answer No. Only to start/stop concurrent managers apps password is needed.

31) What is a concurrent manager?


Answer A concurrent manager is one which runs concurrent requests.

32) What are the different types of concurrent managers?

Answer
1. Internal concurrent manager � Will start all other managers and monitor
2. Standard Manager � All concurrent request by default will to go this
3. Conflict resolution manager � Concurrent programs with incompatibility will be
handled by this
4. Transaction manager � Handle all transaction requests

33) What are actual and target count in �Administer Concurrent Managers form�?

Answer Target is the no. of concurrent processes a manager is supposed to


start(specified in the definition of concurrent manager).Actual is the no. of
processes a manager started actually.

Target and Actual should be always same.

34) What if Target and Actual are not same?

Answer It means at operating system level resources are low to accommodate the
required processes for concurrent managers.

35) What are work shifts?

Answer Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

36) What if internal concurrent manager target and actual are not same?

Answer we need to bounce the concurrent manager using adcmctl.sh

37) How to bounce a single concurrent manager?

Answer From front end using �Administer Concurrent Manager form�.

38) What is dbc file and its location?

Answer dbc file contain database connection information. DBC file is used by oracle
applications to connect to database. Its location is $FND_SECURE

39) What is RRA?

Answer 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 request form�.

40) What is apps listener?

Answer Apps lintener 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�.

41) What is GSM?

Answer GSM stands for Generic service Manager, which will monitor application
processes like web, forms etc and restarts any of this processes if goes down.
42) How to find out what are the languages enabled in u r applications?

Answer Query fnd_languages

43) What are the problems u have faced while shutting down applications?

Answer 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.

44) What is rapid clone?

Answer 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

45) Explain the cloning process?

Answer Run adpreclone as applmgr and oracle user on source Perl adpreclone.pl
dbTier as oracle user Perl adpreclone.pl appsTier as applmgr user

2. Take the cold/hotbackup of source database


3. Copy the five directories appl,comn,ora , db,data to target
4. Rename the directories, and change the permission
5. Set the inventory in oraInst.loc
6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold
7. If the backup type is hotbackup then Perl adcfgclone.pl dbTechStack. Create the
control file on target from the control script trace file from source Recover the
database Alter database open resetlogs
8. Run autoconfig with the ports changed as per requirement in xml.
9. Run perl adcfgclone.pl appsTier as applmgr
10. Run autoconfig with the ports changed as per requirement in xml.

How to clone R12.1 Environment

46. What is licence manager?

Answer Licence manager(adlicmgr) utility is used to licence/unlicence , enable new


languages,enbale country specific functionality.

47. What is tnsping?

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

48: How to compile a form using frmcmp or frmcmp_batch?

Answer

frmcmp_batch module=/u000/TEST/testappl/au/11.5.0/forms/US/FNDCNP.fmb
userid=APPS/APPS output_file=/u000//TEST/testappl/fnd/11.5.0/forms/US/FNDCNP.fmx
module_type=form batch=yes compile_all=special
49) What is APPLPTMP environment variable?

Answer This is the temporary file location for the pl/sql temp files. If this
variable was not set then the concurrent programs may error-ed out.

50 What is mean by enabling maintenance mode?

Answer 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.

51) Is that necessary to enable maintenance mode while applying a patch?

Answer We can even apply a patch without enabling maintenance mode with the
following option

Adpatch options=hotpatch

52) What is the significance of utl_file_dir parameter in init.ora file?

Answer 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.

53 How you will find workflow version?

Answer Run wfver.sql@FND_TOP/sql script as apps user

54) How to validate that any application user password is correct or not from
backend?

Answer

select fnd_web_sec.validate_login(�<username>�,�<password>�) from dual;

55) How to compile jsp�s?

Answer Force compilation of all jsps using the following command ojspCompile.pl
�compile �flush

56) What are the files which contain apps password in R12?

Answer
There is no files

56) What is the script to find out ICM status?

Answer afimchk.sql@FND_TOP/sql

57) What is the script to list the concurrent request status?

Answer afrqrun.sql@FND_TOP/sql

58) What is the script that Lists managers that currently are running a request?

Answer afcmrrq.sql@FND_TOP/sql

59) How can I determine whether a template is customizable or non-customizable in


Autoconfig?
Answer If a keyword �LOCK� is present at the end of the file entry in the
respective driver, then it is a non-customizable template. If the �LOCK� keyword is
not seen, then that template can be customized.

60) How to check whether the product is install,shared and Not installed in Apps.?

Answer By using below Query we can find.

SQL>select t.application_name, t.application_id, i.patch_level,


decode(i.status,�I�,�Fully Installed�,�N�,�Not
Installed�,�S�,�Shared�,�Undetermined�) i, fnd_application_vl twhere
i.application_id = t.application_idorder by t.application_id;

Q)What is your day to day activity as an Apps DBA?


Ans:
As an Apps DBA we monitor the system for different alerts (Entreprise Manager or
third party tools used for configuring the Alerts) Tablespace Issues, CPU
consuption
Database blocking sessions..etc
Regular maintanance activies like cloning,patching,custom code migrations (provided
by developers)
Working with user isses.

Q)How often Do you patch?


Ans: Usually for non-production the patching request comes aroung weekly 4-6 and
the same patches will be applied to Production in the outage or maintanance window.
Production has weekly maintance window (Eg Sat 6PM to 9PM) where all the changes
(patches) will applied on production.

Q)How often Do you clone?


Ans: Cloning happens biweekly or monthly depending on the organization
requierement.

Q)What change control/management or CCB?


Ans: Every organization has change control process, Change control process is no
change goes into production witout proir testing on non-production instance.
Eg: If a user encouters an issue in production instance and the fix for the issue
is known, Still the fix should not be applied directly on production, as it is not
tested.
The same fix need to be first applied on a non-prod instance where the similar
issue is happening and test the issue and instance stability.
Once user is happy with the results the change or fix will be implemented to
production with the approval from Change control Board, CCB is a managemant team
who reviews all the changes being deployed to production,
Depending on the need and criticality and testing results they approve the change
movement to production instance.

Q)How much time does it take to upgrade, clone ?


Ans: Clone usually takes around 48hrs to copy and configure and upgrade depends on
the database size and module involved.
upgrade from 11.5.9 to 11.5.10.2 will take around 3-4 days and 11i to R12 upgrade
will take around 4-5 days.

Q)What is the meaning QA,CRP,SIT,DEV,UAT,PRE-PROD,PROD Instance?


QA - Tesing Instance
CRP - Conference Room Pilot
SIT - System Integration Testing
DEV - Developement
UAT- User Acceptence Testing
STAGE - Pre-production Instance
Prod - Production/actuall instance where the business is running

Q)What do we have in FND_NODES?Ans:


FND_NODES table contains information about node_names and services enabled on a
node.
In multinode instance if you want to know which node is running what services, You
can query the fnd_nodes and get that information.

Q)when do we run FND_CONC_CLONE.SETUP_CLEAN ?


Ans:
FND_NODES table contains node information, If you have cloned test instance from
production still the node information of production will be present after clone in
the test instance.
we use FND_CONC_CLONE.SETUP_CLEAN to cleanup FND_NODES table in the target to clear
source node information as part of cloning.
Below syntax to execute:
SQL> sho user
USER is "APPS"
SQL> EXEC FND_CONC_CLONE.SETUP_CLEAN;
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.

This will delete all the entries in the fnd_nodes table, to populate it with target
system node information, Run autoconfig on DB node and Applications node.

Q)How verify the sysadmin password from command line?


Ans:
This utility can be used to verify the GUEST/ORACLE password
SQL>select fnd_web_sec.validate_login('SYSADMIN','<sysadmin_password>')from dual;
If it returns Y then sysadmin password is correct
If it returns N then sysadmin password that we are using
Eg:
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN123') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN123')
--------------------------------------------------------------------------------
N
SQL> select fnd_web_sec.validate_login('SYSADMIN','SYSADMIN') from dual;
FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN')
--------------------------------------------------------------------------------
Y

Q)List out few Apps related tables ?


Ans:
CONCURRENT REQUEST/PROGRAM/MANAGERS
-------------------
FND_CONCURRENT_QUEUES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_QUEUE_SIZE

FND/AOL Tables
--------------
FND_APPL_TOPS
FND_LOGINS
FND_USER
FND_DM_NODES
FND_TNS_ALIASES
FND_NODES
FND_RESPONSIBILITY
FND_DATABASES
FND_UNSUCCESSFUL_LOGINS
FND_LANGUAGES
FND_APPLICATION
FND_PROFILE_OPTION_VALUES

AD/Patches
-------------
AD_APPLIED_PATCHES
AD_PATCH_DRIVERS
AD_BUGS
AD_INSTALL_PROCESSES
AD_SESSIONS
AD_APPL_TOPS

Q) How To find the latest application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE updated,ROW_SOURCE_COMMENTS "how it is done",BASE_RELEASE_FLAG
"Base version" FROM AD_RELEASES where END_DATE_ACTIVE IS NULL

Q) How to find out if any patch except localisation patch is applied or not, if
applied, that what all drivers it contain and time of it's application
select A.APPLIED_PATCH_ID, A.PATCH_NAME, A.PATCH_TYPE, B.PATCH_DRVIER_ID,
B.DRIVER_FILE_NAME, B.ORIG_PATCH_NAME, B.CREATION_DATE, B.PLATFORM, B.SOURCE_CODE,
B.CREATIONG_DATE, B.FILE_SIZE, B.MERGED_DRIVER_FLAG, B.MERGE_DATE from
AD_APPLIED_PATCHES A, AD_PATCH_DRIVERS B where A.APPLIED_PATCH_ID =
B.APPLIED_PATCH_ID and A.PATCH_NAME = ''

Q) How to know that if the patch is applied successfully, applied on both node or
not, start time of patch application and end time of patch application, patch top
location , session id ... patch run id */
select D.PATCH_NAME, B.APPLICATIONS_SYSTEM_NAME, B.INSTANCE_NAME, B.NAME,
C.DRIVER_FILE_NAME, A.PATCH_DRIVER_ID, A.PATCH_RUN_ID, A.SESSION_ID, A.PATCH_TOP,
A.START_DATE, A.END_DATE, A.SUCCESS_FLAG, A.FAILURE_COMMENTS from AD_PATCH_RUNS A,
AD_APPL_TOPS B, AD_PATCH_DRVIERS C, AD_APPLIED_PATCHES D where A.APPL_TOP_ID =
B.APPL_TOP_ID AND A.PATCH_DRIVER_ID = C.PATCH_DRIVER_ID and C.APPLIED_PATCH_ID =
D.APPLIED_PATCH_ID and A.PATCH_DRIVER_ID in (select PATCH_DRIVER_ID from
AD_PATCH_DRIVERS where APPLIED_PATCH_ID in (select APPLIED_PATCH_ID from
AD_APPLIED_PATCHES where PATCH_NAME = '')) ORDER BY 3;

Q) Howto find the base application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE when updated, ROW_SOURCE_COMMENTS "how it is done" from
AD_RELEASES where BASE_RELEASE_FLAG = 'Y'

Q) How To find all available application version


select ARU_RELEASE_NAME||'.'||MINOR_VERSION||'.'||TAPE_VERSION version,
START_DATE_ACTIVE when updated, END_DATE_ACTIVE "when lasted", CASE WHEN
BASE_RELEASE_FLAG = 'Y' Then 'BASE VERSION' ELSE 'Upgrade' END "BASE/UPGRADE",
ROW_SOURCE_COMMENTS "how it is done" from AD_RELEASES

Q) How To get file version of any application file which is changed through patch
application
select A.FILE_ID, A.APP_SHORT_NAME, A.SUBDIR, A.FILENAME, max(B.VERSION) from
AD_FILES A, AD_FILE_VERSIONS B where A.FILE_ID = B.FILE_ID and B.FILE_ID = 86291
group by A.FILE_ID, A.APP_SHORT_NAME, A.SUBDIR, A.FILENAME

Q) How To get information related to how many time driver file is applied for bugs
select * from AD_PATCH_RUN_BUGS where BUG_ID in (select BUG_ID from AD_BUGS where
BUG_NUMBER = ''

Q) How To find latest patchset level for module installed


select APP_SHORT_NAME, max(PATCH_LEVEL) from AD_PATCH_DRIVER_MINIPKS GROUP BY
APP_SHORT_NAME

Q) How to find out Patch level of mini Pack


Select product_version,patch_level from FND_PROUDCT_INSTALLATIONS where patch_level
like '%&shortname%';
Replace short name by name of Oracle Apps Minipack for which you want to find out
Patch level . ex.
AD - for Applications DBA
GL - for General Ledger
PO - Purchase Order

Q)List out Profile Options Useful for Oracle Apps DBA?


Here is the list of few profile options which Apps DBA use frequently.
**It is not necessary that you as Apps DBA must know all profile options**
Applications Help Web Agent
Applications Servlet Agent
Applications Web Agent
Concurrent: Active Request Limit
Concurrent: Hold Requests
Concurrent: Multiple Time Zones
Concurrent: Report Access Level
Concurrent: Report Copies
Concurrent: Request priority
Database Instance
Enable Security Group
FND: Debug Log Filename
FND: Debug Log Level
Forms Runtime Parameters
Gateway User ID
ICX: Discoverer Launcher
ICX: Forms Launcher
ICX: Report Launcher
ICX: Limit Connect
ICX: Limit time
ICX: Session Timeout
MO Operating Unit
Node Trust Level
RRA: Delete Temporary Files
RRA: Enabled
RRA: Service Prefix
RRA: Maximum Transfer Size
Self Service Personal Home Page Mode
Sign-On: Audit Level
Signon Password Failure Limit
Signon Password Hard to Guess
Signon Password Length
Signon Password No Reuse
Site Name
Socket Listener Port
TCF: Host
TCF: Port
TWO TASK
Viewer: Text

1)I am applying a patch , can I open another session and run adadmin ?
Ans:
Yes, unless you are running a process where workers are involved

2)I am applying a patch , can I open another session in another node and run
adpatch?
Ans:
No

3)Output & logfiles for requests executed on source instance not working on cloned
instance??
Ans:
Check whether apps listener is running

4)What happens if you don't give cache size while defining concurrent manager?
Ans:
Most often when a request goes "inactive/no manager" and is then processed a short
time
later, the solution is to either increase the cache size for your Standard manger,
or increase the actual number of Standard Manager processes that can run. Cache
Size is set in the Concurrent/Manager/Define form. Basically, this regulates how
many requests a manager will pick up for each sleep cycle.

5)Why should Apps & Applsys passwords always be the same?


Ans:
The need to have the same password for Apps and Applsys is because when you sign on
to apps, intially it connects to a public schema called APPLSYSPUB. This validates
AOL username and password that we enter (operations/welcome using guest user
account. Once this is verified we select responsibility, this is validated by
APPLSYS
schema and then it connects to APPS schema.

Since it uses both applsys and apps during signon process this expects both the
password
to be identical. Try changing apps password to something else and try to login, the
validation at the last stage would fail. This would result in failure of
application login.
Apps is a universal schema has synonyms to all base product tables and sequences.
This
also has code objects for all products (triggers, views, packages, synonyms etc.).
Applsys schema has applications technology layer products like FND and AD etc.

6)How to Complie Invalid Objects?


Ans:
alter package <package_name> compile ;alter package <packae_ame> compile body;alter
view <view_name> compile;
SQL>EXEC UTL_RECOMP.RECOMP_PARALLEL(4);
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

7)Why DB-CM-ADMIN are always insatlled on the same machine in Oracle Applications
in Multi Node Installation ?
Ans:
There is no restriction to install all of them on a single machine,but if we
install them on 3 different machines then when we will run any AD utility on admin
node or perform any upgradation it needs to access the database so there will be
lot of overhead in accessing the database node on network so to avoid this overhead
we install them on same machine. Similar is the case when we run any concurrent
request on the CM node as Concurrent manager also updates the database objects.

8)What URL you use to access Disco viewer & Disco plus .
Ans:
http://hostname.domain/discoverer4i/viewer
http://hostname.domainname:port/discoverer/viewer (10gAS)
http://hostname.domainname:http_port/discoverer/viewer ( R12)
http://hostname.domainname:port/discoverer/plus (10gAS)

9)What is Yellow Bar Warning?


Ans:
Oracle Applications Release 11.5.1 (11i) requires that its code run in a trusted
mode, and
uses J-Initiator to run Java applets on a desktop client. If an applet is
"trusted," however,
Java will extend the privileges of the applet. The Yellow Warning Bar is a warning
that
your applet is not running in a trusted mode. To indicate that an applet is
trusted, it must
be digitally signed using a digital Certificate, so Oracle Applications requires
that all Java
archive files must be digitally signed.

10) How to find if any service is listening on particular port or not ?


Ans:
netstat -an | grep {port no}

11)How can u change the logfiles location suppose CM logfile location is APPLCSF
Ans: Change the Configuration File parameters
change s_applcsf,s_appllog,s_applout variables in XML file and run the autoconfig.

12) Conflict resolution managers resolves the conflicts yes , but hw it knows tht
there are conficts?why conflicts occur?
Ans:
Concurrent managers read request to start concurrent programs running. The Conflict
Resolution Manager checks concurrent program definitions for incompatibility rules.

If a program is identified as Run Alone, then the Conflict Resolution Manager


prevents the concurrent managers from starting other programs in the same conflict
domain.
When a program lists other programs as being incompatible with it, the Conflict
Resolution Manager prevents the program from starting until any incompatible
programs in the same domain have completed running.

13)What is adovars.env file ?


Ans:
The adovars.env file, located in $APPL_TOP/admin, specifies the location of
variousfiles such as Java files, HTML files, and JRE (Java Runtime Environment)
files. It is called from the main applications environment file.

14) How to find the wordsize (32-bit or 64-bit) of Oracle Database


Ans:
$cd $ORACLE_HOME/rdbms/bin
$file oracle

15)How to Compile JSP's without using ADADMIN


perl -x $JTF_TOP/admin/scripts/ojspCompile.pl --compile
16)What is wdbsvr.app file used for? What's full path of this file? What's
significance of this file ?
Ans:
$IAS_ORACLE_HOME/Apache/modplsql/cfg
This file is used by mod_plsql component of Apache to connect to database. So when
you type url http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds
that request is for /pls/ then Apache delegates this request to mod_pls component
which in turn pick this file & check if there is any DAD with name SID

17)Whats main concurrent Manager types.


Ans:

ICM - Internal Concurrent Manager which manages concurrent ManagersStandard


Managers - Which Manage processesing of requests.
CRM - Conflict Resolution Managers , resolve conflicts in case of
incompatibility.Transactions Managers - These managers are process for particler
business Applications.Custom Concurrent Managers - The managers defined by the
users.

18)what are .rf9 files?


Ans:
These files are used during restart of patch in case of patch failure because of
some reason.
Located in $APPL_TOP/admin/<SID>/restart this folder also contains .bak ,.bk2
filesSAMPLE FILE (adwork012.rf9)
%%% restart file format 11.5.A
Location: $APPL_TOP/admin/<SID>/log contains .req files

19)Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why its used ?


Ans:
This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is
usually in directory $OA_HTML/bin or $FNS_TOP/Resource on forms tier. This file is
used by any forms client session. When a user try to access forms , f60webmx picks
up this file and based on this configuration file creates a forms session to
user/client.

20)Can you clone from multi node system to single node system & vice versa ?
Ans:
Yes, This is now supported via Rapid Clone

21)Does rapid clone takes care of oraInventory after clone?


Ans:
Yes, Rapid Clone will automatically Update Global oraInventory during configuration
phase.

22)What is .dbc file , where its stored , whats use of .dbc file ?
Ans:
dbc file called as database connect descriptor file which stores database
connection information used by application tier to connect to database. This file
is in directory
$FND_TOP/secure also called as FND_SECURE

23)What are the ways to reduce patch timing?


Ans:
Merging patches via admrgpch
Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
Staged APPL_TOP during upgrades
Increase batch size (Might result into negative )

24)How you put Applications 11i in Maintenance mode ?


Ans:
Use adadmin to change Maintenance mode is Oracle Apps. With AD.I you need to enable
maintenance mode in order to apply apps patch via adpatch utility. If you don't
want to put apps in maintenance mode you can use adpatch options=hotpatch feature.
Also you can use the script $AD_TOP/patch/115/sql/ adsetmmd.sql

25)What are various options available with adpatch ?


Ans:
Various options available with adpatch depending on your AD version are
autoconfig, check_exclusive, checkfile, compiledb, compilejsp, copyportion,
databaseprtion,generateportion, hotpatch, integrity, maintainmrc, parallel, prereq,
validate

26)adident utility is used for what ?


Ans:
adident utility in oracle apps is used to find version of any file . AD
Identification.
for ex. "adident Header <filename>

27)What is adsplice utility ?


Ans:
adsplice in oracle apps is utility to add a new product.

28)How can you licence a product after installation ?


Ans:
You can use ad utility adlicmgr to licence product in Oracle Apps.

29)What is MRC ? What you do as Apps DBA for MRC ?


Ans:
MRC also called as Multiple Reporting Currency in oracle Apps. Default you have
currency in US Dollars but if your organization operating books are in other
currency then you as apps dba need to enable MRC in Apps. How to enable MRC coming
soon...

30)Whats is JVM(Java Virtual Machine) and which component uses JVM ?


Ans:
JVM stands for Java Virtual Machine, JVM acronym for Java Virtual Machine which
executes instructions generated by Java compiler. So user click on any Self Service
Request or any program which uses Java, then Apache forwards this request to
mod_jserv (mod_oc4j in 10g AS) & mod_jserv caters this request with help of JVM.

31)Where to find Apps 11i JVM logs ?


Ans:
JVM log location is defined in java.sh ( found in
$IAS_ORACLE_HOME/Apache/Apache/bin) Oracle Apps 11i JVM log file directory is
defined by parameter JVMLOGDIR ($IAS_ORACLE_HOME/Apache/Jserv/logs/jvm ) and log
file are defined by STDOUTLOG &
STDERRLOG. Example of JVM log files are OACoreGroup.0.stderr ,OACoreGroup.0.stdout,
DiscoGroup.0.stdout, DiscoGroup.0.stderr,XmlSvcsGrp.0.stderr, XmlSvcsGrp.0.stdout
where 0 denotes first JVM & 1 denotes second JVM. stderr records error encountered
in JVM & stdout records other information like GC ..

32)How to check JDBC Connection ?


select count(*),module from v$session where program like '%JDBC%' group

33)What is error_log in Apache,what entries are recored in access_log ? Where is


default location of this file ?
Error_log will contain all the errors/warnings faced Apache web server in Oracle
Apps 11i.
This file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs.

34)What is access_log in apache , what entries are recored in access_log ? Where is


default location of this file ?
Ans:
access_log in Oracle Application Server records all users accessing oracle
applications 11i.
This file location is defined in httpd.conf with default location at
$IAS_ORACLE_HOME/Apache/Apache/logs.

35)Where is Jserv configuration files stored ?


Ans:
Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

36)What are main configuration files in Web Server (Apache) ?


Main configuration files in Oracle Apps Web Server are
httpd.conf,
httpd_pls.conf,
jserv.conf,
jserv.properties,
zone.properties

37)What is session time out parameter & where all you define these values ?
Ans:
In Apps there are two broad categories of session
- Self Service Application Session ( Server by Web Server iAS Apache & Jserv, like
iRecruitment,iProcurement)
- Forms session ( served by your form session, like system Administrator)

What is Session Idle time ?


If Oracle Apps client is not doing any activity for some time session during that
time is called as Idle Session & because of security reason, performance issues and
to free up system resource Oracle Applications terminates client session( both
forms & self service) after idle time value is reached to the one mentioned in
configuration file.
From FND.G or 11.5.9 or with introduction of AppsLocalLogin.jsp to enter into
application, profile option "ICX Session Timeout" is used only to determine Forms
Session Idle timeout value .
This might be confusing as earlier this profile option used to control forms as
well as self service application(with session.timeout) session.timeout is used to
control Idle session timeout for Self Service Applications ( Served by Jserv via
JVM )
From where ICX : Session Timeout & session.timeout get values ?
Autoconfig determines value for profile option "ICX: Session Timeout" and
"session.timeout" from entry in context file ( $APPL_TOP/admin/SID_hostname.xml )
with parameter s_sesstimeout
where value mentioned is in milliseconds so profile option ICX: Session Timeout
value should be s_sesstimeout/ (1000 * 60) which means here its 10 Minutes. This
value is also set in
zone.properties in $IAS_ORACLE_HOME/Apache/Jserv/etc where number mentioned is in
milli second i.e. 600000 ( equal to 10 Minutes)session.timeout = 600000
session.timeout mentioned in zone.properties is in milli secondsICX Session Time
out mentioned in profile option ICX: Session Timeout is in minutes so ICX session
timeout=30 & session.timeout= 1800,000 are same 30 minutes
38)What is your Oracle Apps 11i Webserver Version and how to find it ?
Ans:
cd $IAS_ORACLE_HOME/Apache/Apache/bin
./httpd -version
Server version: Oracle HTTP Server Powered by Apache/1.3.19
Server built: Dec 1- 2010 14:59:13 (iAS 1.0.2.2.2 rollup 5)

39)How to determine Oracle Apps 11i Version ?


Ans:
SQL>select RELEASE_NAME from fnd_product_groups;

40)What is content of dbc file & why its important ?


Ans:
DBC file is quite important as whenever Java or any other program like forms want
to connect to database it uses dbc file. Typical entry in dbc file is
GUEST_USER_PWD ,APPS_JDBC_URL ,DB_HOST

41)There are lot of dbc file under $FND_SECURE, How its determined that which dbc
file to use from $FND_SECURE ?
Ans:
This value is determined from profile option "Applications Database ID"

42)What is RRA/FNDFS ?
Ans:
Report Review Agent(RRA) also referred by executable FNDFS is default text viewer
in Oracle Applications 11i for viewing output files & log files.

43)What is PCP is Oracle Applications 11i ?

PCP is acronym for Parallel Concurrurent Processing. Usually you have one
Concurrent Manager executing your requests but if you can configure Concurrent
Manager running on two machines (Yes you need to do some additional steps in order
to configure Parallel Concurrent Processing) .So for some of your requests primary
CM Node is on machine1 and secondary CM node on machine2 and for some requests
primary CM is on machine2 & secondary CM on machine1.

44)What is use of Apps listener ?


Ans:
Apps Listener usually running on All Oracle Applications 11i Nodes with listener
alias as APPS_$SID is mainly used for listening requests for services like FNDFS &
FNDSM.
FNDFS - FND File Server also known as RRA Reports Review Agent is used to view text
files in Oracle 11i.
FNDSM - FND Service Manager is a concurrent manager in GSM, and serves requests
like CM's

45)How will you find Invalid Objects in database ?


Ans:
sql>select count(*) from dba_objects where status like 'INVALID';

46)What is difference between adpatch & opatch ?


Ans:
adpatch is utility to apply oracle applications patches whereas opatch is utility
to apply database patches

47)What is forms server executable Name ?


Ans:
f60srvm
48)What are different modes of forms in which you can start Forms Server and which
one is default ?
Ans:
You can start forms server in SOCKET or SERVLET by defualt Forms are configured to
start in socket mode
http://www.dbatutor.com/2010/12/forms-servlet-or-socket-mode-which-is.html

49)Where is HTML Cache stored in Oracle Apps Server ?


Ans:
Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you
might find it in $OA_HTML/_pages

50)What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD ?


Ans:
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
0 is request id (request ID 0 is assigned to request ID's which are not submitted
via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the
command-line not from the Submit Request Form.

51)Whats is TWO_TASK in Oracle Database ?


Ans:
TWO_TASK mocks your tns alias which you are going to use to connect to database.
Lets assume you have database client with tns alias defined as PROD to connect to
Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way
to connect is sqlplus username/passwd@PROD ; now if you don't want to use @PROD
then you set
TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql will check
that it has to connect to tnsalias define by value PROD i.e. TWO_TASK

52)What is GWYUID ?
Ans:
GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

53)Where GWYUID defined & what is its used in Oracle Applications ?


Ans:
GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to
connect to database by thin clients.

54)How to check number of forms users at any time ?


Ans:
Forms Connections initiate f60webmx connections so you can use
ps -ef | grep f60webmx | wc -l

55)What is FNDLOAD and what it is used for ?


http://www.dbatutor.com/2010/12/what-is-fndload.html

56)How can you check which node is running what service?


Ans:
select * from fnd_nodes;

57)What is difference between Socket & Servlet Mode in Apps Forms ?


http://www.dbatutor.com/2010/12/forms-servlet-or-socket-mode-which-is.html

58) What is make program in Unix ?


Ans:
make is utility in Unix/Linux to maintain , update & generate an file mainly
executable.
59)What are .ldt & .lct files which you see in apps patch or with FNDLOAD ?
http://www.dbatutor.com/2010/12/what-is-fndload.html

60)What are .odf file in apps patch ?


odf stands for Object Description Files used to create tables & other database
objects.

1. How to determine Oracle Apps 11i Version ?


Ans : select RELEASE_NAME from fnd_product_groups;
You should see output like
RELEASE_NAME-----------------------11.5.10.2

2. How to find Database version ?


Ans :
SQL> select * from v$version;
The command returns the release information, such as the following:Oracle9i
Enterprise Edition Release 9.2.0.7.0 - ProductionPL/SQL Release 9.2.0.7.0 -
ProductionCORE 9.2.0.7.0 ProductionTNS for 32-bit Windows: Version 9.2.0.7.0 -
ProductionNLSRTL Version 9.2.0.7.0 - Production

3. How to find opatch Version ?


Ans : opatch is utility to apply database patch , In order to find opatch version
execute"$ORACLE_HOME/OPatch/opatch version"

4. How to find out invalid objects in the database


Ans : select count(*) from dba_objects where status ='INVALID'

5. How you will see hidden files in linux/solaris?


Ans : ls -la

6. How to find that the database is 64-bit/32-bit?


Ans : $RDBMS_ORACLE_HOME/bin/file oracle

7. What is top command?


Ans : top is a operating system command, it will display top 10 processes which are
taking high cpu and memory. 8. What is a patch?Ans : A patch can be a solution for
a bug/it can be a new feature.
9. What are the different types of patches?

Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

8. What is a oneoff patch?


Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s

9. What is a mini pack ?


Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

10. What is Family pack ?


Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to
perticular patchsetlevel.

11. What is Maintanance pack ?

Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9
12. What is a Rollup patch?
Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

13. What is consilidated patch?

Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

14. How u will find whether a patch is applied/not?

Ans : Query ad_bugs.


15. What is the other table where u can query what are the patches applied?

Ans : Ad_applied_patches

16. What is the difference between ad_bugs and ad_applied_patches?

Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

17. How u apply a patch?

Ans : adpatch
18. What inputs you need to apply a patch other than driver name and etc?

Ans : apps and system passwords


19. What are the table u r adpatch will create and when?

Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it


will apply d,g and u drivers

20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

21. If it is a multinode installation which driver we need to apply on which node?

Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to


apply on all nodes.

22.While applying a application patch is that necessary that u r database and


listener should be up?

Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?

Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS


tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

24. What is adctrl?


Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.

25. Can u name some of the menu options in adctrl?


Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

26. How to skip a worker and why?

Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

27. How adpatch knows what are the pre-req�s for the patch which it is applying?

Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.

28. What is FNDLOAD ?


Ans: FNDLOAD is a utility which is similar to sqlloder but loads code objects into
database, where as SQLLOADER loads data objects into database.

29. What c-driver will do?


Ans:

C-drive copies the files from patch unzipped directory to required location in u r
application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.

30. How adpatch will know the file versions of the patch delivered files?
Ans:

With each patch a file with name f.ldt is delivered , which contain the file
versions of the files dilivered with the patch. Adpatch will use this file to
compare the file versions of files its delivering with the file on file system.

31. What is the adpatch log file location?


Ans : APPL_TOP/admin/SID/log

32. What is the worker log file name and its location?
Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

33. How u will know what are the files the patch is going to change just my
unzipping the patch?
Ans:

When u unzip a patch it will keep all the files related to a particular product
under that directory inside u r patch directory for example if the patch delivering
files related to FND product then it will create a sub directory under the patch
directory with the name FND in which it will put all related files to that product

34. What is the significance of backup directory under u r patch directory?


Ans:

When we apply a patch it will keep the copy of the files which its going to change
in file system.

35. What are the different modes you can run your adpatch?
Ans :

1.Interactive � default mode

2.Non interactive � Use defaults files to store prompt values

(adpatch defaultsfile= interactive=no)

3. Test � Without actually applying a patch just to check what doing.(adpatch


apply=no)

4. Pre-install � (adpatch preinstall=y)

This mode will be usefull to discrease upgrade downtime as its applies bus fixes
without running SQL,EXEC and generate portion of patch.

36. How u will monitor u r applications as well as database?


Ans:

We have our custom scripts which is sheduled to run at a specific time which will
monitor whether applications and databases are up/not. And it will mail us if some
processes is not running. And we have one script which will check database alert
log for ORA errors and mails it to us . Based on this we will react.

37. What are the latest ORA errors u have encountered?


Ans:

Useually we will get the ORA errors like unable to extend the tablespace by so and
so size. And we will check those tablespaces for space, if space is not there we
will resize the datafile and add one more datafile.

38. Which table u will query to check the tablespace space issues?
Ans : bytes column in dba_free_spaces and dba_data_files

39. Which table u will query to check the temp tablespace space issues?
Ans : dba_temp_files

40. What is temp tablespace? And what is the size of temp tablespace in u r
instances?
Ans : Temp tablespace is used by so many application programs for sorting and other
stuff. Its size is between 3 to 10 GB.

41. What is autoconfig?


Ans : Autoconfig is an adutility which is used to main application environment and
configuration files.

42. What are the parameter autoconfig will ask for?


Ans : Context file name and apps password

43. What is context file?


Ans : Context file is a central repositary, which stores all application
configuration information. The name is like _ .xml
44. How you will find autoconfig is enabled/not for u r applications?
Ans: 1. Open any env / configuration files, the first few lines will tell u that
this files are maintained by autoconfig.2. If contextname.xml file is there in
APPL_TOP/admin

45. How autoconfig will create env and configuration files?


Ans: Autoconfig will go to each and every top template directory take the templates
from there and fill the values from xml file and create the required files.

46. In how many phases autoconfig will run?


Ans : Autoconfig will run in 3 phases.

1.INIT � Instantiate the drivers and templates

2.SETUP � Fill the templated with values from xml and create files

3.PROFILE � Update the profile values in database.

47. What is the location of adconfig log file?


Ans : APPL_TOP/admin//log/

48. Is it possiable to restore a autoconfig run?


Ans :

Partially. Adconfig will create a restore.sh script at $APPL_TOP/admin//out/. This


restore.sh will copy the backed up files before autoconfig run to its original
locations. But the profile values updated in the database can�t be restored back.

49. How to run autoconfig in test mode?


Ans :

adchkcfg.sh script at AD_TOP/bin. This script will run autoconfig in test mode and
create the difference file which tells us what is going to change , when u actually
run autoconfig.

50. How to find autoconfig is enabled or not for database?


Ans:

If we have appsutil directory under RDBMS_ORACLE_HOME

51. When a patch delivers java files what extra file u will get when u unzip the
patch, other then u r dirver and readme files?
Ans : j.zip52.

52.What is apps.zip/appsbrog2.zip file?


Ans : apps.zip/appsbrog2.zip is the patchable archive of all java class files
required for oracle application.Apps.zip was used to old application version, but
from 11.5.8 onwards its appsbrog2.zip

53. What is the location of apps.zip/appsbrog2.zip?


Ans : AU_TOP/java and JAVA_TOP

54. What is for �validating apps schema� option in adadmin?


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

55. What is �compile apps schema� option in adadmin?


Ans : It will compile the invalid database objects.

56. How to find invalid objects in database?


Ans : select count(*) from dba_objects where status=�INVALID�;

57. 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.

58. 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.

59. 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).

60. What is Multi-Org?


Ans: If this is enabled we can store multiple organization information in a single
oracle application instance.

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

62. 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.

63. How to find the version of a file?


Ans : 1. adident Header 2. strings -a filename grep Header

64. What is adodfcmp utility?


Ans : This utility is used to recreate/repair corrupted database objects from
odf(object defination files) files.

65. How you will change apps password?


Ans: FNDCPASS 0 y apps/ system/ SYSTEM APPLSYS

66. What if apps password is changed with alter command?


Ans : Applications won�t work.

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

67. Where the FNDCPASS utility is located?


Ans : Concurrent node @FND_TOP/bin

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

69. How to find the version of httpd/Apache web server?


Ans : $IAS_ORACLE_HOME/Apache/bin/httpd �version

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

71. Where you will see when you have some problem with u r webserver(httpd/Apache)?
Ans : access_log & error_log @IAS_ORACLE_HOME/Apache/Apache/logs
72. When Apache starts what other components its start ?
Ans : PL/SQL Listener, Servlet Engine, OJSP Engine

73. 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.

74. What is self service application?


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

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

76. What is the location of jserv.log?


Ans : IAS_ORACLE_HOME/Apache/Jserv/log

77. What is the location of wdbsvr.app ?


Ans : IAS_ORACLE_HOME/Apache/modplsql/cfg

78. What are jserv.conf and jserv.properties files?


Ans : These are the configuration files which were used to start jvm�s(servlet
engine) by apache.

79. What is mean by clearing cache and bouncing apache?


Ans :

1. Stop apache (adapcctl.sh stop apps)

2. Clear cache � Go to $COMMON_TOP/html/_pages and delete _oa_html directory

(rm �r _oa__html)

3. Start apache (adapcctl.sh start apps)

80. What is forms configuration file and its location?


Ans : appsweb_contextname.cfg @$COMMON_TOP/html/bin

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

82. What is the difference beween socket and servlet mode?


Ans :

In socket mode forms sessions are represented by f60webmx

In servlet mode forms sessions are represented by apache processes.

83. What is forms metric server and client?


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

84. Where the forms server related errors will be logged?


Ans : access_log and error_log

85. What is report server configuration and log file name and its location?
Ans : Configuration file � REP_.ora
Log file � REP_.log @806_ORACLE_HOME/reports60/server

86. What is CGIcmd.dat file and its location?


Ans : CGIcmd.dat file is the run time parameter file the report server located @
806_ORACLE_HOME/reports60/server

87. What is the significance of DISPLAY variable?


Ans : Vnc server should be up and running at the specified port value in DISPLAY
variable, otherwise reportserver may not able to show the graphics in Reports.

88. Where is the concurrent manager log file located?


Ans : $COMMON_TOP/admin//log or $APPLCSF/$APPLLOG

89. Is apps password necessary to start all the components of oracle application?
Ans : No. Only to start/stop concurrent managers apps password is needed.

90. What is a concurrent manager?


Ans : A concurrent manager is one which runs concurrent requests.

91. What are the different types of concurrent managers?


Ans :

1. Internal concurrent manager � Will start all other managers and monitor

2. Standard Manager � All concurrent request by default will to go this

3. Conflict resolution manager � Concurrent programs with incompatabilites will be


handled by this

4. Transaction manager � Handle all transaction requests

92. What are actual and target count in �Adminster Concurrent Managers form�?

Ans : Target is the no. of concurrent processes a manager is supposed to


start(specified in the defination of concurrent manager).Actual is the no. of
processes a manager started actually.
Target and Actual should be always same.

93. What if Target and Actual are not same?


Ans : It means at operating system level resources are low to accomidate the
required processes for concurrent managers.

94. What are work shifts?


Ans : Work shifts are nothing but timings at which the concurrent manager is
supposed to run.

95. What if internal concurrent manager target and actual are not same?
Ans : we need to bounce the concurrent manager using adcmctl.sh

96. How to bounce a single concurrent manager?


Ans : From frontend using �Administer Concurrent Manager form�.

97. When we change apps password , is it necessary to bounce application?


Ans : Only we need to bounce concurrent managers.

98. What is 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
99. What is the other script by which u can start apache other than adapcctl.sh?
Ans : apachectl @IAS_ORACLE_HOME/Apache/bin

100. What is the configuration file for PL/SQL listener?


Ans : httpd_pls.conf @IAS_ORACLE_HOME/Apache/Apache/conf

101. How to skip copy portion while applying a patch?


Ans : Adpatch options=nocopyportion

102. How to merge patches and what type of patches can be merged?
Ans : admrgpch. We can merge any kind of application patches, if any of the patch
contain a u-driver then merged patch will contain u_merged.drv otherwise
c_merged.drv, d_merged.drv and g_merged.drv

103. What is the Tiered architecture of u r instance?


Ans : Two Tier: Web and Forms on one node and Conc, admin and report on other node.

104. How to find formserver version?


Ans: f60gen and press enter, it will tell u the formserver version or we can find
out from the frondend using help menu.

105. 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 request form�.

106. What is apps listener?


Ans : Apps lintener 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�.

107. 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.

108. How to find the application version like 11.5.8/11.5.9�.?


Ans : select release_name from fnd_product_groups;

109. How to find the database/sqlplus version?


Ans : select banner from v$version;

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

111. What is the size of u r database?


Ans : 200 to 500 GB

112. How to find operating system version?


Ans : uname �a

113. 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.
114. 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.

115. 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.

116. How to kill a database session?


Ans : alter system kill session '&sid,&sno';

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

118. Which files tell u the database helath?


Ans : alert log file @RDBMS_ORACLE_HOME/admin//bdump

119. How to apply a rdbms patch?


Ans : Using opatch

120. How to find opatch is enabled or not for u r database?


Ans : If Opatch directory exists under RDBMS_ORACLE_HOME.

121. What is the pre-req for applying a rdbms patch?


Ans : Inventory should be set in file oraInst.loc @/var/opt/oracle or /etc

122. What is Inventroy?

Ans: The oraInventory is the location for the OUI (Oracle Universal Installer)'s
bookkeeping. The inventory stores information about: All Oracle software products
installed in all ORACLE_HOMES on a machine 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.

123. What are different types of inventories?


Ans:

The Global inventory (or Central inventory) The Local inventory (or Home inventory)

124. 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
de-installer in order to keep the Global Inventory synchronized.

125. 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.

126. 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

127. 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.

128. Explain the cloning process?

Ans :
1. Run adpreclone as applmgr and oracle user on source Perl adpreclone.pl dbTier as
oracle user Perl adpreclone.pl appsTier as applmgr user

2. Take the cold/hotbackup of source database

3. Copy the five directories appl,comn,ora , db,data to target

4. Rename the directories, and change the permisssion

5. Set the inventory in oraInst.loc

6. Run perl adcfgclone.pl dbTier as oracle user,if the backup type is cold

7. If the backup type is hotbackup then Perl adcfgclone.pl dbTechStack. Create the
control file on target from the control script trace file from source Recover the
database Alter database open resetlogs

8. Run autoconfig with the ports changed as per requirement in xml.

9. Run perl adcfgclone.pl appsTier as applmgr

10. Run autoconfig with the ports changed as per requirement in xml.

129. What is the location of adpreclone.pl for oracle user?


Ans : RDBMS_ORACLE_HOME/appsutil/scripts/

130. What is the location of adpreclone.pl for applmgr user?


Ans : $COMMON_TOP/admin/scripts/

131. What is the location of adcfgclone.pl for oracle user?


Ans : $RDBMS_ORACLE_HOME/appsutil/clone/bin

132. What is the location of adcfgclone.pl for applmgr user?


Ans : $COMMON_TOP/clone/bin

133. What is statspack?


Ans : Statspack is a database utility to gather database and session level
performance information.

134. How to install statspack?


Ans : Run the script spcreate.sql @RDBMS_ORACLE_HOME/rdbms/admin
Note more details on statspack refer metalink noteid: 149113.1

135. How to enable trace at database level?


Ans : set init.ora parameter sql_trace

136. How to enable trace for a session?


Ans: Alter system set sql_trace=true;

Execute the sql query

Alter system set sql_trace=false;

This will create a trace file at

$RDBMS_ORACLE_HOME/admin/contextname/udump with the spid of the current sql


session.

137. How to enable trace for other session?


Ans : exec sys.dbms_system.set_sql_trace_in_session(sid,serial#,true/false)
Eg: To enable trace for sql session with sid 8SQL> exec
sys.dbms_system.set_sql_trace_in_session(8,121,true);

PL/SQL procedure successfully completed.


To disable trace

SQL> exec sys.dbms_system.set_sql_trace_in_session(8,121,false);

138.What is the location of inint.ora ?


Ans : $RDBMS_ORACLE_HOME/dbs
139. What is that trace files contains and the utiliy used to read them?

Ans : Trace file contains the detail diagnostics of a sql statement like explain
plan, physical reads, logical reads, buffer gets etc. Tkprof utility is used to
convert trace file into readable format.

140. What is the syntax for tkprof?


Ans: tkprof explain=apps/ sys=no

141.How do we find adpreclone is run in source or not ?


Ans : If clone directory exists under RDBMS_ORACLE_HOME/appsutil for oracle user
and $COMMON_TOP for applmgr user.

143. How to find trace file for a given concurrent request id?
Ans : Go to $RDBMS_ORACLE_HOME/admin//udump

grep � � *

144. What is a database link? How to create it?

Ans : If we want to access objects of another database from this database then we
need a database link from this database to the other.
1.Login as oracle user

2.sqlplus �/as sysdba�


3. create database link connect to identified by using '';
Ex
SQL> create database link TEST1_TO_TEST2 connect to apps identified by apps using
'TEST2';
Database link created.
SQL> select name from v$database@ TEST1_TO_TEST2;
NAME

---------

TEST2

SQL>select db_link from dba_db_links;

4. Add destination database tns entry in tnsnames.ora

145. How many clonings u have done?


Ans : If u r very much confident on cloning processes then say 5 to 8 otherwise
just 2 or 3.

146. What u know abt RMAN?


Ans : If u r good at RMAN then say yes, otherwise say we are not using RMAN for
backup/recovery , why because we are using netapp snap technology for backups.

147. What is netapp?


Ans : Netapp is a storage technology.

148. What is formserver url?


Ans :http://hostname.domain:/dev60cgi/f60cgi

149. 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.

150. What is discoverer server?


Ans : Discoverer server is reporting tools which allows novoice user to use oracle
application reports. Discoverer will come along with oracle applications when
installed.

151. What is discoverer viewer url?


Ans: /discoverer4i/viewer152. What is discoverer plus url?
Ans : 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: /OA_HTML/jsp/fnd/aoljtest.jsp

154. What is adsplicer?


Ans : Adsplicer is a uitility used to register off cycle products.

155. What is licence manager?


Ans : Licence manager(adlicmgr) utility is used to licence/unlicence , enable new
languages,enbale country specific functionality.

156. 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.

158. How to compile a form using f60gen?Ans :


f60gen module=/TEST/testappl/au/11.5.0/forms/F/ARXTWMAI.fmb userid=APPS/APPS
output_file=/TEST/testappl/ar/11.5.0/forms/F/ARXTWMAI.fmx module_type=form
batch=yes compile_all=special

160. 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. 161. What is
mean by enabling maintanance mode?
Ans : Maintanance mode is the adadmin option introduced from AD.I. When maintanance
mode is enabled user may able to login to application but they only get profile
option in the frontend navigation menu.

162. Is that necessary to enable maintanance mode while applying a patch?

Ans : We can even apply a patch without enabling maintanance mode with the
following option
Adpatch options=hotpatch

163. How to find out oracle application framework version?

Ans : 1. Through aoljtest2. cd $COMMON_TOP/html/3. adident Header OA.jsp

164. 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 are applied to this oracle home.

165. Is that necessary to shutdown database while applying a database patch?


Ans : Yes.

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


Ans : CONSUB

167. 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.

168. How you will find out discoverer version?


Ans : cd $806_ORACLE_HOME/discwb4/lib strings libd* grep 'Version:'

169. While applying a rdbms patch using opatch you are getting the error, unable to
read inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you
will do, and how you will apply the patch?

Ans: We will check the inventory directory permission, try to apply the patch after
giving 777 permissions to that inventory directory. If still it won�t work we will
apply patch with the following command:
Opatch apply no_inventory

172. Have you applied rdbms patches and for what?

Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a
rdbms patch.

173. What are the patch errors , you have encountered?


Ans :

1)Patch fails with the error, unable to generate perticular form, do u want to
continue. We continue patching by saying �yes�, then we manually regenarate the
form using f60gen utility.

2) Unable to generate jar files under JAVA_TOP AutoPatch error: Failed to generate
the product JAR files Solution:Run adjkey -initialize -----------to creat
identitydb.obj file which will beused by adjava to sign jar files.

174. What is adjkey? What files it will create?


Ans : adjkey is an adutility which will create digital signature, which will be
used to sign all t" admin?
mailto:adsign.txt@APPL_TOP>adsign.txt@APPL_TOP/adminappltop.cer@APPL_TOP/adminident
itydb.obj@applmgr home

175. What are the post installation task?


Ans : Running adjkey �initialize and then runnning adadmin to regerate jar files.

177. What are the clone errors, you have encountered?

Ans : Error:
RC-50013: Fatal: Failed to instantiate
driver/u01/fms2c/appfms2c/fms2cora/iAS/appsutil/driver/instconf.drvCauseThe source
instance has files that adpreclone flags as 'autoconfigable' but in reality they
are not. So adpreclone.pl adds these files into the instconf.drv. Then when
adcfgclone.pl is run on target it looks for the template file to instantiate for
these files and since there isn't a template file adcfgclone.pl fails.
SolutionModify the target's instconf.drv and remove the offending lines. Then rerun
adcfgclone.pl

178. What are the real time problems you have encountered and how you trouble
shooted that?

Ans:1. Concurrent Program is erroing out with snapshot too old error. To resolve
this we have added space to temp tablespace.2. Concurrent Program is erroing out
with unable to extent a perticular tablespace by so and so extents. To resolve this
we have added on more data file to that tablespace.3. When we are trying to start
apache with adapcctl.sh script after a autoconfig run, its saying that �node id is
not matching with the application server id�. To resolve this we have updated the
server id column in fnd_nodes table with the server id value in dbc file.

179. How you will find workflow version?


Ans : Run wfver.sql@FND_TOP/sql script as apps user

180 . When forms are running in servlet mode then the environment variables
required for forms must be defined in what file and its location?
Ans : formsservlet.ini@$APACHE_TOP/Jserv/etc.

181. How to find out which patch driver is applied(like c,d,g or u)?
Ans: query ad_patch_drivers.

182. How to find out whether a language patch is applied for a perticular patch?
Ans : Query ad_patch_driver_langs.

183. How to validate that sysadmin password is correct or not from backend?
Ans: select fnd_web_sec.validate_login('SYSADMIN','Qwert8765') from dual;

184. How to compile jsp's(other than from adadmin)?

Ans: Force compilation of all jsps using the following command ojspCompile.pl
--compile --flush

185. How to rotate logs for apache logs?

Ans: Using rotatelogs executable in httpd.conf file. Use Errorlog for error_log
file rotation. Transferlog for other log files.

186. Other way of checking whether MRC is enabled or not besides using adadmin?

Ans : select multi_currency_flag from fnd_product_groups;

187. How to compile rdf?


Ans: Either using adadmin or rwcon60

189. How to change file/directory owner in linux/solaris?


Ans : chown - R :
Ex: chown - R applmgr:dba testappl

190. How to change the permission of file/directory in linux/solaris?


Ans : chmod �R
Ex : chmod �R 755 testappl

191. What are the files which contain apps password?


Ans :

1. wdbsrv.app@IAS_ORACLE_HOME/Apache/modplsql/cfg
2. CGIcmd.dat@806_ORACLE_HOME/reports60/server

3. wfmail.cfg@FND_TOP/resource - optional

4. CatalogLoader.conf@OA_JAVA - optional

5. CatalogLoader.xml@OA_HTML - optional

192. What is the script to find out ICM status?


Ans : afimchk.sql@FND_TOP/sql

193. What is the script to list the concurrent request status?


Ans: afrqrun.sql@FND_TOP/sql

194. What is the script that Lists managers that currently are running a request?
Ans : afcmrrq.sql@FND_TOP/sql

195) How can I determine whether a template is customizable or non-customizable?

Ans : If a keyword "LOCK" is present at the end of the file entry in the respective
driver, then it is a non-customizable template. If the "LOCK" keyword is not seen,
then that template can be customized.
196) How to find out JDBC version :

Ans : In the middle tier, edit the jserv.properties file located in the
IAS_ORACLE_HOME/Apache/Jserv/etc directory- Locate the wrapper.classpath that is
pointing to the jdbc zip file/opt/oracle/apps/$TWO_TASK/comn/java/jdbc14.zip

197)How to findout XML Parser Version

Ans : SQL> select WF_EVENT_XML.XMLVersion() XML_VERSION from sys.dual;

198)How to find out WorkFlow Version

Ans :

SQL> select TEXT Version from WF_RESOURCES where TYPE = 'WFTKN' and NAME =
'WF_VERSION';

199) How to find a file version in Application DB:


select v.version,v.CREATION_DATE,c.CREATION_DATE from AD_FILES c,AD_FILE_VERSIONS v
where c.FILENAME like 'ARPURGEB.pls' AND c.file_id = v.file_id AND c.app_short_name
= 'AR';

When a copy driver (C) or the copy portion of a unified driver (U) are aborted for
any reason, upon reapplying, the CREATION_DATE and/or LAST_UPDATE_DATE columns in
the patching history tables (Ex: AD_FILE_VERSIONS)are not updated to show the
proper installation date but are left with the 01-01-1950 date. you can resolve the
issuse by applying the latest ad.I patch.

200) How to check whether the product is install,shared and Not installed in Apps.?
Ans :

SQL>select t.application_name, t.application_id, i.patch_level,


decode(i.status,�I',�Fully Installed�,�N�,'Not
Installed�,'S�,'Shared�,'Undetermined�) statusfrom fnd_product_installations i,
fnd_application_vl twhere i.application_id = t.application_idorder by
t.application_id;
1. Which best describes the incomplete recovery (choose three)?

- time-based
- cancel-based
- change-based
- tablespace recovery

2. LGWR process will hang if the online redo logs are filled faster than the
archiving process?

- true
- false
- true only if database is in ARCHIVELOG mode
- true only if database is in NOARCHIVELOG mode

3. What tablespaces could be recovered while the database is open? (choose two)

- data tablespace
- index tablespace
- system tablespace
- redo logs tablespace

4. What's completed recovery?

- time-based
- cancel-based
- change-based
- tablespace recovery

5. After which command you should backup your control file? (choose two)

- alter tablespace add data file ... ;


- alter system archive log all ;
- alter system switch log file ;
- alter tablespace ..... Offline;
- alter database drop log file ... ;

6. What's the disadvantage of running database in NOARCHIVELOG mode?

- lost transactions must be re-entered


- RMAN cannot be used for backup and restore
- once in NOARCHIVELOG mode it is impossible to change it to ARCHIVELOG mode
- backups are not reliable

7. In which database state you can re-create a control file?

- no mount
- mount
- open
- restricted
- recreate

8. If you import a full database export back to a database, will this apply all
archived log files need it for complete recovery?

- true
- false
9. The characteristics of direct path export are? (choose two)

- does not compete for resources with other users


- the buffer size has no impact
- it takes less time to complete
- it works only for schema exports
- use a optimized "select * from table" statement

10. What will the rolling forward do?

- apply all entries in redo log file


- apply only committed entries in redo log file
- apply all rollback segments entries
- apply all committed entries in the archived logs

11. Will alter tablespace ... begin backup; backup all of the data files in that
tablespace?

- true
- false
- true only if database is in NOARCHIVELOG mode
- true only if database is in ARCHIVELOG mode

12. What will be your backup strategy, if your company's data is highly volatile?

- backup more often


- backup less often
- no backup needed
- always do full db export

13. Will the ARCH process start automatically if you execute alter database archive
log; in SQL*Plus?

- true
- false

14. a. You have a corrupted data file. To minimize the downtime you run

startup mount;
alter database data file ... offline;

b. What you should do next?

- restore the corrupted data file


- alter database open
- recover data file
- apply the archived logs before the crash
- re-create the control files

15. Where is the location to all control files stored?

- Control file
- init.ora file
- log file
- in SYSTEM tablespace

16. After you activate a standby database what should you do next?

- recover the primary database


- create a new standby database
- create a new primary database
- switch the former primary database to standby mode

17. Why Oracle instance recovery is faster?

- uncommitted transactions will not be roll back immediately


- database is being backed up while running by BKUP process, so less data needs to

be restored
- only corrupted rows need to be recovered
- because RMAN is recovering faster than manual commands

18. To do a completed recovery, the database must be in which mode?

- ARCHIVELOG
- NOARCHIVELOG

19. In case of in competed recovery, which files has to be restored?

- Only the damaged files


- only the archived logs
- all data files in the tablespace
- all data files

20. After incomplete recovery, how you have to open the database?
- RESETLOGS
- NORESETLOGS
- RESTRICTED
- MOUNT

21. To change a database to archive log, the current database mode must be?

- mount
- nomount
- open
- open restricted
- closed

22. What privilege you must have to change database to archive log mode?

- alter system
- alter database
- alter session
- alter archiving

23. Which type of recovery will recover the database to a time in the past? (choose
three)

- time-based
- cancel-based
- change-based
- datafile recovery

24. What's the result of alter database backup controlfile to trace; command?
- a copy of control file
- generate a editable script file
- backup the database and the control files to the trace directory
- will start backup of the database with error tracing enabled
25. If a background process has an error, where the trace file will be?

- BACKGROUND_DUMP_DEST
- USER_DUMP_DEST
- alert log
- SYSTEM tablespace
- user's default TRACE tablespace

26. Import the full exported file and apply all the archive logs will recover the
database to the point of failure?

- true
- false

27. When should you perform a change based recovery?

- after lost redo log file


- when user dropped a wrong table. the time of the event was known
- in a distributed environment

ASM

1 What is ASM in Oracle?

Answer

Oracle ASM is Oracle�s volume manager specially designed for Oracle database data.
It is available since Oracle database version 10g and many improvements have been
made in versions 11g release 1 and 2 and 12c

ASM offers support for Oracle RAC clusters without the requirement to install 3rd
party software, such as cluster aware volume managers or file systems.
ASM is shipped as part of the database server software (Enterprise and Standard
editions) and does not cost extra money to run.
ASM simplifies administration of Oracle related files by allowing the administrator
to reference disk groups
rather than individual disks and files, which are managed by ASM.

The ASM functionality is an extention of the Oracle Managed Files (OMF)


functionality that also includes striping and mirroring to provide balanced and
secure storage. The new ASM functionality can be used in combination with existing
raw and cooked file systems, along with OMF and manually managed files.

Oracle ASM Introduction

2 What is ASM instance in Oracle?

Answer The ASM functionality is controlled by an ASM instance. This is not a full
database instance, just the memory structures and as such is very small and
lightweight.

Characteristics of Oracle ASM instance

1)The ASM instance,which is generally named +ASM1, is started with the


INSTANCE_TYPE=ASM init.ora parameter
2) Do not mount the database but manage metadata required to make ASM files
available for DB instances
3) DB Instance access ASM files directly and contact ASM instance only for the
layout of ASM files
4) Requires only the init.ora file for startup
5)Instance Name is +ASM or +ASM1.for RAC
6) ASM instance can be started in same database home or seperate home also

3 What are ASM Background Processes in Oracle?

Answer RBAL � Oracle background process. In an ASM instance coordinated rebalancing


operations. In a DB instance, opens and mount diskgroups from the local ASM
instance.
ARBx � Oracle backgroud processes. In an ASM instance, a slave for rebalancing
operations
PSPx � Oracle backgroud processes. In an ASM instance, Process Spawners
GMON � Oracle backgroud processes. In an ASM instance, diskgroup monitor.
ASMB � Oracle background process. In an DB instance, keeps a (bequeath) persistent
DB connection to the local ASM instance. Provides heart-beat and ASM statistics.
During a diskgroups rebalancing operation ASM communicates to the DB AU changes via
this connection.
O00x � Oracle backgroud processes. Slaves used to connected from the DB to the ASM
instance for �short operations�.

4 What are ASM instance initialization parameters?

Answer INSTANCE_TYPE � Set to ASM or RDBMS depending on the instance type. The
default is RDBMS.

DB_UNIQUE_NAME � Specifies a globally unique name for the database. This defaults
to +ASM but must be altered if you intend to run multiple ASM instances.

ASM_POWER_LIMIT -The maximum power for a rebalancing operation on an ASM instance.


The valid values range from 1 to 11, with 1 being the default. The higher the limit
the more resources are allocated resulting in faster rebalancing operations. This
value is also used as the default when the POWER clause is omitted from a rebalance
operation.

ASM_DISKGROUPS � The list of disk groups that should be mounted by an ASM instance
during instance startup, or by the ALTER DISKGROUP ALL MOUNT statement. ASM
configuration changes are automatically reflected in this parameter.

ASM_DISKSTRING � Specifies a value that can be used to limit the disks considered
for discovery. Altering the default value may improve the speed of disk group mount
time and the speed of adding a disk to a disk group. Changing the parameter to a
value which prevents the discovery of already mounted disks results in an error.
The default value is NULL allowing all suitable disks to be considered.

Oracle ASM Parameters

What are Advantages of ASM in Oracle?

a) Provides automatic load balancing over all the available disks, thus reducing
hot spots in the file system
b) Prevents fragmentation of disks, so you don�t need to manually relocate data to
tune I/O performance
c) Adding disks is straight forward � ASM automatically performs online disk
reorganization when you add or remove storage
d) Uses redundancy features available in intelligent storage arrays
e)The storage system can store all types of database files
f) Using disk group makes configuration easier, as files are placed into disk
groups
g)ASM provides stripping and mirroring
h) ASM and non-ASM oracle files can coexist

5 How Oracle ASM instance works?


Answer The ASM instance manages and communicates the map as to where each file
extent resides. It also controls the process of rebalancing the placement of the
extents when the storage allocation is changed ie, when the disk is added or
removed from ASM. As an ASM instance uses only about 64-MB for its system global
area, it requires a relatively small amount of system resource. In a RAC
configuration, an ASM instance on each node in the cluster manages all disk groups
for that node, in coordination with the other nodes in the cluster.

The ASM instance creates an extent map which has a pointer to each 1MB extent of
the data file is located. When a database instance creates or opens a database file
that is managed by ASM, the database instance messages the ASM instance and ASM
returns an extent map for that file. From that point the database instance performs
all I/O directly to the disks unless the location of that file is being changed.
Three things might cause the extent map for a database instance to be updated: 1)
Rebalancing the disk layout following an storage configuration change (adding or
dropping a disk from a disk group), 2) Opening of a new database file and 3)
extending an existing database file when a tablespace is enlarged.

6 What is ASM Disks ?


Answer The physical disks are known as ASM disks

How to prepare the ASM disks

7 What is ASM diskgroups?

Answer ASM disk groups, each of which comprise of several physical disks that are
controlled as a single unit

ASM Disk groups

8 What is Failure groups

Answer They are defined within a disk group to support the required level of
redundancy. For two-way mirroring you would expect a disk group to contain two
failure groups so individual files are written to two locations.

How ASM Failure Groups and CSS provides high availability

9 Why should we use separate ASM home?

Answer ASM should be installed separately from the database software in its own
ORACLE_HOME directory. This will allow you the flexibility to patch and upgrade ASM
and the database software independently.

10 How many ASM instances should one have?

Answer Several databases can share a single ASM instance. So, although one can
create multiple ASM instances on a single system, normal configurations should have
one and only one ASM instance per system.

For clustered systems, create one ASM instance per node (called +ASM1, +ASM2, etc).

11 How many diskgroups should one have?


Answer Generally speaking one should have only one disk group for all database
files � and, optionally a second for recovery files i.e +DATA for datafile and +FRA
for Recovery files

Here is an example:

CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK �/dev/raw1', �/dev/raw2';


CREATE DISKGROUP FRA EXTERNAL REDUNDANCY DISK �/dev/raw3', �/dev/raw4';

Here is an example how you can enable automatic file management with such a setup
in each database served by that ASM instance:

ALTER SYSTEM SET db_create_file_dest = �+DATA� SCOPE=SPFILE;


ALTER SYSTEM SET db_recovery_file_dest = �+FRA� SCOPE=SPFILE;

You may also decide to introduce additional disk groups � for example, if you
decide to put historic data on low cost disks, or if you want ASM to mirror
critical data across 2 storage cabinets.

Data with different storage characteristics should be stored in different disk


groups. Each disk group can have different redundancy (mirroring) settings (high,
normal and external), different fail-groups, etc. However, it is generally not
necessary to create many disk groups with the same storage characteristics (i.e.
+DATA1, +DATA2, etc. all on the same type of disks).

How to move database to ASM storage

ASM best practice to add disk

12 What is stripping and mirroring.

Answer Striping is spreading data across multiple disks so that IO is spread across
multiple disks and hence increase in throughput. It provides read/write performance
but fail over support.
ASM offers two types of striping, with the choice depending on the type of database
file. Coarse striping uses a stripe size of 1MB, and you can use coarse striping
for every file in your database, except for the control files, online redo log
files, and flashback files. Fine striping uses a stripe size of 128KB. You can use
fine striping for control files, online redo log files, and flashback files.

Mirroring means redundancy. It may add performance benefit for read operations but
overhead for write operations. It�s basic purpose is to provide fail over support.
There are three ASM mirroring options:

High Redundancy � In this configuration, for each primary extent, there are two
mirrored extents. For Oracle Database Appliance this means, during normal
operations there would be three extents (one primary and two secondary) containing
the same data, thus providing �high� level of protection. Since ASM distributes the
partnering extents in a way that prevents all extents to be unable due to a
component failure in the IO path, this configuration can sustain at least two
simultaneous disk failures on Oracle Database Appliance (which should be rare but
is possible).

Normal Redundancy � In this configuration, for each primary extent, there is one
mirrored (secondary) extent. This configuration protects against at least one disk
failure. Note that in the event a disk fails in this configuration, although there
is typically no outage or data loss, the system operates in a vulnerable state,
should a second disk fail while the old failed disk replacement has not completed.
Many Oracle Database Appliance customers thus prefer the High Redundancy
configuration to mitigate the lack of additional protection during this time.

External Redundancy � In this configuration there are only primary extents and no
mirrored extents. This option is typically used in traditional non-appliance
environments when the storage sub-system may have existing redundancy such as
hardware mirroring or other types of third-party mirroring in place. Oracle
Database Appliance does not support External Redundancy.8. What is a diskgroup?
A disk group consists of multiple disks and is the fundamental object that ASM
manages. Each disk group contains the metadata that is required for the management
of space in the disk group. The ASM instance manages the metadata about the files
in a Disk Group in the same way that a file system manages metadata about its
files. However, the vast majority of I/O operations do not pass through the ASM
instance. In a moment we will look at how file
I/O works with respect to the ASM instance.

13 What is ASM Rebalancing?

Answer The rebalancing speed is controlled by the ASM_POWER_LIMIT initialization


parameter. Setting it to 0 will disable disk rebalancing.

ALTER DISKGROUP DATA REBALANCE POWER 11;

ALTER DISKGROUP DATA REBALANCE POWER 5;


ALTER DISKGROUP DATA REBALANCE POWER 8;

Oracle ASM Rebalance

14 What happens when an Oracle ASM diskgroup is created?

Answer When an ASM diskgroup is created, a hierarchical filesystem structure is


created.

15 How does this filesystem structure appear?

Answer Oracle ASM disk group�s filesystem structure is similar to UNIX filesystem
hierarchy or Windows filesystem hierarchy.

16 Where are the Oracle ASM files stored?

Answer Oracle ASM files are stored within the Oracle ASM diskgroup. If we dig into
internals, oracle ASM files are stored within the Oracle ASM filesystem structures.

17 How are the Oracle ASM files stored within the Oracle ASM filesystem structure?
Answer Oracle ASM files are stored within the Oracle ASM filesystem structures as
objects that RDBMS instances/Oracle database instance access. RDBMS/Oracle instance
treats the Oracle ASM files as standard filesystem files.

18 What are the Oracle ASM files that are stored within the Oracle ASM file
hierarchy?

Answer Files stored in Oracle ASM diskgroup/Oracle ASM file structures include:
1) Datafile
2) Controlfiles
3) Server Parameter Files(SPFILE)
4) Redo Log files

19 How can you access a database file in ASM diskgroup under RDBMS?

Answer Once the ASM file is created in ASM diskgroup, a filename is generated. This
file is now visible to the user via the standard RDBMS view V$DATAFILE.

20 What will be the syntax of ASM filenames?

Answer ASM filename syntax is given below


+diskgroup_name/database_name/database_file_type/tag_name.file_number.incarnation
where,
+diskgroup_name � Name of the diskgroup that contains this file
database_name � Name of the database that contains this file
datafile � Can be one among 20 different ASM file types
tag_name � corresponds to tablespace name for datafiles, groupnumber for redo log
files
file_number � file_number in ASM instance is used to correlate filenames in
database instance
incarnation_number � It is derived from the timestamp. IT is used to provide
uniqueness

21 What is an incarnation number?

Answer An incarnation number is a part of ASM filename syntax. It is derived from


the time stamp. Once the file is created, its incarnation number doesn�t change.

22 What is the use of an incarnation number in Oracle ASM filename?

Answer Incarnation number distinguishes between a new file that has been created
using the same file number and another file that has been deleted

23 What is an oracle flex ASM?


Answer Oracle flex ASM is a feature that enables an ASM instance to run on separate
physical servers from the database servers

Oracle Flex Cluster 12c

24 What is the use of asmadmin?


Answer asadmin is the operating system group that holds users who have sysasm
database privilege. This privilege is needed for operations like mounting disk
group, dismounting disk group, storage administration

25 What is the purpose of asmoper operating system group?


Answer asmoper operating system group is used for users that have the privilege to
startup and stop the oracle ASM instance. The database privilege for these users
will be sysoper for asm

26 What is the difference between asmdba and asmoper?


Answer The users belonging to asmdba group have sysdba database privilege at ASM
level. This is the highest administrative privilege needed for oracle ASM. Whereas,
asmoper is given sysoper privilege which is less than asmdba

27 How to copy files between asm disk groups?


Answer ASMCMD command cp can be used to copy files between ASM disk groups on local
instance as well as remote instances

28 What is ASM metadata and where is it present?


Answer ASM metadata is the information that ASM uses to control the disk group.It
is present within a disk group.

ASM Metadata

How to collect ASM metadata


29 What is an ASM metadata composed of?
Answer An ASM metadata includes the following:
1) The disks that belong to a disk group
2) Amount of space available within a disk group
3) The filenames of the files within a disk group
4) The location of disk group datafile data extents
5) A redo log that records information about automatically changing data blocks

30 What is oracle ASM filter driver?


Answer Oracle ASM filter driver is a new feature in Oracle database 12c release 2
12.1.0.2. As an abbreviation this is called Oracle ASMFD that happens to be a
kernel module. this kernel modules is included in path of I/O path of oracle asm
disks. this module is included to protect the underlying ASM disks from unnecessary
typically non-oracle writes related I/O operations which in turn protects disks
from being corrupt

31 What it the ASM POWER_LIMIT?

Answer This is the parameter which controls the number of Allocation units the ASM
instance will try to rebalance at any given time. In ASM versions less than
11.2.0.3 the default value is 11 however it has been changed to unlimited in later
versions.

32 What is a rolling upgrade?

Answer A patch is considered a rolling if it is can be applied to the cluster


binaries without having to shutting down the database in a RAC environment. All
nodes in the cluster are patched in a rolling manner, one by one, with only the
node which is being patched unavailable while all other instance open.

33 How does ASM provides Redundancy?


Answer When you create a disk group, you specify an ASM disk group type based on
one of the following three redundancy levels:
1) Normal for 2-way mirroring � When ASM allocates an extent for a normal
redundancy file; ASM allocates a primary copy and a secondary copy. ASM chooses the
disk on which to store the secondary copy in a different failure group other than
the primary copy.
2) High for 3-way mirroring. In this case the extent is mirrored across 3 disks.
3)External to not use ASM mirroring. This is used if you are using Third party
Redundancy mechanism like RAID, Storage arrays.

34 Can we change the Redundancy for Diskgroup after its creation?

Answer No, we cannot modify the redundancy for Diskgroup once it has been created.
To alter it we will be required to create a new Diskgroup and move the files to it.
This can also be done by restoring full backup on the new Diskgroup.

How to move database to ASM storage

35 Does ASM instance automatically rebalances and takes care of hot spots?
Answer No. This is a myth and ASM does not do it. It will initiate automatic
rebalance only when a new disk is added to Diskgroup or we drop a disk from
existing Diskgroup.

36 What is ASMLIB?
Answer ASMLIB is the support library for the ASM. ASMLIB allows an Oracle database
using ASM more efficient and capable access to diskgroups. The purpose of ASMLIB,
is to provide an alternative interface to identify and access block devices.
Additionally, the ASMLIB API enables storage and operating system vendors to supply
extended storage-related features.

37 What is SYSASM role?


Answer Starting from Oracle 11g, SYSASM role can be used to administer the ASM
instances. You can continue using SYSDBA role to connect to ASM but it will
generate following warning messages at time of startup/shutdown, create
Diskgroup/add disk, etc
Alert entry
WARNING: Deprecated privilege SYSDBA for command �STARTUP�

38 Whats is Kfed?
Answer kfed is a utility which can be used to view the ASM Disk information. Syntax
for using it is
kfed read devicename

39 ASM and Cluster Synchronization Service

Answer An ASM storage system requires the use of an additional specialized database
instance called ASM, which will actually manage the storage for a set of Oracle
databases. In order to use ASM storage for your Oracle databases, you must first
ensure that you have Oracle�s Cluster Synchronization Service (CSS) running on your
databases.

CSS is responsible for synchronizing ASM instances and your database instances, and
it is
installed as part of your Oracle software. CSS also synchronizes recovery from an
ASM instance failure. You can find out if the CSS service is running by using the
following command:

40 What processes does the rebalancing?


Answer RBAL, ARBn

41 How to find out the databases, which are using the ASM instance?
Answer

ASMCMD> lsct
SQL> select DB_NAME from V$ASM_CLIENT;

42 What are different types of striping in ASM & their differences?


Answer Fine-grained striping
Coarse-grained striping

43 What is the best LUN size for ASM ?


Answer There is no best size. In most cases the storage team will dictate to you
based on their standardized LUN size. The ASM administrator merely has to
communicate the ASM Best Practices and application characteristics to storage folks
:
a)Need equally sized / performance LUNs
b) Minimum of 4 LUNs
c) The capacity requirement
d) The workload characteristic (random r/w, sequential r/w) & any response time SLA

44 Can my RDBMS and ASM instances run different versions?


Answer Yes. ASM can be at a higher version or at lower version than its client
databases. There�s two components of compatibility:
a) Software compatibility
b) Diskgroup compatibility attributes:
c) compatible.asm
d) compatible.rdbms
This is a diskgroup level change and not an instance level change�no rolling
upgrade here!

45 How do I backup my ASM instance?


Answer There is no backup for ASM instance as ASM has no files to backup Unlike the
database, ASM does require a controlfile type structure or any other external
metadata to bootstrap itself. All the data ASM needs to startup is on on-disk
structures (disk headers and other disk group metadata).

46 How does ASM work with multipathing software?


Answer Multipathing software is at a layer lower than ASM, and thus is transparent.
You may need to adjust ASM_DISKSTRING to specify only the path to the multipathing
pseudo devices.
Multipathing tools provides the following benefits:
a) It provide a single block device interface for a multi-pathed LUN
b) it detects any component failures in the I/O path; e.g., fabric port, channel
adapter, or HBA.
c) When a loss of path occurs, ensure that I/Os are re-routed to the available
paths, with no process disruption.
d) Reconfigure the multipaths automatically when events occur.
e) Ensure that failed paths get revalidated as soon as possible and provide
autofailback

RMAN INTERVIEW QUESTIONS


=========================:

1.What is the difference between recovery catalog and Nocatalog backup in RMAN?

NoCatalog Backup:

ByDefault RMAN connects to the target database in Nocatalog Mode.


In Nocatalog Mode, Backup Information and Metadata related to RMAN is stored in
target database controlfile.

Catalog Backup:

A recovery catalog is a schema created in a separate database that contains


metadata obtained from the target control file.
In recovery catalog we can store rman scripts.

We can store metadata about multiple incarnations of a single target database in


the catalog.
Recovery catalog is central and can have information of many databases.
If the control file is lost and must be restored from backup, the backup
configuration information is available when the database is not mounted.

2.What are the differences between crosscheck and validate commands?

Validate command is to examine a backup set and report whether it can be restored.
RMAN scans all of the backup pieces in the specified backup sets and looks at the
checksum to verify that the contents are intact so that backup can be successfully
restored if necessary.

Crosscheck command is to verify the status of backups and copies recorded in the
RMAN repository against media such as disk or tape. The crosscheck command only
processes files created on the same device type as the channel running crosscheck.

3.What is obsolete backup & expired backup?


A status of �expired� means that the backup piece or backup set is not found in the
backup destination.
A status of �obsolete� means the backup piece is still available, but it is no
longer needed. The backup piece is no longer needed since RMAN has been configured
to no longer need this piece after so many days have elapsed, or so many backups
have been performed.

4.What is the difference between hot backup & RMAN backup?

We need to put the database in Backup mode for Hot Backup. RMAN Backup does not
need the database to be in Backup mode.

5. Which Tables are have information required for RMAN list & report commands ?
V$BACKUP_FILES and recovery catalog views e.g., RC_DATAFILE_COPY or
RC_ARCHIVED_LOG.

Below tables contain RMAN Catalog information:

RC_DATABASE_INCARNATION
RC_BACKUP_COPY_DETAILS
RC_BACKUP_CORRUPTION
RC_BACKUP-DATAFILE_SUMMARY

DBA Interview Questions


========================:

1. Explain the difference between a hot backup and a cold backup and the benefits
associated with each.
Answer:
A hot backup is basically taking a backup of the database while it is still up and
running and it must be in
archive log mode. A cold backup is taking a backup of the database while it is shut
down and does not
require being in archive log mode. The benefit of taking a hot backup is that the
database is still available
for use while the backup is occurring and you can recover the database to any point
in time. The benefit
of taking a cold backup is that it is typically easier to administer the backup and
recovery process. In
addition, since you are taking cold backups the database does not require being in
archive log mode and
thus there will be a slight performance gain as the database is not cutting archive
logs to disk.

2. You have just had to restore from backup and do not have any control files. How
would you go about bringing up this database?
Answer:
I would create a text based backup control file, stipulating where on disk all the
data files where and then
issue the recover command with the using backup control file clause.

3. How do you switch from an init.ora file to a spfile?


Answer:
Issue the create spfile from pfile command.

4. Explain the difference between a data block, an extent and a segment.


Answer:
A data block is the smallest unit of logical storage for a database object. As
objects grow they take
chunks of additional storage that are composed of contiguous data blocks. These
groupings of
contiguous data blocks are called extents. All the extents that an object takes
when grouped together are
considered the segment of the database object.

5. Give two examples of how you might determine the structure of the table DEPT.
Answer:
Use the describe command or use the dbms_metadata.get_ddl package.

6. Where would you look for errors from the database engine?
Answer:
In the alert log.

7. Compare and contrast TRUNCATE and DELETE for a table.


Answer:
Both the truncate and delete command have the desired outcome of getting rid of all
the rows in a table.
The difference between the two is that the truncate command is a DDL operation and
just moves the high
water mark and produces a now rollback. The delete command, on the other hand, is a
DML operation,
which will produce a rollback and thus take longer to complete.

8. Give the reasoning behind using an index.


Answer:
Faster access to data blocks in a table.

9. Give the two types of tables involved in producing a star schema and the type
of data
they hold.
Answer:
Fact tables and dimension tables. A fact table contains measurements while
dimension tables will contain
data that will help describe the fact tables.

10. What type of index should you use on a fact table?


Answer:
A Bitmap index.

11. Give two examples of referential integrity constraints.


Answer:
A primary key and a foreign key.

12. A table is classified as a parent table and you want to drop and re-create it.
How
would you do this without affecting the children tables?
Answer:
Disable the foreign key constraint to the parent, drop the table, re-create the
table, and enable the foreign
key constraint.

13. Explain the difference between ARCHIVELOG mode and NOARCHIVELOG


mode and the benefits and disadvantages to each.
Answer:
ARCHIVELOG mode is a mode that you can put the database in for creating a backup of
all transactions
that have occurred in the database so that you can recover to any point in time.
NOARCHIVELOG mode
is basically the absence of ARCHIVELOG mode and has the disadvantage of not being
able to recover to
any point in time. NOARCHIVELOG mode does have the advantage of not having to write
transactions to
an archive log and thus increases the performance of the database slightly.

14. What command would you use to create a backup control file?
Answer:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE

15. Give the stages of instance startup to a usable state where normal users may
access
it.
Answer:
STARTUP NOMOUNT - Instance startup
ALTER DATABASE MOUNT - The database is mounted
ALTER DATABASE OPEN - The database is opened

16. What column differentiates the V$ views to the GV$ views and how?
Answer:
The INST_ID column which indicates the instance in a RAC environment the
information came from.

17. How would you go about generating an EXPLAIN plan?


Answer:
Create a plan table with utlxplan.sql.
Use the explain plan set statement_id = 'tst1' into plan_table for a SQL statement
Look at the explain plan with utlxplp.sql or utlxpls.sql

18. How would you go about increasing the buffer cache hit ratio?
Answer:
Use the buffer cache advisory over a given workload and then query the
v$db_cache_advice table. If a
change was necessary then I would use the alter system set db_cache_size command.

19. Explain an ORA-01555


Answer:
You get this error when you get a snapshot too old within rollback. It can usually
be solved by increasing
the undo retention or increasing the size of rollbacks. You should also look at the
logic involved in the
application getting the error message.

20. Explain the difference between $ORACLE_HOME and $ORACLE_BASE.


Answer:
ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath
ORACLE_BASE is
where the oracle products reside.

21. How would you determine the time zone under which a database was operating?
Answer:
select DBTIMEZONE from dual;

22. Explain the use of setting GLOBAL_NAMES equal to TRUE.


Answer:
Setting GLOBAL_NAMES dictates how you might connect to a database. This variable is
either TRUE or
FALSE and if it is set to TRUE it enforces database links to have the same name as
the remote database
to which they are linking.

23. What command would you use to encrypt a PL/SQL application?


Answer:
WRAP

24. Explain the difference between a FUNCTION, PROCEDURE and PACKAGE.


Answer:
A function and procedure are the same in that they are intended to be a collection
of PL/SQL code that
carries a single task. While a procedure does not have to return any values to the
calling application, a
function will return a single value. A package on the other hand is a collection of
functions and procedures
that are grouped together based on their commonality to a business function or
application.

25. Explain the use of table functions.


Answer:
Table functions are designed to return a set of rows through PL/SQL logic but are
intended to be used as
a normal table or view in a SQL statement. They are also used to pipeline
information in an ETL process.

26. Name three advisory statistics you can collect.


Answer:
Buffer Cache Advice, Segment Level Statistics, & Timed Statistics

27. Where in the Oracle directory tree structure are audit traces placed?
Answer:
In unix $ORACLE_HOME/rdbms/audit,
in Windows the event viewer

28. Explain materialized views and how they are used.


Answer:
Materialized views are objects that are reduced sets of information that have been
summarized, grouped,
or aggregated from base tables. They are typically used in data warehouse or
decision support systems.

29. When a user process fails, what background process cleans up after it?
Answer:
PMON

30. What background process refreshes materialized views?


Answer:
The Job Queue Processes.

31. How would you determine what sessions are connected and what resources they
are waiting for?
Answer:

Use of V$SESSION and V$SESSION_WAIT

32. Describe what redo logs are.


Answer:
Redo logs are logical and physical structures that are designed to hold all the
changes made to a
database and are intended to aid in the recovery of a database.

33. How would you force a log switch?


Answer:
ALTER SYSTEM SWITCH LOGFILE;

34. Give two methods you could use to determine what DDL changes have been made.
Answer:
You could use Logminer or Streams

35. What does coalescing a tablespace do?


Answer:
Coalescing is only valid for dictionary-managed tablespaces and de-fragments space
by combining
neighboring free extents into large single extents.

36. What is the difference between a TEMPORARY tablespace and a PERMANENT


tablespace?
Answer:
A temporary tablespace is used for temporary objects such as sort structures while
permanent
tablespaces are used to store those objects meant to be used as the true objects of
the database.

37. Name a tablespace automatically created when you create a database.


Answer:
The SYSTEM tablespace.

38. When creating a user, what permissions must you grant to allow them to
connect to the database?
Answer:
Grant the CONNECT to the user.

39. How do you add a data file to a tablespace?


Answer:
ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE <size>

40. How do you resize a data file?


Answer:
ALTER DATABASE DATAFILE <datafile_name> RESIZE <new_size>;

41. What view would you use to look at the size of a data file?
Answer:
DBA_DATA_FILES

42. What view would you use to determine free space in a tablespace?
Answer:
DBA_FREE_SPACE

43. How would you determine who has added a row to a table?
Answer:
Turn on fine grain auditing for the table.

44. How can you rebuild an index?


Answer:
ALTER INDEX <index_name> REBUILD ONLINE;
45. Explain Partitioning and benefits of using Partioning.
Answer:
Partitioning is a method of taking large tables and indexes and splitting them into
smaller, more
manageable pieces.

46. You have just compiled a PL/SQL package but got errors, how would you view the
errors?
Answer:
SHOW ERRORS

47. How can you gather statistics on a table?


Answer:
The ANALYZE command or DBMS_STAT package.

48. How can you enable a trace for a session?


Answer:
Use the DBMS_SESSION.SET_SQL_TRACE or Use
ALTER SESSION SET SQL_TRACE = TRUE;

49. What is the difference between the SQL*Loader and IMPORT utilities?
Answer:
These two Oracle utilities are used for loading data into the database. The
difference is that the import
utility relies on the data being produced by another Oracle utility EXPORT while
the SQL*Loader utility
allows data to be loaded that has been produced by other utilities from different
data sources just so long
as it conforms to ASCII formatted or delimited files.

50. Name two files used for network connection to a database.


Answer:
TNSNAMES.ORA and SQLNET.ORA

51. Explain difference between Oracle Database and Instance


Answer:
Oracle database consist of following:
Datafiles, Control Files, Redo Log Files
Oracle instance consist of following:
SGA and Oracle processes (DBWR, LGWR, SMON, PMON, ARCH, CKPT, etc.)

52. What is Mutating Table error?


Answer:
Mutating table error happens when you try to modify the same row you are using it.
Use temp table to
avoid this error.

53. What is correlated sub-query?


Answer:
Correlated sub-query is a sub-query, which has reference to the main query

54. Which one of the below change will decrease PAGING/SWAPPING


Answer:
1. INCREASE SORT_AREA_RETAINED_SIZE
2. DECREASE SHARED_POOL_SIZE (correct answer)
3. DECREASE OPEN_CURSORS parameters
4. INCREASE DB_CACHE_SIZE

55. Explain steps involved in Migration from Oracle 9.0.1 to 9.2.0.6


Answer:
1. Shutdown 9.0.1 database
2. Apply software patch to new/old ORACLE_HOME
3. Change ORACLE_HOME to point to new 9.2.0.6 binaries
4. STARTUP MIGRATE
5. @ORACLE_HOME/rdbms/admin/catpatch.sql
6. @ORACLE_HOME/rdbms/admin/utlrp.sql
7. Change init.ora parameter COMPATIBLE = 9.2.0.6
8. Shutdown and startup normal

56. Can you create database under any Unix userid besides oracle?
Answer:
Yes. You can create database user other then oracle as long as that user is part of
DBA group in unix

57. Locally Managed TEMP Tablespace is 100% FULL and there is no space available
to
add datafile to increase TEMP tablespace. What can you do that might free up TEMP
space?
Answer:
You can try one of the following to free up TEMP space
1. Issue ALTTER TABLESPACE PCTINCREASE 1 followed by
ALTTER TABLESPACE PCTINCREASE 0 command;
2. Close some of the idle sessions connected to the database

58. List five most important features of Oracle 9i


Answer:
1. AUTOMATIC UNDO MANAGEMEND
2. AUTOMATICE PGA MEMORY MANAGEMENT
3. MULTI-TABLE INSERT statements
4. EXTERNAL TABLES
5. DYNAMIC MEMORY MANAGEMENT

59. Name five top 9I init.ora parameters affecting performance


Answer:
1. CURSOR_SHARING
2. DB_CACHE_SIZE
3. PGA_AGGREGATE_TARGET
4. WORKAREA_SIZE_POLICY
5. DB_16K_CACHE_SIZE, DB_8K_CACHE_SIZE, DB_2K_CACHE_SIZE

60. How do you recover database when you lost all of your control files?
Answer:
In case of loss of loss of all control files, you can still recover database as
long as you have all
archivelog files. You can issue following command to recover the database.
RECOVER DATABASE USING BACKUP CONTROLFILES UNTIL CANCEL;
Apply all archivelog files
ALTER DATABASE OPEN RESETLOGS;
SHUTDOWN IMMEDIATE;
Backup database (COLD)
STARTUP;

61. What is main purpose of CHECKPOINT?


Answer:
A Checkpoint is a database event, which synchronizes the data blocks in memory with
the datafiles on disk.
A checkpoint has two purposes:
1. to establish data consistency
2. Enable faster database recovery.

62. You got a call from Application team saying Application is running very SLOW.
Where do you start looking first?
Answer:
Below are some of very important you should gather to identify the root cause of
slowness in
application/database.
??Run a TOP command in unix to see CPU usage (identify CPU killer
processes)

?
?
?
?
Run VMSTAT, SAR, and PRSTAT command to get more information on CPU and
memory usage and possible blocking
Run STATSPACK report to identify:
a. TOP 5 WAIT EVENTS
b. RESOURCE intensive SQL statements
See if STATISTICS on affected tables needs to be re-generated
IF poorly written statements are culprit, run a EXPLAIN PLAN on these statements
and
see whether new index or use of HINT brings the cost of SQL down.

63. How to SWITCH from PRIMARY to PHYSICAL STANDBY in 9i


Answer:
Perform below on Primary DB:
1. ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH
SESSION SHUTDOWN;
2. SHUTDOWN IMMEDIATE;
3. STARTUP NOMOUNT;
4. ALTER DATABASE MOUNT STANDBY DATABASE;
5. RECOVER MANAGED STANDBY DATABASE DICONNECT FROM SESSION;
6. ALTER SYSEM SET LOG_ARCHIVE_DEST_2_STATUS= DEFER SCOPE=SPFILE;
Perform below on STANDBY DB:
7. ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
8. SHUTDOWN IMMEDIATE;
9. STARTUP;
10. ALTER SYSEM SET LOG_ARCHIVE_DEST_2_STATUS= ENABLE SCOPE=SPFILE;
At this time Standby becomes Primary and Primary becomes new Standby.

64. How to ACTIVATE PHYSICAL STANDBY database in 9i


Answer:
Perform below on Primary DB if available to transfer all pending archive logs to
standby:
1. ALTER SYSTEM SWITCH LOGFILE;
2. ALTER SYSTEM SWITCH LOGFILE;
Perform below on STANDBY DB:
1. ALTER DATABASE ACTIVATE STANDBY DATABASE;
2. SHUTDOWN IMMEDIATE;
3. STARTUP
4. Add TEMP file if needed.
At this time Standby database becomes PRIMARY database and relationship between
Primary and
Standby has been lost by activating standby database.

65. Explain different protection mode in DATAGURD


Answer:
MAXIMUM PROTECTION
MAXIMUM AVAILIBILITY
MAXIMUM PERFORMANCE

66. What is CASCADING STANDBY database?


Answer:
A CASCADING STANDBY is a standby database that receives its REDO information from
another
STANDBY database (not from Primary database).

67. What are some of the dba tables you query to find out about UNDO segments?
Answer:
You would query:
??DBA_UNDO_SEGS
??V$UNDOSTAT

68. What does Block Media Recovery (BMR) do?


Answer:
BMR is responsible for restore and recover of specified BLOCK

69. What is the difference between Fine Grained Audit (FGA) and Fine Grained
Access
Control (FGAC)?
Answer:
FGA tracks when sensitive rows have been accesses, where FGAC prevents access to
sensitive rows

70. Which dynamic performance view DBA can query to see who deleted data from a
particular table sometime back?
Answer:
V$LOGMNR_CONTENTS

71. What do you use DBMS_REDEFINITION package for?

Answer:
DBMS_REDEFINITION package is used to perform an ONLINE REBUILD of a table

72. How do you add second or subsequent BLOCK SIZE to an existing database?
Answer:
?
?
Re-Create the CONTROLFILE to specify the new BLOCK SIZE for specific data files
Or Take the database OFFLINE, and the bring back online with a new BLOCK SIZE
specification

73. What are new RMAN features in 9i?


Answer:
??It allows you to set retention period of backups
??It enables you to store the CHANNEL attributes so you do not have to specify in
each
BACKUP or RESTORE command

74, Explain different PARTITIONING options available in 9i


Answer:
Range Partitioning Used when there are logical ranges of data. Possible usage:
dates, part numbers,
and serial numbers.
Hash Partitioning Used to spread data evenly over partitions. Possible usage: data
has no logical
groupings.
List Partitioning Used to list together unrelated data into partitions. Possible
usage: a number of states
list partitioned into a region.
Composite Range-Hash Partitioning Used to range partition first, then spreads data
into hash partitions.
Possible usage: range partition by date of birth then hash partition by name; store
the results into the
hash partitions.
Composite Range-List Partitioning Used to range partition first, then spreads data
into list partitions.
Possible usage: range partition by date of birth then list partition by state, then
store the results into the
list partitions.

75. How to convert a Single Instance 9i database to a Real Application Clusters 9i


(RAC)
database without using export/import tools.
Answer:
1. Make a full database backup before you change anything
2. Copy the existing $ORACLE_HOME/dbs/init<SID1>.ora to
$ORACLE_HOME/dbs/init<db_name>.ora. Add the following parameters to
$ORACLE_HOME/dbs/init<db_name>.ora:
a. *.cluster_database = TRUE
b. *.cluster_database_instances = 2
c. *.undo_management=AUTO (Add if you don't have it )
d. <SID1>.undo_tablespace=undotbs (undo tablespace which already
exists)
e. <SID1>.instance_name=RAC1
f. <SID1>.instance_number=1
g. <SID1>.thread=1
h. <SID1>.local_listener=LISTENER_RAC1
3. Open your database and run $ORACLE_HOME/rdbms/admin/catclust.sql to create
cluster
database specific views within the existing instance
4. Recreate control file if you defined maxinstances to be 1 when you created
the single instance
database
5. Add instance specific parameters in the init<db_name>.ora for the second
instance on the
second node and set appropriate values for it
a. <SID2>.instance_name=RAC2
b. <SID2>.instance_number=2
c. <SID2>.local_listener=LISTENER_RAC2
d. <SID2>.thread=2
e. <SID2>.undo_tablespace=UNDOTBS2
f. <SID2>.cluster_database = TRUE
g. <SID2>.cluster_database_instances = 2
6. From the first instance, mount the database and run the following command
alter database
add logfile thread 2
group 3 ('/dev/RAC/redo2_01_100.dbf') size 100M,
group 4 ('/dev/RAC/redo2_02_100.dbf') size 100M;
alter database enable public thread 2;
7. Create a second Undo Tablespace from the existing instance
8. Set ORACLE_SID and ORACLE_HOME environment variables on the second node
and
START second instance.

76. Explain RAC and advantages of using RAC


Answer:
In Real Application Clusters environments, all nodes concurrently execute
transactions against the same
database. Real Application Clusters coordinates each node's access to the shared
data to provide
consistency and integrity.
Advantages of RAC:

?
?
?
?
?
Improved throughput
Scalability over single instance systems
Improved response time
High availability
Transparency

77. Explain Row Locking and Multi-version Read Consistency in RAC


Answer:
Oracle's row locking feature allows multiple transactions from separate nodes to
lock and update
different rows of the same data block. This is done without any of the transactions
waiting for the others
to commit. If a row has been modified but not yet committed, then the original row
values are available to
all instances for read access. This is called multi-version read consistency.

78. What is an External table introduced in 9i?


Answer:
Oracle9i introduces external tables, which provide a mechanism to view data stored
in external sources
as if it were a table in the database. This ability to read external data provides
a more straightforward
method of loading and transforming data from external sources. Administrators no
longer need to reserve
space inside the database for staging tables or write external programs to
transform the data outside of
the database environment. By making it no longer necessary to stage data in the
Oracle database,
Oracle9i's external tables have essentially streamlined the ETL function by merging
the transformation
and loading processes.

79. What is SPFILE?


Answer:
The SPFILE (server parameter file) is Oracle's new method of maintaining database
parameters. The old
method of editing a text based parameter file (INIT.ORA) has given way to the new
method of maintaining
persistent parameters. By this Oracle means that you can change a system parameter
and have its value
be maintained across shutdown and startup. This is a great savings from the past
where you had to issue
the ALTER SYSTEM command and then remember to edit the INIT.ORA parameter file.
Here is how to
create SPFILE:
??SQL> CREATE SPFILE [='spfile_name'] FROM PFILE [='pfile_name'];
??SQL> CREATE PFILE [='pfile_name'] FROM SPFILE [='spfile_name'];
??SQL> create spfile from pfile;
Usage:
1. SQL> ALTER SYSTEM SET DB_CACHE_SIZE=1000M SCOPE=SPFILE;

80. How do you backup and restore using Transportable Tablespaces


Answer:
1.
2.
3.
4.
5.
6.
7.
Run DBMS_TTS against the tablespace to see if tablespace is self contained or not.
Make tablespace Read Only.
Export Metadata (EXP TRANSPORT_TABLESPACES=Y TABLESPACE=ts1)
Copy data file to target host
Copy export dump to target
Import the Metadata (IMP TRANSPORT_TABLESPACES=Y DATAFILES (file1,file2) )
Bring Tablespace ONLINE and enable SOURCE tablespace to READ WRITE

81. Explain different type of Database Failures


Answer:

?
?
?
?
?
Statement failure failed SQL is automatically rolled back and an error is returned
to user.
User Process failure abnormal disconnect PMON detects and rolls back and releases
locks.
User Error (drop table, data) DBA is required to recover data (import or incomplete
recovery)
Media Failure Loss or corruption of files DBA needs to apply appropriate recovery.
Instance Failure Abnormal shutdown Instance simply needs restarted, SMON auto
recovers by:
??Rolling forward changes in the redo log not recorded in the data files before
Open of
database.
??Rollbacks can occur after the database is open, when block data is requested.

82. What does RESETLOGS option do?


Answer:
1. Creates a new incarnation of the database, putting a new SCN in all data file
headers.
2. Reset Log Sequence number to 1
3. Reformats ONLINE REDO LOGFILES if they exists

83. Name 5 system views that can be used to retrieve information about backup and
recovery
Answer:
1.
2.
3.
4.
5.
V$BACKUP
V$DATAFILE_HEADER
V$RECOVER_FILE
V$RECOVERY_LOG
V$RECOVERY_STATUS

84. What is the quickest way to clone a database give your backup is done via
RMAN?
Answer:
Using RMAN command DUPLICATE DATABASE

85. What is the use of the RESUMABLE parameter in EXPORT?


Answer:
The RESUMABLE parameter allows the export to
1. Suspend if a space allocation issue occurs
2. Wait until the space allocation issue is solved
3. Then resume and therefore not to abort, provided a timeout is set
appropriately.

86. Name init.ora parameters need to set for Advanced Replication


Answer:
DISTRIBUTED_TRANSACTIONS
GLOBAL_NAMES
JOB_QUEUE_PROCESSES
OPEN_LINKS
PARALLEL_MAX_SERVERS
PARALLEL_MIN_SERVERS

87. Name 5 init.ora parameters that needs to set in Primary database for DataGuard
configuration
Answer:
LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_2_STATE
FAL_CLIENT
FAL_SERVER
STANDBY_ARCHIVE_DEST
STANDBY_FILE_MANAGEMENT

88. What is the use of FORCE LOGGING option?


Answer:
By setting FORCE LOGGING to TRUE, all transactions will generate REDO. This is used
for Data Guard,
so no data will be missed (i.e. transactions that were run with NOLOGGING option)
in Standby database.

89. (On UNIX) When should more than one DB writer process be used? How many
should be used?
Answer:
If the UNIX system being used is capable of asynchronous IO then only one is
required, if the system is
not capable of asynchronous IO then up to twice the number of disks used by Oracle
number of DB
writers should be specified by use of the db_writers initialization parameter.
90. If you have an example table, what is the best way to get sizing data for the
production table implementation?
Answer:
The best way is to analyze the table and then use the data provided in the
DBA_TABLES view to get the
average row length and other pertinent data for the calculation. The quick and
dirty way is to look at the
number of blocks the table is actually using and ratio the number of rows in the
table to its number of
blocks against the number of expected rows.

91. What special Oracle feature allows you to specify how the cost based system
treats a
SQL statement?
Answer:
The COST based system allows the use of Hints to control the optimizer path
selection. If they can give
some example hints such as FIRST ROWS, ALL ROWS, USING INDEX, STAR, even better.

92. You want to determine the location of identical rows in a table before
attempting to
place a unique index on the table, how can this be done?
Answer:
select rowid from emp e
where e.rowid > (select min(x.rowid)
from emp x
where x.emp_no = e.emp_no);

93. You are joining a local and a remote table, the network manager complains
about the
traffic involved, how can you reduce the network traffic?
Answer:
Push the processing of the remote data to the remote instance by using a view to
pre-select the
information for the join. This will result in only the data required for the join
being sent across.

94. How do you prevent output from coming to the screen?


Answer:
The SET option TERMOUT controls output to the screen. Setting TERMOUT OFF turns off
screen output.
This option can be shortened to TERM.

95. You see multiple fragments in the SYSTEM tablespace, what should you check
first?
Answer:
Ensure that users don��t have the SYSTEM tablespace as their TEMPORARY or DEFAULT
tablespace
assignment by checking the DBA_USERS view.

96. What are some indications that you need to increase the SHARED_POOL_SIZE
parameter?
Answer:
Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another
indication is steadily
decreasing performance with all other tuning parameters the same.

97. When should you increase copy latches? What parameters control copy latches?
Answer:
When you get excessive contention for the copy latches as shown by the ��redo copy
latch hit ratio. You
can increase copy latches via the initialization parameter LOG_SIMULTANEOUS_COPIES
to twice the
number of CPUs on your system.

98. Describe hit ratio as it pertains to the database buffers. What is the
difference
between instantaneous and cumulative hit ratio and which should be used for tuning?
Answer:
The hit ratio is a measure of how many times the database was able to read a value
from the buffers
verses how many times it had to re-read a data value from the disks. A value
greater than 80-90% is
good, less could indicate problems. If you simply take the ratio of existing
parameters this will be a
cumulative value since the database started. If you do a comparison between pairs
of readings based on
some arbitrary time span, this is the instantaneous ratio for that time span.
Generally speaking an
instantaneous reading gives more valuable data since it will tell you what your
instance is doing for the
time it was generated over.

99. What can cause a high value for recursive calls? How can this be fixed?
Answer:
A high value for recursive calls is cause by improper cursor usage, excessive
dynamic space
management actions, and or excessive statement re-parses. You need to determine the
cause and
correct it By either re-linking applications to hold cursors, use proper space
management techniques
(proper storage and sizing) or ensure repeat queries are placed in packages for
proper reuse.

100. You look at the dba_rollback_segs view and see that there is a large number
of
shrinks and they are of relatively small size, is this a problem? How can it be
fixed if it is a
problem?
Answer:
A large number of small shrinks indicates a need to increase the size of the
rollback segment extents.
Ideally you should have no shrinks or a small number of large shrinks. To fix this
just increase the size of
the extents and adjust optimal accordingly.

101. You look at the dba_rollback_segs view and see that you have a large number
of
wraps is this a problem?
Answer:
A large number of wraps indicates that your extent size for your rollback segments
are probably too small.
Increase the size of your extents to reduce the number of wraps. You can look at
the average transaction
size in the same view to get the information on transaction size.

102. How many redo logs should you have and how should they be configured for
maximum recoverability?
Answer:
You should have at least three groups of two redo logs with the two logs each on a
separate disk spindle
(mirrored by Oracle). The redo logs should not be on raw devices on UNIX if it can
be avoided.

103. If the database cannot be bounced, how would you kill a user?
Answer:
Use command:
ALTER SYSTEM KILL SESSION SID,SERIAL# ;

104: What is the frequency of log Updated..?


Answer:
On commit or
On checkpoint or
Redolog buffer is 1/3rd full

105: How do you rename a database?


Answer:
You can change Database name by following below procedure:
1. Alter Database backup control file to trace;
2. Above step will create a text control file in user_dump_dest directory.
3. Change name of the Database in above file and in init.ora file.
4. STARTUP NOMOUNT
5. Run the script that was modified in step 3
6. ALTER DATABASE OPEN RESETLOGS;

106: Is it possible to configure primary server and stand by server on different


OS?
Answer:
Answer for this s is NO. Standby database must be on same version of database and
same
version of Operating system.

107: What does database do during mounting process?


Answer:
while mounting the database oracle reads the data from controlfile which is used
for verifying physical
database files during sanity check. Background processes are started before
mounting the database only.

108: What is a deadlock and Explain


Answer:
A deadlock is a condition where two or more users are waiting for data locked by
each other. Oracle
automatically detects a deadlock and resolves them by rolling back one of the
statements involved in the
deadlock, thus releasing one set of data locked by that statement. Statement rolled
back is usually the
one which detects the deadlock. Deadlocks are mostly caused by explicit locking
because oracle does
not do lock escalation and does not use read locks. Multi-table deadlocks can be
avoided by locking the
tables in same order in all the applications, thus precluding a deadlock.

109: What are the options available to refresh snapshots?


Answer:
COMPLETE - Tables are completely regenerated using the snapshots query and the
master tables
every time the snapshot referenced.
FAST - If simple snapshot used then a snapshot log can be used to send the changes
to the snapshot
tables.
FORCE - Default value. If possible it performs a FAST refresh; otherwise it will
perform a complete
refresh.

110: What is snapshot log?


Answer:
It is a table that maintains a record of modifications to the master table in a
snapshot. It is stored in the
same database as master table and is only available for simple snapshots. It should
be created before
creating snapshots.

111: What is Two-Phase Commit?


Answer:
Two-phase commit is mechanism that guarantees a distributed transaction either
commits on all
involved nodes or rolls back on all involved nodes to maintain data consistency
across the global
distributed database. It has two phase, a Prepare Phase and a Commit Phase.

112: Describe two phases of Two-phase commit?


Answer:
Prepare phase - The global coordinator (initiating node) ask a participants to
prepare (to promise to
commit or rollback the transaction, even if there is a failure)
Commit - Phase - If all participants respond to the coordinator that they are
prepared, the coordinator
asks all nodes to commit the transaction, if all participants cannot prepare, the
coordinator asks all
nodes to roll back the transaction.

113: What are the factors causing the reparsing of SQL statements in SGA
Answer:
There are main two causes for reparsing:
1. The objects which the query is referencing has been modified
2. The parsed version of sql text has been aged out of the library cache.

114: How to implement the multiple control files for an existing database
Answer:
1. Edit init.ora file, set control_files parameter with multiple location
2. shutdown immediate
3. copy control file to multiple locations & confirm from init.ora contol_files
parameter
4. start the database.
5. run this query for changes confirmation - select name from v$controlfile;

115: What is mean by Program Global Area (PGA)


Answer:
PGA - Program Global Area
or the Process Global Area is a memory region that contains data and control
information for a single
server process or a single background process.
The PGA is allocated when a process is created and de-allocated when the process is
terminated. PGA is
an area that is used by only one process.

116: What is meant by recursive hints?


Answer:
Number of times processes repeatedly query the dictionary table is called recursive
hints. It is due to
the data dictionary cache is too small. By increasing the SHARED_POOL_SIZE
parameter we can
optimize the size of Data Dictionary Cache.

117: Is it possible to use raw devices as data files and what is the advantages
over
filesystem files ?
Answer:
Yes.
The advantages over file system files:
I/O will be improved because Oracle will bypass the OS. Disk Corruption will be
very less.

118: What are disadvantages of having raw devices?


Answer:
We have to depend on export/import utility for backup/recovery
The tar command cannot be used for physical file backup, instead we have to use dd
command which is
less flexible and has limited recoveries.

119. What are the system resources that can be controlled by profile?
Answer:
1. Number of concurrent sessions by user
2. CPU processing time
3. Amount of Logical I/O
4. Amount of Idle time

120. Explain different level of Auditing


Answer:
Statement Auditing
Privilege Auditing
Object Auditing

121. Explain the difference between $ORACLE_HOME and $ORACLE_BASE.


Answer:
ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath
ORACLE_BASE is
where the oracle products reside.

122. Name three advisory statistics you can collect.


Answer:
Database Cache Advisory
Shared Pool Advisory
PGA Advisory

123. When a user process fails, what background process cleans up after it?
Answer:
PMON

124. How would you force a log switch?


Answer:
ALTER SYSTEM SWITCH LOGFILE;
125. When creating a user, what permissions must you grant to allow them to
connect to
the database?
Answer:
CREATE SESSION

126. What view would you use to determine free space in a tablespace?
Answer:
DBA_FREE_SPACE

127. How would you determine who has added a row to a table?
Answer:
If database auditing is turned ON, query SYS.AUD$ table

128. You have just compiled a PL/SQL package but got errors, how would you view
the
errors?
Answer:
SHOW ERRORS

129. How can you enable a trace for a session?


Answer:
ALTER SESSION SET TRACING ON

130. A DBA had to remove some Archivelogs to free up space in filesystem. Now when
the RMAN job starts to backup Archivelogs, it complains about missing Archivelogs
that were deleted by
DBA. To resolve the issue and continue backing up remainder of Archivelogs, which
RMAN command
can be used so it won't complain about missing Archivelogs.
Answer:
Crosscheck command

131. Which RMAN command is used to create an exact replica of a database in new
host?
Answer:
DUPLICATE DATABASE

132. How do you install STATSPACK?


Answer:
By running $ORACLE_HOME/rdbms/admin/spcreate.sql script

133. Process you follow to start looking into Performance issue at database level
(If the
application is running very slow, at what points do you need to go about the
database in order to improve
the performance?)
Answer:
??Run a TOP command in Unix to see CPU usage (identify CPU killer processes)
??Run VMSTAT, SAR, and PRSTAT command to get more information on CPU and memory
usage
and possible blocking
??Run STATSPACK report to identify:
1. TOP 5 WAIT EVENTS
2. RESOURCE intensive SQL statements
??See if STATISTICS on affected tables needs to be re-generated
??IF poorly written statements are culprit, run a EXPLAIN PLAN on these statements
and see whether
new index or use of HINT brings the cost of SQL down.
134. Which is most important v$ view to see performance related information?
Answer:
V$WAITSTAT

135. Explain below wait events in STATSPACK report


DB SCATTERED READ, DB SEQUENTIAL REAL, ENQUEUE
Answer:
DB SCATTERED READ
DB SEQUENTIAL REAL
ENQUEUE
- FULL TABLE SCAN
- IO
- LOCKING

135. List five most important parameter in 9i affecting performance


Answer:
CURSOR_SHARING
DB_CACHE_SIZE
PGA_AGGREGATE_TARGET
DB_16K_CACHE_SIZE, DB_8K_CACHE_SIZE, DB_2K_CACHE_SIZE

136. What is PGA_AGGREGATE_TARGET?


Answer:
This parameter controls the maximum amount of memory PGA which can be used by the
queries when
WORKAREA_SIZE_POLICY is set to Auto.
The value you can be set in Bytes, kilobytes (K), megabytes (M) or gigabytes (G).
The default value is 0
This parameter also has an effect on the execution plans of the cost based
optimizer. The optimizer uses
the value of the parameter PGA_AGGREGATE_TARGET to derive an estimate for the
minimum and
maximum amount of memory which should be available at run-time for each sort, hash-
join and bitmap
operator in the query. Based on this minimum and maximum value, the optimizer
selects the best plan.

137. How do you analyze table partition using Oracle provided package?
Answer:
DBMS_STATS.GATHER_TABLE_STATS with GRANULARITY => 'PARTITION' OPTION

138. You see a wait on LMS process in statspack, what does that mean?
Answer:
A. Wait is due to Data Guard Broker.

139. Name three advisory statistics you can collect.


Answer:
SHARED_POOL_ADVICE
PGA_TARGET_ADVICE
DB_CACHE_ADVICE

140. Explain procedure to Change CHARACTERSET of a database.


Answer:
Can't change CHARACTERSET of a database, you will need to re-create the database
with appropriate
CHARACTERSET.

141. If you had a tablespace, TEST_TABLESPACE, which consists of three files:


TEST01.dbf, TEST02.dbf, and TEST03.dbf, and someone accidentally used the Unix
command "rm" to
delete the file TEST02.dbf, what else would you need in order to recover all the
data that was present in
TEST_TABLESPACE at the time that TEST02.dbf was deleted?
Answer:
All Archivelogs

142. How do you put database is ARCHIVELOG mode, explain procedure


Answer:
1. Modify init.ora parameter START_ARCHIVE=TRUE
2. SQL> SHUTDOWN IMMEDIATE;
3. STARTUP MOUNT;
4. ALTER DATAVASE ARCHIVELOG;
5. ALTER DATABASE OPEN;

143. How do you create PASSWORD FILE?


Answer:
using orapwd utility

144. How can you tell if an index on particular table is USED or NOT USED in 9i?
Answer:
By turning MONITORING ON that index and querying into INDEX_USAGE table

145. How do you switch from an init.ora file to a spfile?


Answer:
SQL> CREATE SPFILE FROM PFILE;

146. Explain FORCE LOGGING feature in 9i.


Answer:
By setting FORCE LOGGING to TRUE, all transactions will generate REDO. This is used
for Data Guard,
so no data will be missed (i.e. transactions that were run with NOLOGGING option)
in Standby database

147. Explain the use of setting GLOBAL_NAMES equal to TRUE.


Answer:
Setting GLOBAL_NAMES dictates how you might connect to a database. This variable is
either TRUE or
FALSE and if it is set to TRUE it enforces database links to have the same name as
the remote database
to which they are linking.

148. How do you set up 9i Data Guard?


Answer:
Take a full hot backup of Primary database
Create standby control file
Transfer full backup, init.ora, standby control file to standby node.
Modify init.ora file on standby node.
Restore database
Recover Standby database
(Alternatively, RMAN command DUPLICATE DATABASE FOR STANDBY DO RECOVERY can
be also used)
Setup FAL_CLIENT and FAL_SERVER parameters on both sides
Put Standby database in Managed Recover mode

149. How do you create Physical Standby database?


Answer:
Take a full hot backup of Primary database
Create standby control file
Transfer full backup, init.ora, standby control file to standby node.
Modify init.ora file on standby node.
Restore database
Recover Standby database
(Alternatively, RMAN command DUPLICATE DATABASE FOR STANDBY DO RECOVERY can
be also used)
Setup FAL_CLIENT and FAL_SERVER parameters on both sides
Put Standby database in Managed Recover mode

150. Explain LOG_ARCHIVE_DEST_2 parameter and Dataguard related parameters.


Answer:
log_archive_dest_2='SERVICE=ORACLE_SID_STBY optional lgwr async=20480 noaffirm
reopen=15
max_failure=10 net_timeout=30 delay=0'

151. Explain Database SWITCH OVER PROCEDURE


Answer:
On Primary:
alter database commit to switchover to physical standby with session shutdown;
shutdown;
startup nomount;
alter database mount standby database;
recover managed standby database disconnect from session;
On Standby:
alter database commit to switchover to primary;
shutdown;
startup;

152. Exaplain How to Activate STANDBY Database


Answer:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE ACTIVATE STANDBY DATABASE;
SHUTDOWN IMMEDIATE;
STARTUP;

153. What do you know about VCS?


Answer:
VCS stands for Veritas Cluster Software.
VCS is used as a High Availability solution in case of host failure. There will be
typically two nodes in a
cluster and database will be running on one node. Incase of host failure, VCS will
failover database
(service group) to second node.
154. What are typical resources in VCS service group?
Answer:
In typical VCS configuration, there are three main resources required for Oracle
database failover.
1. Oracle Database
2. Listener
3. Filesystems

155. Which file contains VCS service group and resource information?
Answer:
Main.cf

156. What database related information we need to set in VCS?


Answer:
ORACLE_SID
LISTENER name
LISTENER password (if used)
Oracle filesystems that will be failed over
Location to init.ora/spfile if not available at default location

157. What is VCS in-depth monitoring?


Answer:
In VCS in-depth monitoring, a database user (VCSMON) will be created which will
login to database at
certain interval (i.e. every 5 minute) to see if database connectivity is OK. For
some reason, if this user
can t login VCS will fail over the database to second node.

158. In ACTIVE VCS environment, you need to recycle the database but doesn�t want
database to failover to other node. What you must do before shutting down the
database, so it doesn t
failover to other node?
Answer:
You need to FREEZE the service group.
Alternatively, you can make Oracle resource NON-CRITICAL (not recommended)

159. What if you accidentally shutdown the LISTENER in VCS environment?


Answer:
If Listener Resource is marked CRITICAL, and Restart Attempt is set to 0, then
Service Group will failover
to second node.
It is recommended for Listener resource to set RESTART ATTEMPTS value to 3.

160. Explain Automatic Segment Space Management


Answer:
Automatic Segment Space Management features was introduced in 9i which simplifies
management of
free space usage within object for below parameter:
FREELIST
FREELIST GROUPS
PCTUSED

161. How do you REBUILD index online and Compute Statistics at the same time?
Answer:
ALTER INDEX INDEX_NAME REBUILD COMPUTE STATISTICS ONLINE;

162. Explain Bitmap Join Indexes


Answer:
Bitmap Join Indexes pre-stores results of a join and can avoid an expensive join
operation at runtime.

162. Which parameters can be modified dynamically as part of 9i Dynamic Memory


Management feature?
Answer:
Below parameters can be modified dynamically as part of 9i Dynamic Memory
Management feature
DB_CACHE_SIZE
SHARED_POOL_SIZE
LARGE_POOL_SIZE
JAVA_POOL_SIZE

163. What additional statistics are gathered by DBMS_STATS that were not available
in
earlier version or by using ANALYE command?
Answer:
In 9i DBMS_STATS package now collects below statistics as well:
CPU Usage
System I/O

163. Explain Different values supported by CURSOR_SHARING parameter and its


explanation
Answer:
Below values are supported by CURSOR_SHARING init.ora parameter:
FORCE - Literals will be replaced by system generated bind variables where possible
SIMILAR - Oracle determines which literals are "safe" for substitution with bind
variables. This will result
in some SQL not being shared in an attempt to provide a more efficient execution
plan.
EXACT - Only allows statements with identical text to share the same cursor

163. Name three very important Hit Ratios in database


Answer:
Buffer Cache Hit Ratio
Data Dictionary Hit Ratio
Library Cache Hit Ratio
(Use V$SYSSTAT)
(Use V$ROWCACHE)
(Use V$LIBRARYCACHE, V$SGASTAT)

164. Name Different Latches in database and Dynamic Performance Views to get more
information about Latches
Answer:
Database Latches:
Redo Allocation Latch
Redo Copy Latch
Row Cache Latch
Use V$LATCH, V$LATCHHOLDER, V$LATCHNAME to get more information about the latches

165. In which scenarios you need to set Large Pool?


Answer:
You need to set Large Pool if you are using below:
MTS (Multithreaded Server)
RMAN backups

166. Explain Tuning Process that involves Application, Database, OS, Network
Answer:
In such a scenario, tuning should perform in following order:
1. Business Rules
2. Data Design
3. Application Design
4. Logical Structure of the Database
5. Database Operations
6. Access Path
7. Memory Allocation
8. I/O and Physical Structure of the Database
9. Resource Allocation
10. OS

167. Explain Different Tuning Areas in Database


Answer:
Following areas within database can be tuned:
Memory -
I/O -
CPU
Space Management
Redo & Checkpoint
Rollback -
Shared Pool, Buffer Cache, Redo Buffer, Sort Area Size, PGA, Large Pool
Multiple Database Writer Processes, Distributing I/O, RAID
Extent Allocation, Oracle Block Efficiency
Redo log file configuration, checkpoints
Retention, number of Rollback Segments, Optimal

168. How do you setup Auditing in Database?


Answer:
If audit packages are not installed, run $ORACLE_HOME/rdbms/admin/cataudit.sql
script
Modify initialization parameter AUDIT_TRAIL=DB and setup AUDIT_DUMP_DEST
Select what type of operations needs to be audited
View Audit results from SYS.AUD$ table

169. Can you Audit System Operations? If Yes, how?


Answer:
SYS connections can be audited by setting init.ora parameter
AUDIT_SYS_OPERATIONS=TRUE

170. How can you setup Encryption in Database?


Answer:
Data within Database can be encrypted and decrypted using package:
DBMS_OBFUSCATION_TOOLKIT

171. Name five parameters can be used for Password Management?


Answer:
Following parameters can be used to manage user password:
FAILED_LOGIN_ATTEMPTS
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME

172: What is difference between Logical Standby Database and Physical Standby
database?
Answer:
The primary functional difference between logical and physical standby database
setups is that logical
standby permits you to add additional objects (tables, indexes, etc) to the
database, while physical
standby is always an exact structural duplicate of the master database. The
downside, though, is that
logical standby is based on newer technologies (logical standby is new in Oracle
9.2) and tends to be
generally regarded as more temperamental than physical standby.

Technical � UNIX
Every DBA should know something about the operating system that the database will
be running on. The
s here are related to UNIX but you should equally be able to answer s related to
common Windows environments.

1. How do you list the files in an UNIX directory while also showing hidden files?
Answer:
ls -ltra
2. How do you execute a UNIX command in the background?
Answer:
Use the "&" at the end of command
3. What UNIX command will control the default file permissions when files are
created?
Answer:
Umask

4. Explain the read, write, and execute permissions on a UNIX directory.


Answer:
Read allows you to see and list the directory contents.
Write allows you to create, edit and delete files and subdirectories in the
directory.
Execute gives you the previous read/write permissions plus allows you to change
into the directory and
execute programs or shells from the directory.

5. The difference between a soft link and a hard link?


Answer:
A symbolic (soft) linked file and the targeted file can be located on the same or
different file system while
for a hard link they must be located on the same file system.

6. Give the command to display space usage on the UNIX file system.
Answer:
df -lk

7. Explain iostat, vmstat and netstat.


Answer:
Iostat reports on terminal, disk and tape I/O activity.
Vmstat reports on virtual memory statistics for processes, disk, tape and CPU
activity.
Netstat reports on the contents of network data structures.

8. How would you change all occurrences of a value using VI?


Answer:
Use:%s/<old>/<new>/g

9. Give two UNIX kernel parameters that effect an Oracle install


Answer:
SHMMAX & SHMMNI

10. Briefly, how do you install Oracle software on UNIX.


Answer:
Basically, set up disks, kernel parameters, create oracle user and dba group, and
run runinstaller.

11. How do you create a decision tree in a shell script?


Answer:
Depending on shell, usually a case-esac or an if-endif or fi structure

12. What is a pipe and give an example?


Answer:
A pipe is two or more commands separated by pipe char '|'. That tells the shell to
arrange for the output of
the preceding command to be passed as input to the following command.
Example : ls -l | pr
The output for a command ls is the standard input of pr.
When a sequence of commands are combined using pipe, then it is called pipeline.

13. What is the difference between > and >> redirection operators?
Answer:
> is the output redirection operator when used it overwrites while >> operator
appends into the file.

14. What is the difference between process and thread.


Answer:
Creation of new process requires new resources and Address space whereas the thread
can be created
in the same address space of the process which not only saves space and resources
but are also easy to
create and delete, and many threads can exists in a process.

15. What is the difference between a shell variable that is exported and the one
that is
not exported?
Answer:
export LANG=C
will make the variable LANG the global variable, put it into the global
environment. all other processes
can use it.
LANG=C
will change the value only in the current script.

16. How will you list only the empty lines in a file (using grep)
Answer:
grep "^$" filename.txt

17. What is Semaphore?


Answer:
A data object that represents the right to use a limited resource, used for
synchronization and
communication between asynchronous processes.

18. How do you execute a UNIX command in the background?


Answer:
You can use & at the end of command or use nohup command

19. How do you check active shared memory segments?


Answer:
ipcs -a

20. How do you check Paging/Swapping in Unix?


Answer:
You can check Paging/Swapping using below commands
vmstat s
prstat s
swap l
sar p

21. How do you check number of CPU installed on Unix server?


Answer:
psrinfot v

22. How do you check Paging/Swapping in Unix?


Answer:
Vmstat s
Prstat s
Swap l
Sar p

Process control issues:


What processes do you follow while implementing changes in production?
Beside the DBAs and system administrators, who has access to the "Oracle" operating
system account?
How often is the oracle operating system account password changed?
Are the DBAs co-located with the teams they support? How is capacity planning
performed?
Is there adequate capacity already in place to support the expected growth over the
next year? Future
opportunities/organization issues:
Is there a formal job definition for the DBA role? Is there a defined technical
career path?
How is IT aligned with the business areas?
How many employees report to more than one manager? How do you determine if a DBA
has been
successful?
How are the application DBAs and production control DBAs organized?
s that will be asked to you
Writing skills:
Please bring along a copy of the last status report you ve submitted, as well as
any articles. If you haven t
brought one along, please mail me one after the interview.
Perseverance in technical expertise:
What errors did you hit during your most recent database recovery?
What was the most difficult technical obstacle you encountered during your last
project?
Perseverance in relationships:
What negative "group relationship" issues exist in your current working
environment? How are you
addressing them?
What is your most difficult set of users, and how do you manage that relationship?
What do you want to
learn in the next 12 months?
What communications method do you usually use when dealing with users? Can you
provide examples?
What communications method is most effective when customers need your help?
Technical Experience:
(Use hypothetical s rather than straight technical s)
What database and overall architecture would you suggest for testing new middleware
without impacting
production?
How do you assess my database s health?
How would you approach a performance problem with a three-tier application? How do
you test your
backup/recovery procedures?
How would you support the upgrade process for multiple applications, with different
application rollout
cycles, in the same instance?

What is a deadlock ? Explain .

Two processes wating to update the rows of a table which are locked by the other
process then deadlock arises. In a database environment this will often happen
because of not issuing proper row lock commands. Poor design of front-end
application may cause this situation and the performance of server will reduce
drastically.
These locks will be released automatically when a commit/rollback operation
performed or any one of this processes being killed externally.

What are the basic element of Base configuration of an oracle Database ?

It consists of
one or more data files.
one or more control files.
two or more redo log files.
The Database contains
multiple users/schemas
one or more rollback segments
one or more tablespaces
Data dictionary tables
User objects (table,indexes,views etc.,)
The server that access the database consists of
SGA (Database buffer, Dictionary Cache Buffers, Redo log buffers, Shared SQL pool)
SMON (System MONito)
PMON (Process MONitor)
LGWR (LoG Write)
DBWR (Data Base Write)
ARCH (ARCHiver)
CKPT (Check Point)
RECO
Dispatcher
User Process with associated PGS

What is a cluster Key ?


The related columns of the tables are called the cluster key. The cluster key is
indexed using a cluster index and its value is stored only once for multiple tables
in the cluster.

What is clusters ?
Group of tables physically stored together because they share common columns and
are often used together is called Cluster.

What is an Index ? How it is implemented in Oracle Database ?


An index is a database structure used by the server to have direct access of a row
in a table.
An index is automatically created when a unique of primary key constraint clause is
specified in create table comman (Ver 7.0)

What is a schema
Systematic arrangement of tables is known as schema, They are
Star
Snowflake
Galaxy

What is Parallel Server


Multiple instances accessing the same database (Only In Multi-CPU environments)

What is a database instance and Explain


A database instance (Server) is a set of memory structure and background processes
that access a set of database files.
The process can be shared by all users.
The memory structure that are used to store most queried data from database. This
helps up to improve database performance by decreasing the amount of I/O performed
against data file.

What is the use of control file


Control file is binary file which is having all the information realted to
database. db_name, maxlogfiles, maxdatafiles, tablespaces information. Without this
u cannot open your database. Init.ora parameter file showing the location of the
controlfile.

What does a control file contains


information about the database,redologfile and datafile,archivelog file location
and current SCN no and redo log file

What is the use of redo log information


Redo log information are used to recover database if it gets corrupted

What is the function of redo log


The primary function of the redo log is to record all changes made to data.

What are the characteristics of data files


Characterstics of Data File :
- A Data file can be associated with only one database.
- Once created, a data file cannot change is size.
- One or more data files form a logical unit of database storage called a
Tablespace.

What is a datafile
It is the file where actual data are stored. It is the physical part of the
database

What is a temporary segment


Temporary Segments are created by ORACLE when a SQL statement needs a temporary
work area to complete execution. When the statement finishes execution, the
temporary segments extents are released to the system for future use.

What are the uses of rollback segment


The use of RollBack Segment is Database is - to maintain read consistency between
multiple transactions.

What is rollback segment


ROLLBACK INFORMATION NOTES:
Segment Name - Name of the rollback segment.
Owner - Owner of the rollback segment.
Tablespace - Name of the tablespace containing the rollback segment.
Segment ID - ID number of the rollback segment.
File ID - ID number of the block containing the segment header.
Block ID - Starting block number of the extent.
Initial Extent - Initial extent size in bytes.
Next Extent - Secondary extent size in bytes.
Min Extents - Minimum number of extents.
Max Extents - Maximum number of extents.
PCT Increase - Percent increase for extent size.
Status - ONLINE if the segment is online, or PENDING OFFLINE if the segment is
going offline but some active (distributed) transactions are using the rollback
segment. When the transaction(s) complete, the segment goes OFFLINE.
Instance - Instance this rollback segment belongs to (Parallel Server), or NULL for
a single-instance system .

What is an index segment


Oracle creates the index segment for an index or an index partition when you issue
the CREATE INDEX statement. In this statement, you can specify storage parameters
for the extents of the index segment and a tablespace in which to create the index
segment. (The segments of a table and an index associated with it do not have to
occupy the same tablespace.) Setting the storage parameters directly affects the
efficiency of data retrieval and storage

What is a data segment


A segment is a set of extents that contains all the data for a specific logical
storage structure within a tablespace. For example, for each table, Oracle
allocates one or more extents to form that table's data segment, and for each
index, Oracle allocates one or more extents to form its index segment.
Oracle databases use four types of segments, which are described in the following
sections:
A single data segment in an Oracle database holds all of the data for one of the
following:
A table that is not partitioned or clustered
A partition of a partitioned table
A cluster of tables

What are the different types of segments


temp segment, data segment, table segment, index segment

What is a segment
segment is the collection of extents allocated to paricular object like table and
index. Table segment and index segment

What is an extent
An Extent is a collection of contagious blocks

What is row chaining


if any of he empty row is not sufficient to hold the row. then row is placed in
multiple blocks. it happenes when the block size is small and rows are of large
size. then it cause chaining. Due to chaining performance degrades and will cause
more IOs

How to define data block size


The primary block size is defined by the Initiaization parameter DB_BLOCK_SIZE.

What is data block


Block is the smallest unit of storage in the logical structure of the database
where
actual table rows are stored.

What is network database link


When an Oracle network uses Oracle Names, the names servers in the system
automatically create and manage global database links for every Oracle database in
the network. All users and PL/SQL subprograms in any database can use a global
database link to access data and database objects in the corresponding remote
database.

What is public database link


You can create a public database link for a database. All users and PL/SQL
subprograms in the database can use a public database link to access data and
database objects in the corresponding remote database.
When many users require an access path to a remote Oracle database, an
administrator can create a single public database link for all users in a database.

CREATE PUBLIC DATABASE LINK ...;


What is private database link
You can create a private database link in a specific schema of a database. Only the
owner of a private database link or
PL/SQL subprograms in the schema can use a private database link to access data and
database objects in the corresponding remote database.
A private database link is more secure than a public or global link, because only
the owner of the private link, or subprograms within the same schema, can use the
private link to access the specified remote database.
To create a private database link, you specify: CREATE DATABASE LINK ...;

What are the types of database links


Oracle allows you to create private, public, and global database links.

Private Database Link: You can create a private database link in a specific schema
of a database. Only the owner of a private database link or PL/SQL subprograms in
the schema can use a private database link to access data and database objects in
the corresponding remote database.

Public Database Link : You can create a public database link for a database. All
users and PL/SQL subprograms in the database can use a public database link to
access data and database objects in the corresponding remote database.

Global Database Link - When an Oracle network uses Oracle Names, the names servers
in the system automatically create and manage global database links for every
Oracle database in the network. All users and PL/SQL subprograms in any database
can use a global database link to access data and database objects in the
corresponding remote database.

What is database link


A database link is a pointer in the local database that allows you to access on a
remote database.

When can hash cluster used


Hash clusters are useful in cases where :
(i) There is a uniform, even and predictable no. of key values.
(ii) Queries using equality predicates.
(iii) The table is NOT growing constantly, and the keys are rarely updated.

What is index cluster


An index cluster uses an index to maintain data within the cluster. The structure
of a cluster index is similar to a normal index.
Although a normal index does not store NULL key values, and index cluster can store
it.
And, a cluster index is likely to be smaller than a normal index because, there is
only one entry for each key value in the cluster index, even if that is repeating.

What is cluster key

The related columns of the tables are called the cluster key. The cluster key is
indexed using a cluster index and its value is stored only once for multiple tables
in the cluster.

What are clusters


A Cluster is made up of a table, or group of tables that share the same data
blocks, which are grouped togather because they share common columns and are often
used together

How are the index updates


Indexes can be updated by either Dropping and recreating them, or Rebuilding them
online.

What is an Oracle index


An Index is a tree structure that allows direct access to a row in a table. Indexes
can be classified based on their logical design or on their physical
implementation.
The Logical classification groups indexes from an application perspective, while
the physical classification is derived from the way the indexes are stored

What are synonyms used for


Synonyms are used to : Mask the real name and owner of an object.
Provide public access to an object
Provide location transparency for tables,views or program units of a remote
database.
Simplify the SQL statements for database users.

What is a public synonym


A public synonym is owned by the special user group named PUBLIC and every user in
a database can access it.

What is a private synonym


To create a private synonym in your own schema, you must have CREATE SYNONYM system
privilege.
To create a private synonym in another user's schema, you must have CREATE ANY
SYNONYM system privilege.
To create a PUBLIC synonym, you must have CREATE PUBLIC SYNONYM system privilege.
Use the CREATE SYNONYM statement to create a synonym, which is an alternative name
for a table, view, sequence, procedure, stored function, package, materialized
view, Java class schema object, user-defined object type, or another synonym.
Synonyms provide both data independence and location transparency. Synonyms permit
applications to function without modification regardless of which user owns the
table or view and regardless of which database holds the table or view. However,
synonyms are not a substitute for privileges on database objects. Such privileges
must be granted to a user before the user can use the synonym.

What are the types of synonyms


A synonym is an alternative name for objects such as tables, views, sequences,
stored procedures, and other database objects.

A synonym (synonym-name) is an alias for an object (such as a table). The object


does not need to exist at the time of its creation. Synonyms can't be used in a
drop and truncate statements. If this is tried, it results in a ORA-00942: table or
view does not exist
The syntax for creating a synonym is:
create [or replace] [public] synonym [schema .] synonym_name
for [schema .] object_name [@ dblink];
The or replace phrase allows you to recreate the synonym (if it already exists)
without having to issue a DROP synonym command.
The public phrase means that the synonym is a public synonym and is accessible to
all users. Remember though that the user must first have the appropriate privileges
to the object to use the synonym.
The schema phrase is the appropriate schema. If this phrase is omitted, Oracle
assumes that you are referring to your own schema.
The object_name phrase is the name of the object for which you are creating the
synonym. It can be one of the following:
table package
view materialized view
sequence java class schema object
stored procedure user-defined object
function synonym

What is a synonym
Synonym, as the name suggests, is an alternative name for an object. It can be used
for simplifying names that are lenghy or complex, for e.g you can use a simple
synonym for accessing objects of other users, for which you had to prefix username
to the object.

What is an Oracle sequence


A sequence is a database object created by a user that can be used to generate
unique integers. A typical usage of sequences is to generate primary key values
which are unique for each row.
It is generated and incremented (or decremented) by an internal Oracle routine. It
can be used by multiple users and for multiple tables too. A sequence can be used
instead of writing an application code for sequence-generating routine.

What are the advantages of views


Views provide many advantages, like:

(a) They restrict access to the whole data, because they display only selective
columns.
(b) They can be used to make complex queries easy. A user can use a simple query on
a view to display data from multiple tables, without having the knowledge of how to
join tables in queries.
(c) Different views can be created from the same data as per the requirements of
different types of use groups.

Can a view based on another view


Yes, a view can be based on another view.

Do a view contain data


A view does not contain any data of its own, but is like a window through which
data from other tables can be viewed and changed.

What is an Oracle view


A view is a logical table which makes a complex query easy. We can even create a
complex view by joining two tables.

What is Oracle table


Table is the most commonly used form of storing user data.

Can a tablespace hold objects from different schemes


A schema is a collection of components and database objects under the control of a
given database user. Each Oracle Portal application maps to an Oracle database
schema. The schema stores the components owned by the application. In addition, the
schema can store the database objects on which the components are based.

Can objects of the same schema reside in different tablespaces


Yes : Schema objects can stored in different tablespace and a tablespace can
contained one or more schema objects data.

What are Schema Objects


A schema is a collection of database objects. A schema is owned by a database user
and has the same name as that user. Schema objects are logical structures created
by users. Objects may define areas of the database to hold data, such as tables or
indexes, or may consist just of a definition, such as a views or synonyms.
There is no relationship between a tablespace and a schema. Objects in the same
schema can use storage in different tablespaces, and a tablespace can contain data
from different schemas.
Schema objects can be created and manipulated using SQL. As an administrator, you
can create and manipulate schema objects, just as you do with the logical and
physical structures of your database using Oracle Enterprise Manager. The
underlying SQL is generated for you by Oracle Enterprise Manager.

Explain the relationship among database, tablespace and data file.What is schema
Databases, tablespaces and datafiles are closely related, but they have important
differences:

--- A Oracle Database consists of one or more tablespaces


--- Each Table space in an Oracle database consists of one or more files called
datafiles.
--- A database's data is collectively stored in the datafiles that constitute each
tablespace of the database.

What is SYSTEM tablespace and when is it created


System tablespace is the memory allocated by oracle for creation of
objects,views,indexes.
this is created automatically by oracle when the Database is created

What is a tablespace
An Oracle database consists of one or more logical storage units called
tablespaces, which collectivley store all of the database's data.
Each tablespace in an ORACLE database consists of one or more files called
datafiles, which are physical structures that conform with the operating system in
which Oracle is running.

For Example::: A simple Oracle Database have one tablespace and one datafile.

What are the components of logical database structure of Oracle database


Tablespace, segments, extens, data Blocks.
A logical unit of storage of databse is called Tablespace.
Segments is a space alloocated for a specific logical storage structure within a
tablespce.
Extents: Space allocated to a segments.
Datablocks: Oracle server manage the storage space in the datafiles in units is
called data blocks or oracle blocks

What are the components of physical database structure of Oracle database


physical components of oracle database are control files,redo log files and
datafiles.
Control file: control file is read in the mount state of database. control file is
a small binary file which records the physical structure of database which includes
database name
names and locations of datafiles and online redo log files.
timestamp of database creation
check point information
current log sequence number.
Redo log files: This files saves all the changes that are made to the database as
they occur. This plays a great role in the database recovery.
Datafiles:datafiles are the physicalfiles which stores data of all logical
structure.

Can we decrease the Datafile size?


Yes you can decrease the size of the datafile to the place where the extents are
deallocated in to it by resizing the datafiles to something smaller than current.
If the data in the datafile is scattered than reorg the object in the tablespace to
deallocate the extent and decrease the filesize
Is it possible to disable the connection sys as sysdba. If yes, does violates
oracle 9i Any attempts would be appreciated
There is no possibilities of disabling the connection as sysdba because sys is the
owner of the database who has all the powers of the database so you can disable the
account of sys what u can do is you can change the password and restrict the access
of the password by the password file to the Server itself.

What is a lookup table in database? where can we use these type of table?
Lookup tables are like constraints which hold a value. The content in the lookup
tables dosen't change often, hence refered as lookup (reference).
Example : Countries table
Countries are not added on regular bases hence one can consider the table as a
lookup table. As and when needed in some other table the countries information can
be fetched base on PK - Country-Code column. Eg - Emp_Per_Info.

Whenever a DBA creates a user in which datafile that will be get created ?
It depends on the product you are using. For instance, DB2 doesn't require that a
user be defined (to DB2).
In a relational system it is only required that a relational catalog/data
dictionary exists. What it looks like and how it's designed is up to the designers.
And please, in a relational system, data values are stored in TABLES, not
datafiles, just tables.

How is locking implemented?


Apart from the given ans, a table can be locked using the following command : LOCK
TABLE <TABLENAME> IN <MODE>
where <TABLENAME> is the name of the table u want to lock and <MODE> is different
type of modes in which a table can be locked like shared ,shared
exclusive,exclusive etc.

How can you find all the tables created by an user?


This could be found through
1. select table_name from sys.dba_tables where owner='specified user'
2. select * from cat;
3.select * from sys.dba_objects where owner ='specified owner'

Do you need a commit after DDL statements?


DDL IS A AUTO COMMIT YOU NEED NOT COMMIT AGAIN

Is it advisable to force an index when you want to select mostof the entries in the
table?
If table has many columns as well as large, and you want to access only indexed
columns, then it is yes.

If you are selecting columns those are not indexed, and still you are using index
then it will increase disk I/O which will drag performance of the query as well
database.

Name some built-in functions that can be used in SQL queries?

There are six basic types of built-in functions


Character functions analyze and modify the contents of CHAR and VARCHAR2 string
variables.
Numeric functions are a full range of operations that manipulate numbers, including
trigonometric, logarithmic, and exponential functions.
Date functions are utilities that allow programmers to perform high-level actions
on date variables, including date arithmetic.
Conversion functions convert from one data type to another, often formatting the
output data at the same time.
LOB functions allow operations on LOB (large object) data.
Miscellaneous functions perform operations that don't fall into any of the other
categories.

If you have an open cursor on a table, modify the same tableand commit, what would
happen?
changes will be committed

What is a cursor? Why do you need them? What are the different kinds of cursor?
oracle uses private sql area to execute sql queries and store the
information.pl/sql uses cursors to name these private sql area and access its
stored information
there r two types of cursors
implicit
explicit
implicit cursors are used for all dml and single row queries.these are system
defined
explicit cursors are used for queries which return multiple row .these are user
defined.

Different types of table join.


different types of joins are
equi join
non equi joiin
self join
outer join

How do you sort a table?


we can sort the table by giving asc or desc in order by clause.by default it is
desc
eg:select empno,last_name from emp order by last_name asc;

What is DDL, DML?


Data Definition Language..
-> Create Command, Drop Command, Alter Command and Truncate Command
Data Manipulation Language..
-> Insert Command,Delete Command, Update Command

What rule optimizations are possible in SQL query tuning?


FIRST_ROWS
LAST_ROWS
FIRST_ROWS_10
FIRST_ROWS_100
FIRST_ROWS_1000
ALL_ROWS

How would you pass hints to the SQL processor?


USING COMMENT LINES WITH (+) SIGN YOU CAN PASS THE HINTS TO SQL ENGINE-----------
>/* +PARALLEL() */

How do you handle exceptions / errors in stored procedures?


Exceptions can be handled in various ways in the stored procedures. Method (1)
could be using EXCEPTION block in the procedure within which use WHEN
<exceptionname> THEN. Method (2) could be declare a variable in DECLARE section as
EXCEPTION type, raise it wherever required using RAISE <exception variable name>
and handle it in EXCEPTION part using WHEN clause. Method (3) could be using the
keywords SQLCODE & SQLERRM to display error no and error code..
What is the relation between free list and buffer busy wait?
Buffer busy wait is the condition in which oracle server has to wait to access the
segment header block for the table on which concurrent insert or delete operation r
to be done.the segment header block contains control info including header link for
free list blocks for table,if we increase the freelist or freelist_group
paramater,it gives multiple segment headers.which reduces the "buffer busy wait"

What is ORA-1555?
its snapshot too old error.

g:\prints\interview\Interview2.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
WebLogic JDBC Interview
========================:

(1) What is JDBC?


Java Database Connectivity is a Java API which is used for accessing the database

(2) What is a data source?


A JDBC data source is an object bound to the JNDI tree that provides database
connectivity through a pool of JDBC connections

(3) What is a connection pool?


Connection pool is a group of connections which are used to create physical
database connections

(4) What are the advantages of connection pool?


It provides re-usability of database connections
It provides Readily Available Connections
You can test the connection (Test Connection on Reserve) before giving it to an
application
No hard coding is required. You can change host name, service name, port etc., in
WebLogic Admin Console

(5) When JDBC Connections are created?


When starting up WebLogic Server
When deploying the connection pool to a target server or cluster

(6) What are the different types of WebLogic Server JDBC Data Sources?
Generic Data Sources
Multi Data Sources
Grid Link Data Sources

(7) What is a Generic Data Source?


It provides database connectivity through a pool of JDBC connections

(8) What is Multi Data Source?


Multi Data Source is an abstraction around group of databases which provides either
load balancing or fail-over

(9) What is a Grid Link Data Source?


Grid Link Data Source is a data source which provides connectivity between
WebLogic Server and an Oracle RAC (Real Application Cluster) Database. The Grid
Link Data Source is introduced from WebLogic Server 10.3.4.

(10) What are the algorithms supported by Multi Data Source?


Load Balancing
Fail-over
(11) What will happen to in-use connections if one of the data source in Multi Data
source fails?
The Multi data source does not provide fail-over for active and in-use connections.

(12) What are the advantages of GridLink data source?


GridLink Data Source provides:
Fast Connection Fail-over
Runtime Connection Load Balancing
GridLink Affinity

13) What is FAN?


FAN stands for Fast Application Notification events. Enabling FAN Events allows a
data source to subscribe to and process Oracle Fast Application Notification (FAN)
events.

(14) What is ONS?


Oracle Notification Service (ONS) is used to adaptively respond to state changes in
an Oracle RAC instance. ONS Client will connect to a list of ONS daemon listen
addresses and port for receiving ONS-based FAN events.

You can enable FAN Events by


Select Fan Enabled
Provide a comma-separate list of ONS daemon listen addresses and ports for
receiving ONS-based FAN events. You can use Single Client Access Name (SCAN)
addresses to access FAN notifications.

(15) What is the default database listen port?


1521

(16) What is the default ONS listen port?


6200

(17) What is JDBC URL?


It is the URL of the database to connect to. Data base locations are specified
using a JDBC Uniform Resource Locator (URL). The format of the URL varies by JDBC
driver.

Examples for JDBC URL:


jdbc:oracle:thin:@<database host>:<db listener port>/<database service name>

(18) What are the different types of JDBC Drivers?


Type 1 Driver ( JDBC-ODBC Driver)
Type 2 Driver ( Native Driver)
Type 3 Driver ( Network Driver)
Type 4 Driver (Pure Java Driver)

(19) What are the databases supported by Oracle WebLogic?


Orace Database
Sybase
MySQL
DB2
Pointbase
Microsoft SQL Server etc (for more information refer the oracle documentation)

(20) What is the difference between XA driver & Non-XA driver?


XA stands for eXtended Architecture, which is used to support Global Transactions.
Non-XA stands for non-eXtended Architecture which is used to support Location
Transactions

(21) What is the difference between Local transactions & Global transactions?
A transaction which involves single database is known as local transaction.
A transaction which involves multiple databases is known as Global transaction.

(22) What is LLR?

(23) Which JNDI name is used in applications in case of Multi Data Source?
You need to use the JNDI name that you have used while creating a multi data source
in WebLogic

(24) Total number of JDBC connections?

(25) What is data source targeting & un-targeting?


You can select one or more targets to deploy your new JDBC data source. If you
don't select a target, the data source will be created but not deployed. You will
need to deploy the data source at a later time. Un-targeting a datasource is
deselection the data source targets

(26) What is oracle.net.CONNECT_TIMEOUT?


The property oracle.net.CONNECT_TIMEOUT helps to set the login time out in Oracle.

(27) What is oracle.jdbc.ReadTimeout ?


The property oracle.jdbc.ReadTimeout helps to set read timeout while reading from
the socket.

(28) What is the difference between thin driver & thick driver?

(29) What is Test Connections On Reserve?


It enables WebLogic Server to test a connection before giving it to a client. (It
requires that you specify a Test Table Name)

(30) What is Test Frequency?


It is the number of seconds a WebLogic Server instance waits between attempts when
testing unused connections.(It requires that you specify a Test Table Name.)
Connections that fail the test are closed and reopened to re-establish a valid
physical connection. If the test fails again, the connection will be closed

(31) What is Shrink Frequency?


The number of seconds to wait before shrinking a connection pool that has
incrementally increased to meet demand. Default value 900 seconds(15mins)

(32) What is Inactive Connection Timeout?


The number of inactive seconds on a reserved connection before WebLogic Server
reclaims the connection and releases it back into the connection pool. If you set
the Inactive Connection Timeout feature to a positive value, the WebLogic server
reclaims the leaked connections

(33) What happen if you select the "Fan Enabled" during Grid Link data source
creation?
It enables the data source to subscribe to and process Oracle FAN events.

(34) What is the use of ONS nodes?


A comma-separate list of ONS daemon listen addresses and ports to which connect to
for receiving ONS-based FAN events.
Example: <ONS Scan Address>:6200 or <ONSHOST1>:6200,<ONSHOST2>:6200

(35) What is the use of Profile Connection Leak?


This is used to collect profile information about threads that have reserved a
connection from the data source and the connection leaked (was not properly
returned to the pool of connections).
Set the Inactive Connection Timeout feature to a positive value to reclaim leaked
connection.

(36) What are different data source control operations that you can perform?
Shrink
Reset
Clear Statement Cache
Suspend
Resume
Shutdown
Resume

(37) What is the use of Capacity Increment Attribute?


WebLogic first uses the existing connections available in the pool when a
connection request is issued. If there are no connections available, this parameter
takes care of creating a new connection.
In WebLogic Server 10.3.1 and higher releases, the Capacity Increment attribute is
no longer configurable and is set to a value of 1.

(38) Difference between MinCapacity & InitialCapacity?


The MinCapacity attribute sets the minimum number of physical connections that a
connection pool can contain after it is initialized.
The Minimum Capacity parameter was added in WebLogic Server 10.3.6.
The InitialCapacity value that previously handled both the initial and minimum
capacity for the pool this has been split into two attributes:
MinCapacity defaults to InitialCapacity if not set; InitialCapacity continues to
default to 1.
MinCapacity is only used for shrinking calculations only. It is lazy in that the
minimum connections are not created when the server starts up; InitialCapacity is
used for this function.
For upward compatibility, InitialCapacity is used if MinCapacity is not set.

(39) What will you do if the database is down during WebLogic Servers start-up?
If a data source connection cannot be established with the database during startup
for some reason, the Managed Server starts in the ADMIN state instead of in the
RUNNING state. The commonly used procedure in this situation is to click on the
Resume button; the server instance resumes to the RUNNING state and starts
accepting and processing the application requests.

But errors will occur with the applications that use this data source. Even if the
database goes back online, the data source will not start automatically. Then you
need to perform un-targeting and targeting of data source

(40) What will you do to avoid the ADMIN state on start-up when there is a
database issue?
To avoid the ADMIN state on start-up, set the data source Initial Capacity to 0 so
it won't open any connection to the database during the server startup process.
The Managed Server instance will start in the RUNNING state, and as soon as the
database goes back online, the data source will reconnect to it without
intervention.

(41) What is the use of Thin JDBC Driver?

Note:
The Multi data source is responsible for managing the load and failover; so if the
Oracle database uses the SCAN address feature, it's recommended to set up a Grid
Link data source instead.
In WebLogic Server 12c, for production environments it would be to set Initial
Capacity to 0 and Minimum Capacity and Maximum Capacity to the same value.
During the WebLogic Server start up process, the data sources are deployed and the
connections to the databases are opened according to the Initial Capacity
parameter.

Weblogic deployment FAQs

DEPLOYMENT

1.Different ways ,modes,types to deploy an application?


Different ways:
� console mode of deployment
� java command line deployment
� wlst deployment
� python deployment
� antscript deployment

Deploying modes:
1.staging modes
2.No stage mode
3. External stage mode

Types of deployment:
1.side by side deployment
2.Two phase deployment
3.Deployment using plan

2.Deployment steps for console mode?


1. click on lock & edit
2.click on deployments
3.click on install
4.select location
5.choose targeting style
6.select deployment targets
7.select security roles and policies and modes
8.activate changes

3. Deployment steps for java command line deployment?


1.set the class path to execute java commands - setDomainEnv.cmd
2.execute java command for deployment � java weblogic.Deployer
Java weblogic.Deployer �adminurl t3://localhost:7001 �username weblogic
�password weblogic �name benefits �source path\benefits.war �targets
ms1,ms2 �deploy

5.steps for deploying an application using ant script?


1.create build.xml file
2.write script in it.
3.execute command ant deploy {if we save the file name as build.xml}
Ant �f filename.xml {if the file name is created with filename.xml}

6.Auto Deployment?
1.copy the application in to Autodeployment folder,which is present in
c:bea/user_projects/domains/domain1/servers/admin/autodeloyment
2.Now Run the admin server .
3. The application automatically deployed in admin server.

7.Different modes of deployment


Staging mode: The admin server copies the deployment unit files to the staging
directories of target servers and they are deployed using the local copy.
This mode is useful when deploying small or moderate size applications.
This is default staging mode for managed servers .
No stage mode: the deployment units are deployed using the same physical copy
which must accessible by the admin server and target servers
This mode is useful when deploying large applications to multiple targets
This is default staging mode for adminservers.
External stage: we must copy the deployments units manually to the correct staging
directories before deployment.
We will use this mode for deployments when we want to manually control the
distribution of deployment files to target servers.

8. Side by side deployment ?


Use the weblogic server to redeploy a new version of a production application
without interrupting the availability of application to new client requests.
This way the new client get connected to the new version of the application and the
previous version of the application is till in use bythe older clients and gets
retired after the client disconnects.

9.How to clear weblogic cache?


Steps :
1.shut down the server.
2.delete the contents of the folder:
c\bea\user_projects\domains\domain1\servers\server_name\tmp\wl_user
3.Restart the server.

10.what happens if we don�t clear the cache?


If we are redeploying an application or deploying a new version of same
application, weblogic server look up in the above directory.if there are older
objects persists that will be conflict with new code objects.

11. Difference between .jar .war and .ear files?


.jar: java archive files intended to hold generic libraries of java classes
,Resources,Auxillary files etc.
Used in J2ee for packaging EJB�s & client side java applications.
.war : web archive files intended to contain complete web applications.
Specially for web applications made from servlets , jsp�s supporting classes.
.ear : Enterprise archive files intended to contain complete enterprise
applications.
Contains all of the components that make up a particular J2EE application.

12.what is two phase deployment?


There are two states in two phase deployment
They are
1.prepare state
2.active state
Deployment first prepares the application across all the target servers and then
activates the application in a separate phase.
If deployment of an application fails in either of the two phases then the cluster
deployment is failed.

13.What are deployment descriptors?


It is a configuration file for web application or EJB application which is to be
deployed to web or EJB container.
Deployment descriptors describes the deployment settings of an application or
module or component.
It contains meta data describing the contents and structure of the enterprise
beans, and runtime transaction and security information for EJB container.
It directs a deployment tool to deploy a module or application with specific
container options and describes specific configuration requirements that a deployer
must resolve.

14.Deployment process in current organization?

1.Developers develop the code,check into svn (sub version number)


2.Build team build the code using Hudson tool.
3.War,Ear files will be generated after the build.
4.we will stage these files from windows machine to unix machine using winscp tool.
5.once staging is complete we will clear weblogic servers cache .
6.next we will trigger the deployment using wlst script.
7.deployment will complete automatically ,we will get mail alert for success or
failure status.
8. if in case of deployment failures ,we will check log files and fix issues.

15.Deployment issues?

1.Code issues
2.Out of memory issues
3.Connection pool issues
4.Clear cache issues
5.Library class path issues
6.Applications are not deployed

Core DBA
=========:

Where your oracle instance resides?


In RAM

What is an oracle instance?


Oracle instance is nothing but SGA(system Global Area) and background proccesses.

It is a gate way in order to access oracle database.

What is block in oracle?


A block is smallest unit for read and write operations.

How to find the current log sequenece number?


archive log list.

If contolfile is not accessible what is the result?


database is not mounted,and will not open database.

What is SCN number in oracle?


At every commit a new SCN number is generated.
It is used for recovery purpose.

where would you look to see if tablespace is offline?


dba_tablespaces.

How to determine which files need recovery?


v$recover_file.

what are the different methods of backup in oracle database?

1)Logical backup.
2)Cold backup
3)Hot Backup

Opatch Questions
=================:

To check whether patch can be apply online or not


--------------------------------------------
opatch query -is_online_patch 17230530

EXPORT OPATCH UTILITY


+++++++++++++++++++++
export PATH=$PATH:$ORACLE_HOME/Opatch

How to check opatch version


+++++++++++++++++++++++++++++
opatch version

Check if the patch having any conflicts


================================
/d01/erpapp/patches/CPU_PATCHES/16902043
$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./

Deinstall the patch by running the following command:


++++++++++++++++++++++++++++++++++++++++++++++++++++
$ opatch rollback -id 14153246

opatch rollback -id 17230530 -no_sysmod

Check whether the patch has been rolled back


++++++++++++++++++++++++++++++++++++++++++++
$ opatch lsinventory |grep 14153246

How to apply database patch


++++++++++++++++++++++++++++++
opatch apply

How to apply multiple database patches


++++++++++++++++++++++++++++++++++++++
opatch napply

How to go for help on patch


+++++++++++++++++++++++++++++
opatch help

D. Cleanup Patch Storage to Reclaim Space


+++++++++++++++++++++++++++++++++++++++++++++++
OPatch can now determine and cleanup files in the patch storage that are no longer
required. To do so run the following:
SYNTAX / EXAMPLE:
[oracle@lnx01] $ORACLE_HOME/OPatch/opatch util cleanup

B. List Detailed Information About a Patch Before Applying It


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The OPatch utility can be used to verify details of a patch before proceeding to
apply to the Oracle Home directory.
Such information that can verified but not limited to are:
� Check if patch is a Rolling Patch
� Check if patch is a Patchset Update (PSU)
� Check if patch can be run with �opatch auto� option
� Check OS platform the patch can be applied on
� Actual actions and/or steps that patch contains without applying the patch. This
include detailed information of files it touches, copies and relinks.

SYNTAX:

$ORACLE_HOME/OPatch/opatch query -all |more


[oracle@lnx01] cd /home/oracle/download/patches/12311357
[oracle@lnx01] $ORACLE_HOME/OPatch/opatch query -all |more

How to determine if a patch is a "rolling patch" or not?


++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Based on the oracle database version we can determine whether a patch is a rolling
patch or not.
- For oracle version 9i or 10gR1 issue,
$ opatch query -is_rolling

what is the pre requisite to apply database patches?


Database and database listener should be down.

OPP executable
===============:

FNDSVC should exist under FND_TOP/bin


- Bring down all application services and relink the FNDSVC through adadmin or
using the below command:

adrelink.sh force=y ranlib=y "FND FNDSVC"

- Restart all applications services and restest the issue.

g:\prints\interview\linux.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
February 21, 2014
vi Editor Commands
vi Editor Commands

$ vi <filename>

Option ==> Action


vi ==> Starts editing session in memory.
vi ==> Starts session and opens the specified file.
vi * ==> Opens first file that matches the wildcard pattern. Use :n to navigate
to the next matched file.
view ==> Opens file in read-only mode.
vi -R ==> Opens file in read-only mode.
vi -r ==> Recovers file and recent edits after abnormal abort from editing session
(like a system crash).
vi +n ==> Opens file at specified line number n.
vi + ==> Opens file at the last line.
vi +/ ==> Opens file at first occurrence of specified string pattern.

Common Techniques to Enter vi Insert Mode:


Enter Insert Command ==> Action
i ==> Insert text in front of the cursor.
a ==> Insert text after the cursor.
I ==> Insert text at the beginning of the line.
A ==> Insert text at the end of the line.
o ==> Insert text below the current line.
O ==> Insert text above the current line.

Useful vi Exit Commands


Exit Command ==> Action
:wq ==> Save and exit.
ZZ ==> Save and exit.
:x ==> Save and exit.
:w ==> Save the current edits without exiting.
:w! ==> Override file protections and save.
:q ==> Exit the file.
:q! ==> Exit without saving.
:n ==> Edit next file.
:e! ==> Return to previously saved version.

Common Navigation Commands


Command ==> Action
j (or down arrow) ==> Move down a line.
k (or up arrow) ==> Move up a line.
h (or left arrow) ==> Move one character left.
l (or right arrow) ==> Move one character right.
Ctrl+f (or Page Down) ==> Scroll down one screen.
Ctrl+b (or Page Up) ==> Scroll up one screen.
1G ==> Go to first line in file.
G ==> Go to last line in file.
nG ==> Go to n line number.
H ==> Go to top of screen.
L ==> Go to bottom of screen.
w ==> Move one word forward.
b ==> Move one word backward.
0 ==> Go to start of line.
$ ==> Go to end of line.

Common Options for Copying, Deleting, and Pasting Text


Option ==> Action
yy ==> Yank (copy) the current line.
nyy ==> Yank (copy) n number of lines.
p ==> Put yanked line(s) below the cursor.
P ==> Put yanked line(s) above the cursor.
x ==> Delete the character that the cursor is on.
X ==> Delete the character to the left of the cursor.
dw ==> Delete the word the cursor is currently on.
dd ==> Delete current line of text.
ndd ==> Delete n lines of text
D ==> Delete to the end of the current line.

Common Options for Changing Text


Option ==> Action
r ==> Replace the character that the curser is on with the next character you
type.
~ ==> Change the case of a character.
cc ==> Delete the current line and insert text.
C ==> Delete to the end of the line and insert text.
c$ ==> Delete to the end of the line and insert text.
cw ==> Delete to the end of the word and insert text.
R ==> Type over the characters in the current line.
s ==> Delete the current character and insert text.
S ==> Delete the current line and insert text.

Common Options for Text Searching


Option ==> Action
/ ==> Search forward for a string.
? ==> Search backward for a string.
n ==> Repeat the search forward.
N ==> Repeat the search backward.
f ==> Search forward for a character in the current line.
F ==> Search backward for a character in the current line.
:set number ==> Displaying Line Numbers
u ==> Undoing a Command

bg, fg and jobs Linux Commands


Every command you give is a job that is executed. A job can be suspended, placed in
the background, moved back to the foreground or terminated.

While running a job you can Shortcut


--------------------------- ----------
suspend a job ctrl+z

terminate a job ctrl+c

Function Command
-------- ------------
Move a suspended job to the foreground fg

Continue a suspended job in the background bg

List all jobs jobs

Kill a job (%N where N is the job number) kill %N && fg

Start a job directly in the background command &

When you execute a unix shell-script or command that takes a long time, you can run
it as a background job.

1. Executing a background job

$ find . -name "*.aud" -mtime +120 -exec rm {} \; &

2. Sending the current foreground job to the background using CTRL+Z and bg command
step 1.Press 'CTRL+Z' which will suspend the current foreground job.
step 2.Execute 'bg to' make that command to execute in background.

Press �CTRL+Z�
$ bg

3. View all the background jobs using jobs command.

$jobs

jobs : lists the jobs that you are running in the background and in the
foreground

jobs -p : list only the PID of process group leader

jobs -l : list only jobs that have change status since last notified by their
status

jobs -r : resrict output to running jobs

jobs � s : restrict output to stopped jobs

4. Taking a job from the background to the foreground using fg command

$ fg

When executed without arguments, it will take the most recent background job to the
foreground
Linux Commands
!stty erase ^?

ORACLE_SID=`ps -ef | grep asm_smon | grep -v 'grep' | grep -v 'sed' | awk '{printf
$8}' | awk 'BEGIN{FS="_"} {printf $3}'`

date
env
uptime
who -b
last | grep -i boot
ps -ef | grep pmon
ps -ef | grep tns
ps -ef | grep d.bin
df -h or df -g
uname
/etc/oratab or /etc/var/oracle/oratab
df -kh or df -kh . or df -kh /mountpoint/
du -sh * or du -sh .
du -sg *
ls -ltrh <filename> | sort -n
ls -ld
tellme system
lsof /mountpoint/
find /home -name oraInventory -print
find . -name "*.gz" -depth -mtime +60 -exec rm {} \;
nslookup
tnsping
top

FIND

To find a file/directory
------------------------
find /home -name oraInventory -print
find /home|grep oraInventory

To delete files older than 60 days


----------------------------------
find . -name "*.gz" -depth -mtime +60 -exec rm {} \;

SOURCE : Internet

TAR
tar -cvf newname.tar directory_name (to tar)
tar -xvf filename.tar (to untar)
DELETE COMPRESS FILES OS LEVEL
To list files dated Apr 24
--------------------------
ls -lrt | grep 'Apr 24' | awk -F' ' '{print$9}'

To delete files dated Apr 24


----------------------------
rm -rf `ls -lrt | grep 'Apr 24' | awk -F' ' '{print$9}'`

To list files of Month Apr


--------------------------
ls -lrt | grep 'Apr' | awk -F' ' '{print$9}'
ls -lrt *.trc|grep 'Apr'|xargs rm -rf {}\;

To delete files of Month Apr


----------------------------
rm -rf `ls -lrt | grep 'Apr' | awk -F' ' '{print$9}'`

To list files older than 60 days


--------------------------------
find . -name "*.trc" -depth -mtime +60 -exec ls -l {} \;
find /path/to/files* -mtime +60 -print

To delete files older than 60 days


----------------------------------
find . -name "*.trc" -depth -mtime +60 -exec rm {} \;
find /path/to/files* -mtime +60 -exec rm {} \;
find /path/to/files* -type f -mtime +60 -print0 | xargs -r rm -rf

COMPRESS
--------
nohup compress *.arc &
ls -lrt *.arc|awk '{print "compress "$9}' >ARC_LIST.txt

SERVER REBOOT
If its Dataguard setup or normal db, following steps mandatory just take backup of
following three steps and store it in separate notepad. once server reboot activity
completed cross check once which was taken before server reboot.

ps -ef|grep pmon
ps -ef|grep pmon|wc -l
ps -ef|grep inh (OR) ps -ef|grep tns
ps -ef|grep inh|wc -l
ps -ef |grep d.bin

hostname
date
uname -a
cat /etc/oratab / cat /var/opt/oracle/oratab
uptime
who -b
df -h / df -gt

server reboot time database side need to check the below commands:
(Before server reboot and after server boot, if its is DG database)
-------------------------------------------------------------------
SQL> select name,db_unique_name,database_role,controlfile_type,CREATED from
v$database;
SQL >select sequence#,first_time,next_time,completion_time,applied from
v$archived_log where applied <> 'YES' and DEST_ID !=0 and status!='D'and
completion_time <(sysdate-1/48) Order By 1;

no rows selected----->in sync

SQL >select process, status ,sequence# from v$managed_standby;

MRP0---->process should reflect

===============================
Data Guard Db Startup Procedure
===============================
Sqlplus �/ as sysdba�
startup nomount;
alter database mount standby database;
recover managed standby database disconnect from session; ----------->To put it in
MRM MODE
exit;
=================================
Data Guard Db Shutdown Procedure
=================================
Login as oracle
source the environment
sqlplus �/ as sysdba�
alter database recover managed standby database cancel; ------> to cancel MRM mode
shutdown immediate;
exit

g:\prints\interview\LOGICAL STANDBY COMMANDS.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LOGICAL STANDBY COMMANDS
=========================:

Q) To Restart SQL apply on logical standby


SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

Q) To Stop SQL apply on logical standby


SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;

Run the following SQL against the logical standby to start real-time SQL apply if
the SQL apply failed with an error, and you are 100% certain that the transaction
is safe to skip
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE SKIP FAILED TRANSACTION;

Q) To see unsupported tables for logical standby:


SQL> SELECT * FROM DBA_LOGSTDBY_UNSUPPORTED_TABLE ORDER BY OWNER, TABLE_NAME;

g:\prints\interview\network in oracle.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Networking
==================:
How to Configure Listener ?

There are Utilites to configure Listener and Tns service.

$ Netmgr: network manager


$ Netca : network configuration assistance

These files resides in..


Default location of listener.ora and tnsnames.ora is :
$ORACLE_HOME/network/admin

Contents of listener.ora are�

Listener (Listener name)


(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.0.101) (PORT=1524))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = prod1)
(SID_NAME = prod1)
(ORACLE_HOME=/u01/home/app/product/11.2.0/dbhome_1)
)
)

Contents of Tnsnames.ora are�

SERVICE_NAME=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.101)(PORT=1524))
(CONNECT_DATA =
(SERVICE_NAME/SID =sid)
)

How to Control Listener control (Utility used) ?

$lsnrctl
$lsnrctl <option> listener_name
-reload - to reload the settings of listener file
-status - to see status of listener
- start - to start the listener
- stop - to stop the listener
-services � db/instances currently serve by

$lsnrctl>

How to Check listener at os level ?


$ps �ef |grep tns

Testing oracle networking:


$tnsping <service_name>
Eg: $tnsping tolist
g:\prints\interview\notepad.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
What happens when the database is in Begin backup mode?

When a hot backup runs in the oracle, first we will make the database in begin
backup mode and then we copy the database files to tape or disk. The question that
most of us will have is: what happens to the datafiles when the database is in
begin backup mode?
Offline? Or frozen? Answer is No.
�Some of the Oracle books contains that the database files are not writable during
the backup mode and the changes are stored in the SGA, redo logs and Rollback
segments. And these changes will be the written into the data files when the
database is taken out of begin backup mode. �
But the above predictions are opposed. It does not stop writing to the data files.
The database almost works in normal way when the database in the backup mode. It
can be summarized in as follows:
� DBWn process writes out all the dirty blocks of a particular SCN, i.e.
when a check point process runs, the DBWn process writes all the blocks related to
that SCN generated.

� CKPT process stops updating the checkpoint SCN field in the data files
headers and begins updating the Hot backup checkpoint SCN field in the data files
headers.

�LGWR process begins logging of the changed blocks.

By freezing the checkpoint SCN in the data file headers, any subsequent recovery on
that particular hot backup will know that it must commence at that SCN. Having an
old SCN in the file header tells recovery that the file is an old one, and that it
should look for the archivelog containing that SCN, and applies recovery starting
there.

Here we need to know that in hot backup mode the checkpoints to data files are not
suppressed. The main checkpoint flag is frozen, but the hot backup Checkpoint SCN
will be updated in the file header.

g:\prints\interview\OEM.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Database BLACKOUT
OEM BLACKOUT
------------

OEM ->
Targets ->
enter the target dbhost name ->
select blackout ->
enter blackout name ->
select the reason ->
select add(if required to add more) ->
select all ->
next ->
select immediatetime from & select end time ->
next

To know the particular database is configured with OEM or not:


-------------------------------------------------------------
echo $AGENT_HOME
/u01/app/oracle/product/agent10g/

cd $AGENT_HOME/bin
./emctl config agent listtargets

To check the status of all the blackouts on a host:


--------------------------------------------------
./emctl status blackout

To set a blackout for all targets/databases on a host:


-----------------------------------------------------
emctl start blackout <Blackoutname> [-nodeLevel] [-d <Duration>]

"-nodeLevel" tells the agent to stop monitoring all targets on the server.
"-d Duration" allows you to set a duration in the format of [days] hh:mm.

cd $AGENT_HOME/bin
./emctl start blackout alltargets_onserver �nodeLevel----->Blackout entire host
indefinitely
<Perform Maintenance Tasks>

To stop blackout "alltargets_onserver" immediately:


--------------------------------------------------
cd $AGENT_HOME/bin
./emctl stop blackout alltargets_onserver

To set a blackout for a database on a host:


------------------------------------------
emctl start blackout <Blackoutname> [<Target_name>:<Target_Type>]�. [-d <Duration>]

"-nodeLevel" tells the agent to stop monitoring all targets on the server.
"-d Duration" allows you to set a duration in the format of [days] hh:mm.

cd $AGENT_HOME/bin
./emctl start blackout Blackoutname database1 -d 6:00
<Perform Maintenance Tasks>

To stop blackout "Blackoutname" immediately:


-------------------------------------------
./emctl stop blackout Blackoutname

To get the help menu for emctl


------------------------------
emctl blackout

Examples:
--------
To start an immediate indefinite blackout called "Blackoutname" for all targets on
the host:
./emctl start blackout Blackoutname -nodeLevel

To start an immediate blackout called "Blackoutname" for all targets on the host
for 6 hours:
./emctl start blackout Blackoutname -nodeLevel -d 06:00

To start an immediate blackout called "Blackoutname" for database "database1" for


30 minutes:
./emctl start blackout Blackoutname database1 -d 30
To start an immediate blackout called "Blackoutname" for database "database2" for 6
hours:
./emctl start blackout Blackoutname database2 -d 6:00

To start an immediate blackout called "Blackoutname" for databases


"database1","database2" and listener "listener1" which will last for 5 days 3 hours
and 30 minutes.
./emctl start blackout Blackoutname database1 database2 listener1:oracle_listener
-d 5 03:30

OEM:Daily / Weekly Backups not happening


Issue :
Daily incremental/ weekly full backups scheduled through OEM is not happening as
scheduled.

Troubleshooting:

1) First check whether emagent is running or not on that database node?


a) ps -efa|grep agent
- confirms the agent is running.
b) cd /home/oracle/OEM_GRID/agent10g/bin/
./emctl status agent
- The output says agent is up and running fine properly.

2) Checked whether agent upload is happening or not?


./emctl upload agent
- ERROR.
May be the same thing is not allowing the backups to happen as scheduled.

Fix :
cd /home/oracle/OEM_GRID/agent10g/bin/
./emctl stop agent
./emctl clearstate agent
./emctl start agent
./emctl upload agent

g:\prints\interview\Opatch interview question.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
To check whether patch can be apply online or not
--------------------------------------------
opatch query -is_online_patch 17230530

EXPORT OPTACH UTILITY


+++++++++++++++++++++
export PATH=$PATH:$ORACLE_HOME/Opatch

How to check opatch version


+++++++++++++++++++++++++++++
opatch version

Check if the patch having any conflicts


================================
/d01/erpapp/patches/CPU_PATCHES/16902043
$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./

Deinstall the patch by running the following command:


++++++++++++++++++++++++++++++++++++++++++++++++++++
$ opatch rollback -id 14153246

opatch rollback -id 17230530 -no_sysmod

Check whether the patch has been rolled back


++++++++++++++++++++++++++++++++++++++++++++
$ opatch lsinventory |grep 14153246

How to apply database patch


++++++++++++++++++++++++++++++
opatch apply

How to apply multiple database patches


++++++++++++++++++++++++++++++++++++++
opatch napply

How to go for help on patch


+++++++++++++++++++++++++++++
opatch help

D. Cleanup Patch Storage to Reclaim Space


+++++++++++++++++++++++++++++++++++++++++++++++
OPatch can now determine and cleanup files in the patch storage that are no longer
required. To do so run the following:
SYNTAX / EXAMPLE:
[oracle@lnx01] $ORACLE_HOME/OPatch/opatch util cleanup

B. List Detailed Information About a Patch Before Applying It


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The OPatch utility can be used to verify details of a patch before proceeding to
apply to the Oracle Home directory.
Such information that can verified but not limited to are:
� Check if patch is a Rolling Patch
� Check if patch is a Patchset Update (PSU)
� Check if patch can be run with �opatch auto� option
� Check OS platform the patch can be applied on
� Actual actions and/or steps that patch contains without applying the patch. This
include detailed information of files it touches, copies and relinks.

SYNTAX:

$ORACLE_HOME/OPatch/opatch query -all |more

[oracle@lnx01] cd /home/oracle/download/patches/12311357
[oracle@lnx01] $ORACLE_HOME/OPatch/opatch query -all |more

How to determine if a patch is a "rolling patch" or not?


++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Based on the oracle database version we can determine whether a patch is a rolling
patch or not.

- For oracle version 9i or 10gR1 issue,


$ opatch query -is_rolling

what is the pre requisite to apply database patches?


Database and database listener must be down.
g:\prints\interview\Oracle Database Architecture.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle Server:

A server is a collection of database units and it provides comprehensive integrated


approach to info management
It consists of an "Instance & Database "
Oracle Instance:

It means to access an oracle database


It always open one & only one database
It consists of two types :

-Memory Structure
-Back Ground Process

Memory Structure:

System Global Area (SGA)


Program Global Area (PGA)

(I)System Global Area Once The Instance is started it allocated memory to SGA. It
is a basic component of oracle instance its size depends on RAM. The oracle 10g
parameter of SGA and PGA sga_target , sga_max_size , pga_aggregate_target
It consists of

-Shared Pool
- Database Buffer Cache
- Redolog Buffer Cache
- Large pool
- Stream pool
- Java pool

here we can go to see each components in details

(1 )Shared Pool:
- It's parameter is shared_pool_size
- It's consists of Library cache and Data Dictionary Cache

I) Library Cache:

- It stores information about recently used sql and Pl-sql Statements


- Here it checks some of the following

1)Semantic checking - it checks the privilege issued commands by user


2)Syntax checking - it checks the syntax of user issued commands
3)Soft parse - Already Executed Sql statements command
4)Hard parse - New Sql Statements

II)Data Dictionary Cache:

- It stores the collection of most recently used definitions in the databases


includes dbfiles,tables,indexes ,columns etc
- It has the information about database and its read only

(2)Database Buffer Cache:


- It stores copies of data block that have been retrieved from the database
datafiles
- It's parameter is show parameter db_block_size =8kb is default size,
show parameter db_cache_size

(3)Redo log Buffer Cache or Recovery Mechanism:

- It's maintains records of modification database blocks


- Primary purpose is recovery
Show parameter log_file

(4)Large Pool:

- Parallel execution allocates buffers out of the large pool only when sga_traget
- It works to release the burden the shared pool
show parameter parallel_automatic_tuning

(5) Java Pool:

- Parsing requirement of java commands


- Requires installation of java based projects
Show parameter java_pool_size

(6)Stream Pool:

- It's Cache "Oracle Stream" Objects


- Oracle Stream means to allow data multiplication between on oracle databases or
oracle and non-oracle databases,It can be used for Replication,Message
Queuing,Loading data into a Data Warehouse,Event Notification,Data Protection
Automatic Shared Memory Management
(ASMM ) was introduced in Oracle 10g.

its taking care by oracle and allocates SGA components size ASMM taking care of

1)Shared pool
2)Library cache
3)Database buffer cache
4)Large pool
5)Java Pool
6)Stream Pool

(II)Program Global Area

- It reserved memory for each user process connecting to an oracle database


- Allocates memory when a process is created
- De-allocates memory when a process is terminated

Process Structure :

1)USER PROCESS:
- A program that request interaction with oracle server
- It's must first establish a connection
- It does not interact directly with oracle server

2)SERVER PROCESS:
- It directly interacts with oracle server
- It can be a dedicated or shared server
- It always responds to user requests
3)BACKGROUND PROCESS:

- It enforces the relationship between memory structure and database


- To view all background process
!ps -ef | grep databasename

It has some of components are

1)DBWR
2)LGWR
3)SMON
4)PMON
5)CHPKT
Let us we can see each components are

1)DBWR:

- Time Out Error


- Tablespace offline
- Tablespace Read only
- Tablespace Drop or Truncate in above situations, Data 'll be flushed from
database buffer cache into data files

2)LGWR:

- At commit
- Every 3 sec
- When there is full 1MB reached
- Redolog Buffer reached one-third full
- Before DBWR writes In above situations, redolog writes through LGWR from redo
log buffer

3)SMON:

- Monitoring the system is called system monitor


- Instance recovery
- Rolls forward changes into redologs
- Open database for user access
- Rolls back uncommitted transactions

4)PMON:

- Taking Care of All background Process


- Cleaned up after failed process
- Rolling Back

5)CHKPT:

- Updating the control file with checkpoint information.


- It's a process of writing by DBWR ,all modified buffers in SGA cache into Data
files

Alter system checkpoint;

Database :
The Database is a collection of data which contains data files ,control files
,redolog files

1) Data file:
- It is a portion of an oracle database ,it stores the data which includes user
data and undo data
- It's extension ".dbf"
- The default location is " $ORACLE_BASE/oradata"
- To view the location in database use this command
Select name from V$datafile;

2) Control file:

- It's heart of the database


- It holds the information of data file ,redo log file locations and backup
information starting time and ending time
- It's extension ".ctl"
Show parameter control_files
- By default oracle has copied the control files into flash_recovery_area

3) Redo log File:

- It's part of an oracle database


- It's the main purpose is to recover the database
- It's extension ".log"
- When transaction is committed that details in redo log buffer are written to a
redo log file
select * from V$log; or Select * from V$logfile ;

4) Archive log

- It's a group of redo log files to one or more offline destinations, known
collectively as the archived redo log
- Its Default location is Flash_recovery_area
- Must enable archive log mode in the database then only ll be saved on archive
log folder other wise the log buffer overwrites on redo log files through Lgwr.

The three major pieces of any database is:

1) Storage
2) Memory
3) Process

i) Storage

Datafile:
datafiles----inside of the datafile you have data, the data for tables and also
indexes are stored in datafiles.
undo data---
temporary data --- whenever oracle does a sort and can't store the all information
in memory in the (pga) is going to write in
temporary files.

* In oracle 7, 8 and 8i you can have 1,022 datafiles, and now you can have 65,536
datafiles.
* dba_data_files
* v$datafile
* v$dbfile

Controlfile:
controlfife ----- it contains the structure of your database
* Oracle recommend atleast two/three controlfiles in different locations.
* all the three controlfile information is same.
* Inside the controfile it stores the:
db name
db creation time
entire path of your datafile location
checkpoint information
v$controlfile
* control_files is very important parameters

Online Redologs:
online redologs---
* all the dml and ddl commands are stored (undo and redo)
* all the changes made to the databases are stored in redolog files
* all the commands are stored in redologfiles
* its a recorder of your major changes in database
* Oracle recommended that you have multiplex of your redologs in groups in
different locations
* Major used in recovery
* if archivelog is enabled the all information of redolog is stored in archivelog
files

what is an oracle database?

Oracle database comprises three types of files:

datafiles (.dbf)
controlfiles (.ctl)
redologs (.rdo)

archivelog files
spfile
init.ora file
oracle password file

ii) Memory

SGA --- shared global area or system global area


database buffer cache

g:\prints\interview\osb.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Question: To connect to source system which service we will use?
Answer: we will use Proxy service to connect to Source system.

Question: To connect to target system which service we will use?


Answer: we will use Business service to connect to target system.

Question: What is Proxy Service?


Answer: It is a service in OSB which is exposed to source system or application.

Question: What is Business Service?

Answer: It is a service in OSB which is used to connect to target system.


Question: What is Message Flow?
Answer: Message flow is there in proxy service, We do all types of transformation,
routing and other processing message flow only.

Question: Do we have global variable in OSB (Can we access variable which is


defined in proxy service message flow from other proxy service message flow)?
Answer: No, we can't access variable in proxy service message flow from other proxy
service message flow.

Question: Can we use direct bindings to call SOA composites?


Answer: Yes, we can direct binding-bindings to call SOA composites along with SOAP
bindings.

Question: Where the file will go if there is any error while polling the file ?
Answer: During configuring file or ftp protocol in OSB, we need to specify error
directory, so you can see file to that directory if file polling failed.

Question: Why we use Split-Joins in OSB?


Answer: To do parallel processing.

Question: Types of Split-Joins?


Answer: Static and dynamic.

Question: How to call Java code from OSB?


Answer: By using Java callout activity.

Question: Can we use more than one route node in message flow?
Answer: No, we can't we use more than one route node in proxy service message flow.

Question: When we call asynchronous service from OSB then how to get response back
from that asynchronous service to OSB?
Answer: Design the proxy service which in turn calls business service which in turn
calls asynchronous service. In the message flow of this proxy change the message
header to below.
You need to specify ReplyTo value so that asynchronous service response came to
CallSyncCompositeProxy proxy service.

<soap-env:Header xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<ns1:MessageID>ws:uniqueAddress</ns1:MessageID>
<ns1:ReplyTo>
<ns1:Address>http://localhost:8011/CallAsyncService/proxyServices/CallSyncComposite
Proxy</ns1:Address>
</ns1:ReplyTo>

</soap-env:Header>

Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.

For more details refer my below post

http://soawork.blogspot.com/2012/12/call-asynchronous-webservice-from-osb-over-
http.html

Question: What is throttling in OSB?


Answer: Throttling means we want to process certain messages in one time, then we
need to set some parameters in OSB to do the required task.
For more details refer my below post
http://soawork.blogspot.com/2013/01/throttling-in-osb.html

Question: to transform from binary to XML or XML to binary format what we will in
OSB?
Answer: we use MFL.

Question: can we use MDS in OSB?


Answer: No, Oracle Service Bus does not support MDS.

Question: Can we use DVM�s in Oracle Service Bus?


Answer: No, we can�t use DVM�s in Oracle Service Bus.

Question: How Security works in OSB?


Answer: Oracle Service Bus leverages Weblogic Security Framework.

Question: Can we use OWSM to secure OSB services?


Answer: Yes, we can use OWSM to secure OSB services.

Question: To secure OSB proxy service, which OWSM policy you will use?
Answer: To secure OSB proxy service, we use OWSM service side policy.

Question: Can we invoke secure web service from OSB?


Answer: Yes, we can use OWSM client policy and invoke secure web service from OSB.

Question: When we use service Account?


Answer: We use Service Account when we are invoking a service which required static
authentication.

Question: Can we re-use Service Account for other Business Services as well?
Answer: Yes, we can re-use the Service Account.

Question: What is Transport-Level Security?


Answer: It refers to transport protocol security means secure the connection over
which messages are transferred. E.g. HTTPS means HTTP over SSL.

Question: What is Message-Level security?


Answer: Message level security is used when we want to protect the message
exchanged between two applications.

Question: What is Service pooling in OSB?

Answer: In OSB we can group together more than one service so that whenever one
service goes down, request will route to next available service and end user can
continue his work without any interruption.

For more details, you can refer my below post.

http://soawork.blogspot.com/2014/06/service-pooling-in-osb.html

Question: How file pooling works in OSB?


Answer: There are below two ways to poll a file in OSB.

� Use OSB file protocol: We can use file protocol available in proxy
service to poll the file. Refer below post for more details.
http://soawork.blogspot.com/2012/09/read-or-poll-file-in-osb.html

� Use File adapter: we can create file adapter in Jdeveloper and import
JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.

Question: Types of pipeline available in OSB?


Answer: We have two pipelines in OSB, Request and Response pipeline.

Question: Can we invoke Restful service from OSB?


Answer: Yes, we can invoke Restful service from OSB. For more details refer below
post.

http://soawork.blogspot.com/2014/01/call-restful-service-from-osb.html

Question: When we use service Account?


Answer: We use Service Account when we are invoking a service which required static
authentication.

Question: We don�t have any DB protocol in OSB then how to read/write data from
database using OSB?
Answer: We can use database adapter to read/write data from database. We can create
database adapter in Jdeveloper, import adapter JCA,WSDL & XSD files to OSB and
generate proxy or business service as per our requirement.

Question: How to perform file listing in OSB?

Answer: To perform file listing in OSB, you need to create file adapter with file
listing operation in Jdeveloper and use that only.

Question: What is Service pooling in OSB?

Answer: In OSB we can group together more than one service so that whenever one
service goes down, request will route to next available service and end user can
continue his work without any interruption.

For more details, you can refer my below post.

http://soawork.blogspot.com/2014/06/service-pooling-in-osb.html

Question: How file pooling works in OSB?


Answer: There are below two ways to poll a file in OSB.

� Use OSB file protocol: We can use file protocol available in proxy
service to poll the file. Refer below post for more details.

http://soawork.blogspot.com/2012/09/read-or-poll-file-in-osb.html

� Use File adapter: we can create file adapter in Jdeveloper and import
JCA, WSDL & XSD file of that adapter into OSB and generate proxy service from that.

Question: Types of pipeline available in OSB?


Answer: We have two pipelines in OSB, Request and Response pipeline.
Question: Can we invoke Restful service from OSB?
Answer: Yes, we can invoke Restful service from OSB. For more details refer below
post.

http://soawork.blogspot.com/2014/01/call-restful-service-from-osb.html

Question: When we use service Account?


Answer: We use Service Account when we are invoking a service which required static
authentication.

Question: We don�t have any DB protocol in OSB then how to read/write data from
database using OSB?
Answer: We can use database adapter to read/write data from database. We can create
database adapter in Jdeveloper, import adapter JCA,WSDL & XSD files to OSB and
generate proxy or business service as per our requirement.

Question: How to perform file listing in OSB?

Answer: To perform file listing in OSB, you need to create file adapter with file
listing operation in Jdeveloper and use that only.

Question: What is Service Result caching in OSB?

Answer: Service Result Caching is one of the options that you can use when you want
to improve Oracle Service Bus performance. Service Result caching is used when we
have business service which connects to external service which returns somewhat
static response. So by using Service Result Caching we don�t hit external service
for same request instead it will take the response from cache which improve the OSB
performance
For more details, you can refer my below post.

http://soawork.blogspot.com/2014/06/result-caching-in-osb.html

Question: How to perform Service Callout in OSB?


Answer: We use Service Callout option inside Oracle Service Bus to call any service
inside message flow to get the required data. In this post, I will show you how to
use Service Callout activity in Oracle Service Bus and pass the response from
callout service to next service

Refer below post for more details.

http://soawork.blogspot.com/2014/04/service-callout-in-osb.html

Question: When we invoke proxy 2 from proxy 1 then which protocol we need use?
Answer: When there is internal proxy call in OSB then we use �local� transport
instead of HTTP.

Question: What is content based routing in OSB?


Answer: When we route the request message to different business services based on
request message content, that is called content based routing.
Question: What are different options available in OSB to read flat file?
Answer: We can read flat file in two different ways.

� Using MFL: we can MFL in OSB to read flat files. For more details refer
my below post

http://soawork.blogspot.com/2013/11/binary-to-xml-in-osb.html

� File Adapter: Create file adapter which read flat file in Jdeveloper,
copy JCA, WSDL & XSD file of file adapter in OSB and create proxy service which
will read that flat file.

Question: What is SLA alert in OSB?


Answer: A service-level agreement (SLA) is a contract between a service provider
and a service consumer. In OSB monitoring framework we have SLA alerts which come
into picture when there is violation of service level agreements.

For more details refer my below post

http://soawork.blogspot.com/2014/06/sla-alerts-in-osb.html

Question: How to move large file without reading it in OSB?


Answer: In Oracle SOA Suite we use �Move� opeartion to move large files from one
location to another. But in Oracle Service Bus we don�t have that option available.
But we can use Content Streaming option avaiable for file protocol in OSB to move
large files.

Question: By how many ways we can do OSB development ?

Answer: We can do development in OSB by two ways. Either we can use Eclipse which
is IDE tool for OSB or we can use SB console for the development.

Question: Will you prefer Eclipse or SB console for OSB development ?.

Answer: It is simple to work with SB console as compared to eclipse, so during


initial phase we can opt for SB console and later go for eclipse. When we work at
enterprise level, Eclipse is always recommended.

Question: Do we need to create a session when we develop projects in Eclipse ?

Answer: No, we need not to create a session when we develop projects in Eclipse,
session will only come into picture when we deploy the project to server from
eclipse.

Question: Can multiple users work on SB console at one time?

Answer: Yes, multiple users with different users can work on SB console at same
time as session will be created for each users individually.

Question: Can we test the proxy service from Eclipse ?

Answer: Yes, we can test the proxy service from Eclipse, for that we need right
click on the proxy service and then click on Run As and run it on server.

Question: Can we create Xquery transformation in design mode in SB Console ?

Answer: No, we have to write Xquery in source mode. We can create Xquery
transformation in Eclipse.

Question: Do we have the option to test the Xquery Transformation ?

Answer: Yes, we can test the Xquery transformation.

Question: Can we use XSLT file in OSB ?

Answer: Yes, OSB support both Xquery and XSLT.

Question: What is Message Flow ?


Answer: Message Flow is OSB component which is part of proxy service. We define our
business logic in message flow.

Question: Can we delete Start Node in Message flow ?.


Answer: Start Node comes default in message flow once we create a proxy service.
Every message flow will always have a start node and we can't delete the start node
in message flow.

Question: Can we add multiple pipeline pair in one message flow ?


Answer: Yes, we can add more than one pipeline pair in one message flow.

Question: Can we directly add actions under request or response pipeline ?


Answer: No, we can't add actions directly under request or response pipeline, we
need to add stage node in request or response pipeline and inside that stage, we
can add all required actions.

Question: Can we have more than one route node in message flow ?
Answer: No, we can't add more than one route node in message flow.

Question: Which node you will use when you need to route the message based on
content ?
Answer: We will use Conditional Branch to route the message to different business
services based upon content, this is also called content based routing.

Question: Which node you will use to route the message based upon operations ?
Answer: We will use operation Branch to route the message to different business
services based upon operation.

Question: Can we delete the default branch in conditional or operational branch ?


Answer: No, we can't delete the default branch in conditional or operational
branch.

Question: Can we add more than one route in one conditional or operation branch ?
Answer: Yes, if we more than one branch then we add one route node in each branch
as each branch will be independent and only one branch will execute at one time.

Question: Can we add stage node under route node ?


Answer: No, we can't add stage node under route node. Stage node can be added only
under request and response pipeline or in error handlers.
Question: What is Dynamic Routing action ?
Answer: This action is used when we need to route the message to business service
dynamically that means at design time we don't know to which business service we
have to route the message and that is determined at run time.

Question: Which action we use to throw fault/error in message flow ?


Answer: We use "raise-error" action to throw business fault in message flow.

Question: What is reply action ?


Answer: It specify that immediate reply is sent to invoker.

Question: What actions we use for OSB reporting ?


Answer: We use Alert, Log and Report for OSB reporting.

Question: Can we change the file name in message flow at runtime ?


Answer: Yes, we can change file name at runtime using Transport Header action.

Question: Can we change the endpoint URI of the external service that we invoke
using business service ?
Answer: Yes, we can do it by using routing option action.

g:\prints\interview\patch.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8. What is a patch?
Ans : A patch can be a solution for a bug/it can be a new feature.

9. What are the different types of patches?


Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.
i) What is a oneoff patch?
Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s
ii). What is a mini pack ?
Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

10. What is Family pack ?


Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.

11. What is Maintanance pack ?


Ans : A maintanance pack will upgrade applications from one version to another like
11.5.8 to 11.5.9

12. What is a Rollup patch?


Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 11.5.8/11.5.9

13. What is consilidated patch?


Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

14. How u will find whether a patch is applied/not?


Ans : Query ad_bugs.

15. What is the other table where u can query what are the patches applied?
Ans : Ad_applied_patches

16. What is the difference between ad_bugs and ad_applied_patches?


Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

17. How u apply a patch?


Ans : adpatch

18. What inputs you need to apply a patch other than driver name and etc?
Ans : apps and system passwords

19. What are the table u r adpatch will create and when?
Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it
will apply d,g and u drivers

20. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

21. If it is a multinode installation which driver we need to apply on which node?


Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to
apply on all nodes.

22.While applying a application patch is that necessary that u r database and


listener should be up?
Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

23. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?
Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS
tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers. Then apply the pre-req patch , after that rename u r restart directory
to its original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables
from the bcakup tables. Start adpatch session and take the options want to continue
previous session.

24. What is adctrl?


Ans: Adctrl is one of the adutilities, which is used to check the status of workers
and to manage the workers.

25. Can u name some of the menu options in adctrl?


Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

26. How to skip a worker and why?


Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

27. How adpatch knows what are the pre-req�s for the patch which it is applying?
Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.
g:\prints\interview\patching.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Patch Format classification
============================:

-Standalone/One-off patch/GDF patches


Resolves specific bug

-Minipack
Collection of one-off patches for specific module.

-Family pack
Collection of minipack for particular family group.

-Consolidated update (CU)


Includes recommended patches for all products, Updates apps to latest recommended
patch level.

-Maintenance pack
Collection of all minipacks for all products. Maintenance pack upgrades system to
new point release, such as 11.5.10

-what is the use of interoperability patch?


We apply this patch for the compatibility between OS and Oracle.

-What are consolidated seed, AD and TXK Delta Patches.

Without the consolidated Seed patches, you will receive seed errors applying future
patches. The AD/TXK patches required are patches which deliver updated AD
utilities for patching and maintenance and TXK provides mostly autoconfig templates
required for the applications.

R12

In R12 patches are grouped in to code lines and associated with Code levels.
Codeline includes all patches to maintain that point release.
Lets say 12.0 is the point release, it introduces codeline A. Similarly 12.1
introduces codeline B and so on.
Code level includes all bug fixes and codelevels for particular codeline. Code
levels are cumulative. All code levels created after the initial point release are
aggregated into cumulative release update packs (RUPs)
Base code level for 12.0 is A. Cumulated New bug fixes for products are released as
A.1.
A.2 includes A.1 & A.2; similarly A.3 includes A.1 to A.3 and so on.

Individual bug fix


Similar to one off in 11i

Product Family Release Update pack (RUP)


Similar to family pack in 11i.Aggregation of all one-off in particular codeline
specific to a family

Release Update Pack (RUP)


Cumulative of all Product Family RUPs.Changes version from 12.0 to 12.0.1,12.0.2
and so on.

Consolidated Upgrade
Similar to CU on 11i.Its available for upgrading R12 system from one point release
to another.

3. Patch naming convention:

11i
One-off patch
Patchnum e.g.: 8234812

Minipack
11. <PROD>.A e.g.: 11.AD.I

Family Pack :
11i. <PROD family>. letter e.g.: 11i.HR_PF.A

Maintenance pack:
11.5.x e.g. 11.5.9

R12

The patch naming convention has changed to R12.PROD.CL. #


Where PROD � Product (E.g. GL, OAM, AP, AR�)
CL �Code line (E.g. A, B, C�) R12.PROD.CL -> code level
# � Fix sets (E.g. 1,2.)
E.g.: R12.OAM.A.1
This is code level A with first set of fixes.
4. Downloaded patch Example:
11i R12
P123456_11i_linux.zip P123456_R12.PROD.A_R12_linux.zip
5.Patch driver files:
An 11i patch comes with c, d, g & unified driver format. R12 patches have unified
drivers.
6.Applying patch:
Use adpatch (Both 11i & R12)
Help � adpatch -help

1. What is a one-off patch?


Ans : An one-off patch is a small patch (of without any pre-requisites) to fix a
bug.

2. What is a mini pack?


Ans : A mini pack is one which will upgrade any product patchset level to next
level (like AD.H to AD.I).

3. What is Family pack?


Ans : A Family pack is one which will upgrade the patchset level of all the
products in that family to particular patchset level.

4. What is Maintenance pack?


Ans : A maintenance pack will upgrade applications from one version to another
(like 11.5.8 to 11.5.9).

5. What is a Rollup patch?


Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions (like 11.5.10.2/12.1.0).

6. What is consolidated patch?


Ans: Consolidated patches will come into picture after upgrades from one version of
applications to another, all post upgrade patches will a consolidated and given as
consolidated patch.

7. How you apply a patch?


Ans : adpatch

8. How to find latest patchset level for module installed?


Ans : select APP_SHORT_NAME, max(PATCH_LEVEL) from AD_PATCH_DRIVER_MINIPKS GROUP BY
APP_SHORT_NAME;

9. How you will find whether a patch is applied/not?


Ans : Query ad_bugs.

10. What is the other table where you can query what are the patches applied?
Ans : ad_applied_patches.

11. How to find out which patch driver is applied (like c,d,g or u)?
Ans: Query ad_patch_drivers.

12. How to find out whether a language patch is applied for a particular patch?
Ans : Query ad_patch_driver_langs.

13. What is the difference between ad_bugs and ad_applied_patches?


Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give the perfect information as in case of ad_bugs.

14. What inputs you need to apply a patch other than driver name and etc?
Ans : apps and system passwords

15. What are the tables adpatch will create and when?
Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it
will apply d,g and u drivers.

16. What is a patch and name some different types of patches?


Ans : Patch is a program which fixes the bug.

There are 4 different types of patches

� One-off patch:
o This is the simplest type of patch. It is created to resolve a particular
problem.

� Mini pack Patch:


o It is a collection of one-off patches related to a particular module or product.
o Mini Pack version of module is denoted by Alphabetic characters.

� Family pack patch:


o This is a collection of mini pack patches in one family.
o Alphabetic characters denote the family pack version.

� Maintenance pack patch:


o This is a collection of family pack patches.
o Oracle Applications Release 11.5.10 is an example of Maintenance pack.
rollup patches,
consolidated patches.

17. What are the contents of patch and drivers present in patching?
Ans : Contents of patch:
� Readme files
� Driver files
� Metadata files
� Replacement files

Drivers present in patching:


� C (copy) driver - It copies all the files and links the executables.
� D (database) driver - It is responsible for running SQL scripts which updates the
database.
� G (generate) driver - It is responsible for generating forms, reports and message
files.
� U (unified) driver - It is a united driver containing all copy and database
actions.

18. What do you do if patch fails?


Ans :
� Evaluate log files to determine the cause of the error.
� Repair the cause of error.
� Now restart adpatch.
� Answer 'Yes' when adpatch asks if you want to continue the previous session.
� Adpatch starts from where it left off by skipping all completed steps.

19. How can I determine the effects a patch will have on my application system?
Ans :This can be done by patch wizard in the Oracle Applications manager.
� Checking total number of files in the patch and which are installed.
� Products that contain updated files.
� Total number of files introduced by the patch.
� Files on the target system changed by the patch.
� Files which depend on patched files.

20. How can you reduce the downtime when you have to apply multiple patches?
Ans :
� You can reduce the downtime by merging all the patches into one single patch
using admergepatch (admrgpch) tool.
� You can also apply multiple patches one by one by choosing options nocompiledb,
nocompilejsp, and nolink.
� Compilation of invalid objects, jsp�s and relinking can be skipped till the last
patch is applied.
� In the last patch you can compile all of them and then relink.
� You can also choose the max number of workers which your CPU permits.

1. What are the different types of patches?

Ans : oneoff, mini packs, family packs, maintanance packs, rollup pathches,
colsolidated patches.

2. What is a oneoff patch?

Ans : An oneoff patch is a small patch of (20-90K size) without any pre-req�s

3. What is a mini pack ?

Ans : A mini pack is one which will upgrade any product patchset level to next
level like AD.H to AD.I

4. What is Family pack ?

Ans : A Family pack is one which will upgade the patchset level of all the products
in that family to perticular patchsetlevel.
5. What is Maintanance pack ?

Ans : A maintanance pack will upgrade applications from one version to another like
12.1.2 to 12.1.3

6. What is a Rollup patch?

Ans : A rollup patch is one which will deliver bug fixes identified after the
release of any major application versions like 12.1.3

7. What is consilidated patch?

Ans: Consolidated patches will come into pictures after upgrades from one version
of applications to anoter, all post upgrade patches will a consolidated and given
as consolidated patch.

8. How u will find whether a patch is applied/not?

Ans : Query ad_bugs.

select substr(APPLICATION_SHORT_NAME,1,10) Product,substr(BUG_NUMBER,1,10) Patch#,


substr(ARU_RELEASE_NAME,1,10)
Version,last_update_date applied_date from applsys.ad_bugs where BUG_NUMBER=
to_char(�&bug_no�);

9. What is the other table where u can query what are the patches applied?

Ans : Ad_applied_patches

10. What is the difference between ad_bugs and ad_applied_patches?

Ans: A patch can deliver solution for more than one bug, so ad_applied_patches may
not give u the perfect information as in case of ad_bugs.

11. How u apply a patch?

Ans : using adpatch in R12.1 and using adop in R12.2

12. What inputs you need to apply a patch other than driver name and etc?

Ans : apps and system passwords

13. What are the table u r adpatch will create and when?

Ans : Adpatch will create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table when it


will apply d,g and u drivers

14. What is the significance of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS table?


Ans: FND_INSTALL_PROCESSES table will store the worker information like what job is
assigned to which worker and its status. AD_DEFERRED_JOBS will come into picture
when some worker is failed, it will be moved to AD_DEFERRED_JOBS table, from where
again adpatch will take that job and try to resign, after doing this 3 times if
still that worker is failing, then adpatch will stop patching and throw the error
that perticular worker has failed. We need to trouble shoot and restrart the
worker.

15. If it is a multinode installation which driver we need to apply on which node?

Ans: c,d,g on concurrent node and c, g on web node. If it is u-driver we need to


apply on all nodes.

16.While applying a application patch is that necessary that u r database and


listener should be up?

Ans: Yes . why because adpatch will connect to database and update so many tables
etc�..

17. While applying a patch if that patch is failing because of a pre-req then how
you will apply that pre-req patch and resume with the current patch?

Ans: We need to take the backup of FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS


tables and restart directory at APPL_TOP/amdin/SID and then use adctrl to quit all
the workers.

mv $APPL_TOP/admin/<SID>/restart $APPL_TOP/admin/<SID>/restart.old
create table applsys.FND_INSTALL_PROCESSES_11510 as select * from
applsys.FND_INSTALL_PROCESSES
create table applsys.ad_deferred_jobs_11510 as select * from
applsys.ad_deferred_jobs

drop table applsys.FND_INSTALL_PROCESSES


drop table applsys.ad_deferred_jobs

Then apply the pre-req patch , after that rename u r restart directory to its
original name and create FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables from the
bcakup tables. Start adpatch session and take the options want to continue previous
session.

18. What is adctrl?

Ans: Adctrl is one of the ad utilities, which is used to check the status of
workers and to manage the workers.

19. Can u name some of the menu options in adctrl?

Ans: Check the status of workers, tell manager that worker has quited, restart a
failed worker etc�.

20. How to skip a worker and why?

Ans: We can skip a worker using option 8 in adctrl which is hidden. We will go for
skipping a worker when we have executed the job which the worker is supposed to do.

How to restart and skip the job using adctrl


AD controller

21. How adpatch knows what are the pre-req�s for the patch which it is applying?

Ans: With every patch a file called b.ldt file will be delivered which contain the
pre-req information. adpatch load this into databse using FNDLOAD and check ,
whether those pre-req patches were applied or not.
22. What c-driver will do?

Ans: C-drive copies the files from patch unzipped directory to required location in
u r application file system. Before copying it will check the file version of the
existing file at the file system with the file version of the file in the patch. If
the patch file version is higher than what it is at file system level then only c-
driver will copy that files.
23. How adpatch will know the file versions of the patch delivered files?

Ans:With each patch a file with name f.ldt is delivered , which contain the file
versions of the files dilivered with the patch. Adpatch will use this file to
compare the file versions of files its delivering with the file on file system.

24. What is the adpatch log file location?

Ans : APPL_TOP/admin/SID/log

25. What is the worker log file name and its location?

Ans : adwork01,adwork02�� and location is APPL_TOP/admin/SID/log

26 How u will know what are the files the patch is going to change just my
unzipping the patch?

Ans:When u unzip a patch it will keep all the files related to a particular product
under that directory inside u r patch directory for example if the patch delivering
files related to FND product then it will create a sub directory under the patch
directory with the name FND in which it will put all related files to that product

27. What is the significance of backup directory under u r patch directory?

Ans:When we apply a patch it will keep the copy of the files which its going to
change in file system.

28. What are the different modes you can run your adpatch?

Ans :1.Interactive � default mode

2.Non interactive � Use defaults files to store prompt values

(adpatch defaultsfile= interactive=no)

3. Test � Without actually applying a patch just to check what doing.(adpatch


apply=no)
29. How you can enable maintainance mode without adadmin utility?

Ans we can use the below script to enable and disable maintainance mode
@$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
@$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE

30. How you can analyze the impact of patch i.e what files will be replaced and
what new files will be added?

Ans we can find that using Patch wizard


System Administrator (Responsibility)
�> Oracle Application Manager
�> Patching and Utilitie
�> Site Map
�> Maintenance
�> Patch Wizard

31.How often should customers apply mini-packs, family packs, and maintenance
packs?
Ans You should keep your maintenance level up to date in order to:
Receive the latest fixes.
Reduce the number of file updates needed for emergency fixes.
Reduce the possibility of unfulfilled prerequisite patches when applying an
emergency fix.
Make it easier for Oracle Support and Oracle Development to assist you.
Keep core products such as AD (patches and maintenance fixes), FND (security and
technology stack updates), and HR (legislative updates) up to date.
32.Can I run multiple AutoPatch sessions at the same time?
Ans You cannot currently run multiple sessions simultaneously. However, patches can
be merged and can be applied in a single patching session.

33.Can we merge US and NLS patches together?


Ans: Merging US and NLS patches is fully-supported. When AD Merge Patch merges a US
and NLS patch, it alters the phasing of the NLS patch so that all NLS actions occur
after all US actions. AD supports merging US and NLS patches because it works and
may be easier for the customer. If the customer does not have strict downtime
requirements, it may be more convenient for the customer to merge the US and NLS
patches and apply them together. They can possibly reduce their downtime by
separating US and NLS (or by using one merged NLS patch per language), but this is
more work for the customer. We should let the customer decide which of the various
supported options best meets their needs.

34.What are deferred jobs and how are deferred jobs handled?
Ans The first time a job fails, the manager automatically defers it to the end of
the current phase and assigns a new job to the worker.

If the deferred job fails the second time it is run , the manager defers it again
only if the total runtime of the job is less than 10 minutes . If the deferred job
fails a third time (or if the job�s total runtime is not less than 10 minutes the
second time it is run) the job stays at FAILED status and the worker waits.

At this point, you must address the cause of the failure, and then restart the
worker, using AD Controller.

g:\prints\interview\pcp configuration.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PCP ON NON-RAC
===============:

-Setup the primary node with 11.5.10.2 ATG RUP6 installed and having
CP,Admin,Forms,Web and DB set on it.
-Add and register a new secondary node which has just CP and Admin on it. (You can
use shared APPL_TOP for this setup)
-If using Virtual Hostnames, please ensure that the Physical Hostname of the CP
node with virtual host is registered from OAM.
-Once both nodes are ready, set the APPLDCP variable to ON in the context file of
both nodes.
-Shutdown the application tier services of both the nodes and run AutoConfig on
each node. After AutoConfig completes successfully verify that the tnsnames.ora (on
both CP nodes) has the FNDFS entries of both the nodes.
-Ensure that the Internal Monitors on both nodes defined properly and have
workshifts assigned to them. Also make sure the Internal Monitor manager is
activated by going into Concurrent -> Manager -> Adminitrator and activate the
manager as they need to be active on the nodes where the ICM can start in case of a
failure..
-Define the Primary and Secondary nodes for your Internal Concurrent Manager and
Standard Managers (Concurrent Manager Define form)

To ensure that failover of the concurrent managers when one concurrent node fails
happens in time,ensure following steps are followed:

-The sqlnet.expire_time in sqlnet.ora is set to 1. This is to be done for the


database listeners (not apps listener).
-Ensure that One-off Patch 6495206 and Patch 9074947 have been applied.

g:\prints\interview\pcp interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1) What is PCP

- Parallel Concurrent Processing (PCP) is an extension of the Concurrent Processing


architecture.

- PCP allows concurrent processing activities to be distributed across multiple


nodes, maximizing throughput and providing resilience to node failure.

2) How to Configure Parallel Concurrent Processing (PCP)

Below are steps to configure the PCP in Oracle Applications.

A) Set Up PCP

- Edit the applications context file via Oracle Applications Manager, and set the
value of the variable APPLDCP to ON.

- Execute AutoConfig by running the following command on all concurrent


processing nodes:

- $ $INST_TOP/admin/scripts/adautocfg.sh

- Source the Applications environment.

- Check the tnsnames.ora and listener.ora configuration files, located in


$INST_TOP/ora/10.1.2/network/admin. Ensure that the required FNDSM and FNDFS
entries are present for all other concurrent nodes.

- Restart the Applications listener processes on each application tier node.

- Log on to Oracle E-Business Suite Release 12 using the SYSADMIN account, and
choose the System Administrator Responsibility. Navigate to Install > Nodes screen,
and ensure that each node in the cluster is registered.

- Verify that the Internal Monitor for each node is defined properly, with
correct primary node specification, and work shift details. For example, Internal
Monitor: Host1 must have primary node as host1. Also ensure that the Internal
Monitor manager is activated: this can be done from Concurrent > Manager >
Administrator.

- Set the $APPLCSF environment variable on all the Concurrent Processing nodes to
point to a log directory on a shared file system.

- Set the $APPLPTMP environment variable on all the CP nodes to the value of the
UTL_FILE_DIR entry in init.ora on the database nodes. (This value should be
pointing to a directory on a shared file system.)

- Set profile option 'Concurrent: PCP Instance Check' to OFF if database


instance-sensitive failover is not required (In case of Non RAC Database). By
setting it to 'ON', a concurrent manager will fail over to a secondary Application
tier node if the database instance to which it is connected becomes unavailable for
some reason.

B) Set Up Transaction Managers (Only R12)

If you are already using the transnational managers and If you wish to have
transnational managers fail over, Perform the below steps

- Shut down the application services (servers) on all nodes

- Shut down all the database instances cleanly in the Oracle RAC environment,
using the command:

- SQL>shutdown immediate;

- Edit the $ORACLE_HOME/dbs/<context_name>_ifile.ora and add the following


parameters:
_lm_global_posts=TRUE
_immediate_commit_propagation=TRUE

- Start the instances on all database nodes.

- Start up the application services (servers) on all nodes.

- Log on to Oracle E-Business Suite Release 12 using the SYSADMIN account, and
choose the System Administrator responsibility. Navigate to Profile > System,
change the profile option �Concurrent: TM Transport Type' to �QUEUE', and verify
that the transaction manager works across the Oracle RAC instance.

- Navigate to Concurrent > Manager > Define screen, and set up the primary and
secondary node names for transaction managers.

- Restart the concurrent managers.

- If any of the transaction managers are in a deactivated status, activate them


from Concurrent > Manager > Administrator.

C) Set Up Load Balancing on Concurrent Processing Nodes (Only Applicable in case


of RAC)

If you wish to have PCP to use the load balancing capability of RAC, You can
perform the below, Connections will load balanced using SID_BALANCE value and they
will connect to all the RAC nodes.

- Edit the applications context file through the Oracle Applications Manager
interface, and set the value of Concurrent Manager TWO_TASK (s_cp_twotask) to the
load balancing alias (<service_name>_balance>).

- Execute AutoConfig by running $INST_TOP/admin/scripts/adautocfg.sh on all


concurrent nodes.

3) Is RAC Mandatory to Implement PCP?

- No, RAC is not manadatory for PCP, If you have two or more applications nodes,
You can enable PCP, But PCP works better in conjunction with RAC to handle all the
failover scenarious.

4) How PCP Works with RAC?

- In RAC Enabled env, PCP uses cp_two_task env variable to connect to DB RAC node,
This can be set one CM node to one RAC node or you can set to connect to all the
RAC nodes in the cluster.

5) What happens when one of the RAC node goes down when PCP enabled?

- When Concurrent: PCP Instance Check is set to ON and cp_two_task value set to
SID (i.e One CM node connects to only one RAC node always), If one DB node goes
down, PCP identifies the DB failure and shifts all the CM managers to other
applications node where Database is available.

6)What happen when one of the PCP node goes down?

- IMON identifies the failure and through FNDSM (service Manager) It initiates ICM
to start in surviving node (If ICM is is running on Failed node), ICM will start
all the managers.

7) What is primary and Secondary Nodes in PCP?

- It is requirement to define the primary and secondary node to distribute load on


the servers, If this is not defined,All the managers will start on the node where
ICM is running by default.

8) How Fail Back happens in PCP?

- Once failed node comes online, IMON detects and ICM will fail back all the
managers defined on that node.

9) What happens to requests running during failover in PCP?

- It is important to note RAC and PCP does not support any DML commands and TAF
and FAN are not supported with E-Bussiness Suite.
- When a request is running, If CM goes down it is having status running normal
and it will not have any associated process ID, When ICM start in other node, It

verifies for all the running normal requests and verifies the OS process ID, If
it did not find the process ID, It will resubmit the request to start.

- This behavior is normal even in NON PCP env.

- The Internal Concurrent Manager (ICM) will only restart a request if the
following conditions are met

The ICM got the manager's database lock for the manager that was running the
request
The phase of the request is "running" (phase_code = 'R')
The program for this request is set to "restart on failure"
All of the above requirements have been met AND at least one of the following:
a. The ICM is just starting up, (ie. it has just spawned on a given
node and going through initial code before the main loop)
b. The node of the concurrent manager for which we got the lock is down
c. The database instance (TWO_TASK) defined for the node of that
concurrent manager is down (this is not applicable if one is using some "balance"
@ TWO_TASK on that node)

10) How PCP identifies when node goes down?

- There are two types of failures that PCP recognizes.

a.) Is the node pingable ?


Issues an operating system ping on the machine name - timeout or available.

b.) Is the database available?


Query on V$threads and V$instance for value of open or close.

- When any of the two above failures occur, the following example will illustrate
the failover and failback of managers.

Primary node = HOST1 - Managers assigned to primary node are ICM (FNDLIBR-
cpmgr) , FNDCRM
Secondary node = HOST2 - Manager assigned to secondary node is STandard Manager
(FNDLIBR)

When HOST1 becomes unavailable, both ICM and FNDCRM are migrated over to HOST2.
This is viewable from Administer Concurrent Manager form in System Administrator
Responsibility.
The $APPLCSF/log/.mgr logfile will also reflect that HOST1 is being added to
unavailable list.

On HOST2, after pmon cycle, FNDICM, FNDCRM, and FNDLIBR are now migrated and
running.
(Note: FNDIMON and FNDSM run independently on each concurrent processing node.
FNDSM
is not a persistent process, and FNDIMON is a persistent process local to each
node)

Once HOST1 becomes available, FNDICM and FNDCRM are migrated back to the original
primary
node for successful failback.

In summary, in a successful fail over and failback scenario, all managers should
failover to their secondary node, and once node or instance becomes available; then
all managers should failback to primary node.

Do I get all the benefits out of the box?


The simple answer is no.
If you follow the publicly available resources then you will end up with a fault
tolerant solution but may not get any performance improvement unless you are using
RAC.

How to distribute the load?


There are two methods to distribute the load across application (or concurrent
processing) nodes. I will assume that you have two concurrent processing nodes.
Method 1
Assign some managers to the first node and others to the second node.
For example, you can assign the primary node of �INV Remote Procedure Manager� and
�PO Document Approval Manager� managers to the first node and �Standard Manager� to
the second node. Of course you should set the secondary node to enable failover
when a node goes down.

Method 2
The first method is straightforward and easy to implement.
However, we know that the Standard Manager handles most of the requests.
How to distribute the load then?!

The answer is simple: use custom concurrent managers.

For example, the Standard Manager is going to process all requests except those
related to GL and Inventory modules.
We will exclude programs related to them by using Specialization Rules.
It will have APP1 as the primary node and APP2 as the secondary node.

g:\prints\interview\rac commands.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Patchset/PSU Patch Number Description
11.1.0.7.11 13621679 DATABASE PATCH SET UPDATE 11.1.0.7.11 (INCLUDES CPU
APR2012)

Patch 13621679 - 11.1.0.7.11 Patch Set Update


=============================================
Patch InformationPatch Set Update (PSU) patches are cumulative. That is, the
content of all previous PSUs is included in the latest PSU patch.

PSU 11.1.0.7.11 includes all fixes previously included in PSU 11.1.0.7.10 and those
listed in .
To install the PSU 11.1.0.7.11 patch, the Oracle home must have the 11.1.0.7.0
Database installed. Subsequent PSU patches can be installed on Oracle Database
11.1.0.7.0 or any PSU with a lower 5th numeral version than the one being
installed.

OPatch Utility
==============
You must use the OPatch utility version 11.1.0.8.2 or later to apply this patch.
Oracle recommends that you use the latest released OPatch 11.1, which is available
for download from My Oracle Support patch6880880 by selecting the 11.1.0.0.0
release.
For information about OPatch documentation, including any known issues, see My
Oracle Support Note 293369.1 OPatch documentation list.

Start OEM black out


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

Confirmation
Blackout "Blackout-Apr 24 1998 9:33:42 PM" created successfully, Blackout status
will be propagated to the target(s) shortly.

-----------------------------------------------------------------------------------
-------------------------------
Node 1: (AS ORACLE)
===================

$ hostname
$ uname
$ bash
$ date
$ df -kg or df -h
$ cat /etc/oratab or cat/var/opt/oracle/oratab ------> Note ASM and Database Home
Paths
$ ps -ef| grep pmon
$ ps -ef| grep tns
$ ps -ef| grep emagent
$ ps -ef|grep oracle
$ ps -ef| grep d.bin
$ ps -ef|grep crs
root 344170 1 0 Apr 24 - 0:00
/oradb/crs/product/11.1.0/crs_1/bin/oclskd.bin

$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012
$ opatch version
$ /oradb/crs/product/11.1.0/crs_1/OPatch/opatch version
$ /oradb/asm/product/11.1.0/asm_1/OPatch/opatch version
$ /oradb/app/oracle/product/11.1.0/db_1/OPatch/opatch version
$ which opatch
/oradb/app/oracle/product/11.1.0/db_1/OPatch/opatch
. oraenv --- asm instance
$ opatch lsinventory
. oraenv --- database 1 instance
$ opatch lsinventory
. oraenv --- database 2 instance
$ opatch lsinventory

$ ps -ef| grep pmon


$ srvctl status database -d <database_1> or srvctl status
instance -d <database_1> -i <database_1_instance>
$ srvctl status database -d <database_2> or srvctl status
instance -d <database_2> -i <database_2_instance>

$ srvctl status asm -n <Node 1>


$ srvctl status asm -n <Node 2>

$ srvctl status listener -n <Node 1>


$ srvctl status listener -n <Node 2>

$ srvctl status nodeapps -n <Node 1>


$ srvctl status nodeapps -n <Node 2>

$ ps -ef|grep oracle or ps -ef|grep emagent


./emctl status agent or /oradb/app/oracle/product/agent1/agent11g/bin/emctl status
agent

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check cluster

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check crs
$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------

$ srvctl stop database -d <database_1> or srvctl stop insatnce -d


<database_1> -i <database_1_instance>
$ srvctl stop database -d <database_2> -o immediate or srvctl stop insatnce -d
<database_2> -i <database_2_instance>

$ srvctl stop asm -n <Node 1>


$ srvctl stop asm -n <Node 2>

$ srvctl stop listener -n <Node 1>


$ srvctl stop listener -n <Node 2>

$ srvctl stop nodeapps -n <Node 1>


$ srvctl stop nodeapps -n <Node 2>

$ ps -ef|grep oracle or ps -ef|grep emagent


./emctl stop agent or /oradb/app/oracle/product/agent1/agent11g/bin/emctl stop
agent

$ ps -ef| grep oracle


$ lsnrctl stop -------------------------------to stop default listener
$ ps -ef| grep oracle

-----------------------------------------------------------------------------------
-------------------------------

Node 2: (AS ORACLE)


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

$ hostname
$ uname
$ bash
$ date
$ df -kg or df -h
$ cat /etc/oratab or cat/var/opt/oracle/oratab ------> Note ASM and Database Home
Paths
$ ps -ef| grep pmon
$ ps -ef| grep tns
$ ps -ef| grep emagent
$ ps -ef|grep oracle
$ ps -ef| grep d.bin
$ ps -ef|grep crs
root 344170 1 0 Apr 24 - 0:00
/oradb/crs/product/11.1.0/crs_1/bin/oclskd.bin

$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012

$ opatch version

$ /oradb/crs/product/11.1.0/crs_1/OPatch/opatch version
$ /oradb/asm/product/11.1.0/asm_1/OPatch/opatch version
$ /oradb/app/oracle/product/11.1.0/db_1/OPatch/opatch version

$ which opatch
/oradb/app/oracle/product/11.1.0/db_1/OPatch/opatch
$ ps -ef| grep pmon

$ ps -ef|grep oracle or ps -ef|grep emagent


./emctl status agent or /oradb/app/oracle/product/agent1/agent11g/bin/emctl status
agent

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check cluster

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check crs

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------

$ ps -ef|grep oracle or ps -ef|grep emagent


./emctl stop agent or /oradb/app/oracle/product/agent1/agent11g/bin/emctl stop
agent

$ ps -ef| grep oracle


$ lsnrctl stop -------------------------------to stop default listener
$ ps -ef| grep oracle

-----------------------------------------------------------------------------------
-------------------------------

Pre-rootpatch
=============

Node 1: (AS ROOT)


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

# cd /oradb/crs/product/11.1.0/crs_1/bin
# ./crsctl check cluster
# ./crsctl check crs
# ./crsctl stop crs

# ps -ef| grep oracle

# ssh <Node 2>

# cd /oradb/crs/product/11.1.0/crs_1/bin
# ./crsctl check cluster
# ./crsctl check crs
# ./crsctl stop crs

# ps -ef| grep oracle

# exit
# hostname
<Node 1>

# ps -ef| grep pmon ---- (0 instances running)


# cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953
# sh custom/scripts/prerootpatch.sh -crshome /oradb/crs/product/11.1.0/crs_1
-crsuser oracle
# ssh <Node 2>

# ps -ef| grep pmon ---- (0 instances running)


# cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953
# sh custom/scripts/prerootpatch.sh -crshome /oradb/crs/product/11.1.0/crs_1
-crsuser oracle

# exit
# hostname
<Node 1>

-----------------------------------------------------------------------------------
-------------------------------

Pre-patch
=========

Node 1: (AS ORACLE)


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

$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953
$ custom/scripts/prepatch.sh -crshome /oradb/crs/product/11.1.0/crs_1

$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953
$ custom/server/11724953/custom/scripts/prepatch.sh -dbhome
/oradb/asm/product/11.1.0/asm_1

$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953
$ custom/server/11724953/custom/scripts/prepatch.sh -dbhome
/oradb/app/oracle/product/11.1.0/db_1

-----------------------------------------------------------------------------------
-------------------------------

Opatch Apply
============

Node 1: (AS ORACLE)


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

CRS
===
$ cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077
$ opatch napply -oh /oradb/crs/product/11.1.0/crs_1 -id 11724953

ASM
===
$ cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/serve
r
$ opatch napply custom/server/ -oh /oradb/asm/product/11.1.0/asm_1 -id 11724953

RDBMS
=====
$ cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/serve
r
$ opatch napply custom/server/ -oh /oradb/app/oracle/product/11.1.0/db_1 -id
11724953

-----------------------------------------------------------------------------------
-------------------------------

Do the post configure for CRS and RDBMS home


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

Node 1: (AS ORACLE)


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

CRS
===
$ cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/scrip
ts
$ ./postpatch.sh -crshome /oradb/crs/product/11.1.0/crs_1

ASM
===
$ cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/serve
r/11724953
$ ./custom/scripts/postpatch.sh -dbhome /oradb/asm/product/11.1.0/asm_1

RDBMS
=====
$ cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/serve
r/11724953
$ ./custom/scripts/postpatch.sh -dbhome /oradb/app/oracle/product/11.1.0/db_1

-----------------------------------------------------------------------------------
-------------------------------

11.1.0.7.11 PSU (13621679) and (9734685)


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

Node 1: (AS ORACLE)


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

13621679
========

$ cd /oradb/app/admin/orasw/patches
$ chmod -R 777 PSU_patches
$ cd PSU_patches
$ pwd
/oradb/app/admin/orasw/patches/PSU_patches

$ ls -lrt p13621679_111070_AIX5L.zip
$ unzip p13621679_111070_AIX5L.zip
$ ls -lrt
$ cd 13621679
$ pwd

ASM
===
$ /oradb/app/admin/orasw/patches/PSU_patches/13621679
$ opatch apply -oh /oradb/asm/product/11.1.0/asm_1

RDBMS
=====
$ cd /oradb/app/admin/orasw/patches/PSU_patches/13621679
$ opatch apply -oh /oradb/app/oracle/product/11.1.0/db_1

-----------------------------------------------------------------------------------
-------------------------------

9734685
=======

$ cd /oradb/app/admin/orasw/patches/PSU_patches/
$ ls -lrt p9734685_1110711_AIX64-5L.zip
$ unzip p9734685_1110711_AIX64-5L.zip

ASM
===
$ cd /oradb/app/admin/orasw/patches/PSU_patches/9734685
$ opatch apply -oh /oradb/asm/product/11.1.0/asm_1

RDBMS
=====
$ cd /oradb/app/admin/orasw/patches/PSU_patches/9734685
$ opatch apply -oh /oradb/app/oracle/product/11.1.0/db_1

-----------------------------------------------------------------------------------
-------------------------------

After 9734685 Patch applied relink has to be done in both ASM and DB homes -------
Linking Oracle
==========================================================================

Node 1: (AS ORACLE)


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

RDBMS
=====
$ cd /oradb/app/oracle/product/11.1.0/db_1/rdbms/lib
$ make -f ins_rdbms.mk ipc_g ioracle

ASM
===
$ cd /oradb/asm/product/11.1.0/asm_1/rdbms/lib
$ make -f ins_rdbms.mk ipc_g ioracle

Node 2: (AS ORACLE)


=======

RDBMS
=====
$ cd /oradb/app/oracle/product/11.1.0/db_1/rdbms/lib
$ make -f ins_rdbms.mk ipc_g ioracle

ASM
===
$ cd /oradb/asm/product/11.1.0/asm_1/rdbms/lib
$ make -f ins_rdbms.mk ipc_g ioracle
-----------------------------------------------------------------------------------
-------------------------------

Post-rootpatch
==============

Node 1: (AS ROOT)


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

# cd /oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953

#
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/scrip
ts/postrootpatch.sh -crshome /oradb/crs/product/11.1.0/crs_1

# ps -ef | grep pmon --- Both the db and asm instances will be up and running

# ssh <Node 2>

# cd
/oradb/app/admin/orasw/patches/PSU_patches/Jan2012/CRS/111077/11724953/custom/scrip
ts/postrootpatch.sh -crshome /oradb/crs/product/11.1.0/crs_1

# ps -ef | grep pmon --- Both the db and asm instances will be up and running

-----------------------------------------------------------------------------------
-------------------------------

Start ASM

-----------------------------------------------------------------------------------
-------------------------------

Run on each database, only in one node


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

NODE 1: (AS ORACLE)


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

$ sqlplus /nolog
Enter user-name: / as sysdba
Connected to an idle instance.

SQL>startup;
SQL>@?/rdbms/admin/catbundle.sql psu apply
SQL>exit

$. oraenv ---- --- database 2 instance


$ sqlplus /nolog
Enter user-name: / as sysdba

SQL>startup;
SQL>@?/rdbms/admin/catbundle.sql psu apply
SQL>exit

-----------------------------------------------------------------------------------
-------------------------------
Patch Validation:-
================

opatch lsinventory | grep 11724953


opatch lsinventory | grep 13621679
opatch lsinventory | grep 9734685

start local listeners, (if any)

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check cluster

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ ./crsctl check crs

$ cd /oradb/crs/product/11.1.0/crs_1/bin
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------

$ hostname
$ uname
$ bash
$ date
$ who -b
$ uptime
$ df -kg or df -h
$ cat /etc/oratab or cat/var/opt/oracle/oratab ------> Note ASM and Database Home
Paths
$ ps -ef| grep pmon
$ ps -ef| grep tns
$ ps -ef| grep emagent
$ ps -ef|grep oracle
$ ps -ef| grep d.bin
$ ps -ef|grep crs

$ ps -ef| grep pmon

$ srvctl status database -d <database_1>


$ srvctl status database -d <database_2>

$ srvctl status asm -n <Node 1>


$ srvctl status asm -n <Node 2>

$ srvctl status listener -n <Node 1>


$ srvctl status listener -n <Node 2>

$ srvctl status nodeapps -n <Node 1>


$ srvctl status nodeapps -n <Node 2>

$ ps -ef|grep oracle or ps -ef|grep emagent


./emctl status agent or /oradb/app/oracle/product/agent1/agent11g/bin/emctl status
agent

Run on each database only in one node


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

NODE 1: (AS ORACLE)


===================
SQL> select name
db_name,DB_UNIQUE_NAME,instance_name,status,DATABASE_STATUS,open_mode,
database_role, host_name,platform_id,version db_version,log_mode,flashback_on
,protection_mode,protection_level,LOGINS,to_char(STARTUP_TIME,'DD-MON-YYYY
HH24:MI:SS') "UP TIME" from gv$instance,v$database;

SQL> select to_char(sysdate,'yyyy-mm-dd HH24:MI:SS') from dual


/

SQL>
col ACTION_TIME for a12
col NAMESPACE for a10
col VERSION for a10
col BUNDLE_SERIES for a15
col COMMENTS for a20
select action_time, action,namespace, version, id,bundle_series, comments from
registry$history;

-----------------------------------------------------------------------------------
-------------------------------

check DR sysnc status


=====================
http://select-star-from.blogspot.in/2013/09/data-guard-sync-status.html

-----------------------------------------------------------------------------------
-------------------------------

Stop OEM black out


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

Confirmation
Request to stop blackout "Blackout-Apr 24 1998 9:33:42 PM" was processed
successfully, Blackout status will be propagated to the target(s) shortly.

-----------------------------------------------------------------------------------
-------------------------------
Posted by Dharmendra Chalasani at Monday, October 07, 2013
Email This
BlogThis!
Share to Twitter
Share to Facebook
Share to Pinterest

Labels: PATCHING, PSU


July 28, 2013
Opatch rollback failed because files under patch_storage are missing
Issue : opatch rollback failed because files under patch_storage are missing
Error :
Archive Action: Source file
"/u01/oracle/product/102/.patch_storage/4966417_Mar_12_2007_03_46_16/files/lib/libg
eneric10.a/kgl.o" does not exist.

'oracle.rdbms, 10.2.0.3.0': Cannot update file


'/u01/oracle/product/102/lib/libgeneric10.a' with '/kgl.o'

RollbackSession failed during prerequisite checks: Prerequisite check


"CheckRollbackable" failed.
System intact, OPatch will not attempt to restore the system
OPatch failed with error code 74

Fix:
Try roll backing the patch as below
opatch rollback -id <sub-set patch#> -no_sysmod

-no_sysmod options just removes the patch updating the inventory with out updating
the files in the File System.

Posted by Dharmendra Chalasani at Sunday, July 28, 2013


Email This
BlogThis!
Share to Twitter
Share to Facebook
Share to Pinterest

Labels: ISSUE, PATCHING


July 24, 2013
Oracle DBA Interview Questions and Answers - Patching,Cloning and Upgrade
Oracle Patching,Cloning and Upgrade Interview Questions and Answers

When you moved oracle binary files from one ORACLE_HOME server to another server
then which oracle utility will be used to make this new ORACLE_HOME usable?
Relink all.

In which months oracle release CPU patches?


JAN, APR, JUL, OCT

When we applying single Patch, can you use opatch utility?


Yes, you can use Opatch incase of single patch. The only type of patch that cannot
be used with OPatch is a patchset.

Is it possible to apply OPATCH without downtime?


As you know for apply patch your database and listener must be down. When you apply
OPTACH it will update your current ORACLE_HOME. Thus coming to your question to the
point in fact it is not possible without or zero downtime in case of single
instance but in RAC you can Apply Opatch without downtime as there will be more
separate ORACLE_HOME and more separate instances (running once instance on each
ORACLE_HOME).

You have collection of patch (nearly 100 patches) or patchset. How can you apply
only one patch from it?
With Napply itself (by providing patch location and specific patch id) you can
apply only one patch from a collection of extracted patch. For more information
check the opatch util NApply �help. It will give you clear picture.
For Example:
opatch util napply <patch_location> -id 9 -skip_subset -skip_duplicate
This will apply only the patch id 9 from the patch location and will skip duplicate
and subset of patch installed in your ORACLE_HOME.

If both CPU and PSU are available for given version which one, you will prefer to
apply?
From the above discussion it is clear once you apply the PSU then the recommended
way is to apply the next PSU only. In fact, no need to apply CPU on the top of PSU
as PSU contain CPU (If you apply CPU over PSU will considered you are trying to
rollback the PSU and will require more effort in fact). So if you have not decided
or applied any of the patches then, I will suggest you to go to use PSU patches.
For more details refer: Oracle Products [ID 1430923.1], ID 1446582.1

PSU is superset of CPU then why someone choose to apply a CPU rather than a PSU?
CPUs are smaller and more focused than PSU and mostly deal with security issues. It
seems to be theoretically more consecutive approach and can cause less trouble than
PSU as it has less code changing in it. Thus any one who is concerned only with
security fixes and not functionality fixes, CPU may be good approach.

How to Download Patches, Patchset or Opatch from metalink?

If you are using latest support.oracle.com then after login to metalink Dashboard
- Click on "Patches & Updates" tab
- On the left sidebar click on "Latest Patchsets" under "Oracle Server/Tools".
- A new window will appear.
- Just mouseover on your product in the "Latest Oracle Server/Tools Patchsets"
page.
- Corresponding oracle platform version will appear. Then simply choose the
patchset version and click on that.
- You will go the download page. From the download page you can also change your
platform and patchset version.

REFERENCES:
http://docs.oracle.com/cd/E11857_01/em.111/e12255/e_oui_appendix.htm
Oracle� Universal Installer and OPatch User's Guide
11g Release 2 (11.2) for Windows and UNIX
Part Number E12255-11

What is the recent Patch applied?

What is OPatch?

How to Apply Opatch in Oracle?

1. You MUST read the Readme.txt file included in opatch file, look for any prereq.
steps/ post installation steps or and DB related changes. Also, make sure that you
have the correct opatch version required by this patch.
2.Make sure you have a good backup of database.
3. Make a note of all Invalid objects in the database prior to the patch.
4. Shutdown All the Oracle Processes running from that Oracle Home , including the
Listener and Database instance, Management agent etc.
5. You MUST Backup your oracle Home and Inventory
tar -cvf $ORACLE_HOME $ORACLE_HOME/oraInventory | gzip >
Backup_Software_Version.tar.gz
6. Unzip the patch in $ORACLE_HOME/patches
7. cd to the patch direcory and do opatch -apply to apply the patch.
8. Read the output/log file to make sure there were no errors.

Patching Oracle Software with OPatch ?

opatch napply <patch_location> -skip_subset -skip_duplicate


OPatch skips duplicate patches and subset patches (patches under <patch_location>
that are subsets of patches installed in the Oracle home).

What is Opactch in Oracle?

OPATCH Utility (Oracle RDBMS Patching)

1. Download the required Patch from Metalink based on OS Bit Version and DB
Version.
2. Need to down the database before applying patch.
3. Unzip and Apply the Patch using �opatch apply� command.On successfully applied
of patch you will see successful message �OPatch succeeded.�, Crosscheck your patch
is applied by using �opatch lsinventory� command .
4. Each patch has a unique ID, the command to rollback a patch is �opatch rollback
-id <patch no.>� command.On successfully applied of patch you will see successful
message �OPatch succeeded.�, Crosscheck your patch is applied by using �opatch
lsinventory� command .
5. Patch file format will be like, �p<patch no.>_<db version>_<os>.zip�
6. We can check the opatch version using �opatch -version� command.
7. Generally, takes 2 minutes to apply a patch.
8. To get latest Opatch version download �patch 6880880 - latest opatch tool�, it
contains OPatch directory.
9. Contents of downloaded patches will be like �etc,files directories and a README
file�
10. Log file for Opatch utility can be found at $ORACLE_HOME/cfgtoollogs/opatch
11. OPatch also maintains an index of the commands executed with OPatch and the log
files associated with it in the history.txt file located in the
<ORACLE_HOME>/cfgtoollogs/opatch directory.
12. Starting with the 11.2.0.2 patch set, Oracle Database patch sets are full
installations of the Oracle Database software. This means that you do not need to
install Oracle Database 11g Release 2 (11.2.0.1) before installing Oracle Database
11g Release 2 (11.2.0.2).
13. Direct upgrade to Oracle 10g is only supported if your database is running one
of the following releases: 8.0.6, 8.1.7, 9.0.1, or 9.2.0. If not, you will have to
upgrade the database to one of these releases or use a different upgrade option
(like export/ import).
14.Direct upgrades to 11g are possible from existing databases with versions
9.2.0.4+, 10.1.0.2+ or 10.2.0.1+. Upgrades from other versions are supported only
via intermediate upgrades to a supported upgrade version.

http://avdeo.com/2008/08/19/opatch-utility-oracle-rdbms-patching/

Oracle version 10.2.0.4.0 what does each number refers to?


Oracle version number refers:
10 � Major database release number
2 � Database Maintenance release number
0 � Application server release number
4 � Component Specific release number
0 � Platform specific release number

Types of Patches?

How to rollback a patch?

What is PSU?

What is Rolling Patch?

How to check installed Patches?

How much time will it take for Patching?

Common issues faced in Patching?

REFERENCES:
OPATCH Utility (Oracle RDBMS Patching)
http://avdeo.com/2008/08/19/opatch-utility-oracle-rdbms-patching/
How to apply Database Patches
http://rafioracledba.blogspot.in/search/label/Database%20Patches

Critical Patch Updates, Security Alerts and Third Party Bulletin


http://www.oracle.com/technetwork/topics/security/alerts-086861.html

Oracle: Quick Guide to Opatch - (Oracle Database Patching utility)


http://www.dbalifeline.com/content/oracle-quick-guide-opatch-oracle-database-
patching-utility

How to Design an Effective Patch Management Process


http://www.computing.net/howtos/show/how-to-design-an-effective-patch-management-
process/744.html

Oracle Database 11.2.0.2 Patch Set (English)


http://www.dbacomp.com.br/blog/?p=69

Apply Oracle CPUApr2010 � 9352191 for Oracle10.2.0.4 in Aix5L


http://hendrydasan.com/2010/05/21/apply-oracle-cpuapr2010-9352191-for-oracle10-2-0-
4-in-aix5l/

Cloning
=======
What is Cloning?

How to do take RMAN Cloning? Explain Steps?

Upgrade
=======

What is rolling upgrade?It is a new ASM feature from Database 11g.ASM instances in
Oracle database 11g release(from 11.1) can be upgraded or patched using rolling
upgrade feature. This enables us to patch or upgrade ASM nodes in a clustered
environment without affecting database availability.During a rolling upgrade we can
maintain a functional cluster while one or more of the nodes in the cluster are
running in different software versions.Rolling upgrade can be used only for Oracle
database 11g releases(from 11.1).

Steps to Upgrade in Oracle ?

Manual upgrade which involves the following steps:


1.Backup the database.
2.In UNIX/Linux environments, set the $ORACLE_HOME and $PATH variables to point to
the new 11g Oracle home.
3.Analyze the existing instance using the "$ORACLE_HOME/rdbms/admin/utlu111i.sql"
script.
4.Start the original database using the STARTUP UPGRADE command and proceed with
the upgrade by running the "$ORACLE_HOME/rdbms/admin/catupgrd.sql" script.
5.Recompile invalid objects.
6.Restart the database.
7.Run the "$ORACLE_HOME/rdbms/admin/utlu111s.sql" script and check the result of
the upgrade.
8.Troubleshoot any issues or abort the upgrade.

What happens when you give "STARTUP UPGRADE"?

$sqlplus "/as sysdba"


SQL> STARTUP UPGRADE
Note:
----
The UPGRADE keyword enables you to open a database based on an earlier Oracle
Database release. It also restricts logons to AS SYSDBAsessions, disables system
triggers, and performs additional operations that prepare the environment for the
upgrade.

You might be required to use the PFILE option to specify the location of your
initialization parameter file.
Once the database is started in upgrade mode, only queries on fixed views execute
without errors until after the catupgrd.sql script is run. Before running
catupgrd.sql, queries on any other view or the use of PL/SQL returns an error.

What is the difference between startup Upgrade and Migrate ?

startup migrate:
---------------
Used to upgrade a database till 9i.

Startup Upgrade
---------------
From 10G we are using startup upgrade to upgrade database.

What happens internally when you use startup upgrade/migrate?

It will adjust few database (init) parameters (irrespective of what you have
defined) automatically to certain values in order to run upgrade scripts smoothely.
in other way..it will issue few alter statements to set certain parameters which
are required to complete the upgrade scripts without any issues.

REFERENCE:
---------
Oracle� Database Upgrade Guide 11g Release 2 (11.2)
http://docs.oracle.com/cd/E11882_01/server.112/e23633/upgrade.htm

Common issues faced in Upgrade?

Error is related to timezone file


Started database in upgrade mode and fired catupgrd.sql :

SQL> startup upgrade


ORACLE instance started.
Total System Global Area 6413680640 bytes
Fixed Size 2160112 bytes
Variable Size 1946159632 bytes
Database Buffers 4429185024 bytes
Redo Buffers 36175872 bytes
Database mounted.
Database opened.
SQL> @catupgrd.sql
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC> The first time this script is run, there should be no error messages
DOC> generated; all normal upgrade error messages are suppressed.
DOC>
DOC> If this script is being re-run after correcting some problem, then
DOC> expect the following error which is not automatically suppressed:
DOC>
DOC> ORA-00001: unique constraint () violated
DOC>#
FROM registry$database
*
ERROR at line 2:
ORA-00942: table or view does not exist
This error is related to timezone file which must be version 4 for Oracle version
11g.If timezone is not version 4 than patch needs to be applied.
Query to check timezone file is:
SQL> select * from v$timezone_file;
FILENAME VERSION
���� ���-
timezlrg.dat 4
SQL> select * from v$timezone_file;
FILENAME VERSION
���� ���-
timezlrg.dat 4
So I had correct version.I remember applying patch before upgrade.I got lucky
because patch existed for version 10.2.0.3.
If there is no patch for your Oracle versions than patch can be download for
similar version and applied manually.
Instructions are below:
1. Download the identified patch.
2. Unzip the patch, and locate the 2 files timezone.dat and timezlrg.dat in the
�files/oracore/zoneinfo� directory of the uncompressed patch (or from the
relevant .jar file of a patchset). If there is also a readme.txt in this location
then make a note of this as well.
3. Backup your existing files in $ORACLE_HOME/oracore/zoneinfo � THIS CAN BE VITAL,
DO NOT SKIP.
Note:
Before going on with step 4, make sure the current files are not in use.
On Windows the files will simply refuse to be removed when the are in use.
On Unix replacing the files whilst they are in use can cause the files to become
corrupt. Use the fuser command before replacing the files to make sure they are not
in use.
4. Copy the 2 .dat files and possibly the readme.txt file that were found in step 2
into the $ORACLE_HOME/oracore/zoneinfo directory.
5. Restart the database (in case of installation on a database), or restart the
client applications (in case of client install). Note that the database did not
need to be down before the time zone files were applied, but it does need to be
restarted afterwards.

http://indiandba.blogspot.in/2012/01/error-is-related-to-timezone-file.html
Posted by Dharmendra Chalasani at Wednesday, July 24, 2013
Email This
BlogThis!
Share to Twitter
Share to Facebook
Share to Pinterest

Labels: Oracle DBA Interview Questions and Answers, PATCHING


March 02, 2013
ASM PATCHING

Install Instructions
====================
Download ASM Patch
Check DR sync status

shutdown all Applications related to databases

PROD
====
Blackout all the sevices on database server Node 1 and Node 2 (OEM)

Capture the pre-shutdown status at OS level.


Capture the pre-shutdown status at Database level.

shutdown all the instances on the database server (Node 1)


shutdown ASM instance on server (Node 1)

shutdown all the instances on the database server (Node 2)


shutdown ASM instance on server (Node 2)

Install Patch on Node 1


-----------------------
set environment variables to asm
export ORACLE_HOME=<>
cd <PATCH_NUMBER>
$ORACLE_HOME/Opatch/opatch apply -local

ps -ef|grep asm

. oraenv
+ASM

Install Patch on Node 2


-----------------------
set environment variables to asm
export ORACLE_HOME=<>
cd <PATCH_NUMBER>
$ORACLE_HOME/Opatch/opatch apply -local

ps -ef|grep asm

. oraenv
+ASM

Validate whether the Patches are applied or not


-----------------------------------------------
$ORACLE_HOME/Opatch/opatch lsinventory

start ASM instance on server (Node 1)


start all the instances on the database server (Node 1)

start ASM instance on server (Node 2)


start all the instances on the database server (Node 2)

start the listeners and validate the connections (Node 1)


start the listeners and validate the connections (Node 2)

Database Validation
-------------------
validate all the Database services for all databases (Node 1)
validate all the Database services for all databases (Node 2)
Application Validation
----------------------
Startup the applications and validate and inform Application team
Application team should validate.

DR
==
Same steps as in PROD

Check DR sync status

FALLBACK Plan
=============
set environment variables

Rollback Patches on both Node 1 and Node 2


$ORACLE_HOME/Opatch/opatch -id <PATCH_NO> rollback

Database Validation
-------------------
validate all the Database services for all databases (Node 1)
validate all the Database services for all databases (Node 2)

Application Validation
----------------------
Startup the applications and validate and inform Application team
Application team should validate.
Posted by Dharmendra Chalasani at Saturday, March 02, 2013
Email This

g:\prints\interview\rac interveiw.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Oracle RAC Load balancing and Failover
LOAD BALANCING in RAC:-
The Oracle RAC system can distribute the load over many nodes this feature called
as load balancing.

There are two methods of load balancing


1.Client load balancing
2.Server load balancing

1.Client Load Balancing


Client Load Balancing distributes new connections among Oracle RAC nodes so that no
one server is overloaded with connection requests and it is configured at net
service name level by providing multiple descriptions in a description list or
multiple addresses in an address list. For example, if connection fails over to
another node in case of failure, the client load balancing ensures that the
redirected connections are distributed among the other nodes in the RAC.

Configure Client-side connect-time load balancing by setting LOAD_BALANCE=ON in the


corresponding client side TNS entry.

TESTRAC =
(DESCRIPTION =
(ADDRESS_LIST=
(LOAD_BALANCE = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC1-VIP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC2-VIP)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = testdb.selectstarfrom.com))
)

2.Server Load Balancing


Server Load Balancing distributes processing workload among Oracle RAC nodes. It
divides the connection load evenly between all available listeners and distributes
new user session connection requests to the least loaded listener(s) based on the
total number of sessions which are already connected. Each listener communicates
with the other listener(s) via each database instance�s PMON process.

Configure Server-side connect-time load balancing feature by setting


REMOTE_LISTENERS initialization parameter of each instance to a TNS name that
describes list of all available listeners.

TESTRAC_LISTENERS =
(DESCRIPTION =
(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC1)(PORT = 1521)))
(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC2)(PORT = 1521))))
)

Set *.remote_listener= TESTRAC_LISTENERS� initialization parameter in the


database�s shared SPFILE and add TESTRAC_LISTENERS� entry to the TNSNAMES.ORA file
in the Oracle Home of each node in the cluster.

Once you configure Server-side connect-time load balancing, each database�s PMON
process will automatically register the database with the database�s local listener
as well as cross-register the database with the listeners on all other nodes in the
cluster. Now the nodes themselves decide which node is least busy, and then will
connect the client to that node.

FAILOVER in RAC:-
The Oracle RAC system can protect against failures caused by O/S or server crashes
or hardware failures. When a node failure occurs in RAC system, the connection
attempts can fail over to other surviving nodes in the cluster this feature called
as Failover.

There are two methods of failover


1. Connection Failover
2. Transparent Application Failover (TAF)

1. Connection Failover
If a connection failure occurs at connect time, the application failover the
connection to another active node in the cluster. This feature enables client to
connect to another listener if the initial connection to the first listener fails.

Enable client-side connect-time Failover by setting FAILOVER=ON in the


corresponding client side TNS entry.

TESTRAC =
(DESCRIPTION =
(ADDRESS_LIST=
(LOAD_BALANCE = ON)
(FAILOVER = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC1-VIP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC2-VIP)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = testdb.selectstarfrom.com))
)

If LOAD_BALANCE is set to on then clients randomly attempt connections to any


nodes. If client made connection attempt to a down node, the client needs to wait
until it receives the information that the node is not accessible before trying
alternate address in ADDRESS_LIST.

2. Transparent Application Failover (TAF)


If connection failure occurs after a connection is established, the connection
fails over to other surviving nodes. Any uncommitted transactions are rolled back
and server side program variables and session properties will be lost. In some case
the select statements automatically re-executed on the new connection with the
cursor positioned on the row on which it was positioned prior to the failover.

TESTRAC =
(DESCRIPTION =
(LOAD_BALANCE = ON)
(FAILOVER = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC1-VIP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTRAC1-VIP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = testdb.selectstarfrom.com)
(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))
)
)

1. Where are the Clusterware files stored on a RAC environment?


The Clusterware is installed on each node (on an Oracle Home) and on the shared
disks (the voting disks and the CSR file)

2. Where are the database software files stored on a RAC environment?


The base software is installed on each node of the cluster and the
database storage on the shared disks.

3. What kind of storage we can use for the shared Clusterware files?
- OCFS (Release 1 or 2)
- raw devices
- third party cluster file system such as GPFS or Veritas

4. What kind of storage we can use for the RAC database storage?
- OCFS (Release 1 or 2)
- ASM
- raw devices
- third party cluster file system such as GPFS or Veritas

5. What is a CFS?
A cluster File System (CFS) is a file system that may be accessed (read and write)
by all members in a cluster at the same time. This implies that all members of a
cluster have the same view.

6. What is an OCFS2?
The OCFS2 is the Oracle (version 2) Cluster File System which can be used for the
Oracle Real Application Cluster.

7. Which files can be placed on an Oracle Cluster File System?


- Oracle Software installation (Windows only)
- Oracle files (controlfiles, datafiles, redologs, files described by the bfile
datatype)
- Shared configuration files (spfile)
- OCR and voting disk
- Files created by Oracle during runtime
Note: There are some platform specific limitations.

8. Do you know another Cluster Vendor?


HP Tru64 Unix, Veritas, Microsoft

9. How is possible to install a RAC if we don�t have a CFS?


This is possible by using a raw device.

10. What is a raw device?


A raw device is a disk drive that does not yet have a file system set up. Raw
devices are used for Real Application Clusters since they enable the sharing of
disks.

11. What is a raw partition?


A raw partition is a portion of a physical disk that is accessed at the lowest
possible level. A raw partition is created when an extended partition is created
and logical partitions are assigned to it without any formatting. Once formatting
is complete, it is called cooked partition.

12. When to use CFS over raw?


A CFS offers:
- Simpler management
- Use of Oracle Managed Files with RAC
- Single Oracle Software installation
- Autoextend enabled on Oracle datafiles
- Uniform accessibility to archive logs in case of physical node failure
- With Oracle_Home on CFS, when you apply Oracle patches CFS guarantees that the
updated Oracle_Home is visible to all nodes in the cluster.
Note: This option is very dependent on the availability of a CFS on your platform.

13. When to use raw over CFS?


- Always when CFS is not available or not supported by Oracle.
- The performance is very, very important: Raw devices offer best performance
without any intermediate layer between Oracle and the disk.
Note: Autoextend fails on raw devices if the space is exhausted. However the space
could be added online if needed.

14. What CRS is?


Oracle RAC 10g Release 1 introduced Oracle Cluster Ready Services (CRS), a
platform-independent set of system services for cluster environments. In Release 2,
Oracle has renamed this product to Oracle Clusterware.

15. What is VIP IP used for?


It returns a dead connection IMMIDIATELY, when its primary node fails. Without
using VIP IP, the clients have to wait around 10 minutes to receive ORA-3113: �end
of file on communications channel�. However, using Transparent Application Failover
(TAF) could avoid ORA-3113.

16. Why we need to have configured SSH or RSH on the RAC nodes?
SSH (Secure Shell,10g+) or RSH (Remote Shell, 9i+) allows �oracle� UNIX account
connecting to another RAC node and copy/ run commands as the local �oracle� UNIX
account.

17. Is the SSH, RSH needed for normal RAC operations?


No. SSH or RSH are needed only for RAC, patch set installation and clustered
database creation.
18. Do we have to have Oracle RDBMS on all nodes?
Each node of a cluster that is being used for a clustered database will typically
have the RDBMS and RAC software loaded on it, but not actual data files (these need
to be available via shared disk).

19. What are the restrictions on the SID with a RAC database? Is it limited to 5
characters?
The SID prefix in 10g Release 1 and prior versions was restricted to five
characters by install/ config tools so that an ORACLE_SID of up to max of 5+3=8
characters can be supported in a RAC environment. The SID prefix is relaxed up to 8
characters in 10g Release 2, see bug 4024251 for more information.

20. Does Real Application Clusters support heterogeneous platforms?


The Real Application Clusters do not support heterogeneous platforms in the same
cluster.

21. Are there any issues for the interconnect when sharing the same switch as the
public network by using VLAN to separate the network?
RAC and Clusterware deployment best practices suggests that the interconnect
(private connection) be deployed on a stand-alone, physically separate, dedicated
switch. On big network the connections could be instable.

22. What is the Load Balancing Advisory?


To assist in the balancing of application workload across designated resources,
Oracle Database 10g Release 2 provides the Load Balancing Advisory. This Advisory
monitors the current workload activity across the cluster and for each instance
where a service is active; it provides a percentage value of how much of the total
workload should be sent to this instance as well as service quality flag.

23. How many nodes are supported in a RAC Database?


With 10g Release 2, we support 100 nodes in a cluster using Oracle Clusterware, and
100 instances in a RAC database. Currently DBCA has a bug where it will not go
beyond 63 instances. There is also a documentation bug for the max-instances
parameter. With 10g Release 1 the Maximum is 63.

24. What is the Cluster Verification Utiltiy (cluvfy)?


The Cluster Verification Utility (CVU) is a validation tool that you can use to
check all the important components that need to be verified at different stages of
deployment in a RAC environment.

25. What versions of the database can I use the cluster verification utility
(cluvfy) with?
The cluster verification utility is release with Oracle Database 10g Release 2 but
can also be used with Oracle Database 10g Release 1.

26. If I am using Vendor Clusterware such as Veritas, IBM, Sun or HP, do I still
need Oracle Clusterware to run Oracle RAC 10g?
Yes. When certified, you can use Vendor Clusterware however you must still install
and use Oracle Clusterware for RAC. Best Practice is to leave Oracle Clusterware to
manage RAC. For details see Metalink Note 332257.1 and for Veritas SFRAC see
397460.1.

27. Is RAC on VMW are supported?


Yes.

28. What is hangcheck timer used for ?


The hangcheck timer checks regularly the health of the system. If the system hangs
or stop the node will be restarted automatically.
There are 2 key parameters for this module:

-> hangcheck-tick: this parameter defines the period of time between checks of
system health. The default value is 60 seconds; Oracle recommends setting it to
30seconds.

-> hangcheck-margin: this defines the maximum hang delay that should be tolerated
before hangcheck-timer resets the RAC node.

29. Is the hangcheck timer still needed with Oracle RAC 10g?
Yes.

30. What files can I put on Linux OCFS2?


For optimal performance, you should only put the following files on Linux OCFS2:
- Datafiles
- Control Files
- Redo Logs
- Archive Logs
- Shared Configuration File (OCR)
- Voting File
- SPFILE

31. Is it possible to use ASM for the OCR and voting disk?
No, the OCR and voting disk must be on raw or CFS (cluster file system).

32. Can I change the name of my cluster after I have created it when I am using
Oracle Clusterware?
No, you must properly uninstall Oracle Clusterware and then re-install.

33. What the O2CB is?


The O2CB is the OCFS2 cluster stack. OCFS2 includes some services. These services
must be started before using OCFS2 (mount/ format the file systems).

34. What the OCR file is used for?


OCR is a file that manages the cluster and RAC configuration.

35. What the Voting Disk file is used for?


The voting disk is nothing but a file that contains and manages information of all
the node memberships.

36. What is the recommended method to make backups of a RAC environment?


RMAN to make backups of the database, dd to backup your voting disk and hard copies
of the OCR file.

37. What command would you use to check the availability of the RAC system?
crs_stat -t -v (-t -v are optional)

38. What is the minimum number of instances you need to have in order to create a
RAC?
You can create a RAC with just one server.

39. Name two specific RAC background processes


RAC processes are: LMON, LMDx, LMSn, LKCx and DIAG.

40.Can you have many database versions in the same RAC?


Yes, but Clusterware version must be greater than the greater database version.

41. What was RAC previous name before it was called RAC?
OPS: Oracle Parallel Server
42. What RAC component is used for communication between instances?
Private Interconnect.

43. What is the difference between normal views and RAC views?
A RAC view has the prefix �G�. For example, GV$SESSION instead of V$SESSION

44. Which command will we use to manage (stop, start) RAC services in command-line
mode?
srvctl

45. How many alert logs exist in a RAC environment?


One for each instance.

46. What are Oracle Clusterware Components


Voting Disk � Oracle RAC uses the voting disk to manage cluster membership by way
of a health check and arbitrates cluster ownership among the instances in case of
network failures. The voting disk must reside on shared disk.

Oracle Cluster Registry (OCR) � Maintains cluster configuration information as well


as configuration information about any cluster database within the cluster. The OCR
must reside on shared disk that is accessible by all of the nodes in your cluster

47. How do you backup voting disk


#dd if=voting_disk_name of=backup_file_name

48. How do I identify the voting disk location


#crsctl query css votedisk

49. How do I identify the OCR file location


check /var/opt/oracle/ocr.loc or /etc/ocr.loc ( depends upon platform)
or
#ocrcheck

50. How do you backup the OCR


There is an automatic backup mechanism for OCR. The default location is :
$ORA_CRS_HOME\cdata\"clustername"\
To display backups :
#ocrconfig -showbackup
To restore a backup :
#ocrconfig -restore
With Oracle RAC 10g Release 2 or later, you can also use the export command:
#ocrconfig -export -s online, and use -import option to restore the contents back.
With Oracle RAC 11g Release 1, you can do a manaual backup of the OCR with the
command:
# ocrconfig -manualbackup

51. What is SCAN?


Single Client Access Name (SCAN) is s a new Oracle Real Application Clusters (RAC)
11g Release 2 feature that provides a single name for clients to access an Oracle
Database running in a cluster. The benefit is clients using SCAN do not need to
change if you add or remove nodes in the cluster.

52. What are Oracle Clusterware processes for 10g on Unix and Linux
Cluster Synchronization Services (ocssd) � Manages cluster node membership and runs
as the oracle user; failure of this process results in cluster restart.

Cluster Ready Services (crsd) � The crs process manages cluster resources (which
could be a database, an instance, a service, a Listener, a virtual IP (VIP)
address, an application process, and so on) based on the resource's configuration
information that is stored in the OCR. This includes start, stop, monitor and
failover operations. This process runs as the root user

Event manager daemon (evmd) �A background process that publishes events that crs
creates.

Process Monitor Daemon (OPROCD) �This process monitor the cluster and provide I/O
fencing. OPROCD performs its check, stops running, and if the wake up is beyond the
expected time, then OPROCD resets the processor and reboots the node. An OPROCD
failure results in Oracle Clusterware restarting the node. OPROCD uses the
hangcheck timer on Linux platforms.

RACG (racgmain, racgimon) �Extends clusterware to support Oracle- specific


requirements and complex resources. Runs server callout scripts when FAN events
occur.

53. What are Oracle database background processes specific to RAC


�LMS�Global Cache Service Process
�LMD�Global Enqueue Service Daemon
�LMON�Global Enqueue Service Monitor
�LCK0�Instance Enqueue Process
To ensure that each Oracle RAC database instance obtains the block that it needs to
satisfy a query or transaction, Oracle RAC instances use two processes, the Global
Cache Service (GCS) and the Global Enqueue Service (GES). The GCS and GES maintain
records of the statuses of each data file and each cached block using a Global
Resource Directory (GRD). The GRD contents are distributed across all of the active
instances.

54. How do you troubleshoot node reboot


Please check metalink ...
Note 265769.1 Troubleshooting CRS Reboots
Note.559365.1 Using Diagwait as a diagnostic to get more information for diagnosing
Oracle Clusterware Node evictions.

55. Is ssh required for normal Oracle RAC operation ?


"ssh" are not required for normal Oracle RAC operation. However "ssh" should be
enabled for Oracle RAC and patchset installation.

56. What is the purpose of Private Interconnect ?


Clusterware uses the private interconnect for cluster synchronization (network
heartbeat) and daemon communication between the the clustered nodes. This
communication is based on the TCP protocol.
RAC uses the interconnect for cache fusion (UDP) and inter-process communication
(TCP). Cache Fusion is the remote memory mapping of Oracle buffers, shared between
the caches of participating nodes in the cluster.

57. Why do we have a Virtual IP (VIP) in Oracle RAC?


Without using VIPs or FAN, clients connected to a node that died will often wait
for a TCP timeout period (which can be up to 10 min) before getting an error. As a
result, you don't really have a good HA solution without using VIPs.

When a node fails, the VIP associated with it is automatically failed over to some
other node and new node re-arps the world indicating a new MAC address for the IP.
Subsequent packets sent to the VIP go to the new node, which will send error RST
packets back to the clients. This results in the clients getting errors
immediately.

58. What do you do if you see GC CR BLOCK LOST in top 5 Timed Events in AWR Report?
This is most likely due to a fault in interconnect network.
Check netstat -s
if you see "fragments dropped" or "packet reassemblies failed" , Work with your
system administrator find the fault with network.

59. How many nodes are supported in a RAC Database?


10g Release 2, support 100 nodes in a cluster using Oracle Clusterware, and 100
instances in a RAC database.

60. Srvctl cannot start instance, I get the following error PRKP- 1001 CRS-0215,
however sqlplus can start it on both nodes? How do you identify the problem?
Set the environmental variable SRVM_TRACE to true.. And start the instance with
srvctl. Now you will get detailed error stack.

61. What is the purpose of the ONS daemon?


The Oracle Notification Service (ONS) daemon is an daemon started by the CRS
clusterware as part of the nodeapps. There is one ons daemon started per clustered
node.
The Oracle Notification Service daemon receive a subset of published clusterware
events via the local evmd and racgimon clusterware daemons and forward those events
to application subscribers and to the local listeners.

This in order to facilitate:

a. the FAN or Fast Application Notification feature or allowing applications to


respond to database state changes.

b. the 10gR2 Load Balancing Advisory, the feature that permit load balancing
accross different rac nodes dependent of the load on the different nodes. The rdbms
MMON is creating an advisory for distribution of work every 30seconds and forward
it via racgimon and ONS to listeners and applications.

Database Replay
Database Replay (sometimes named as Workload Replay) feature in Oracle11g allows
you to reproduce the
production database conditions in a testing environment.In other words, with this
feature you can capture the
actual workload on a production system and replay it in a test system. This way,
you can analyze the condition of the production database without working on the
actual production database.

This feature enables you to test the impact of applying changes on a production
database. These changes could be database upgrades, switching to RAC, application
upgrades, operating system upgrades or storage system changes.

The SQL Performance Analyzer


The SQL Performance Analyzer (SPA) aims at measuring the impact of applying any
change on the database on the performance of the SQL statements execution. If it
finds out performance degradation in one or more SQL statements, it provides you
recommendations on how to improve their performance.

This is very useful for a DBA to analyze how a change on the database (including
database upgrade) may affect the execution efficiency of SQL statements. Using this
tool is explained here because you may consider using it to study the effect of
upgrading an Oracle database 10g release 2 to 11g.

Note:
If you plan to use SPA on a test database, it is highly recommended to make the
test database resemble the production database as closely as possible. You can use
the RMAN duplicate command for this purpose.

Online Patching in Oracle Database Control


Patching through Database Control is enhanced in Oracle 11g. With Oracle 11g online
patching (or called hot patching),you can apply or roll back a database patch while
the instance is running. Also it can detect conflicts between two online patches.On
the other hand, online patching consumes more memory than the conventional method.

In UNIX systems, you use the script $ORACLE_HOME/OPatch/opatch to invoke the online
patching.

Automatic Diagnostic Repository (ADR)


The Automatic Diagnostic Repository (ADR) is a file system repository to store
diagnostic data source such as alter log, trace files, user and background dump
files, and also new types of troubleshooting files such as Health Monitor reports,
Incident packages, SQL test cases and Data repair records.

In Oracle 11g, there is a new framework (named as fault diagnosability


infrastructure) consisting of many tools for diagnosing and repairing the errors in
the database. All those tools refer to the ADR in their operation.

ADR is developed to provide the following advantages:


1.Diagnosis data, because it is stored in file system, is available even when the
database is down.
2.It is easier to provide Oracle support with diagnosis data when a problem occurs
in the database.
3.ADR has diagnosis data not only for the database instance. It has troubleshooting
data for other Oracle components such as ASM and CRS.

Note:
For each database instance two alert log files are generated: one as text file and
one with xml
format. Contents of the xml-formatted file can be examined using adrci tool.

Also the xml-formatted alert log is saved in the ADR and specifically in the
directory
$ORACLE_BASE/diag/rdbms/$INSTANCE_NAME/$ORACLE_SID/alert

Data Recovery Advisor


Data Recovery Advisor is an Oracle Database 11g tool that automatically diagnoses
data failures, determines and presents appropriate repair options,and executes
repairs at the user's request. Data Recovery Advisor can diagnose failures such as
the following:

1. Inaccessible components like datafiles and control files.


2. Physical corruptions such as block checksum failures and invalid block header
3. Field values
4. Inconsistent datafiles (online and offline)
5. I/O failures

The advisor however doe not recover from failures on standby databases or RAC
environment. This advisor can be used through RMAN or the Enterprise Manager.

Automatic Memory Management


In Oracle 11g, a new parameter named as MEMORY_TARGET is added to automate memory
allocation for both the SGA and PGA. When this parameter is set, the SGA and the
PGA memory sizes are automatically determined by the instance based on the database
workload.
This parameter is dynamic and can be alter using the ALTER SYSTEM command as shown
below:
ALTER SYSTEM SET MEMORY_TARGET = 1024M ;

However, if the database is not configured to use this parameter and you want to
use it, you must restart the
database after setting the parameter.

Invisible Indexes
Invisible index is an index that is not considered by the optimizer when creating
the execution plans. This can be used to test the effect of adding an index to a
table on a query (using index hint) without actually being used by the other
queries.

When using invisible indexes, consider the following:


- If you rebuild an invisible index, the resulting operation will make the index
visible.
- If you want the optimizer to consider the invisible indexes in its operation, you
can set the new initialization
parameter OPTIMIZER_USE_INVISIBLE_INDEXES to TRUE (the default is FALSE). You can
set the parameter in the system and session levels.

Read-Only Tables
In Oracle 11g, you can set a table to be read only,i.e. users can only query from
the table but no DML
statement is allowed on the table.

Shrinking Temporary Tablespaces and Tempfiles


In Oracle 11g, you can shrink temporary tablespaces and tempfiles.

Server Result Cache


In Oracle 11g, there is a new SGA component called result cache, which is used
cache SQL query and PL/SQL function results. The database serves the results for
the executed SQL queries and PL/SQL functions from the cache instead of re-
executing the actual query. Of course,the target is to obtain high response time.
The cached results stored become invalid when data in the dependent database
objects is modified.

As clear from its concept, result cache is mostly useful in for frequently executed
queries with rare changes on the retrieved data.

SQL Tuning Automation


The SQL Tuning Advisor is run by default every night during the automated
maintenance window. Basically, the advisor catches the SQL statements from AWR that
are candidate for tuning (they are called buckets) during four different time
periods.It then automatically creates SQL profile for any poor SQL statement, if
that helps. Tuned plans are automatically added to the SQL plan baselines by the
automatic SQL tuning task.

The advisor also may recommend actions like creating new indexes, refreshing
statistics or re-writing the statement. These actions, however, are not
automatically implemented by the advisor.

On Oracle 11g Release 2 (11.2.0.2), a new package named as DBMS_AUTO_SQLTUNE should


be used instead of the DBMS_SQLTUNE package. The new package provides more
restrictive access to the Automatic SQL Tuning feature.

To use the DBMS_AUTO_SQLTUNE package, you must have the DBA role, or have EXECUTE
privileges granted by an administrator. The only exception is the
EXECUTE_AUTO_TUNING_TASK procedure, which can only be run by SYS.

SQL Plan Management


SQL plan management (SPM), is a new feature in Oracle 11g that prevents performance
regressions resulting from sudden changes to the execution plan of a SQL statement
by providing components for capturing, selecting, and evolving SQL plan
information.Changes to the execution plan may be resulted from database
upgrades,system and data changes, application upgrade or bug fixes.

When SPM is enabled, the system maintains a plan history that contains all plans
generated by the optimizer and store them in a component called plan baseline.
Among the plan history in the plan baseline, plans that are verified not to cause
performance regression are marked as acceptable. The plan baseline is used by the
optimizer to decide on the best plan to use when compiling a SQL statement.

Repository stored in data dictionary of plan baselines and statement log maintained
by the optimizer is called
SQL management base(SMB).

SQL Plan management is implemented by undertaking the following phases:


1.Capturing SQL Plan Baselines: this can be done automatically or manually.
2.Selecting SQL Plan Baselines by the optimizer
3.Evolving SQL Plan Baselines

Database ADDM
Oracle Database 11g has added a new layer of analysis to ADDM called Database ADDM.
The mode ADDM was working in Oracle 10g is now called instance ADDM. The main
target of database ADDM is to analyze and report on RAC environment. To enable
Database ADDM, you set the parameter INSTANCES in DBMS_ADVISOR.

New SYSASM Privilege for ASM Administration


SYSASM is a new privilege introduced in Oracle 11g. Users who are granted this
privilege can perform ASM administration tasks. The idea behind this privilege is
to separate database management and the storage management responsibilities.

Backup and Recovery New Features:-

Enhanced Block Media Recovery


In Oracle Database 11g, there is a new command to perform block media recovery,
named the recover ...
blockcommand replacing the old blockrecover command. The new command is more
efficient since because it searches the flashback logs for older uncorrupted
versions of the corrupt blocks. This requires the database to work in archivelog
mode and has the Database Flashback enabled.

While the block media recovery is going on, any attempt by users to access data in
the corrupt blocks will result in an error message, telling the user that the data
block is corrupt.

VALIDATE Command
You can use the new command VALIDATE to manually check for physical and logical
corruptions in datafiles,backup sets, and even individual data blocks. The comma nd
by default checks for physical corruption. You can optionally specify CHECK LOGICAL
. Corrupted blocks are reported in V$DATABASE_BLOCK_CORRUPTION.

Configuring an Archived Redo Log Deletion Policy


You can use RMAN to create a persistent configuration that controls when archived
redo logs are eligible for
deletion from disk or tape. This deletion policy applies to all archiving
destinations, including the flash recovery area. When the policy is configured, it
applies on the automatic deletion of the logs in the flash recovery area and the
manual deletion by the BACKUP ... DELETE and DELETE ... ARCHIVELOG commands.

To enable an archived redo log deletion policy, run the CONFIGURE ARCHIVELOG
DELETION POLICY BACKED UP n TIMES command with the desired options.

Active Database Duplication


In Oracle Database 11g, you can directly duplicate a data base over the network
without having to back up and provide the source database files. This direct
database duplication is called active database duplication. It can be done either
with Database Control or through RMAN. Instance that runs the duplicated database
is called auxiliary instance.

Virtual Private Catalogs


In Oracle Database 11g, you can restrict access to the recovery catalog by granting
access to only a subset of the metadata in the recovery catalog. The subset that a
user has read/write access to is termed as virtual private catalog, or just virtual
catalog. The central or source recovery catalog is now called the base recovery
catalog.

ASM Restricted Mode

In Oracle 11g, you can start the ASM instance in restricted mode. When in
restricted mode, databases will not be permitted to access the ASM instance. Also,
individual diskgroup can be set in restricted mode.

Checking Diskgroup

Starting from Oracle Database 11g, you can validate the internal consistency of ASM
diskgroup metadata using the ALTER DISKGROUP ... CHECK command. Summary of errors
is logged in the ASM alert log file.

The FORCE option with Drop Diskgroup Command

If a disk is destroyed beyond repair, you want to drop it. But because the disk is
practically damaged, you cannot mount it and thus you cannot issue the DROP
DISKGROUP command against it. In such a condition, Oracle 11g provides the FORCE
INCLUDING CONTENTS option to drop the diskgroup even if it is not mounted.

SQL>DROP DISKGROUP <DISKGROUP_NAME> FORCE INCLUDING CONTENTS;

ASM Rolling Upgrades


ASM rolling upgrades enable you to independently upgrade or patch clustered ASM
nodes without affecting
database availability, thus providing greater uptime. Rolling upgrade means that
all of the features of a clustered ASM environment function when one or more of the
nodes in the cluster use different software versions.

Active Data Guard is a new option for Oracle Database 11g Enterprise Edition
An Active Data Guard standby database is an exact copy of the primary that is open
read-only while it continuously applies changes transmitted by the primary
database. An active standby can offload ad-hoc queries, reporting, and fast
incremental backups from the primary database, improving performance and
scalability while preventing data loss or downtime due to data corruptions,
database and site failures, human error, or natural disaster. Oracle Active Data
Guard enables read-only access to a physical standby database.
With Oracle Active Data Guard, a physical standby database can be used for real-
time reporting, with minimal latency between reporting and production data.
Compared with traditional replication methods, Active Data Guard is very simple to
use, transparently supports all datatypes, and offers very high performance. Oracle
Active Data Guard also allows backup operations to be off-loaded to the standby
database, and be done very fast using intelligent incremental backups.

Active Dataguard Features:


1. Physical Standby with Real-time Query
2. Fast Incremental Backup on Physical Standby.
3. Automatic Block Repair.

What is ASM in Oracle?


Oracle ASM is Oracle�s volume manager specially designed for Oracle database data.
It is available since Oracle database version 10g and many improvements have been
made in versions 11g release 1 and 2.

ASM offers support for Oracle RAC clusters without the requirement to install 3rd
party software, such as cluster aware volume managers or filesystems.

ASM is shipped as part of the database server software (Enterprise and Standard
editions) and does not cost extra money to run.

ASM simplifies administration of Oracle related files by allowing the administrator


to reference disk groups
rather than individual disks and files, which are managed by ASM.

The ASM functionality is an extention of the Oracle Managed Files (OMF)


functionality that also includes striping and mirroring to provide balanced and
secure storage. The new ASM functionality can be used in combination with existing
raw and cooked file systems, along with OMF and manually managed files.

Advantages of ASM in Oracle?


Provides automatic load balancing over all the available disks, thus reducing hot
spots in the file system
Prevents fragmentation of disks, so you don't need to manually relocate data to
tune I/O performance
Adding disks is straight forward - ASM automatically performs online disk
reorganization when you add or remove storage
Uses redundancy features available in intelligent storage arrays
The storage system can store all types of database files
Using disk group makes configuration easier, as files are placed into disk groups
ASM provides stripping and mirroring (fine and coarse gain - see below)
ASM and non-ASM oracle files can coexist
Striping�ASM spreads data evenly across all disks in a disk group to optimize
performance and utilization. This even distribution of database files eliminates
the need for regular monitoring and I/O performance tuning.

For example, if there are six disks in a disk group, pieces of each ASM file are
written to all six disks. These pieces come in 1 MB chunks known as extents. When a
database file is created, it is striped (divided into extents and distributed)
across the six disks, and allocated disk space on all six disks grows evenly. When
reading the file, file extents are read from all six disks in parallel, greatly
increasing performance.

Mirroring�ASM can increase availability by optionally mirroring any file. ASM


mirrors at the file level, unlike operating system mirroring, which mirrors at the
disk level. Mirroring means keeping redundant copies, or mirrored copies, of each
extent of the file, to help avoid data loss caused by disk failures. The mirrored
copy of each file extent is always kept on a different disk from the original copy.
If a disk fails, ASM can continue to access affected files by accessing mirrored
copies on the surviving disks in the disk group.

ASM supports 2-way mirroring, where each file extent gets one mirrored copy, and 3-
way mirroring, where each file extent gets two mirrored copies.

Online storage reconfiguration and dynamic rebalancing�ASM permits you to add or


remove disks from your disk storage system while the database is operating. When
you add a disk, ASM automatically redistributes the data so that it is evenly
spread across all disks in the disk group, including the new disk. This
redistribution is known as rebalancing. It is done in the background and with
minimal impact to database performance. When you request to remove a disk, ASM
first rebalances by evenly relocating all file extents from the disk being removed
to the other disks in the disk group.

Managed file creation and deletion�ASM further reduces administration tasks by


enabling files stored in ASM disk groups to be Oracle-managed files. ASM
automatically assigns filenames when files are created, and automatically deletes
files when they are no longer needed.

What is ASM instance in Oracle?


The ASM functionality is controlled by an ASM instance. This is not a full database
instance, just the memory structures and as such is very small and lightweight.

Characteristics of Oracle ASM instance


--------------------------------------
1. do not have controlfile and datafiles, do not have online redo logs

2. do have init.ora and a passwordfile


3. for connecting remotely, create passwordfile and set following in init.ora
remote_login_passwordfile=exclusive
create a password file:
$ORACLE_HOME/bin/orapwd file=orapw+ASM1 password=yourpw entries=10
4. ASM instance can not be in open status as there are not datafiles. Can be in
mount (although
there is no controlfile) and nomount status. When in mount status, database can use
the
diskgroup. The mount status actually means mount disk groups.

What are ASM Background Processes in Oracle?Both an Oracle ASM instance and an
Oracle Database instance are built on the same technology. Like a database
instance, an Oracle ASM instance has memory structures (System Global Area) and
background processes. Besides, Oracle ASM has a minimal performance impact on a
server. Rather than mounting a database, Oracle ASM instances mount disk groups to
make Oracle ASM files available to database instances.

There are at least two new background processes added for an ASM instance:

ASM Instance Background Processes:


---------------------------------
ARBx (ASM) Rebalance working processARBn performs the actual rebalance data extent
movements in an Automatic Storage Management instance. There can be many of these
processes running at a time, named ARB0, ARB1, and so on.These processes are
managed by the RBAL process. The number of ARBx processes invoked is directly
influenced by the asm_power_limit parameter.

RBAL (Re-balancer) RBAL runs in both database and ASM instances. In the database
instance, it does a global open of ASM disks. In an ASM instance, it also
coordinates rebalance activity for disk groups.RBAL, which coordinates rebalance
activities
for disk resources controlled by ASM.

Database Instance ASM Background Processes:


-----------------------------------------------------
In the database instances, there are three background process to support ASM,
namely:

ASMB, this process contact CSS using the group name and acquires the associated ASM
connect string. The connect string is subsequently used to connect to the ASM
instance.

RBAL, which performs global opens on all disks in the disk group.A global open
means that more than one database instance can be accessing the ASM disks at a
time.

O00x, a group slave processes, with a numeric sequence starting at 000.

What are the components of components of ASM are disk groups?


The main components of ASM are disk groups, each of which comprise of several
physical disks that are controlled as a single unit. The physical disks are known
as ASM disks, while the files that reside on the disks are know as ASM files. The
locations and names for the files are controlled by ASM, but user-friendly aliases
and directory structures can be defined for ease of reference.

Failure groups are defined within a disk group to support the required level of
redundancy. For two-way mirroring you would expect a disk group to contain two
failure groups so individual files are written to two locations.

What are ASM instance initialization parameters?


INSTANCE_TYPE - Set to ASM or RDBMS depending on the instance type. The default is
RDBMS.

DB_UNIQUE_NAME - Specifies a globally unique name for the database. This defaults
to +ASM but must be altered if you intend to run multiple ASM instances.

ASM_POWER_LIMIT -The maximum power for a rebalancing operation on an ASM instance.


The valid values range from 1 to 11, with 1 being the default. The higher the limit
the more resources are allocated resulting in faster rebalancing operations. This
value is also used as the default when the POWER clause is omitted from a rebalance
operation.

ASM_DISKGROUPS - The list of disk groups that should be mounted by an ASM instance
during instance startup, or by the ALTER DISKGROUP ALL MOUNT statement. ASM
configuration changes are automatically reflected in this parameter.

ASM_DISKSTRING - Specifies a value that can be used to limit the disks considered
for discovery. Altering the default value may improve the speed of disk group mount
time and the speed of adding a disk to a disk group. Changing the parameter to a
value which prevents the discovery of already mounted disks results in an error.
The default value is NULL allowing all suitable disks to be considered.

Why should we use separate ASM home?


ASM should be installed separately from the database software in its own
ORACLE_HOME directory. This will allow you the flexibility to patch and upgrade ASM
and the database software independently.
How many ASM instances should one have?
Several databases can share a single ASM instance. So, although one can create
multiple ASM instances on a single system, normal configurations should have one
and only one ASM instance per system.

For clustered systems, create one ASM instance per node (called +ASM1, +ASM2, etc).

How many diskgroups should one have?


Generally speaking one should have only one disk group for all database files -
and, optionally a second for recovery files (see FRA).

Data with different storage characteristics should be stored in different disk


groups. Each disk group can have different redundancy (mirroring) settings (high,
normal and external), different fail-groups, etc. However, it is generally not
necessary to create many disk groups with the same storage characteristics (i.e.
+DATA1, +DATA2, etc. all on the same type of disks).

To get started, create 2 disk groups - one for data and one for recovery files.
Here is an example:

CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/d1', '/dev/d2',


'/dev/d3', ....;
CREATE DISKGROUP recover EXTERNAL REDUNDANCY DISK '/dev/d10', '/dev/d11',
'/dev/d12', ....;

Here is an example how you can enable automatic file management with such a setup:

ALTER SYSTEM SET db_create_file_dest = '+DATA' SCOPE=SPFILE;


ALTER SYSTEM SET db_recovery_file_dest = '+RECOVER' SCOPE=SPFILE;

You may also decide to introduce additional disk groups - for example, if you
decide to put historic data on low cost disks, or if you want ASM to mirror
critical data across 2 storage cabinets.

What is ASM Rebalancing?


The rebalancing speed is controlled by the ASM_POWER_LIMIT initialization
parameter. Setting it to 0 will disable disk rebalancing.

ALTER DISKGROUP data REBALANCE POWER 11;

What happens when an Oracle ASM diskgroup is created?


When an ASM diskgroup is created, a hierarchialfilesystem structure is created.

How does this filesystem structure appear?


Oracle ASM diskgroup'sfilesystem structure is similar to UNIX filesystem hierarchy
or Windows filesystem hierarchy.

Where are the Oracle ASM files stored?


Oracle ASM files are stored within the Oracle ASM diskgroup. If we dig into
internals, oracle ASM files are stored within the Oracle ASM filesystem structures.

How are the Oracle ASM files stored within the Oracle ASM filesystem structure?
Oralce ASM files are stored within the Oracle ASM filesystem structures as objects
that RDBMS instances/Oracle database instance access. RDBMS/Oracle instance treats
the Oracle ASM files as standard filesystem files.

What are the Oracle ASM files that are stored within the Oracle ASM file hierarchy?
Files stored in Oracle ASM diskgroup/Oracl ASM filestructures include:
1) Datafile
2) Controlfiles
3) Server Parameter Files(SPFILE)
4) Redo Log files

What happens when you create a file/database file in ASM?What commands do you use
to create database files?
Some common commands used for creating database files are :
1) Create tabespace
2) Add Datafile
3) Add Logfile
For example,
SQL> CREATE TABLESPACE TS1 DATAFILE '+DATA1' SIZE 10GB;
Above command creates a datafile in DATA1 diskgroup

How can you access a databasefile in ASM diskgroup under RDBMS?


Once the ASM file is created in ASM diskgroup, a filename is generated. This file
is now visible to the user via the standard RDBMS view V$DATAFILE.

What will be the syntax of ASM filenames?


ASM filename syntax is as follows:
+diskgroup_name/database_name/database_file_type/tag_name.file_number.incarnation
where,
+diskgroup_name - Name of the diskgroup that contains this file
database_name - Name of the database that contains this file
datafile - Can be one among 20 different ASM file types
tag_name - corresponds to tablespace name for datafiles, groupnumber for redo log
files
file_number - file_number in ASM instance is used to correlate filenames in
database instance
incarnation_number - It is derived from the timestamp. IT is used to provide
uniqueness

What is an incarnation number?


An incarnation number is a part of ASM filename syntax. It is derived from the
timestamp. Once the file is created, its incarnation number doesnot change.

What is the use of an incarnation number in Oracle ASM filename?


Incarnation number distinguishes between a new file that has been created using the
same file number and another file that has been deleted

ASM's SPFile will be residing inside ASM itself. This could be found out in number
of ways, looking at the alert log of ASM when ASM starts
Machine: x86_64
Using parameter settings in server-side spfile
+DATA/asm/asmparameterfile/registry.253.766260991
System parameters with non-default values:
large_pool_size = 12M
instance_type = "asm"
remote_login_passwordfile= "EXCLUSIVE"
asm_diskgroups = "FLASH"
asm_diskgroups = "DATA"
asm_power_limit = 1
diagnostic_dest = "/opt/app/oracle"
Or using the asmcmd's spget command which shows the spfile location registered with
GnP profile
ASMCMD> spget
+DATA/asm/asmparameterfile/registry.253.766260991
When you moved oracle binary files from one ORACLE_HOME server to another server
then which oracle utility will be used to make this new ORACLE_HOME usable?
Relink all.

In which months oracle release CPU patches?


JAN, APR, JUL, OCT

When we applying single Patch, can you use opatch utility?


Yes, you can use Opatch incase of single patch. The only type of patch that cannot
be used with OPatch is a patchset.

Is it possible to apply OPATCH without downtime?


As you know for apply patch your database and listener must be down. When you apply
OPTACH it will update your current ORACLE_HOME. Thus coming to your question to the
point in fact it is not possible without or zero downtime in case of single
instance but in RAC you can Apply Opatch without downtime as there will be more
separate ORACLE_HOME and more separate instances (running once instance on each
ORACLE_HOME).

You have collection of patch (nearly 100 patches) or patchset. How can you apply
only one patch from it?
With Napply itself (by providing patch location and specific patch id) you can
apply only one patch from a collection of extracted patch. For more information
check the opatch util NApply �help. It will give you clear picture.
For Example:
opatch util napply <patch_location> -id 9 -skip_subset -skip_duplicate
This will apply only the patch id 9 from the patch location and will skip duplicate
and subset of patch installed in your ORACLE_HOME.

If both CPU and PSU are available for given version which one, you will prefer to
apply?
From the above discussion it is clear once you apply the PSU then the recommended
way is to apply the next PSU only. In fact, no need to apply CPU on the top of PSU
as PSU contain CPU (If you apply CPU over PSU will considered you are trying to
rollback the PSU and will require more effort in fact). So if you have not decided
or applied any of the patches then, I will suggest you to go to use PSU patches.
For more details refer: Oracle Products [ID 1430923.1], ID 1446582.1

PSU is superset of CPU then why someone choose to apply a CPU rather than a PSU?
CPUs are smaller and more focused than PSU and mostly deal with security issues. It
seems to be theoretically more consecutive approach and can cause less trouble than
PSU as it has less code changing in it. Thus any one who is concerned only with
security fixes and not functionality fixes, CPU may be good approach.

How to Download Patches, Patchset or Opatch from metalink?

If you are using latest support.oracle.com then after login to metalink Dashboard
- Click on "Patches & Updates" tab
- On the left sidebar click on "Latest Patchsets" under "Oracle Server/Tools".
- A new window will appear.
- Just mouseover on your product in the "Latest Oracle Server/Tools Patchsets"
page.
- Corresponding oracle platform version will appear. Then simply choose the
patchset version and click on that.
- You will go the download page. From the download page you can also change your
platform and patchset version.
What is the recent Patch applied?

What is OPatch?
How to Apply Opatch in Oracle?

1. You MUST read the Readme.txt file included in opatch file, look for any prereq.
steps/ post installation steps or and DB related changes. Also, make sure that you
have the correct opatch version required by this patch.
2.Make sure you have a good backup of database.
3. Make a note of all Invalid objects in the database prior to the patch.
4. Shutdown All the Oracle Processes running from that Oracle Home , including the
Listener and Database instance, Management agent etc.
5. You MUST Backup your oracle Home and Inventory
tar -cvf $ORACLE_HOME $ORACLE_HOME/oraInventory | gzip >
Backup_Software_Version.tar.gz
6. Unzip the patch in $ORACLE_HOME/patches
7. cd to the patch direcory and do opatch -apply to apply the patch.
8. Read the output/log file to make sure there were no errors.

Patching Oracle Software with OPatch ?

opatch napply <patch_location> -skip_subset -skip_duplicate


OPatch skips duplicate patches and subset patches (patches under <patch_location>
that are subsets of patches installed in the Oracle home).

What is Opactch in Oracle?

OPATCH Utility (Oracle RDBMS Patching)

1. Download the required Patch from Metalink based on OS Bit Version and DB
Version.
2. Need to down the database before applying patch.
3. Unzip and Apply the Patch using �opatch apply� command.On successfully applied
of patch you will see successful message �OPatch succeeded.�, Crosscheck your patch
is applied by using �opatch lsinventory� command .
4. Each patch has a unique ID, the command to rollback a patch is �opatch rollback
-id <patch no.>� command.On successfully applied of patch you will see successful
message �OPatch succeeded.�, Crosscheck your patch is applied by using �opatch
lsinventory� command .
5. Patch file format will be like, �p<patch no.>_<db version>_<os>.zip�
6. We can check the opatch version using �opatch -version� command.
7. Generally, takes 2 minutes to apply a patch.
8. To get latest Opatch version download �patch 6880880 - latest opatch tool�, it
contains OPatch directory.
9. Contents of downloaded patches will be like �etc,files directories and a README
file�
10. Log file for Opatch utility can be found at $ORACLE_HOME/cfgtoollogs/opatch
11. OPatch also maintains an index of the commands executed with OPatch and the log
files associated with it in the history.txt file located in the
<ORACLE_HOME>/cfgtoollogs/opatch directory.
12. Starting with the 11.2.0.2 patch set, Oracle Database patch sets are full
installations of the Oracle Database software. This means that you do not need to
install Oracle Database 11g Release 2 (11.2.0.1) before installing Oracle Database
11g Release 2 (11.2.0.2).
13. Direct upgrade to Oracle 10g is only supported if your database is running one
of the following releases: 8.0.6, 8.1.7, 9.0.1, or 9.2.0. If not, you will have to
upgrade the database to one of these releases or use a different upgrade option
(like export/ import).
14.Direct upgrades to 11g are possible from existing databases with versions
9.2.0.4+, 10.1.0.2+ or 10.2.0.1+. Upgrades from other versions are supported only
via intermediate upgrades to a supported upgrade version.
Oracle version 10.2.0.4.0 what does each number refers to?
Oracle version number refers:
10 � Major database release number
2 � Database Maintenance release number
0 � Application server release number
4 � Component Specific release number
0 � Platform specific release number

Cloning
=======
What is Cloning?

How to do take RMAN Cloning? Explain Steps?

Upgrade
=======

What is rolling upgrade?It is a new ASM feature from Database 11g.ASM instances in
Oracle database 11g release(from 11.1) can be upgraded or patched using rolling
upgrade feature. This enables us to patch or upgrade ASM nodes in a clustered
environment without affecting database availability.During a rolling upgrade we can
maintain a functional cluster while one or more of the nodes in the cluster are
running in different software versions.Rolling upgrade can be used only for Oracle
database 11g releases(from 11.1).

Steps to Upgrade in Oracle ?

Manual upgrade which involves the following steps:


1.Backup the database.
2.In UNIX/Linux environments, set the $ORACLE_HOME and $PATH variables to point to
the new 11g Oracle home.
3.Analyze the existing instance using the "$ORACLE_HOME/rdbms/admin/utlu111i.sql"
script.
4.Start the original database using the STARTUP UPGRADE command and proceed with
the upgrade by running the "$ORACLE_HOME/rdbms/admin/catupgrd.sql" script.
5.Recompile invalid objects.
6.Restart the database.
7.Run the "$ORACLE_HOME/rdbms/admin/utlu111s.sql" script and check the result of
the upgrade.
8.Troubleshoot any issues or abort the upgrade.

What happens when you give "STARTUP UPGRADE"?

$sqlplus "/as sysdba"


SQL> STARTUP UPGRADE

Note:
----
The UPGRADE keyword enables you to open a database based on an earlier Oracle
Database release. It also restricts logons to AS SYSDBAsessions, disables system
triggers, and performs additional operations that prepare the environment for the
upgrade.

You might be required to use the PFILE option to specify the location of your
initialization parameter file.
Once the database is started in upgrade mode, only queries on fixed views execute
without errors until after the catupgrd.sql script is run. Before running
catupgrd.sql, queries on any other view or the use of PL/SQL returns an error.

What is the difference between startup Upgrade and Migrate ?

startup migrate:
---------------
Used to upgrade a database till 9i.

Startup Upgrade
---------------
From 10G we are using startup upgrade to upgrade database.

What happens internally when you use startup upgrade/migrate?

It will adjust few database (init) parameters (irrespective of what you have
defined) automatically to certain values in order to run upgrade scripts smoothely.
in other way..it will issue few alter statements to set certain parameters which
are required to complete the upgrade scripts without any issues.

Common issues faced in Upgrade?

Error is related to timezone file


Started database in upgrade mode and fired catupgrd.sql :

SQL> startup upgrade


ORACLE instance started.
Total System Global Area 6413680640 bytes
Fixed Size 2160112 bytes
Variable Size 1946159632 bytes
Database Buffers 4429185024 bytes
Redo Buffers 36175872 bytes
Database mounted.
Database opened.
SQL> @catupgrd.sql
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC> The first time this script is run, there should be no error messages
DOC> generated; all normal upgrade error messages are suppressed.
DOC>
DOC> If this script is being re-run after correcting some problem, then
DOC> expect the following error which is not automatically suppressed:
DOC>
DOC> ORA-00001: unique constraint () violated
DOC>#
FROM registry$database
*
ERROR at line 2:
ORA-00942: table or view does not exist
This error is related to timezone file which must be version 4 for Oracle version
11g.If timezone is not version 4 than patch needs to be applied.
Query to check timezone file is:
SQL> select * from v$timezone_file;
FILENAME VERSION
���� ���-
timezlrg.dat 4
SQL> select * from v$timezone_file;
FILENAME VERSION
���� ���-
timezlrg.dat 4
So I had correct version.I remember applying patch before upgrade.I got lucky
because patch existed for version 10.2.0.3.
If there is no patch for your Oracle versions than patch can be download for
similar version and applied manually.
Instructions are below:
1. Download the identified patch.
2. Unzip the patch, and locate the 2 files timezone.dat and timezlrg.dat in the
�files/oracore/zoneinfo� directory of the uncompressed patch (or from the
relevant .jar file of a patchset). If there is also a readme.txt in this location
then make a note of this as well.
3. Backup your existing files in $ORACLE_HOME/oracore/zoneinfo � THIS CAN BE VITAL,
DO NOT SKIP.
Note:
Before going on with step 4, make sure the current files are not in use.
On Windows the files will simply refuse to be removed when the are in use.
On Unix replacing the files whilst they are in use can cause the files to become
corrupt. Use the fuser command before replacing the files to make sure they are not
in use.
4. Copy the 2 .dat files and possibly the readme.txt file that were found in step 2
into the $ORACLE_HOME/oracore/zoneinfo directory.
5. Restart the database (in case of installation on a database), or restart the
client applications (in case of client install). Note that the database did not
need to be down before the time zone files were applied, but it does need to be
restarted afterwards.

How does OCSSD starts first if voting disk & OCR resides in ASM Diskgroups?
You might wonder how CSSD, which is required to start the clustered ASM instance,
can be started if voting disks are stored in ASM?
This sounds like a chicken-and-egg problem:
without access to the voting disks there is no CSS, hence the node cannot join the
cluster.
But without being part of the cluster, CSSD cannot start the ASM instance.
To solve this problem the ASM disk headers have new metadata in 11.2:
you can use kfed to read the header of an ASM disk containing a voting disk.
The kfdhdb.vfstart and kfdhdb.vfend fields tell CSS where to find the voting file.
This does not require the ASM instance to be up.
Once the voting disks are located, CSS can access them and joins the cluster.

What is gsdctl in RAC? list gsdctl commands in Oracle RAC?


GSDCTL stands for Global Service Daemon Control, we can use gsdctl commands to
start, stop, and obtain the status of the GSD service on any platform.

The options for gsdctl are:-


$ gsdctl start -- To start the GSD service
$ gsdctl stop -- To stop the GSD service
$ gsdctl stat -- To obtain the status of the GSD service

Log file location for gsdctl:


$ ORACLE_HOME/srvm/log/gsdaemon_node_name.log

What is RAC?
RAC stands for Real Application cluster.
It is a clustering solution from Oracle Corporation that ensures high availability
of databases by providing instance failover, media failover features.
Oracle RAC is a cluster database with a shared cache architecture that overcomes
the limitations of traditional shared-nothing and shared-disk approaches to provide
a highly scalable and available database solution for all the business
applications.
Oracle RAC provides the foundation for enterprise grid computing.

What is Oracle RAC One Node?


Oracle RAC one Node is a single instance running on one node of the cluster while
the 2nd node is in cold standby mode. If the instance fails for some reason then
RAC one node detect it and restart the instance on the same node or the instance is
relocate to the 2nd node incase there is failure or fault in 1st node. The benefit
of this feature is that it provides a cold failover solution and it automates the
instance relocation without any downtime and does not need a manual intervention.
Oracle introduced this feature with the release of 11gR2 (available with Enterprise
Edition).

What is RAC and how is it different from non RAC databases?


Oracle Real Application clusters allows multiple instances to access a single
database, the instances will be running on multiple nodes.
In Real Application Clusters environments, all nodes concurrently execute
transactions against the same database.
Real Application Clusters coordinates each node's access to the shared data to
provide consistency and integrity.

What are the advantages of RAC (Real Application Clusters)?


Reliability - if one node fails, the database won't fail
Availability - nodes can be added or replaced without having to shutdown the
database
Scalability - more nodes can be added to the cluster as the workload increases

What is Oracle RAC One Node?


Oracle RAC one Node is a single instance running on one node of the cluster while
the 2nd node is in cold standby mode. If the instance fails for some reason then
RAC one node detect it and restart the instance on the same node or the instance is
relocate to the 2nd node incase there is failure or fault in 1st node. The benefit
of this feature is that it provides a cold failover solution and it automates the
instance relocation without any downtime and does not need a manual intervention.
Oracle introduced this feature with the release of 11gR2 (available with Enterprise
Edition).

What is Cache Fusion?


Oracle RAC is composed of two or more instances. When a block of data is read from
datafile by an instance within the cluster and another instance is in need of the
same block, it is easy to get the block image from the instance which has the block
in its SGA rather than reading from the disk. To enable inter instance
communication Oracle RAC makes use of interconnects. The Global Enqueue Service
(GES) monitors and Instance enqueue process manages the cache fusion.

What command would you use to check the availability of the RAC system?
crs_stat -t -v (-t -v are optional)

How do we verify that RAC instances are running?


SQL>select * from V$ACTIVE_INSTANCES;
The query gives the instance number under INST_NUMBER column,host_:instancename
under INST_NAME column.

How can you connect to a specific node in a RAC environment?


tnsnames.ora ensure that you have INSTANCE_NAME specified in it.

Which is the "MASTER NODE" in RAC?


The node with the lowest node number will become master node and dynamic
remastering of the resources will take place.
To find out the master node for particular resource, you can query v$ges_resource
for MASTER_NODE column.
To find out which is the master node, you can see ocssd.log file and search for
"master node number".
when the first master node fails in the cluster the lowest node number will become
master node.

What components in RAC must reside in shared storage?


All datafiles, controlfiles, SPFIles, redo log files must reside on cluster-aware
shred storage.

Give few examples for solutions that support cluster storage?


�ASM (automatic storage management),
�Raw disk devices,
�Network file system (NFS),
�OCFS2 and
�OCFS (Oracle Cluster Fie systems).

What are Oracle Cluster Components?


1.Cluster Interconnect (HAIP)
2.Shared Storage (OCR/Voting Disk)
3.Clusterware software
4.Oracle Kernel Components

What are Oracle RAC Components?


VIP, Node apps etc.

What are Oracle Kernel Components?


Basically Oracle kernel need to switched on with RAC On option when you convert to
RAC, that is the difference as it facilitates few RAC bg process like
LMON,LCK,LMD,LMS etc.

How to turn on RAC?


# link the oracle libraries
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk rac_on
# rebuild oracle
$ cd $ORACLE_HOME/bin
$ relink oracle

Disk architechture in RAC?


SAN (Storage Area Networks) - generally using fibre to connect to the SAN
NAS (Network Attached Storage) - generally using a network to connect to the NAS
using either NFS, ISCSI

What is Oracle Clusterware?


The Clusterware software allows nodes to communicate with each other and forms the
cluster that makes the nodes work as a single logical server.
The software is run by the Cluster Ready Services (CRS) using the Oracle Cluster
Registry (OCR) that records and maintains the cluster and node membership
information and the voting disk which acts as a tiebreaker during communication
failures. Consistent heartbeat information travels across the interconnect to the
voting disk when the cluster is running.

Real Application Clusters


Oracle RAC is a cluster database with a shared cache architecture that overcomes
the limitations of traditional shared-nothing and shared-disk approaches to provide
a highly scalable and available database solution for all your business
applications. Oracle RAC provides the foundation for enterprise grid computing.
Oracle�s Real Application Clusters (RAC) option supports the transparent deployment
of a single database across a cluster of servers, providing fault tolerance from
hardware failures or planned outages. Oracle RAC running on clusters provides
Oracle�s highest level of capability in terms of availability, scalability, and
low-cost computing.

One DB opened by multipe instances so the the db ll be Highly Available if an


instance crashes.
Cluster Software. Oracles Clusterware or products like Veritas Volume Manager are
required to provide the cluster support and allow each node to know which nodes
belong to the cluster and are available and with Oracle Cluterware to know which
nodes have failed and to eject then from the cluster, so that errors on that node
can be cleared.

Oracle Clusterware has two key components Cluster Registry OCR and Voting Disk.

The cluster registry holds all information about nodes, instances, services and ASM
storage if used, it also contains state information ie they are available and up or
similar.

The voting disk is used to determine if a node has failed, i.e. become separated
from the majority. If a node is deemed to no longer belong to the majority then it
is forcibly rebooted and will after the reboot add itself again the the surviving
cluster nodes.

What are the Oracle Clusterware key components?


Oracle Clusterware has two key components Cluster Registry OCR and Voting Disk.

What is Voting Disk and OCR?


Voting Disk
Oracle RAC uses the voting disk to manage cluster membership by way of a health
check and arbitrates cluster ownership among the instances in case of network
failures. The voting disk must reside on shared disk.
A node must be able to access more than half of the voting disks at any time.
For example, if you have 3 voting disks configured, then a node must be able to
access at least two of the voting disks at any time. If a node cannot access the
minimum required number of voting disks it is evicted, or removed, from the
cluster.

Oracle Cluster Registry (OCR)


The cluster registry holds all information about nodes, instances, services and ASM
storage if used, it also contains state information ie they are available and up or
similar.
The OCR must reside on shared disk that is accessible by all of the nodes in your
cluster.

What are the administrative tasks involved with voting disk?


Following administrative tasks are performed with the voting disk :
1) Backing up voting disks
2) Recovering Voting disks
3) Adding voting disks
4) Deleting voting disks
5) Moving voting disks

Can you add voting disk online? Do you need voting disk backup?
Yes, as per documentation, if you have multiple voting disk you can add online,
but if you have only one voting disk , by that cluster will be down as its lost you
just need to start crs in exclusive mode and add the votedisk using
crsctl add votedisk <path>
What is the Oracle Recommendation for backing up voting disk?
Oracle recommends us to use the dd command to backup the voting disk with a minimum
block size of 4KB.

How do we backup voting disks?


1) Oracle recommends that you back up your voting disk after the initial cluster
creation and after we complete any node addition or deletion procedures.
2) First, as root user, stop Oracle Clusterware (with the crsctl stop crs command)
on all nodes. Then, determine the current voting disk by issuing the following
command:
crsctl query votedisk css
3) Then, issue the dd or ocopy command to back up a voting disk, as appropriate.
Give the syntax of backing up voting disks:-
On Linux or UNIX systems:
dd if=voting_disk_name of=backup_file_name
where,
voting_disk_name is the name of the active voting disk
backup_file_name is the name of the file to which we want to back up the voting
disk contents
On Windows systems, use the ocopy command:
copy voting_disk_name backup_file_name

How do we verify an existing current backup of OCR?


We can verify the current backup of OCR using the following command : ocrconfig
-showbackup

You have lost OCR disk, what is your next step?


The cluster stack will be down due to the fact that cssd is unable to maintain the
integrity, this is true in 10g, From 11gR2 onwards, the crsd stack will be down,
the hasd still up and running. You can add the ocr back by restoring the automatic
backup or import the manual backup,

What are the major RAC wait events?


In a RAC environment the buffer cache is global across all instances in the cluster
and hence the processing differs.The most common wait events related to this are gc
cr request and gc buffer busy

GC CR request :the time it takes to retrieve the data from the remote cache
Reason: RAC Traffic Using Slow Connection or Inefficient queries (poorly tuned
queries will increase the amount of data blocks requested by an Oracle session. The
more blocks requested typically means the more often a block will need to be read
from a remote instance via the interconnect.)

GC BUFFER BUSY: It is the time the remote instance locally spends accessing the
requested data block.

What do you do if you see GC CR BLOCK LOST in top 5 Timed Events in AWR Report?
This is most likely due to a fault in interconnect network.
Check netstat -s
if you see "fragments dropped" or "packet reassemblies failed" , Work with your
system administrator find the fault with network.

How do you troubleshoot node reboot?


Please check metalink ...
Note 265769.1 Troubleshooting CRS Reboots
Note.559365.1 Using Diagwait as a diagnostic to get more information for diagnosing
Oracle Clusterware Node evictions.
Srvctl cannot start instance, I get the following error PRKP-1001 CRS-0215, however
sqlplus can start it on both nodes? How do you identify the problem?
Set the environmental variable SRVM_TRACE to true.. And start the instance with
srvctl. Now you will get detailed error stack.

What are Oracle Clusterware processes for 10g on Unix and Linux?
Cluster Synchronization Services (ocssd) � Manages cluster node membership and runs
as the oracle user; failure of this process results in cluster restart.

Cluster Ready Services (crsd) � The crs process manages cluster resources (which
could be a database, an instance, a service, a Listener, a virtual IP (VIP)
address, an application process, and so on) based on the resource's configuration
information that is stored in the OCR. This includes start, stop, monitor and
failover operations. This process runs as the root user

Event manager daemon (evmd) �A background process that publishes events that crs
creates.

Process Monitor Daemon (OPROCD) �This process monitor the cluster and provide I/O
fencing. OPROCD performs its check, stops running, and if the wake up is beyond the
expected time, then OPROCD resets the processor and reboots the node. An OPROCD
failure results in Oracle Clusterware restarting the node. OPROCD uses the
hangcheck timer on Linux platforms.

RACG (racgmain, racgimon) �Extends clusterware to support Oracle-specific


requirements and complex resources. Runs server callout scripts when FAN events
occur.

What are Oracle database background processes specific to RAC?


Oracle RAC is composed of two or more database instances. They are composed of
Memory structures and background processes same as the single instance
database.Oracle RAC instances use two processes GES(Global Enqueue Service),
GCS(Global Cache Service) that enable cache fusion.Oracle RAC instances are
composed of following background processes:
ACMS�Atomic Controlfile to Memory Service (ACMS)
GTX0-j�Global Transaction Process
LMON�Global Enqueue Service Monitor
LMD�Global Enqueue Service Daemon
LMS�Global Cache Service Process
LCK0�Instance Enqueue Process
RMSn�Oracle RAC Management Processes (RMSn)
RSMN�Remote Slave Monitor
To ensure that each Oracle RAC database instance obtains the block that it needs to
satisfy a query or transaction, Oracle RAC instances use two processes, the Global
Cache Service (GCS) and the Global Enqueue Service (GES). The GCS and GES maintain
records of the statuses of each data file and each cached block using a Global
Resource Directory (GRD). The GRD contents are distributed across all of the active
instances.

What is GRD?
GRD stands for Global Resource Directory. The GES and GCS maintains records of the
statuses of each datafile and each cahed block using global resource directory.This
process is referred to as cache fusion and helps in data integrity.

What is ACMS?
ACMS stands for Atomic Controlfile Memory Service.In an Oracle RAC environment ACMS
is an agent that ensures a distributed SGA memory update(ie)SGA updates are
globally committed on success or globally aborted in event of a failure.
What is SCAN listener?
A scan listener is something that additional to node listener which listens the
incoming db connection requests from the client which got through the scan IP, it
got end points configured to node listener where it routes the db connection
requests to particular node listener.

SCAN IP can be disabled if not required. However SCAN IP is mandatory during the
RAC installation. Enabling/disabling SCAN IP is mostly used in oracle apps
environment by the concurrent manager (kind of job scheduler in oracle apps).
Steps to disable the SCAN IP,
i. Do not use SCAN IP at the client end.
ii. Stop scan listener
srvctl stop scan_listener
iii.Stop scan
srvctl stop scan (this will stop the scan vip's)
iv. Disable scan and disable scan listener
srvctl disable scan

What are the different network components are in 10g RAC?


public, private, and vip components
Private interfaces is for intra node communication.
VIP is all about availability of application. When a node fails then the VIP
component fail over to some other node, this is the reason that all applications
should based on vip components means tns entries should have vip entry in the host
list

What is an interconnect network?


An interconnect network is a private network that connects all of the servers in a
cluster. The interconnect network uses a switch/multiple switches that only the
nodes in the cluster can access.

What is the use of cluster interconnect?


Cluster interconnect is used by the Cache fusion for inter instance communication.

How can we configure the cluster interconnect?


� Configure User Datagram Protocol (UDP) on Gigabit Ethernet for cluster
interconnects.
� On UNIX and Linux systems we use UDP and RDS (Reliable data socket) protocols to
be used by Oracle Clusterware.
� Windows clusters use the TCP protocol.

What is the purpose of Private Interconnect?


Clusterware uses the private interconnect for cluster synchronization (network
heartbeat) and daemon communication between the the clustered nodes. This
communication is based on the TCP protocol.
RAC uses the interconnect for cache fusion (UDP) and inter-process communication
(TCP). Cache Fusion is the remote memory mapping of Oracle buffers, shared between
the caches of participating nodes in the cluster.

What is a virtual IP address or VIP?


A virtual IP address or VIP is an alternate IP address that the client connections
use instead of the standard public IP address. To configure VIP address, we need to
reserve a spare IP address for each node, and the IP addresses must use the same
subnet as the public network.

What is the use of VIP?


If a node fails, then the node's VIP address fails over to another node on which
the VIP address can accept TCP connections but it cannot accept Oracle connections.
Why do we have a Virtual IP (VIP) in Oracle RAC?
Without using VIPs or FAN, clients connected to a node that died will often wait
for a TCP timeout period (which can be up to 10 min) before getting an error. As a
result, you don't really have a good HA solution without using VIPs.
When a node fails, the VIP associated with it is automatically failed over to some
other node and new node re-arps the world indicating a new MAC address for the IP.
Subsequent packets sent to the VIP go to the new node, which will send error RST
packets back to the clients. This results in the clients getting errors
immediately.

Give situations under which VIP address failover happens?


VIP addresses failover happens when the node on which the VIP address runs fails;
all interfaces for the VIP address fails, all interfaces for the VIP address are
disconnected from the network.

What is the significance of VIP address failover?


When a VIP address failover happens, Clients that attempt to connect to the VIP
address receive a rapid connection refused error .They don't have to wait for TCP
connection timeout messages.

What is the use of a service in Oracle RAC environment?


Applications should use the services feature to connect to the Oracle database.
Services enable us to define rules and characteristics to control how users and
applications connect to database instances.

What are the characteristics controlled by Oracle services feature?


The characteristics include a unique name, workload balancing, failover options,
and high availability.

What enables the load balancing of applications in RAC?


Oracle Net Services enable the load balancing of application connections across all
of the instances in an Oracle RAC database.

What are the types of connection load-balancing?


Connection Workload management is one of the key aspects when you have RAC
instances as you want to distribute the connections to specific nodes/instance or
those have less load.
There are two types of connection load-balancing:
1.Client Side load balancing (also called as connect time load balancing)
2.Server side load balancing (also called as Listener connection load balancing)

What is the difference between server-side and client-side connection load


balancing?
Client-side balancing happens at client side where load balancing is done using
listener.In case of server-side load balancing listener uses a load-balancing
advisory to redirect connections to the instance providing best service.

Client Side load balancing:- Oracle client side load balancing feature enables
clients to randomize the connection requests among all the available listeners
based on their load.

An tns entry that contains all nodes entries and use load_balance=on (default its
on) will use the connect time load balancing or client side load balancing.

Sample Client Side TNS Entry:-

finance =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myrac2-vip)(PORT = 2042))
(ADDRESS = (PROTOCOL = TCP)(HOST = myrac1-vip)(PORT = 2042))
(ADDRESS = (PROTOCOL = TCP)(HOST = myrac3-vip)(PORT = 2042))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FINANCE) (FAILOVER=ON)
(FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))
)
)

Server side load balancing:- This improves the connection performance by balancing
the number of active connections among multiple instances and dispatchers. In a
single instance environment (shared servers), the listener selects the least
dispatcher to handle the incoming client requests. In a rac environments, PMON is
aware of all instances load and dispatchers , and depending on the load information
PMON redirects the connection to the least loaded node.

In a RAC environment, *.remote_listener parameter which is a tns entry containing


all nodes addresses need to set to enable the load balance advisory updates to
PMON.

Sample Tns entry should be in an instances of RAC cluster,

local_listener=LISTENER_MYRAC1
remote_listener = LISTENERS_MYRACDB

What are the administrative tools used for Oracle RAC environments?
Oracle RAC cluster can be administered as a single image using the below
� OEM (Enterprise Manager),
� SQL*PLUS,
� Server control (SRVCTL),
� Cluster Verification Utility (CLUVFY),
� DBCA,
� NETCA

Name some Oracle Clusterware tools and their uses?


�OIFCFG - allocating and deallocating network interfaces.
�OCRCONFIG - Command-line tool for managing Oracle Cluster Registry.
�OCRDUMP - Identify the interconnect being used.
�CVU - Cluster verification utility to get status of CRS resources.

What is the difference between CRSCTL and SRVCTL?


crsctl manages clusterware-related operations:
Starting and stopping Oracle Clusterware
Enabling and disabling Oracle Clusterware daemons
Registering cluster resources

srvctl manages Oracle resource�related operations:


Starting and stopping database instances and services
Also from 11gR2 manages the cluster resources like network,vip,disks etc

How do we remove ASM from a Oracle RAC environment?


We need to stop and delete the instance in the node first in interactive or silent
mode.After that asm can be removed using srvctl tool as follows:
srvctl stop asm -n node_name
srvctl remove asm -n node_name
We can verify if ASM has been removed by issuing the following command:
srvctl config asm -n node_name
How do we verify that an instance has been removed from OCR after deleting an
instance?
Issue the following srvctl command:
srvctl config database -d database_name
cd CRS_HOME/bin
./crs_stat

What are the modes of deleting instances from ORacle Real Application cluster
Databases?
We can delete instances using silent mode or interactive mode using DBCA(Database
Configuration Assistant).

What are the background process that exists in 11gr2 and functionality?
Process Name Functionality
crsd �The CRS daemon (crsd) manages cluster resources based on configuration
information that is stored in Oracle Cluster Registry (OCR) for each resource. This
includes start, stop, monitor, and failover operations. The crsd process generates
events when the status of a resource changes.
cssd �Cluster Synchronization Service (CSS): Manages the cluster configuration
by controlling which nodes are members of the cluster and by notifying members when
a node joins or leaves the cluster. If you are using certified third-party
clusterware, then CSS processes interfaces with your clusterware to manage node
membership information. CSS has three separate processes: the CSS daemon (ocssd),
the CSS Agent (cssdagent), and the CSS Monitor (cssdmonitor). The cssdagent process
monitors the cluster and provides input/output fencing. This service formerly was
provided by Oracle Process Monitor daemon (oprocd), also known as OraFenceService
on Windows. A cssdagent failure results in Oracle Clusterware restarting the node.
diskmon �Disk Monitor daemon (diskmon): Monitors and performs input/output
fencing for Oracle Exadata Storage Server. As Exadata storage can be added to any
Oracle RAC node at any point in time, the diskmon daemon is always started when
ocssd is started.
evmd �Event Manager (EVM): Is a background process that publishes Oracle
Clusterware events
mdnsd �Multicast domain name service (mDNS): Allows DNS requests. The mDNS
process is a background process on Linux and UNIX, and a service on Windows.
gnsd �Oracle Grid Naming Service (GNS): Is a gateway between the cluster mDNS
and external DNS servers. The GNS process performs name resolution within the
cluster.
ons �Oracle Notification Service (ONS): Is a publish-and-subscribe service for
communicating Fast Application Notification (FAN) events
oraagent �oraagent: Extends clusterware to support Oracle-specific requirements
and complex resources. It runs server callout scripts when FAN events occur. This
process was known as RACG in Oracle Clusterware 11g Release 1 (11.1).
orarootagent �Oracle root agent (orarootagent): Is a specialized oraagent
process that helps CRSD manage resources owned by root, such as the network, and
the Grid virtual IP address
oclskd �Cluster kill daemon (oclskd): Handles instance/node evictions requests
that have been escalated to CSS
gipcd �Grid IPC daemon (gipcd): Is a helper daemon for the communications
infrastructure
ctssd �Cluster time synchronisation daemon(ctssd) to manage the time
syncrhonization between nodes, rather depending on NTP

Under which user or owner the process will start?


Component Name of the Process Owner
Oracle High Availability Service ohasd init, root
Cluster Ready Service (CRS) Cluster Ready Services root
Cluster Synchronization Service (CSS) ocssd,cssd monitor, cssdagent
grid owner
Event Manager (EVM) evmd, evmlogger grid owner
Cluster Time Synchronization Service (CTSS) octssd root
Oracle Notification Service (ONS) ons, eons grid owner
Oracle Agent oragent grid owner
Oracle Root Agent orarootagent root
Grid Naming Service (GNS) gnsd root
Grid Plug and Play (GPnP) gpnpd grid owner
Multicast domain name service (mDNS) mdnsd grid owner

What is the major difference between 10g and 11g RAC?


There is not much difference between 10g and 11gR (1) RAC. But there is a
significant difference in 11gR2.

Prior to 11gR1(10g) RAC, the following were managed by Oracle CRS


Databases
Instances
Applications
Node Monitoring
Event Services
High Availability

From 11gR2(onwards) its completed HA stack managing and providing the following
resources as like the other cluster software like VCS etc.
Databases
Instances
Applications
Cluster Management
Node Management
Event Services
High Availability
Network Management (provides DNS/GNS/MDNSD services on behalf of other
traditional services) and SCAN � Single Access Client Naming method, HAIP
Storage Management (with help of ASM and other new ACFS filesystem)
Time synchronization (rather depending upon traditional NTP)
Removed OS dependent hang checker etc, manages with own additional monitor
process

What is hangcheck timer?


The hangcheck timer checks regularly the health of the system. If the system hangs
or stop the node will be restarted automatically.
There are 2 key parameters for this module:
-> hangcheck-tick: this parameter defines the period of time between checks of
system health. The default value is 60 seconds; Oracle recommends setting it to
30seconds.
-> hangcheck-margin: this defines the maximum hang delay that should be tolerated
before hangcheck-timer resets the RAC node.

State the initialization parameters that must have same value for every instance in
an Oracle RAC database?
Some initialization parameters are critical at the database creation time and must
have same values.Their value must be specified in SPFILE or PFILE for every
instance.The list of parameters that must be identical on every instance are given
below:
ACTIVE_INSTANCE_COUNT
ARCHIVE_LAG_TARGET
COMPATIBLE
CLUSTER_DATABASE
CLUSTER_DATABASE_INSTANCE
CONTROL_FILES
DB_BLOCK_SIZE
DB_DOMAIN
DB_FILES
DB_NAME
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZE
DB_UNIQUE_NAME
INSTANCE_TYPE (RDBMS or ASM)
PARALLEL_MAX_SERVERS
REMOTE_LOGIN_passWORD_FILE
UNDO_MANAGEMENT

-----------------------------------------------------------------------------------
----------------------------

What is RAC? What is the benefit of RAC over single instance database?
In Real Application Clusters environments, all nodes concurrently execute
transactions against the same database. Real Application Clusters coordinates each
node's access to the shared data to provide consistency and integrity.
Benefits:
Improve response time
Improve throughput
High availability
Transparency

Advantages of RAC (Real Application Clusters)

Reliability - if one node fails, the database won't fail


Availability - nodes can be added or replaced without having to shutdown the
database
Scalability - more nodes can be added to the cluster as the workload increases

What is a virtual IP address or VIP?

A virtual IP address or VIP is an alternate IP address that the client connections


use instead of the standard public IP address. To configure VIP address, we need to
reserve a spare IP address for each node, and the IP addresses must use the same
subnet as the public network.

What is the use of VIP?


If a node fails, then the node's VIP address fails over to another node on which
the VIP address can accept TCP connections but it cannot accept Oracle connections.
Give situations under which VIP address failover happens:-
VIP addresses failover happens when the node on which the VIP address runs fails,
all interfaces for the VIP address fails, all interfaces for the VIP address are
disconnected from the network.
Using virtual IP we can save our TCP/IP timeout problem because Oracle notification
service maintains communication between each nodes and listeners.

What is the significance of VIP address failover?


When a VIP address failover happens, Clients that attempt to connect to the VIP
address receive a rapid connection refused error .They don't have to wait for TCP
connection timeout messages.

What is voting disk?


Voting Disk is a file that sits in the shared storage area and must be accessible
by all nodes in the cluster. All nodes in the cluster registers their heart-beat
information in the voting disk, so as to confirm that they are all operational. If
heart-beat information of any node in the voting disk is not available that node
will be evicted from the cluster. The CSS (Cluster Synchronization Service) daemon
in the clusterware maintains the heart beat of all nodes to the voting disk. When
any node is not able to send heartbeat to voting disk, then it will reboot itself,
thus help avoiding the split-brain syndrome.

For high availability, Oracle recommends that you have a minimum of three or odd
number (3 or greater) of votingdisks.

Voting Disk - is file that resides on shared storage and Manages cluster members.
Voting disk reassigns cluster ownership between the nodes in case of failure.

The Voting Disk Files are used by Oracle Clusterware to determine which nodes are
currently members of the cluster. The voting disk files are also used in concert
with other Cluster components such as CRS to maintain the clusters integrity.

Oracle Database 11g Release 2 provides the ability to store the voting disks in ASM
along with the OCR. Oracle Clusterware can access the OCR and the voting disks
present in ASM even if the ASM instance is down. As a result CSS can continue to
maintain the Oracle cluster even if the ASM instance has failed.

How many voting disks are you maintaining ?


By default Oracle will create 3 voting disk files in ASM.

Oracle expects that you will configure at least 3 voting disks for redundancy
purposes. You should always configure an odd number of voting disks >= 3. This is
because loss of more than half your voting disks will cause the entire cluster to
fail.

You should plan on allocating 280MB for each voting disk file. For example, if you
are using ASM and external redundancy then you will need to allocate 280MB of disk
for the voting disk. If you are using ASM and normal redundancy you will need
560MB.

Why we need to keep odd number of voting disks ?


Oracle expects that you will configure at least 3 voting disks for redundancy
purposes. You should always configure an odd number of voting disks >= 3. This is
because loss of more than half your voting disks will cause the entire cluster to
fail.

What are Oracle RAC software components?


Oracle RAC is composed of two or more database instances. They are composed of
Memory structures and background processes same as the single instance
database.Oracle RAC instances use two processes GES(Global Enqueue Service),
GCS(Global Cache Service) that enable cache fusion.Oracle RAC instances are
composed of following background processes:
ACMS�Atomic Controlfile to Memory Service (ACMS)
GTX0-j�Global Transaction Process
LMON�Global Enqueue Service Monitor
LMD�Global Enqueue Service Daemon
LMS�Global Cache Service Process
LCK0�Instance Enqueue Process
RMSn�Oracle RAC Management Processes (RMSn)
RSMN�Remote Slave Monitor

What are Oracle Clusterware processes for 10g ?


Cluster Synchronization Services (ocssd) � Manages cluster node membership and runs
as the oracle user; failure of this process results in cluster restart.
Cluster Ready Services (crsd) � The crs process manages cluster resources (which
could be a database, an instance, a service, a Listener, a virtual IP (VIP)
address, an application process, and so on) based on the resource's configuration
information that is stored in the OCR. This includes start, stop, monitor and
failover operations. This process runs as the root user
Event manager daemon (evmd) �A background process that publishes events that crs
creates.
Process Monitor Daemon (OPROCD) �This process monitor the cluster and provide I/O
fencing. OPROCD performs its check, stops running, and if the wake up is beyond the
expected time, then OPROCD resets the processor and reboots the node. An OPROCD
failure results in Oracle Clusterware restarting the node. OPROCD uses the
hangcheck timer on Linux platforms.
RACG (racgmain, racgimon) �Extends clusterware to support Oracle-specific
requirements and complex resources. Runs server callout scripts when FAN events
occur.

What are Oracle database background processes specific to RAC?


LMS�Global Cache Service Process
LMD�Global Enqueue Service Daemon
LMON�Global Enqueue Service Monitor
LCK0�Instance Enqueue Process
Oracle RAC instances use two processes, the Global Cache Service (GCS) and the
Global Enqueue Service (GES). The GCS and GES maintain records of the statuses of
each data file and each cached block using a Global Resource Directory (GRD). The
GRD contents are distributed across all of the active instances.

What is Cache Fusion?


Transfor of data across instances through private interconnect is called
cachefusion.Oracle RAC is composed of two or more instances. When a block of data
is read from datafile by an instance within the cluster and another instance is in
need of the same block,it is easy to get the block image from the insatnce which
has the block in its SGA rather than reading from the disk. To enable inter
instance communication Oracle RAC makes use of interconnects. The Global Enqueue
Service(GES) monitors and Instance enqueue process manages the cahce fusion

What is SCAN? (11gR2 feature)


Single Client Access Name (SCAN) is s a new Oracle Real Application Clusters (RAC)
11g Release 2 feature that provides a single name for clients to access an Oracle
Database running in a cluster. The benefit is clients using SCAN do not need to
change if you add or remove nodes in the cluster.

SCAN provides a single domain name via (DNS), allowing and-users to address a RAC
cluster as-if it were a single IP address. SCAN works by replacing a hostname or IP
list with virtual IP addresses (VIP).

Single client access name (SCAN) is meant to facilitate single name for all Oracle
clients to connect to the cluster database, irrespective of number of nodes and
node location. Until now, we have to keep adding multiple address records in all
clients tnsnames.ora, when a new node gets added to or deleted from the cluster.

Single Client Access Name (SCAN) eliminates the need to change TNSNAMES entry when
nodes are added to or removed from the Cluster. RAC instances register to SCAN
listeners as remote listeners. Oracle recommends assigning 3 addresses to SCAN,
which will create 3 SCAN listeners, though the cluster has got dozens of nodes..
SCAN is a domain name registered to at least one and up to three IP addresses,
either in DNS (Domain Name Service) or GNS (Grid Naming Service). The SCAN must
resolve to at least one address on the public network. For high availability and
scalability, Oracle recommends configuring the SCAN to resolve to three addresses.
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-release211gr2.html
What are SCAN components in a cluster?
1.SCAN Name
2.SCAN IPs (3)
3.SCAN Listeners (3)
What is FAN?
Fast application Notification as it abbreviates to FAN relates to the events
related to instances,services and nodes.This is a notification mechanism that
Oracle RAc uses to notify other processes about the configuration and service level
information that includes service status changes such as,UP or DOWN
events.Applications can respond to FAN events and take immediate action.

What is TAF?
TAF (Transparent Application Failover) is a configuration that allows session fail-
over between different nodes of a RAC database cluster.
Transparent Application Failover (TAF). If a communication link failure occurs
after a connection is established, the connection fails over to another active
node. Any disrupted transactions are rolled back, and session properties and
server-side program variables are lost. In some cases, if the statement executing
at the time of the failover is a Select statement, that statement may be
automatically re-executed on the new connection with the cursor positioned on the
row on which it was positioned prior to the failover.

After an Oracle RAC node crashes�usually from a hardware failure�all new


application transactions are automatically rerouted to a specified backup node. The
challenge in rerouting is to not lose transactions that were "in flight" at the
exact moment of the crash. One of the requirements of continuous availability is
the ability to restart in-flight application transactions, allowing a failed node
to resume processing on another server without interruption. Oracle's answer to
application failover is a new Oracle Net mechanism dubbed Transparent Application
Failover. TAF allows the DBA to configure the type and method of failover for each
Oracle Net client.
TAF architecture offers the ability to restart transactions at either the
transaction (SELECT) or session level.

What are the requirements for Oracle Clusterware?


1. External Shared Disk to store Oracle Cluster ware file (Voting Disk and Oracle
Cluster Registry - OCR)
2. Two netwrok cards on each cluster ware node (and three set of IP address) -
Network Card 1 (with IP address set 1) for public network
Network Card 2 (with IP address set 2) for private network (for inter node
communication between rac nodes used by clusterware and rac database)
IP address set 3 for Virtual IP (VIP) (used as Virtual IP address for client
connection and for connection failover)
3. Storage Option for OCR and Voting Disk - RAW, OCFS2 (Oracle Cluster File
System), NFS, �..
Which enable the load balancing of applications in RAC?
Oracle Net Services enable the load balancing of application connections across all
of the instances in an Oracle RAC database.

How to find location of OCR file when CRS is down?


If you need to find the location of OCR (Oracle Cluster Registry) but your CRS is
down.
When the CRS is down:
Look into �ocr.loc� file, location of this file changes depending on the OS:
On Linux: /etc/oracle/ocr.loc
On Solaris: /var/opt/oracle/ocr.loc
When CRS is UP:
Set ASM environment or CRS environment then run the below command:
ocrcheck

In 2 node RAC, how many NIC�s are r using ?


2 network cards on each clusterware node
Network Card 1 (with IP address set 1) for public network
Network Card 2 (with IP address set 2) for private network (for inter node
communication between rac nodes used by clusterware and rac database)

In 2 node RAC, how many IP�s are r using ?


6 - 3 set of IP address
## eth1-Public: 2
## eth0-Private: 2
## VIP: 2

How to find IP�s information in RAC ?


Edit the /etc/hosts file as shown below:
# Do not remove the following line, or various programs
# that requires network functionality will fail.
127.0.0.1 localhost.localdomain localhost
## Public Node names
192.168.10.11 node1-pub.hingu.net node1-pub
192.168.10.22 node2-pub.hingu.net node2-pub
## Private Network (Interconnect)
192.168.0.11 node1-prv node1-prv
192.168.0.22 node2-prv node2-prv
## Private Network (Network Area storage)
192.168.1.11 node1-nas node1-nas
192.168.1.22 node2-nas node2-nas
192.168.1.33 nas-server nas-server
## Virtual IPs
192.168.10.111 node1-vip.hingu.net node1-vip
192.168.10.222 node2-vip.hingu.net node2-vip

What is difference between RAC ip addresses ?


Public IP adress is the normal IP address typically used by DBA and SA to manage
storage, system and database. Public IP addresses are reserved for the Internet.
Private IP address is used only for internal clustering processing (Cache Fusion)
(aka as interconnect). Private IP addresses are reserved for private networks.
VIP is used by database applications to enable fail over when one cluster node
fails. The purpose for having VIP is so client connection can be failover to
surviving nodes in case there is failure

Can application developer access the private ip ?


No. private IP address is used only for internal clustering processing (Cache
Fusion) (aka as interconnect)
http://rajeevjhaoracle.wordpress.com/2012/01/02/oracle-rac-interview-question-
answer/

g:\prints\interview\RAC Interview related.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
What is cache fusion?

In a RAC environment, it is the combining of data blocks, which are shipped across
the interconnect from remote database caches (SGA) to the local node, in order to
fulfill the requirements for a transaction (DML, Query of Data Dictionary).

What is split brain?

When database nodes in a cluster are unable to communicate with each other, they
may continue to process and modify the data blocks independently. If the
same block is modified by more than one instance, synchronization/locking of the
data blocks does not take place and blocks may be overwritten by others in the
cluster. This state is called split brain.

What is the difference between Crash recovery and Instance recovery?

When an instance crashes in a single node database on startup a crash recovery


takes place. In a RAC enviornment the same recovery for an instance is performed by
the surviving nodes called Instance recovery.

What is the interconnect used for?

It is a private network which is used to ship data blocks from one instance to
another for cache fusion. The physical data blocks as well as data dictionary
blocks are shared across this interconnect.

How do you determine what protocol is being used for Interconnect traffic?

One of the ways is to look at the database alert log for the time period when the
database was started up.

What methods are available to keep the time synchronized on all nodes in the
cluster?

Either the Network Time Protocol(NTP) can be configured or in 11gr2, Cluster Time
Synchronization Service (CTSS) can be used.

What files components in RAC must reside on shared storage?

Spfiles, ControlFiles, Datafiles and Redolog files should be created on shared


storage.

Where does the Clusterware write when there is a network or Storage missed
heartbeat?

The network ping failure is written in $CRS_HOME/log

How do you find out what OCR backups are available?

The ocrconfig -showbackup can be run to find out the automatic and manually run
backups.

If your OCR is corrupted what options do have to resolve this?

You can use either the logical or the physical OCR backup copy to restore the
Repository.

How do you find out what object has its blocks being shipped across the instance
the most?

You can use the dba_hist_seg_stats.

What is a VIP in RAC use for?

The VIP is an alternate Virtual IP address assigned to each node in a cluster.


During a node failure the VIP of the failed node moves to the surviving node and
relays to the application that the node has gone down. Without VIP, the application
will wait for TCP timeout and then find out that the session is no longer live due
to the failure.

How do we know which database instances are part of a RAC cluster?

You can query the V$ACTIVE_INSTANCES view to determine the member instances of the
RAC cluster.

What is OCLUMON used for in a cluster environment?

The Cluster Health Monitor (CHM) stores operating system metrics in the CHM
repository for all nodes in a RAC cluster. It stores information on CPU, memory,
process, network and other OS data, This information can later be retrieved and
used to troubleshoot and identify any cluster related issues. It is a default
component of the 11gr2 grid install. The data is stored in the master repository
and replicated to a standby repository on a different node.

What would be the possible performance impact in a cluster if a less powerful node
(e.g. slower CPU�s) is added to the cluster?

All processing will show down to the CPU speed of the slowest server.

What is the purpose of OLR?

Oracle Local repository contains information that allows the cluster processes to
be started up with the OCR being in the ASM storage ssytem. Since the ASM file
system is unavailable until the Grid processes are started up a local copy of the
contents of the OCR is required which is stored in the OLR.

What is the default memory allocation for ASM?

In 10g the default SGA size is 1G in 11g it is set to 256M and in 12c ASM it is set
back to 1G.

How do you backup ASM Metadata?

You can use md_backup to restore the ASM diskgroup configuration in-case of ASM
diskgroup storage loss.

What files can be stored in the ASM diskgroup?

In 11g the following files can be stored in ASM diskgroups.

Datafiles
Redo logfiles
Spfiles
In 12c the files below can also new be stored in the ASM Diskgroup

Password file
What it the ASM POWER_LIMIT?

This is the parameter which controls the number of Allocation units the ASM
instance will try to rebalance at any given time. In ASM versions less than
11.2.0.3 the default value is 11 however it has been changed to unlimited in later
versions.

What is a rolling upgrade?

A patch is considered a rolling if it is can be applied to the cluster binaries


without having to shutting down the database in a RAC environment. All nodes in the
cluster are patched in a rolling manner, one by one, with only the node which is
being patched unavailable while all other instance open.

What are some of the RAC specific parameters?

Some of the RAC parameters are:

CLUSTER_DATABASE
CLUSTER_DATABASE_INSTANCE
INSTANCE_TYPE (RDBMS or ASM)
ACTIVE_INSTANCE_COUNT
UNDO_MANAGEMENT
What is the future of the Oracle Grid?
The Grid software is becoming more and more capable of not just supporting HA for
Oracle Databases but also other applications including Oracle�s applications. With
12c there are more features and functionality built-in and it is easier to deploy
these pre-built solutions, available for common Oracle applications.

What components of the Grid should I back up?


The backups should include OLR, OCR and ASM Metadata.

Is there an easy way to verify the inventory for all remote nodes
You can run the opatch lsinventory -all_nodes command from a single node to look at
the inventory details for all nodes in the cluster.

g:\prints\interview\recover database until.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Recover Database Until
=======================:

SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YY HH24:MI:SS';


SQL> select NAME, SEQUENCE#, THREAD#, FIRST_TIME, FIRST_CHANGE#, NEXT_TIME,
NEXT_CHANGE# from v$archived_log

RMAN> recover database until sequence 162280;


RMAN> recover database until SCN 34527024;
RMAN> recover database until time '10-11-08 06:31:15'

If your archive logs are not on their default path you can specify the full path of
the archive logs in this recovery process.

SQL > recover database until cancel;

The recover database until command supports three clauses that will abort the
recovery process at a specified point:

recover database until cancel: recovers the database applying one log file at a
time until the recovery process is manually canceled
recover database until time 'YYYY-MM-DD:HH24:MI:SS': recovers the database to a
specified point in time
recover database until change <scn>: recovers the database to a specified system
change number ( SCN)

The following example demonstrates using the recover database until command with
the cancel clause.

In the alert log (<SID>ALRT.LOG, ) locate and note down the log sequence number of
the last log archived before the error occurred. This will be needed to terminate
the recovery at the desired point.

Restart the database to a mounted but not open state:

svrmgr:>startup mount;

With the database mounted, run the recover database until cancel command from
svrmgr:

svrmgr:>recover database until cancel;

Before Oracle applies each archived log sequence, it will return a message similar
to the following suggesting an archived log to apply and allowing the operator to
either continue or cancel the recovery:

ORA-00279: Change 36579 generated at <time/date> needed for thread 1


ORA-00289: Suggestion : \Oracle_Home\Oradata\<SID>\%SID%T00036579.ARC
ORA-00280: {<RET>=Suggested | filename | AUTO | FROM logsource | CANCEL}

Press Return until the archived log sequence determined by examining the alert log
(<SID>ALRT>LOG) is reached, at which point type cancel to stop further recovery.
Oracle will return the following message:

Media recovery canceled.

Restart the database with the resetlogs clause. This is necessary in order to
synchronize the log sequence up to the point of recovery and to prevent any further
system changes made after that point to be applied. The following command will
restart the database and reset the logs:

svrmgr>alter database open resetlogs;

Database altered

The database is now recovered. Because the redo log sequence has been reset, it is
vital to immediately take a fresh full database backup.

g:\prints\interview\resizing redolog files.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Resizing redologfiles
=======================:

step.1
First see the size of the current logs.
SQL> select group#, bytes, status from v$log;

step.2
Retrieve all the log member names for the groups.

SQL> select group#, member from v$logfile;

step.3
Create 3 new log groups and name them groups 4, 5, and 6, with different size:
SQL> alter database add logfile group 4 '/oracle/dbs/log4PROD.dbf' size 10M;

SQL> alter database add logfile group 5 '/oracle/dbs/log5PROD.dbf' size 10M;


SQL> alter database add logfile group 6 '/oracle/dbs/log6PROD.dbf' size 10M;

step.4
Run a query to view the v$log status.
SQL> select group#, status from v$log;

step.5
Drop the old redolog files, make sure the status should be INACTIVE.
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;

step.6
Verify the groups were dropped, and the new groups' sizes are correct.
SQL> select group#, bytes, status from v$log;

step.7
Take a backup of the database, and delete the files associated with old redolog
groups as they are no longer needed.
rm /usr/oracle/dbs/log1PROD.dbf
rm /usr/oracle/dbs/log2PROD.dbf
rm /usr/oracle/dbs/log3PROD.dbf

step.8
Monitor the alert.log for the times of redo log switches. Due to increased redo log
size, the groups should not switch as frequently under the sameload conditions.

Note:
You cannot drop CURRENT and ACTIVE redolog files.

g:\prints\interview\resizing undo tablespace.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
How to Resize the Undo Tablespace
==================================:
1. To Shrink the Undo Tablespace Size.
2. Add Space to the Undo Tablespace.

Solution:

1. To Shrink the Undo Tablespace Size.


Undo space once allocated will be available for reuse but will not be deallocated
to the OS. The best way to shrink Undo tablespace is to switch to a new Undo
tablespace and drop the old Undo tablespace. The steps are:

a) Create a new undo tablespace of the same size (larger or smaller) depending on
your database requirements.
SQL> create undo tablespace undotbs02 datafile '/u01/oracle/prod/undotbs02.dbf'
size 5000M;
b) Switch to the new Undo tablespace
ALTER SYSTEM SET UNDO_TABLESPACE = undotbs02 SCOPE=BOTH;
c) Check the status of the undo segments and determine if all the segments in the
old undo tablespace are offline.
select tablespace_name , status , count(*) from dba_rollback_segs group by
tablespace_name , status;
If there are Undo segments with status other than OFFLINE in the tablespace to be
dropped, we need to wait till they become OFFLINE. You may have to wait for the
duration of the tuned_undoretention (from v$undostat) to ensure all Undo segments
have become OFFLINE.
select status,segment_name from dba_rollback_segs where status not in ("OFFLINE')
and tablespace_name=<undo tablespace to be dropped>;
eg:
select status,segment_name from dba_rollback_segs where status not in ("OFFLINE')
and tablespace_name='UNDOTBS1';
d). If all the Undo segments in the old Undo tablespace to the dropped is of status
OFFLINE, then drop the tablespace.
select tablespace_name , status , count(*) from dba_rollback_segs group by
tablespace_name , status;
Verify and then drop:
SQL>Drop tablespace <tablespace_name> including contents and datafiles;
eg:
SQL>Drop tablespace UNDOTBS1 including contents and datafiles;

2. Add Space to the Undo Tablespace.


For increasing / resize undo tablespace there are two options :
a) Resize the existing undo datafile
b) Add new undo datafile to the tablespace.

a) To resize the existing undo datafile:

select tablespace_name T_NAME,file_name, bytes/1024/1024 MB from dba_data_files


where tablespace_name =(SELECT UPPER(value) FROM v$parameter WHERE name =
'undo_tablespace') order by file_name;
alter database datafile '<COMPLETE_PATH_OF_UNDO_DBF_FILE>' resize <SIZE>M;

Example:
alter database datafile '/u01/oracle/prod/undotbs02.dbf' resize 1500M;

b) Step to add a new datafile:

alter tablespace <UNDO tbs name> ADD DATAFILE '<COMPLETE_PATH_OF_UNDO_DBF_FILE>'


size 20M;

Example:
alter tablespace UNDOTBS1 ADD DATAFILE '/u01/oracle/prod/undotbs02.dbf' size 20M;

g:\prints\interview\RMAN configurations.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rman Configuration
===================:

RMAN> show all;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 32 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u03/oracle/rmanbackups/df_%d_%U_%p_
%c';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/u01/oracle/PROD/db/tech_st/11.1.0/dbs/snapcf_PROD.f'; # default

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# CONFIGURE RETENTION POLICY


It used with the 2 different options. Recovery Window or Redundancy

Redundancy: CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

If you set Redundancy to 1, RMAN will keep one backup. If you take second backup ,
RMAN will sign previous backup as obsolete. You can delete obsolete backup with
�delete obsolete� command.

Recovery Windows: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

If you set Recovey windows to 3 days, RMAN will sign backups as obsolete older than
3 days. For example, we have 4 backups. And our backup dates are 16 may, 18 may, 21
may and 23 may. If we set Recovery window to 3 days, RMAN must sign 16may and 18
may backups as obsolete (23may � 3 days=20may). But RMAN signs 18may backup as not
obsolete. Because RMAN automatically detects backups. And 18may backup is needed
for recovery of 20may.

# CONFIGURE DEFAULT DEVICE TYPE


Backup can be taken two different locations. Tape and Disk

For backing up to disk: CONFIGURE DEFAULT DEVICE TYPE TO DISK;


For backing up to tape: CONFIGURE DEFAULT DEVICE TYPE TO SBT;

# CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF


Automatically backups the controlfile to fra. (If you dont set FRA then it puts
backup of controlfile to $ORACLE_HOME/dbs by default)

# CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO �%F�


By default, RMAN automatically names control file backups and saves them into FRA.
To configure RMAN to write control file backups to the specific directory: %F
will generate a unique filename likes c-�IIIIIIIIII-YYYYMMDD-QQ� . Here
�IIIIIIIIII� is DBID, �YYYYMMDD� is date and �QQ� is hexadecimal id. You can also
backup controlfile to specific location. For example;

# CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO


�ora_home/oradata/cf_%F�;

You can also reset configuration.


# CONFIGURE CONTROLFILE AUTOBACKUP FOR DEVICE TYPE DISK CLEAR;

You can also write in RUN script.

# CONFIGURE BACKUP OPTIMIZATION OFF/ON


If you set this configuration to ON then the backup command skips backing up files
when the identical file has already been backed up. RMAN uses to determine whether
a file is identical to a file that it is backed up with following criterias.

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET


Specifies number of channels which determines whether RMAN reads or writes in
parallel. You must also specify DEVICE TYPE.

# CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 3


The configure �datafile backup copies� used to specify how many copies of each
backup piece should be created on the specified device type for the datafile. In my
example above, it will take backup 3 copy. It is known as mirror backup. You can
specify 3 different location with FORMAT option.

BACKUP DEVICE TYPE DISK COPIES 3 DATAFILE 7 FORMAT


�/tmp/%U�,�?/oradata/%U�,�?/%U�;

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1


The configure �archivelog backup copies� used to specify how many copies of each
backup piece should be created on the specified device type for the arhive log
files. You can specify 2 different location with FORMAT option.

# CONFIGURE MAXSETSIZE TO UNLIMITED


You can use the MAXSETSIZE parameter on the BACKUP and configure commands to set a
limit for the size of backup sets. If you set maxsetsize less than backing up
datafile size then you will get an error. Default value of this configuration is
�unlimited�.

# CONFIGURE ENCRYPTION FOR DATABASE OFF/ON


Encrypted backups cannot be read if they are obtained by unauthorized users. This
configuration specifies whether encryption will be used or not.

# CONFIGURE ENCRYPTION ALGORITHM �AES128�


# CONFIGURE COMPRESSION ALGORITHM �BASIC� AS OF RELEASE �DEFAULT� OPTIMIZE FOR LOAD
TRUE

There are two compression method ZLIB and BZIP2. ZLIB consumes less cpu but the
compression rate is low. BZIP2 consumes more cpu but the compression rate is high.

# CONFIGURE COMPRESSION ALGORITHM �ZLIB�;


# CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;

There are 3 compression level. LOW, MEDIUM and HIGH. HIGH level is not recommended
because of suited for backups over slower networks. MEDIUM level is recommended.

# CONFIGURE ARCHIVELOG DELETION POLICY TO NONE

Specifies the archive log deletion policy.

In 10g you can set;

# CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO {ARCHIVERETENTION};

In 11g you can set;


# CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK;

RMAN raised a WARNING that indicates that deletion of the ArchiveLog is not
permitted until a Backup has been taken. Thus, you can protect your ArchiveLogs
from deletion by RMAN commands if they have not been backed up.
NOTE: This does NOT prevent non-RMAN commands (e.g. cron jobs with shell scripts)
from deleting ArchiveLogs.

The archived log deletion policy also has option specific to Data Guard. For
example, if you set archive log deletion policy to the �APPLIED ON STANDBY� then
RMAN can delete logs after they have been applied at all mandatory remote
destinations.

# CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;


# CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE

You can use maxpiecesize channel parameter to set limits on the size of backup
pieces. In my example below, I limit the backup piece size to 2G.

# CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE = 2G;


# CONFIGURE SNAPSHOT CONTROLFILE NAME TO �/oracle/ora10g/dbs/snapcf_test11g.f�

RMAN needs a snapshot control file when resynchronizing with the recovery catalog
or taking a backup of the current control file. The default location is platform
specific and depends on the Oracle home of each target database. In Linux
environment it locates in $ORACLE_HOME/dbs directory. You can change its location
with this configuration.

g:\prints\interview\rman int.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
What is RMAN?
Recovery Manager (RMAN) is a utility that can manage your entire Oracle backup and
recovery activities.

What is the difference between using recovery catalog and control file?
When new incarnation happens, the old backup information in control file will be
lost. It will be preserved in recovery catalog.
In recovery catalog we can store scripts.
Recovery catalog is central and can have information of many databases.

Can we use same target database as catalog?


No, The recovery catalog should not reside in the target database (database should
be backed up), because the database can�t be recovered in the mounted state.

How do you know that how much RMAN task has been completed?
By querying v$rman_status or v$session_longops

From where list & report commands will get input?


Both the commands command quering v$ and recovery catalog views. V$BACKUP_FILES or
many of the recovery catalog views such asRC_DATAFILE_COPY or RC_ARCHIVED_LOG.

Command to delete archive logs older than 7days?


RMAN> delete archivelog all completed before sysdate-7;

How many times does oracle ask before dropping a catalog?


The default is two times one for the actual command, the other for confirmation.

How to view the current defaults for the database.


RMAN> show all;

What is the use of crosscheck command in RMAN?


Crosscheck will be useful to check whether the catalog information is intact with
OS level information. This command only updates repository records with the status
of the backups.
e.g. If user removes archived logs from disk with an operating system command, the
repository still indicates that the logs are on disk, when in fact they are not.

What are the differences between crosscheck and validate commands?


Validate command is to examine a backup set and report whether it can be restored.
RMAN scans all of the backup pieces in the specified backup sets and looks at the
checksum to verify that the contents are intact so that backup can be successfully
restored if necessary.
Crosscheck command is to verify the status of backups and copies recorded in the
RMAN repository against media such as disk or tape. The crosscheck command only
processes files created on the same device type as the channel running crosscheck.

Which one is good, differential (incremental) backup or cumulative (incremental)


backup?
A differential backup, which backs up all blocks changed after the most recent
incremental backup at level 1 or 0
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
A cumulative backup, which backs up all blocks changed after the most recent
incremental backup at level 0
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
Cumulative backups are preferable to differential backups when recovery time is
more important than disk space, because during recovery each differential backup
must be applied in succession. Use cumulative incremental backups instead of
differential, if enough disk space is available to store cumulative incremental
backups.
This is command for taking Level 0 backup.
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
What is the difference between backup set and backup piece?
Backup set is logical and backup piece is physical.
RMAN command to backup for creating standby database
RMAN> duplicate target database

You loss one datafile and DB is running in ARCHIVELOG mode. You have full database
backup of 1 week/day old and don�t have backup of this (newly created) datafile.
How do you restore/recover file?
Create data file and recover datafile.
SQL> alter database create datafile �/u01/app/oracle/oradata/xyz.dbf� size 2G;
RMAN> recover datafile file_id;

What is obsolete backup & expired backup?


A status of �expired� means that the backup piece or backup set is not found in the
backup destination.
A status of �obsolete� means the backup piece is still available, but it is no
longer needed. The backup piece is no longer needed since RMAN has been configured
to no longer need this piece after so many days have elapsed, or so many backups
have been performed.
What are the Architectural components of RMAN?
1 RMAN Executables
2 Sercer process
3 Channels
4 Target database
5 Recovery catalog database (optional)
6 Media management Layer (optional)
7 Backups, backup sets and backup pieces

What are channels?


A channel is an RMAN server process started when there is a need to communicate
with an I/O device, such as a disk or a tape. A channel is what reads and writes
RMAN backup files. It is through the allocation of channels that you govern I/O
characteristics:
? Type of I/O device being read or written to, either a disk or an sbt_tape
? Number of processes simultaneously accessing an I/O device
? Maximize size of files created on I/O devices
? Maximize rate at which database files are read
? Maximize number of files open at a time

Why is the catalog optional?


Because RMAN manages backup and recovery operations, it requires a place to store
necessary information about the database. RMAN always stores this information in
the target database control file. You can also store RMAN metadata in a recovery
catalog schema contained in a separate database. The recovery catalog schema must
be stored in a database other than the target database.

What is a Backup set?


A logical grouping of backup files � the backup pieces � that are created when you
issue an RMAN backup command. A backup set is RMAN�s name for a collection of files
associated with a backup. A backup set is composed of one or more backup pieces.

What are the benefits of using RMAN?


8 Incremental backups that only copy data blocks that have changed since the
last backup.
9 Tablespaces are not put in backup mode, thus there is noextra redo log
generation during online backups.
10 Detection of corrupt blocks during backups.
11 Parallelization of I/O operations.
12 Automatic logging of all backup and recovery operations.
13 Built-in reporting and listing commands.

What are the various reports available with RMAN


RMAN>list backup;
RMAN> list archive;

In catalog database, if some of the blocks are corrupted due to system crash, How
will you recover?
using RMAN BLOCK RECOVER command

How do you enable the autobackup for the controlfile using RMAN?
Issue command at RMAN prompt.
RMAN> configure controlfile autobackup on;
Also we can configure controlfile backup format.
RMAN> configure controlfile autobackup format for device type disk to
2> �$HOME/BACKUP/RMAN/ F.bkp�;

How do you identify what are the all the target databases that are being backed-up
with RMAN database?
You don�t have any view to identify whether it is backed up or not. The only option
is connect to the target database and give list backup this will give you the
backup information with date and timing.

How do you identify the block corruption in RMAN database? How do you fix it?
Using v$block_corruption view you can find which blocks corrupted.
RMAN> block recover datafile <fileid> block <blockid>;
Using the above statement You recover the corrupted blocks. First check whether the
block is corrupted or not by using this command
SQL>select file# block# from v$database_block_corruption;
file# block
2 507
the above block is corrupted�
conn to Rman
To recover the block use this command�
RMAN>blockrecover datafile 2 block 507;
the above command recover the block 507
Now just verify it�..
Rman>blockrecover corruption list;

How do you clone the database using RMAN software? Give brief steps? When do you
use crosscheck command?
Check whether backup pieces proxy copies or disk copies still exist.
Two commands available in RMAN to clone database:
1) Duplicate
2) Restore.

List some of the RMAN catalog view names which contain the catalog information?
RC_DATABASE_INCARNATION RC_BACKUP_COPY_DETAILS
RC_BACKUP_CORRUPTION
RC_BACKUP-DATAFILE_SUMMARY

How do you install the RMAN recovery catalog?


Steps to be followed:
1) Create connection string at catalog database.
2) At catalog database create one new user or use existing user and give that user
a recovery_catalog_owner privilege.
3) Login into RMAN with connection string
a) export ORACLE_SID
b) rman target catalog @connection string
4) rman> create catalog;
5) register database;

What is the difference between physical and logical backups?


In Oracle Logical Backup is �which is taken using either Traditional Export/Import
or Latest Data Pump�. Where as Physical backup is known �when you take Physical O/s
Database related Files as Backup�.

What is RAID? What is RAID0? What is RAID1? What is RAID 10?


RAID: It is a redundant array of independent disk
RAID0: Concatenation and stripping
RAID1: Mirroring

How to enable Fast Incremental Backup to backup only those data blocks that have
changed?
SQL> ALTER DATABASE enable BLOCK CHANGE TRACKING;

How do you set the flash recovery area?


SQL> ALTER SYSTEM SET db_recovery_file_dest_size = 100G;
SQL> ALTER SYSTEM SET db_recovery_file_dest = �/u10/oradata/school�;

What is auxiliary channel in RMAN? When do you need this?


An auxiliary channel is a link to auxiliary instance. If you do not have automatic
channels configured, then before issuing the DUPLICATE command, manually allocate
at least one auxiliary channel within the same RUN command.

How do you use the V$RECOVERY_FILE_DEST view to display information regarding the
flashrecovery area?
SQL> SELECT name, space_limit, space_used,space_reclaimable, number_of_filesFROM
v$recovery_file_dest;

How can you display warning messages?


SQL> SELECT object_type, message_type,message_level, reason, suggested_actionFROM
dba_outstanding_alerts;

How do you backup the entire database?


RMAN> BACKUP DATABASE;

How do you backup an individual tablespaces?


RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN> BACKUP TABLESPACE system;

How do you backup datafiles and control files?


RMAN> BACKUP DATAFILE 3;
RMAN> BACKUP CURRENT CONTROLFILE;
Use a fast recovery without restoring all backups from their backup location to the
location specified inthe controlfile.
RMAN> SWITCH DATABASE TO COPY;

g:\prints\interview\RMAN PRACTICE DOC.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
rman log=/backup/rman/prod/28dec2013_fullbkp/full_bkp.log
connect target /
run {
ALLOCATE CHANNEL ch00 TYPE DISK;
ALLOCATE CHANNEL ch01 TYPE DISK;
ALLOCATE CHANNEL ch02 TYPE DISK;
ALLOCATE CHANNEL ch03 TYPE DISK;
BACKUP
FORMAT '/backup/rman/prod/28dec2013_fullbkp/%d_db_u%u_s%s_p%p_t%t_db'
FILESPERSET 5
database plus archivelog ;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
}
sql 'alter system archive log current';
BACKUP FORMAT '/backup/rman/prod/28dec2013_fullbkp/Control_bk_u%u_s%s_p%p_t%t_bk'
TAG 'ORCL_ctrl' CURRENT CONTROLFILE;
exit;

Linux Tar Command:


-------------------
nohup tar -czvf /backup/rman/prod/binaries/1120.tar.gz 11.2.0 >
/backup/rman/prod/binaries/1120.log &
nohup tar -czvf /backup/rman/oltp/appl.tar.gz appl > /backup/rman/oltp/appl.log &
nohup tar -xzvf /backup/rman/prod/binaries/1120.tar.gz >
/d03/oracle/product/1120_untar.log &

=========================
RMAN DUPLICATE
==============
1)DIRECTORY STRUCTURE
/d02/oracle/admin/orcl/adump
/d02/oracle/admin/orcl/adump
/d02/oracle/flash_recovery_area
/d03/oracle/flash_recovery_area/test

mkdir -p /d03/oracle/admin/test/adump
mkdir -p /d03/oracle/flash_recovery_area

test.__db_cache_size=973078528
test.__java_pool_size=16777216
test.__large_pool_size=16777216
test.__oracle_base='/d03/oracle'#ORACLE_BASE set from environment
test.__pga_aggregate_target=469762048
test.__sga_target=1375731712
test.__shared_io_pool_size=0
test.__shared_pool_size=335544320
test.__streams_pool_size=16777216
*.audit_file_dest='/d03/oracle/admin/test/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/d03/oracle/oradata/test/control01.ctl','/d03/oracle/flash_recover
y_area/test/control02.ctl'
*.db_block_size=8192
*.db_domain='oracle.com'
*.db_name='test'
*.db_recovery_file_dest='/d03/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/d03/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
*.local_listener='LISTENER_ORCL'
*.open_cursors=300
*.pga_aggregate_target=455081984
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1365245952
*.undo_tablespace='UNDOTBS1'
~
14 substitutions on 13 lines

=====================================================
db_file_name_convert='/d01/oracle/oradata/prod/','/d03/oracle/oradata/test'
log_file_name_convert='/d01/oracle/oradata/prod/','/d03/oracle/oradata/test'
rman log /d03/duplicate.log
connect auxiliary /
run {
ALLOCATE auxiliary CHANNEL ch00 TYPE DISK;
ALLOCATE auxiliary CHANNEL ch01 TYPE DISK;
ALLOCATE auxiliary CHANNEL ch02 TYPE DISK;
ALLOCATE auxiliary CHANNEL ch03 TYPE DISK;
ALLOCATE auxiliary CHANNEL ch04 TYPE DISK;
duplicate target database to 'TEST'
BACKUP LOCATION '/backup/rman/prod/28dec2013_fullbkp/'
NOFILENAMECHECK;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
RELEASE CHANNEL ch04;
}
exit;
++++++++++++++++++++++++++++

SQL> startup nomount pfile=/d03/oracle/product/11.2.0/dbs/inittest.ora


ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
SQL>

[oracle@wasiq ~]$ grep -i LOCAL_LISTENER


/d03/oracle/product/11.2.0/dbs/inittest.ora
#*.local_listener='LISTENER_TEST'
[oracle@wasiq ~]$

SQL> startup nomount pfile='/d03/oracle/product/11.2.0/dbs/inittest.ora';


ORACLE instance started.

Total System Global Area 1372651520 bytes


Fixed Size 1336428 bytes
Variable Size 385878932 bytes
Database Buffers 973078528 bytes
Redo Buffers 12357632 bytes

startup nomount pfile


restore controlfile from '/backup/rman/prod/28dec2013_fullbkp/';
alter database mount;
restore database;
recover database;
alter database open resetlogs;

g:\prints\interview\RMAN Qadar.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
How to check the backup of particular tablespace
------------------------------------------------

RMAN> list backup of tablespace users;

List of Backup Sets


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

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
12 Full 2.31M DISK 00:00:00 28-DEC-13
BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180446
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80446_9cxkc734_.bkp
List of Datafiles in backup set 12
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users01.dbf
5 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users02.dbf

RMAN>

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

How to take backup of particular datafile


-----------------------------------------

RMAN> backup datafile 3;

Starting backup at 28-DEC-13


using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00003 name=/d02/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 28-DEC-13
channel ORA_DISK_1: finished piece 1 at 28-DEC-13
piece
handle=/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG201
31228T180400_9cxk9rxx_.bkp tag=TAG20131228T180400 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 28-DEC-13

Starting Control File and SPFILE Autobackup at 28-DEC-13


piece
handle=/d02/oracle/flash_recovery_area/ORCL/autobackup/2013_12_28/o1_mf_s_835380241
_9cxk9t49_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 28-DEC-13

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

How to list the particular datafile


------------------------------------

RMAN> list backup of datafile 3;

List of Backup Sets


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

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
10 Full 43.16M DISK 00:00:01 28-DEC-13
BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180400
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80400_9cxk9rxx_.bkp
List of Datafiles in backup set 10
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 781520 28-DEC-13 /d02/oracle/oradata/orcl/undotbs01.dbf
===================================================================================
========================================================
backup optimization clear/off are same

RMAN> CONFIGURE BACKUP OPTIMIZATION clear;

old RMAN configuration parameters:


CONFIGURE BACKUP OPTIMIZATION ON;
RMAN configuration parameters are successfully reset to default value

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORCL are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD
TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/d02/oracle/prod/11.2.0/dbs/snapcf_orcl.f';
# default
======================================

RMAN> list backup;

List of Backup Sets


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

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
10 Full 43.16M DISK 00:00:01 28-DEC-13
BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180400
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80400_9cxk9rxx_.bkp
List of Datafiles in backup set 10
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 781520 28-DEC-13 /d02/oracle/oradata/orcl/undotbs01.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
11 Full 9.36M DISK 00:00:01 28-DEC-13
BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180401
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/autobackup/2013_12_28/o1_mf_s_835380241_9cxk9t
49_.bkp
SPFILE Included: Modification time: 28-DEC-13
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 781527 Ckp time: 28-DEC-13

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
12 Full 2.31M DISK 00:00:00 28-DEC-13
BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180446
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80446_9cxkc734_.bkp
List of Datafiles in backup set 12
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users01.dbf
5 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users02.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
13 Full 9.36M DISK 00:00:00 28-DEC-13
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180448
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/autobackup/2013_12_28/o1_mf_s_835380288_9cxkc8
91_.bkp
SPFILE Included: Modification time: 28-DEC-13
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 781576 Ckp time: 28-DEC-13

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
14 Full 80.00K DISK 00:00:00 28-DEC-13
BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181106
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnsnf_TAG20131228T1
81106_9cxkq2w3_.bkp
SPFILE Included: Modification time: 28-DEC-13
SPFILE db_unique_name: ORCL

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
15 Full 9.36M DISK 00:00:01 28-DEC-13
BP Key: 15 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181107
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/autobackup/2013_12_28/o1_mf_s_835380667_9cxkq4
2x_.bkp
SPFILE Included: Modification time: 28-DEC-13
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 783611 Ckp time: 28-DEC-13

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
16 Full 46.88M DISK 00:00:01 28-DEC-13
BP Key: 16 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181156
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
81156_9cxkrnyz_.bkp
List of Datafiles in backup set 16
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 783664 28-DEC-13 /d02/oracle/oradata/orcl/undotbs01.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
17 Full 9.33M DISK 00:00:01 28-DEC-13
BP Key: 17 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181356
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_ncnnf_TAG20131228T1
81356_9cxkwg21_.bkp
Control File Included: Ckp SCN: 783729 Ckp time: 28-DEC-13
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
18 Full 80.00K DISK 00:00:00 28-DEC-13
BP Key: 18 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181518
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnsnf_TAG20131228T1
81518_9cxkyy6r_.bkp
SPFILE Included: Modification time: 28-DEC-13
SPFILE db_unique_name: ORCL

RMAN> list backup of database;

List of Backup Sets


===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
10 Full 43.16M DISK 00:00:01 28-DEC-13
BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180400
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80400_9cxk9rxx_.bkp
List of Datafiles in backup set 10
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 781520 28-DEC-13 /d02/oracle/oradata/orcl/undotbs01.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
12 Full 2.31M DISK 00:00:00 28-DEC-13
BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20131228T180446
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
80446_9cxkc734_.bkp
List of Datafiles in backup set 12
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users01.dbf
5 Full 781569 28-DEC-13 /d02/oracle/oradata/orcl/users02.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time


------- ---- -- ---------- ----------- ------------ ---------------
16 Full 46.88M DISK 00:00:01 28-DEC-13
BP Key: 16 Status: AVAILABLE Compressed: NO Tag: TAG20131228T181156
Piece Name:
/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG20131228T1
81156_9cxkrnyz_.bkp
List of Datafiles in backup set 16
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 783664 28-DEC-13 /d02/oracle/oradata/orcl/undotbs01.dbf
===================================================================================
=============================
How to take backup of database plus Archivelog
----------------------------------------------

RMAN> backup database plus archivelog;


Starting backup at 28-DEC-13
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=11 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=3 RECID=1 STAMP=835380559
input archived log thread=1 sequence=4 RECID=2 STAMP=835381780
channel ORA_DISK_1: starting piece 1 at 28-DEC-13
channel ORA_DISK_1: finished piece 1 at 28-DEC-13
piece
handle=/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_annnn_TAG201
31228T182940_9cxlswsn_.bkp tag=TAG20131228T182940 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 28-DEC-13

Starting backup at 28-DEC-13


using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/d02/oracle/oradata/orcl/system01.dbf
input datafile file number=00002 name=/d02/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/d02/oracle/oradata/orcl/users02.dbf
input datafile file number=00003 name=/d02/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/d02/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 28-DEC-13
channel ORA_DISK_1: finished piece 1 at 28-DEC-13
piece
handle=/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_nnndf_TAG201
31228T182941_9cxlsy13_.bkp tag=TAG20131228T182941 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:16
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 28-DEC-13
channel ORA_DISK_1: finished piece 1 at 28-DEC-13
piece
handle=/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_ncsnf_TAG201
31228T182941_9cxltg4k_.bkp tag=TAG20131228T182941 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 28-DEC-13

Starting backup at 28-DEC-13


current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=5 RECID=3 STAMP=835381799
channel ORA_DISK_1: starting piece 1 at 28-DEC-13
channel ORA_DISK_1: finished piece 1 at 28-DEC-13
piece
handle=/d02/oracle/flash_recovery_area/ORCL/backupset/2013_12_28/o1_mf_annnn_TAG201
31228T182959_9cxlthd2_.bkp tag=TAG20131228T182959 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 28-DEC-13
=================================================================
How to list all archivelogs which we backedup
---------------------------------------------
RMAN> list archivelog all;

List of Archived Log Copies for database with db_unique_name ORCL


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

Key Thrd Seq S Low Time


------- ---- ------- - ---------
1 1 3 A 25-DEC-13
Name:
/d02/oracle/flash_recovery_area/ORCL/archivelog/2013_12_28/o1_mf_1_3_9cxkmp2v_.arc

2 1 4 A 28-DEC-13
Name:
/d02/oracle/flash_recovery_area/ORCL/archivelog/2013_12_28/o1_mf_1_4_9cxlsw8r_.arc

3 1 5 A 28-DEC-13
Name:
/d02/oracle/flash_recovery_area/ORCL/archivelog/2013_12_28/o1_mf_1_5_9cxlth7p_.arc

===================================================================================
=========
To check the failure of RMAN
----------------------------

RMAN> list failure;

no failures found that match specification


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

To check the summary of backup


-----------------------------

RMAN> list backup summary;

List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
10 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T180400
11 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T180401
12 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T180446
13 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T180448
14 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T181106
15 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T181107
16 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T181156
17 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T181356
18 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T181518
19 B A A DISK 28-DEC-13 1 1 NO
TAG20131228T182940
20 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T182941
21 B F A DISK 28-DEC-13 1 1 NO
TAG20131228T182941
22 B A A DISK 28-DEC-13 1 1 NO
TAG20131228T182959
===================================================================================
=======
To check RMAN Schemas
---------------------

RMAN> report schema;

Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles


===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 670 SYSTEM *** /d02/oracle/oradata/orcl/system01.dbf
2 480 SYSAUX *** /d02/oracle/oradata/orcl/sysaux01.dbf
3 50 UNDOTBS1 *** /d02/oracle/oradata/orcl/undotbs01.dbf
4 5 USERS *** /d02/oracle/oradata/orcl/users01.dbf
5 100 USERS *** /d02/oracle/oradata/orcl/users02.dbf

List of Temporary Files


=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /d02/oracle/oradata/orcl/temp01.dbf

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

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name ORCL are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2


2> ;

RMAN> CONFIGURE RETENTION POLICY TO recovery window of 2 days;

old RMAN configuration parameters:


CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
new RMAN configuration parameters are successfully stored
g:\prints\interview\rman selfmade by qadar.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
By default the RMAN configuration is stored in the control file. You can see the
default values
for the configuration parameters by using RMAN to connect to the database and
issuing the SHOW ALL command.
==============================
Check RMAN configuration
==============================
[oracle@qader d01]$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Fri Dec 27 21:43:39 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN>
RMAN> connect target /;

connected to target database: PROD (DBID=246965557)


using target database control file instead of recovery catalog

RMAN> show all;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD
TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/d01/oracle/product/11.2.0/dbs/snapcf_prod.f'; # default

RMAN>

==========================
Changing rman configuration
===========================
CONFIGURE commands in RMAN are used to configure/setup various initial settings

RMAN> show backup OPTIMIZATION;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE BACKUP OPTIMIZATION OFF; # default

RMAN> CONFIGURE BACKUP OPTIMIZATION on;

new RMAN configuration parameters:


CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
RMAN>

The above command verifies to make sure that identical files are NOT backed up to
the device specified.
============================
Automatic backup of controlfile
=============================

RMAN> show controlfile autobackup;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:


CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored

RMAN> show controlfile autobackup;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN>

==================================================
How to change controlfile autobackup format in rman?
=====================================================
[oracle@qader prod]$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Fri Dec 27 22:07:16 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN> connect target /;

connected to target database: PROD (DBID=246965557)

RMAN> configure controlfile autobackup format for device type disk to


'/backup/rman/prod/%F';

using target database control file instead of recovery catalog


new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/prod/
%F';
new RMAN configuration parameters are successfully stored

RMAN> show controlfile autobackup format;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/prod/
%F';

RMAN>

=============================================
How to backup current controlfile using rman?
==============================================
RMAN> backup current controlfile;

Starting backup at 27-DEC-13


allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=192 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 27-DEC-13
channel ORA_DISK_1: finished piece 1 at 27-DEC-13
piece
handle=/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_27/o1_mf_ncnnf_TAG201
31227T220955_9cvcbwhr_.bkp tag=TAG20131227T220955 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 27-DEC-13

Starting Control File and SPFILE Autobackup at 27-DEC-13


piece handle=/backup/rman/prod/c-246965557-20131227-00 comment=NONE
Finished Control File and SPFILE Autobackup at 27-DEC-13

RMAN>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The below command resets the Optimization option to the default value.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

RMAN> show backup optimization;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE BACKUP OPTIMIZATION ON;

RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;

old RMAN configuration parameters:


CONFIGURE BACKUP OPTIMIZATION ON;
RMAN configuration parameters are successfully reset to default value

RMAN> show backup optimization;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE BACKUP OPTIMIZATION OFF; # default

RMAN>

++++++++++++++++++++++++++++++++++++++
How to set retention policy to 2
++++++++++++++++++++++++++++++++++++++
[oracle@qader 2013_12_27]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Dec 27 22:21:28 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target /;
connected to target database: PROD (DBID=246965557)

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

using target database control file instead of recovery catalog


new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
new RMAN configuration parameters are successfully stored

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
The above commands indicates how many days the backup copies need to be retained.
Default is 1 day.

SHOW Commands :
*****************
Show commands are used to show/display the configuration setting values.

RMAN> show all;


RMAN configuration parameters for database with db_unique_name PROD are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/prod/
%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD
TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/d01/oracle/product/11.2.0/dbs/snapcf_prod.f'; # default
RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

RMAN> show datafile backup copies;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

RMAN> show controlfile autobackup;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name PROD are:


CONFIGURE DEFAULT DEVICE TYPE TO DISK;

RMAN>

++++++++++++++++++
REPORT Commands :
++++++++++++++++++
Report commands list/report specific information.

++++++++++++++++++++++++++++++++++++++++++
How to find which files need to backup?
+++++++++++++++++++++++++++++++++++++++++++
RMAN> report need backup;

RMAN retention policy will be applied to the command


RMAN retention policy is set to redundancy 2
Report of files with less than 2 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
2 0 /d01/oracle/oradata/prod/sysaux01.dbf
3 0 /d01/oracle/oradata/prod/undotbs01.dbf
4 0 /d01/oracle/oradata/prod/users01.dbf

+++++++++++++++++++++++++++++++++++++++++++++++++++++
How to find which backup files can be deleted in rman?
++++++++++++++++++++++++++++++++++++++++++++++++++++++
RMAN> report obsolete;

RMAN retention policy will be applied to the command


RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 1 27-DEC-13
Backup Piece 1 27-DEC-13
/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_27/o1_mf_ncnnf_TAG20131227T2
20955_9cvcbwhr_.bkp
Backup Set 2 27-DEC-13
Backup Piece 2 27-DEC-13 /backup/rman/prod/c-246965557-
20131227-00

RMAN>

----------------------------------------------
DELETE Commands :

Delete commands delete/remove specific items from the server, repository catalog.
RMAN> delete obsolete;

RMAN retention policy will be applied to the command


RMAN retention policy is set to redundancy 2
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=9 device type=DISK
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 1 27-DEC-13
Backup Piece 1 27-DEC-13
/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_27/o1_mf_ncnnf_TAG20131227T2
20955_9cvcbwhr_.bkp
Backup Set 2 27-DEC-13
Backup Piece 2 27-DEC-13 /backup/rman/prod/c-246965557-
20131227-00

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece
handle=/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_27/o1_mf_ncnnf_TAG201
31227T220955_9cvcbwhr_.bkp RECID=1 STAMP=835308596
deleted backup piece
backup piece handle=/backup/rman/prod/c-246965557-20131227-00 RECID=2
STAMP=835308597
Deleted 2 objects

RMAN>
The above command deletes all the backups that are older based on the retention
policy setup.

++++++++++++++++++++++++++++++++++++++
How to backup of spfile?
++++++++++++++++++++++++++++++++++++++
RMAN> backup spfile;

Starting backup at 27-DEC-13


using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 27-DEC-13
channel ORA_DISK_1: finished piece 1 at 27-DEC-13
piece
handle=/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_27/o1_mf_nnsnf_TAG201
31227T230719_9cvgphyb_.bkp tag=TAG20131227T230719 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 27-DEC-13

Starting Control File and SPFILE Autobackup at 27-DEC-13


piece handle=/backup/rman/prod/c-246965557-20131227-05 comment=NONE
Finished Control File and SPFILE Autobackup at 27-DEC-13

RMAN>
++++++++++++++++++++++++++++++++++++++++++++++
How to take backup of the database with tag
++++++++++++++++++++++++++++++++++++++++++++++
RMAN> BACKUP DATABASE TAG='TEST BACKUP';

Starting backup at 30-DEC-13


using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/d01/oracle/oradata/prod/system01.dbf
input datafile file number=00002 name=/d01/oracle/oradata/prod/sysaux01.dbf
input datafile file number=00003 name=/d01/oracle/oradata/prod/undotbs01.dbf
input datafile file number=00004 name=/d01/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: starting piece 1 at 30-DEC-13
channel ORA_DISK_1: finished piece 1 at 30-DEC-13
piece
handle=/d01/oracle/flash_recovery_area/PROD/backupset/2013_12_30/o1_mf_nnndf_TEST_B
ACKUP_9d307to7_.bkp tag=TEST BACKUP comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
Finished backup at 30-DEC-13

Starting Control File and SPFILE Autobackup at 30-DEC-13


piece handle=/d01/oracle/product/11.2.0/dbs/cfc-246965557-20131230-02 comment=NONE
Finished Control File and SPFILE Autobackup at 30-DEC-13

++++++++++++++++++++++++++++++++++++++++++++++++
How to validate the database?
+++++++++++++++++++++++++++++++++++++++++
RMAN> BACKUP VALIDATE DATABASE;

Starting backup at 30-DEC-13


using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
input datafile file number=00004 name=/d01/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
1 OK 0 13772 87041 820615
File Name: /d01/oracle/oradata/prod/system01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 58450
Index 0 12209
Other 0 2609

RMAN>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Take the backup datafiles which are not backuped up
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

RMAN> BACKUP DATABASE NOT BACKED UP;

Starting backup at 30-DEC-13


using channel ORA_DISK_1
skipping datafile 1; already backed up on 30-DEC-13
skipping datafile 2; already backed up on 30-DEC-13
skipping datafile 3; already backed up on 30-DEC-13
skipping datafile 4; already backed up on 30-DEC-13
Finished backup at 30-DEC-13

RMAN>

let me add a datafile to the tablespace


+++++++++++++++++++++++++++++++++++++++
SQL> select file_name from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
/d01/oracle/oradata/prod/users01.dbf
/d01/oracle/oradata/prod/undotbs01.dbf
/d01/oracle/oradata/prod/sysaux01.dbf
/d01/oracle/oradata/prod/system01.dbf

SQL> alter tablespace users add datafile '/d01/oracle/oradata/prod/users02.dbf'


size 200m;

Tablespace altered.

SQL>

RMAN> BACKUP DATABASE NOT BACKED UP;


Starting backup at 30-DEC-13
using channel ORA_DISK_1
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 30-DEC-13

Starting Control File and SPFILE Autobackup at 30-DEC-13


piece handle=/d01/oracle/product/11.2.0/dbs/cfc-246965557-20131230-04 comment=NONE
Finished Control File and SPFILE Autobackup at 30-DEC-13

RMAN>
+++++++++++++++++++++++++++++++++++
To execute multiple commands ata time
++++++++++++++++++++++++++++++++++

run
{
backup current controlfile;
backup datafile 1;
}

[oracle@qader ~]$ rman


Recovery Manager: Release 11.2.0.1.0 - Production on Wed Jan 1 12:11:13 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target /;
connected to target database: ORCL (DBID=1362912542)

RMAN> run
{
backup current controlfile;
backup datafile 1;
}2> 3> 4> 5>

Starting backup at 01-JAN-14


using target database control file instead of recovery catalog
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 01-JAN-14

g:\prints\interview\soa interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SOA stands for Service Oriented Architecture. If you are preparing for SOA
interview, the following SOA interview questions and answers can be very useful to
you. Basically, these SOA interview questions and answers cover basic concepts of
SOA like services in SOA, characteristics and principles of services in SOA, loose
coupling of services, contract, address and bindings in SOA, main benefits of SOA
to the business and IT, difference between services and components in SOA,
requirement of SOA to the business, pitfalls of SOA etc. Let's have a look:

What is a Service in SOA?


In the real world, a service is what we pay for and we get the intended service.

Example 1 (from Real World): You go to a restaurant and order food. Your order
first goes to the counter and then it goes to the kitchen where the food is
prepared and finally the waiter serves the food.

So in order to order an item from a restaurant you need three logical departments /
services to work together (counter, kitchen, and waiter).

In the same manner in software world, these services are termed as business
services.

Example 2 (from Software World): You go to Amazon to order a book. Different


services like payment gateway, stock system, and delivery system come together to
achieve your task.

All the services are self contained and logical. They are like black boxes. In
short we do not need to understand the internal details of how the business service
works. For the external world it�s just a black box which takes messages and serves
accordingly. For instance the �payment gateway� business service takes the message
�check credit� and gives out output: does the customer have credit or not. For the
�order system� business service �payment gateway� service is a black box.

What are the main characteristics of services in SOA?

Following are the main characteristics of services in SOA:

A) SOA components are loosely coupled. When we say loosely coupled that means every
service is self contained and exists alone logically. For instance we take the
�payment gateway� service and attach it to a different system.

B) SOA services are black boxes. In SOA, services hide there inner complexities.
They only interact using messages and send services depending on those messages. By
visualizing services as black boxes, services become more loosely coupled.

C) SOA service should be self defined: SOA services should be able to define
themselves.

D) SOA services are maintained in a listing: SOA services are maintained in a


central repository. Applications can search the services in the central repository
and use them accordingly.

E) SOA services can be orchestrated and linked to achieve a particular


functionality: SOA services can be used/orchestrated in a plug and play manner. For
instance, the figure �Orchestration� shows two services �Security service� and
�Order processing service�. You can achieve two types of orchestrations from it:
one you can check the user first and then process the order, or vice-versa. Yes,
you guessed right, using SOA we can manage a workflow between services in a loosely
coupled fashion.

What is SOA?

SOA stands for Service Oriented Architecture. SOA is an architecture for building
business applications using loosely coupled services which act like black boxes and
can be orchestrated to achieve a specific functionality by linking together.
What are Contract, Address, and Bindings?

These three terminologies on which SOA service stands. Every service must expose
one or more ends by which the service can be available to the client. End consists
of three important things where, what and how:-

Contract is an agreement between two or more parties. It defines the protocol how
client should communicate with your service. Technically, it describes parameters
and return values for a method.

An Address indicates where we can find this service. Address is a URL, which points
to the location of the service.

Bindings determine how this end can be accessed. It determines how communications
is done. For instance, you expose your service, which can be accessed using SOAP
over HTTP or BINARY over TCP. So for each of these communications medium two
bindings will be created.

Are web-services SOA?

SOA is a thinking, it�s an architectural concept, and web service is one of the
technical approaches to complete it. Web services are the preferred standards to
achieve SOA.

In SOA we need services to be loosely coupled. A web service communicates using the
SOAP protocol which is XML based, which is very loosely coupled. It answers the
what part of the service.

SOA services should be able to describe themselves. WSDL describes how we can
access the service.

SOA services are located in a directory. UDDI describes where we can get the web
service. This is nothing but the implementation of the SOA registry.

What are the main benefits of SOA?

SOA helps create greater alignment between IT and line of business while generating
more flexibility - IT flexibility to support greater business flexibility. Your
business processes are changing faster and faster and global competition requires
the flexibility that SOA can provide.

SOA can help you get better reuse out of your existing IT investments as well as
the new services you�re developing today. SOA makes integration of your IT
investments easier by making use of well-defined interfaces between services. SOA
also provides an architectural model for integrating business partners�, customers�
and suppliers� services into an enterprise�s business processes. This reduces cost
and improves customer satisfaction

What is a reusable Service?

It is an autonomous, reusable, discoverable, stateless functionality that has the


necessary granularity, and can be part of a composite application or a composite
service.

A reusable service should be identified with a business activity described by the


service specifications (design-time contract).

A service�s constraints, including security, QoS, SLA, usage policies, may be


defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP
Web Service), and multiple implementations (the code).

A reusable service should be governed at the enterprise level throughout its entire
lifecycle, from design-time through run-time. Its reuse should be promoted through
a prescriptive process, and that reuse should be measured.

8. Talking about Service identification, which approach between top-down and


bottom-up methodologies encourages re-use and maintenance?

Since the top-down approach is business-driven it can be practical to separate the


different concerns of business and IT on different plans, providing a common ground
in between. So in most situations it the most appropriate if you want to improve
reuse and ROI in the medium/long term.

How can you achieve loose coupling in a SOA?

One strategy for achieving loose coupling is to use the service interface (the WSDL
for a SOAP Web Service) to limit this dependency, hiding the service implementation
from the consumer. Loose coupling can be addressed by encapsulating the service
functionalities in a manner that limits the impact of changes to the implementation
on the service interface. However, at some point you will need to change the
interface and manage versioning without impacting service consumers, in addition to
managing multiple security constraints, multiple transports, and other
considerations

10. Do you recall any pattern which could be used to leverage loose coupling?

The Mediation pattern, using an enterprise service bus (ESB), will help in
achieving this.

Mediation will take loose coupling to the highest level. It will establish
independence between consumers and providers on all levels, including message
formats, message types (including SOAP, REST, XML, binary) and transport protocols
(including HTTP, HTTPS, JMS).

Architecturally speaking this means the separation of concerns between consumers


and providers on the transport, message type, and message format levels.

11. The Service of a SOA should be engineered as stateless or stateful?

Service should be stateless. It may have a context within its stateless execution,
but it will not have an intermediary state waiting for an event or a call-back. The
retention of state-related data must not extend beyond a request/response on a
service. This is because state management consumes a lot of resources, and this can
affect the scalability and availability that are required for a reusable service.

12. What is composition of a Service?

Composition is the process by which services are combined to produce composite


applications or composite services. A composite application consists of the
aggregation of services to produce an enterprise portal or enterprise process. A
composite service consists of an aggregation of services that produces another
reusable service. It�s just like combining electronic components to create a
computer motherboard, and then using that motherboard in a computer. Think of the
motherboard as a reusable composite service that is a component of the computer,
and of the computer as the composite application.

13. How do I integrate my Legacy applications with SOA?


Legacy applications are frequently at the core of your IT environment. With the
right skills and tools, you need to identify discrete elements within your legacy
applications and �wrap� them in standards-based interfaces and use them as services
within your SOA.

14. How does the ESB fits in this picture?

The Enterprise Service Bus is a core element of any SOA. ESBs provide the �any to
any� connectivity between services within your own company, and beyond your
business to connect to your trading partners. But SOA does not stop at just
implementing an ESB. Depending on what your goals are, you may want to use an ESB
to connect other services within your SOA such as information services, interaction
services and business process management services. Additionally, you will need to
consider development services and IT service management services. The SOA reference
architecture can help you lay out an SOA environment that meets your needs and
priorities. The ESB is part of this reference architecture and provides the
backbone of an SOA but it should not be considered an SOA by itself.

15. In SOA do we need to build systems from scratch?

No. If you need to integrate or make an existing system as a business service, you
just need to create loosely coupled wrappers which will wrap your custom systems
and expose the systems functionality in a generic fashion to the external world.

16. What�s the difference between services and components?

Services are logical grouping of components to achieve business functionality.


Components are implementation approaches to make a service. The components can be
in JAVA, C#, C++ but the services will be exposed in a general format like Web
Services.

17. The concept of SOA is nothing new, however why everyone started to talk about
SOA only in the recent years?

Yes, I agree the basic concepts of SOA aren�t new, however some technology
technology changes in the last 10 years made service-oriented architecture more
practical and applicable to more organizations than it was previously. Among this:

1. Universally-accepted industry standards such as XML, its many variants, and Web-
services standards have contributed to the renewed interest in SOA.

2. Data governance frameworks, which are important to a successful SOA


implementation, have well test and refined over the years.

3. A variety of enabling technologies and tools (e.g., modeling, development,


infrastructure/middleware, management, and testing) have matured.

4. Understanding of business and business strategies has grown, shifting attention


from technology to the people, cultural changes, and process that are key business
success factors.

18. What is the most important skill you need to adopt SOA? Technical or Cultural?

Surely cultural. SOA does require people to think of business and technology
differently. Instead of thinking of technology first (e.g., If we implement this
system, what kinds of things can we do with it?), practitioners must first think in
terms of business functions, or services (e.g., My company does these business
functions, so how can I set up my IT system to do those things for me most
efficiently?).It is expected that adoption of SOA will change business IT
departments, creating service-oriented (instead of technology-oriented) IT
organizations.

19. What are the main obstacles in the way of SOA?

1. Shortage of skills.
2. Justifying the ROI of SOA projects.

20. Can I buy an SOA or must I build one?

To move your organization toward greater service orientation, you need to take a
balanced approach to building versus buying. To create the infrastructure for an
SOA, you'll need the right commercial off-the-shelf software that complements
(rather than replaces) your existing IT infrastructure. This is a �buy� statement.
On the �build� side, you may also choose to access know-how and hands-on
involvement to use these software products effectively and get the most out of
them. This infrastructure and the associated tools can help you create the business
services that run on your SOA. Again, there is some �building� associated with
this. So the real answer is that you need a certain measure of both building and
buying.

21. Do I need SOA Governance to get started?

A key aspect of successful SOA implementations is having business involved in the


effort from the beginning. One of the values from SOA you can gain is improved
Business/IT Alignment. SOA Governance supplies the decision rights, processes, and
policies for business and IT to work together. After a service is deployed, there
must be management aspects in place to control and monitor the service. You do not
need a lot of SOA Governance to get started, but enough to work with the level of
Smart SOA you are implementing.

22. What are SOA Entry Points?

To get started quickly with SOA, you need to select an initial project that focuses
on a particular business opportunity that can be completed in a reasonably short
time frame. The SOA Entry points are project areas that have been shown to provide
business value in a timely manner. Each Entry Point provides a key SOA related
solution:

People - collaboration improving productivity by giving employees and partners the


ability to create a personalized, consolidated way to interact with others.

Process - optimize and deploy processes on the fly and monitor the effectiveness of
the altered processes.

Information - improve business insight and reduce risk by using trusted information
services delivered in line and in context.

Reuse - newly created and reusable services are the building blocks of SOA. Reuse
gives users flexibility through reduced cycle time and elimination of duplicate
processes.

Connectivity - although, in the past, connectivity has been a requirement, SOA


brings new levels of flexibility to these linkages. The connectivity provided by
SOA has distinct value on its own and as a building block for additional SOA
initiatives.

What are the common pitfalls of SOA?


One of the most common pitfalls is to view SOA as an end, rather than a means to an
end. Developers who focus on building an SOA solution rather than solving a
specific business problem are more likely to create complex, unmanageable, and
unnecessary interconnections between IT resources.

Another common pitfall is to try to solve multiple problems at once, rather than
solving small pieces of the problem. Taking a top-down approach�starting with major
organization-wide infrastructure investments�often fails either to show results in
a relevant time-frame or to offer a compelling return on investment.

Is SOA really needed on your opinion?

SOA is not for everyone. While SOA delivers significant benefits and cost savings,
SOA does require disciplined enforcement of centralized governance principals to be
successful. For some organizations, the cost of developing and enforcing these
principals may be higher than the benefits realized, and therefore not a sound
initiative.

What is Web Service ?


Answer: Web service is a piece of code which is available on web (internet). That
code of piece can be developed in any language (java, .net etc). A client invokes
the web service by sending xml message and it wait for xml response (synchronously
or asynchronously).

What is WSDL ?
Answer : WSDL stands for Web Services Description Language
WSDL is a document written in XML. The document describes a Web service. It
specifies the location of the service and the operations (or methods) the service
exposes.

Difference between Abstract and Concrete WSDL ?


Answer : Abstract WSDL contains only messages and operations. Abstract WSDL is
used by SOAP Server.

Where as concrete WSDL contains messages, operations and transport


specific information (JMS or Http). This is used by SOAP client.

What is SOAP ?
Answer : SOAP is a simple XML-based protocol to let applications exchange
information over HTTP.
Or more simply: SOAP is a protocol for accessing a Web Service.

What is XML Schema ?


Answer : An XML Schema describes the structure of an XML document.

Difference between Include and Import in context to XML schema ?


Answer : The fundamental difference between include and import is that you must use
import to refer to declarations or definitions that are in a different target
namespace and you must use include to refer to declarations or definitions that are
(or will be) in the same target namespace.

What is targetNamespace's function?


Answer :
<schema xmlns="http://www.w3.org/2001/SchemaXML
targetNamespace="http://www.example.com/name"
xmlns:target="http://www.example.com/name">
The targetNamespace declares a namespace for other xml and xsd documents to refer
to this schema. The target prefix in this case refers to the same namespace and you
would use it within this schema definition to reference other elements, attributes,
types, etc. also defined in this same schema definition

How to refer another XSL from main XSL file ?


Answer : The <xsl:import> element is a top-level element that is used to import
the contents of one style sheet into another.

Note: This element must appear as the first child node of <xsl:stylesheet> or
<xsl:transform>.
Syntax: <xsl:import href="URI"/>

Why we use Call-template inside XSL ?


Answer : Call-template works similar to the apply-template element in XSLT. Both
attach a template to specific XML data. This provides formatting instructions for
the XML. The main difference between the two processes is the call function only
works with a named template. You must establish a 'name' attribute for the template
in order to call it up to format a document.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:call-template name="myTemplate">
< !-- Content: xsl -->
< /xsl:call-template>
< stylesheet>

Difference between XA & Non-XA transaction ?


Answer:
Non-XA (Local Transaction): It involves only one resource. When you use Non-XA
transaction then you can�t involve multiple resources (different databases, Queues,
application servers etc), you can rollback or commit transaction for only one
resource. There is not transaction manager for this transaction as we are dealing
with only one resource at a time.

XA (Global Transaction): It involves more than one resource (different databases,


queues, application servers) all participate in one transaction. It uses two-phase
commit to ensure that all resources either all commit or rollback any particular
transaction. When you have scenario like you need to connect to two different
databases, JMS Queue and application server, in this case you will use XA
transaction that means all resource participate in one transaction only.

What is inline schema ?


Answer: Inline schemas are XML schema definitions included inside XML instance
documents. Like external schema documents, inline schemas can be used to validate
that the instance matches the schema constraints.

what is the use of Pick Activity?


Answer: This activity waits for the occurrence of one event in a set of events and
performs the activity associated with that event. The occurrence of the events is
often mutually exclusive (the process either receives an acceptance or rejection
message, but not both). If multiple events occur, the selection of the activity to
perform depends on which event occurred first. If the events occur nearly
simultaneously, there is a race and the choice of activity to be performed is
dependent on both timing and implementation.

What is role of Mediator?


Answer: Oracle Mediator provides a lightweight framework to mediate between various
components within a composite application. Oracle Mediator converts data to
facilitate communication between different interfaces exposed by different
components that are wired to build a SOA composite application.

Difference between Mediator & OSB?


Answer: OSB is all together different tool which is used for integration like SOA
but the main purpose of OSB is to route the information and same we can do with
mediator. The main difference two is, we go for Mediator when we want to route
information between different components inside composite and go for OSB when we
want to route the information between composites. Mediator is used light weight
mediation and OSB is used for heavy weight mediation.

What is echo in Oracle Mediator?


Answer: The purpose of the echo option is to expose all the Oracle Mediator
functionality as a callable service without having to route it to any other
service. For example, you can call an Oracle Mediator to perform a transformation,
a validation, or an assignment, and then echo the Oracle Mediator back to your
application without routing it anywhere else.

For synchronous operations with a conditional filter, the echo option does not
return a response to the caller when the filter condition is set to false. Instead,
it returns a null response.

The echo option is available for asynchronous operations only if the Oracle
Mediator interface has a callback operation. In this case, the echo is run on a
separate thread.

What is resequencing in Mediator ?


Answer: The resequencing feature of the Oracle Mediator reorders sets of messages
that might arrive to the Oracle Mediator in the wrong sequence. You can define
resequencing for all operations in an Oracle Mediator or for a specific operation.

Resequencing options available in mediator?


Answer:
Standard (based on input Id)
FIFO(based on time)
Best Efforts

What is Schematron Validation?


Answer: Schematron is an XML schema language, and it can be used to validate XML
contents in an XML payload.

Types of routing exist in Mediator?


Answer: Static & Dynamic Routing.

What is Dynamic Routing in Mediator ?


Answer: A dynamic routing rule lets you externalize the routing logic to an Oracle
Rules Dictionary, which in turn enables dynamic modification of the routing logic
in a routing rule.

When you choose to create dynamic routing rule then it creates a new business rule
service component that is wired to the Oracle Mediator service component within the
SOA composite of the Oracle Mediator service component. The business rule service
component includes a rule dictionary. The rule dictionary is a metadata container
for the rule engine artifacts, such as fact types, rulesets, rules, decision tables
and so on.

Inside routing rules, you need to set endpoint URI.


Types of Static Routing rules?
Answer: Sequential & Parallel.

Which static routing rule support fault policy ?


Answer: Parallel rules only.

How many faults can Oracle Mediator service engine throw ?


Answer: Only One

{http://schemas.oracle.com/mediator/faults}mediatorFault.

Types of Adapters ?
Answer: Transactional & Non- Transactional Adapter

Transactional : Database, JMS, AQ, MQ adapters


Non- Transactional: File & FTP adapter

Difference between Read & Sync-Read operation in File & FTP adapter?
Answer: Read is used when Polling is required to be done while SyncRead is used
when you need to read the file in between the flow i.e you want to have a
synchrnous communication.

What is File Debatching ?


Answer: When a file contains multiple messages, you can choose to publish messages
in a specific number of batches. This is referred to as debatching. During
debatching, the file reader, on restart, proceeds from where it left off in the
previous run, thereby avoiding duplicate messages. File debatching is supported for
files in XML and native formats.

What is File ChunkedRead ?


Answer: This is a feature of Oracle File and FTP Adapters that uses an invoke
activity within a while loop to process the target file. This feature enables you
to process arbitrarily large files.

If an invalid payload is provided, then ChunkedRead scenarios do not throw an


exception. When a translation exception (bad record violating the NXSD
specification) is encountered, the return header is populated with the translation
exception message that includes details such as line and column where the error
occurred. All translation errors do not result in a fault. These errors are
manifested as a value in the return header. You must check the
jca.file.IsMessageRejected and jca.file.RejectionReason header values to ascertain
whether an exception has occurred. Additionally, you can also check the
jca.file.NoDataFound header value.

Multiple Directories supported in File & FTP adapter ?


Answer: The Oracle File and FTP Adapters support polling multiple directories
within a single activation. You can specify multiple directories in JDeveloper as
opposed to a single directory. This is applicable to both physical and logical
directories.

What is the use of Trigger file ?


Answer: By default, polling by inbound Oracle File and FTP Adapters start as soon
as the endpoint is activated. However, if you want more control over polling, then
you can use a file-based trigger. Once the Oracle File or FTP Adapter finds the
specified trigger file in a local or remote directory, it starts polling for the
files in the inbound directory.

For example, a BPEL process is writing files to a directory and a second BPEL
process is polling the same directory for files. If you want the second process to
start polling the directory only after the first process has written all the files,
then you can use a trigger file. You can configure the first process to create a
trigger file at the end. The second process starts polling the inbound directory
once it finds the trigger file.

Types of Rejection Message Handler ?


Answer:
Web Service Handler
Custom Java Handler
JMS Queue
File

What is MDS & Why we use MDS in Oracle SOA?


Answer: MDS stands for Oracle MetaData Service. It is central repository inside
Oracle Fusion Middleware. MDS purpose is to provide centralized store where we can
keep, manage & access metadata.

Metadata is often defined as data about data, or in other words, pieces of


information that describes and gives meaning to other information. Typical examples
of metadata used by Oracle Fusion Middleware components are XML files, XSD schema
files, XSL transformations, SCA composites, BPEL processes, WSDLs, business rules,
Oracle ADF pages, JaveServer Pages (JSP), and Oracle ADF task flows, among others.

The same metadata that is used during the design phase of application is used at
application runtime through the metadata service layer. This ensures consistency
through the lifecycle of the application. Metadata such as XML files or XSD schema
files is usually shared among different components. Therefore, it is not only
necessary that those resources can be accessed easily and referenced by all the
components, but it is also important that they remain consistent; a change in the
metadata should be reflected in all the components that are referencing it. Having
only one copy of each metadata resource avoids unnecessary redundancy and
guarantees that the changes are made in only one place.

Types of MDS Repository?


Answer: File-Based & DB Based.

What is File-Based MDS Repository?


Answer: The idea behind file-based repositories is to allow developers to have a
light repository available in their local environment that can be easily adapted
for development and tests; a file-based repository relieves developers of having to
configure and maintain an external database while providing necessary
functionality, such as file referencing and customizations. These kinds of
repositories are easily modified and maintained, since they define a directory
structure similar to any other directory structure inside an operating system. They
can be navigated and altered using common shell commands or any kind of visual file
explorer application. The file-based repository is usually located inside the
Oracle JDeveloper home (JDEV_HOME/integration) if the default configuration is
used.

What is DB-Based MDS Repository?


Answer: Database-based repositories are used in production environments where
robustness is needed. These repositories are created using the Repository Creation
Utility (RCU) application from Oracle. This utility helps with the creation of a
new database schema with its corresponding tables and objects. Repositories can
later be registered or deregistered via the Oracle Enterprise Manager Fusion
Middleware Control console.

Which configuration file store MDS configurations?


Answer: The adf-config.xml file is a configuration file that is used to store MDS
Configurations.

What type of WSDL file we usually keep in MDS?


Answer: We usually keep Abstract WSDL�s only in MDS.

By how many ways we can handle error/fault in BPEL?


Answer: By using Catch blocks & Fault handling framework.

Can we use both Catch block & fault handling framework in one BPEL?
Answer: Yes, we can have both Catch Block & Fault policies files in one BPEL.

Standard Faults in BPEL?


Answer: Below is the list of Standard Faults in BPEL.

-bindingFault, conflictingReceive, conflictingRequest, correlationViolation


-forcedTermination, invalidReply, joinFailure, mismatchedAssignmentFailure
-remoteFault, repeatedCompensation, selectionFailure, uninitializedVariable

Standard Faults in Mediator?


Answer: Mediator has only one standard fault.
{http://schemas.oracle.com/mediator/faults}mediatorFault.

How to get Fault Trace in CatchAll block?


Answer: By using getFaultAsString() function.

Can we have custom faults in BPEL?


Answer: Yes we can create custom faults in BPEL, these faults are usually called
Business Faults and we usually handle it by using specific Catch block.

Can we re throw a fault from Catch blocks?


Answer: Yes, we can re-throw fault from Catch block.

Where we keep fault-policies.xml & fault-binding.xml files?


Answer: We can keep these files either local to project or in MDS and in both the
cases we have to specify the path in composite.xml file.

What is OWSM?
Answer: OWSM stands for Oracle Web Service Manager. Oracle Web Services Manager
offers a comprehensive and easy-to-use solution for policy management and security
of service infrastructure. It is a standalone platform for securing and managing
access to web services.

How do we call secured web service from SOA?


Answer: By using OWSM policies.

Can we generate custom OWSM policies?


Answer: Yes, we can create custom OWSM policies.

By how many ways we can add OWSM policy to Web Service?


Answer:
-Through policy annotations at design time
-Via the Administration Console at runtime
-Via Fusion Middleware Control or WLST

When we call secured web service from SOA, which policy we will use �Client� or
�Service�?
Answer: When we call secured web service from SOA then we add �Client� policy to
reference partner link and when we want to secure our web service then we use
�Service� policy.
Can we use OWSM with Oracle Service Bus?
Answer: Yes, we can access OWSM policies from OSB.

Can we attach OWSM policy to multiple composites to secure composites?


Answer: yes, we can apply one policy to all composites in one domain using policy
sets.

what is the scope of Policy Sets or where we can apply Policy sets ?
Answer:
-Domain � all policy subjects of the specified type in a domain
-Application or Partition�all policy subjects of the specified type in an
application or SOA partition
-Application module or SOA composite�all policy subjects of the specified type in
an application module or SOA composite
-Service or reference�all policy subjects of the specified type in a SOA service or
reference
-Port or component�all policy subjects of the specified type in a port or SOA
component

What is �Minimum Age� in File adapter?


Answer: This parameter specifies the minimum age of files to be retrieved. This
enables a large file to be completely copied into the input directory before it is
retrieved for processing.

What is trigger file in File adapter?


Answer: When we choose �Trigger File� checkbox, file adapter will not poll/read the
file/files from specified directory unless it sees trigger file in trigger file
directory. Once trigger files is there in the trigger file directory, file adapter
will start polling the files.

What is Logical path in File adapter?


Answer: This parameter specifies the logical input directory to be polled. The
parameter is of type String. We provide value of logical path in composite.xml
file.

How to handle errors when we unable to read/poll a file using file adapter if that
file is corrupt?
Answer: We need to use File rejection handler to catch these types of error.

What is Sync-Read in file adapter?


Answer: When we want to read a file in between our BPEL flow then we use this
option.

Can we read remote files using file adapter?


Answer: To read file from remote location we need to use FTP adapter.

What is native format?


Answer: when we want to read the file as it, means we don�t want to transform file
content to XML format then we use native format option.

What is difference between Transient and Durable processes?


Answer: Below is difference between Transient and Durable process
Transient Process: Transient processes do not incur dehydration during their
process execution. If an executing process experiences an unhandled fault or the
server crashes, instances of a transient process do not leave a trace in the
system.
Durable Process: Durable processes incur one or more dehydration points in the
database during execution. Dehydration is triggered by one of the following
activities:
-Receive activity
-OnMessage branch in a pick activity
-OnAlarm branch in a pick activity
-Wait activity Reply activity
-checkPoint() within a <bpelx:exec> activity

Can we set audit level at BPEL level?

Answer: Yes, we can use bpel.config.auditLevel property inside composite.xml file


for BPEL process service component to set audit level for BPEL. This property takes
precedence over audit level settings at the SOA Infrastructure, service engine, and
SOA composite application levels.
<component name="BPELProcess">
<implementation.bpel src="BPELProcess.bpel" />
<property name="bpel.config.auditLevel">Off</property>
</component>

What are disadvantages of Asynchronous process?


Answer: It adds dehydration overhead. This can become a problem if there are large
numbers of asynchronous processes waiting for a response since for every callback,
a new thread/transaction is needed and a callback needs to be matched to a
correlation table which takes longer if there are a lot of open processes. Design
processes to be synchronous as much as possible, avoid nesting of asynchronous
processes also avoid synchronous processes calling asynchronous processes.

Does Oracle recommend batch processing?


Answer: No, we should avoid batch processing in BPEL as much as we can. Batch
processing takes lot of memory and causes a lot overhead for storing audit
information. We should put the work to be done in a separate BPEL process and
optimize this process. Design for worst case scenarios. Implement retry mechanisms
in fault-policies. Implement your own scheduling mechanism to spread the load, if
no message level processing is needed, ODI might be an option.

What is idempotent activity?


Answer: An idempotent activity is an activity that can be retried.
This property has the following values:
-False: Activity is dehydrated immediately after execution and recorded in the
dehydration store. When idempotent is set to False, it provides better failover
protection, but may impact performance if the BPEL process accesses the dehydration
store frequently.

-True (default): If Oracle BPEL Server fails; it performs the activity again after
restarting. This is because the server does not dehydrate immediately after the
invoke and no record exists that the activity executed. Some examples of where this
property can be set to True are: read-only services (for example,
CreditRatingService) or local EJB/WSIF invocations that share the instance's
transaction.

What is nonBlockingInvoke property?


Answer: This property is used when we use Flow or Flow N in BPEL. By default,
Oracle BPEL Process Manager executes in a single thread by executing the branches
sequentially instead of in parallel. When this property is set to True, the process
manager creates a new thread to perform each branch's invoke activity in parallel.
This property is applicable to both durable and transient processes.

What is streamResultToTempFile property in Mediator?


Answer: Until 11g Release 1 11.1.1.3, for XSLT operations in Oracle Mediator, the
result was cached into memory as a whole document in binary XML format. For large
document processing, this caused out-of-memory errors. Starting with 11g Release 1
11.1.1.4, the streamResultToTempFile property is available. This property enables
XSLT results to be streamed to a temporary file and then loaded from the temporary
file. Set streamResultToTempFile to yes when processing large payload using XSLT.
The default value is no.
<component name="Mediator1">
<implementation.mediator src="Mediator1.mplan"/>
<property name="streamResultToTempFile">yes</property>
</component>

This property is recommended only for processing large payloads. Enabling this
property could reduce performance for normal payloads.

Which property we have to use to process JMS, AQ or MQ messages on one node in


cluster environment.
Answer: we use singleton property in composite.xml file.
<property name="singleton" type="xs:boolean" many="false"
override="may">true</property>

Which property we need to use to control number of message processed from MQ at one
time?
Answer: we need to use InboundThreadCount property to control number of messages
which MQ adapter pick from MQ.

Which property we need to use with singleton property to process the message in
sequential order for AQ?
Answer: We need to set activtionInstances=1 along with singleton property for AQ
adapter in cluster environment to process message in sequential order.

Can we set IncludeFiles property dynamically for file/ftp adapter?


Answer: No, by default we can�t set IncludeFiles property at run time. But Oracle
provided one patch (patchId=10380349), if we apply that then we can use set this
property at run time.

What is delay property for AQ adapter?


Answer: This property is used when we don�t want to make the message visible to
outside world for some time. Message is visible and ready to read once that delay
time expire message. This property is set at Invoke for AQ adapter.

What is adapter.jms.receive.threads property for JMS adapter?


Answer: To improve performance, the adapter.jms.receive.threads property can be
tuned for an adapter service. The default value is 1, but multiple inbound threads
can be used to improve performance. When specified, the value of
adapter.jms.receive.threads is used to spawn multiple inbound poller threads.

What is UseStaging property in file and FTP adapter?


Answer: If the parameter is set to true, then the outbound Oracle File or FTP
Adapter writes translated data to a staging file and later streams the staging file
to the target file. If the parameter is set to false, then the outbound Oracle File
or FTP Adapter does not use an intermediate staging file. It is defined in
Outbound JCA File.

Q. What is SOA?
Service Oriented Architecture (SOA) is used to develop Enterprise applications by
using a collection of services which communicates each other. Service-Oriented
Architecture (SOA) is a set of principles and methodologies for designing and
developing software in the form of interoperable services.
Q. Principles of SOA?
1. Loose coupling
2. Re-usability
3. Interoperability
4. Flexible

Q. What is the difference between 10g and 11g?


SCA architecture was followed in 11g and not in 10g
In 11g you can put all your project SOA components in composite.xml file and deploy
as a single deployment unit to single server, where in 10g you have to deploy each
component to the respective server (i.e. ESB to ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM
are brought into one place in 11g using SCA composite concept.
The major difference between 10g & 11g would be the app server container. 10g by
default runs onOC4J while 11g runs on Web logic Server.
In 10g every BPEL is a separate project, but in 11g several components can make 1
project as SCA.
In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager
contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA
Suite.

Q. Is Oracle SOA same as Oracle Fusion Middleware?


No because SOA is one of the parts in Fusion middleware and SOA behaves like user
interface where as Fusion is big platform

Q. What is SCA?
Service Component Architecture (SCA) provides a programming model for building
applications and systems based on a Service Oriented Architecture. SCA is a model
that aims to encompass a wide range of technologies for service components and for
the access methods which are used to connect them.

Q. What is the SOA Suite 11g Components?


1. Oracle Adapters
2. Oracle Mediator
3. Business Events and Events Delivery Network
4. Oracle Business Rules
5. Human Workflow
6. Oracle Business Activity Monitoring
7. Oracle Enterprise Manager

Q. What is choreography? How does it differ from orchestration?


In choreography there is no business process to control the integration between the
systems; each system will directly integrate with one another in sequence where as
in Orchestration there is a business process which controls all the services
(source/Target) which is part of the integration.

Q. What are the different design patterns in SOA?


1. Synchronous
2. Asynchronous Fire and Forget
3. Asynchronous Delayed Response.

Q. In how many ways can a process be deployed?


1. Using Jdeveloper
2. Through Enterprise Manger Console
3. Through Weblogic Scripts.

Q. What are dspMaxThread and recieverThread properties? Why are they important?
Receiver Threads property specifies the maximum number of MDBs that process Async
across all domains. Whereas the dspMaxThread are the maximum number of MDBs that
process Async and threads that operate across a domain. So, we need to ensure that
the dspMaxThread value is not greater than Receiver Threads.

Q. How does a Async request run in the backend?


The sequences of events involved in the delivery of invoke messages is as follows:
The client posts the message to the delivery service.
The delivery service saves the invocation message to the dlv_message table. The
initial state of the message is 0 (undelivered).
The delivery service schedules a dispatcher message to process the invocation
message asynchronously.
The dispatcher message is delivered to the dispatcher through the afterCompletion()
call. Therefore, the message is not delivered if the JTA transaction fails.
The dispatcher sends the JMS message to the queue. Places a very short JMS message
in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS
message triggers the Worker Bean in the downstream step.
This message is then picked up by a Worker Bean MDB, which requests the dispatcher
for work to execute. If the number of Worker Bean MDBs currently processing
activities for the domain is sufficient, the dispatcher module may decide not to
request another MDB.
MDB fetches the invocation message from the dispatcher.
MDB passes the invocation message to Oracle BPEL Server, which updates the
invocation message state to 1 (delivered), creates the instance, and executes the
activities in the flow until a breakpoint activity is reached.

Q. How to increase the transaction timeouts in SOA?


For the transaction timeout needs to be increased, all the below settings timeout
value needs to be changed to the expected Timeout value.
1. JTA
2. Engine Bean
3. Delivery Bean

Q. Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if yes
how?
Yes it is possible.
To automatically maintain long-running asynchronous processes and their current
state information in a database while they wait for asynchronous callbacks, you use
a database as a dehydration store. Storing the process in a database preserves the
process and prevents any loss of state or reliability if a system shuts down or a
network problem occurs. This feature increases both BPEL process reliability and
scalability. You can also use it to support clustering and failover.

Q. What is SOA governance? What are its functions?


Service-Oriented Architecture (SOA) governance is a concept used for activities
related to exercising control over services in an SOA Some key activities that are
often mentioned as being part of SOA governance are:
Managing the portfolio of services: This includes planning development of new
services and updating current services.
Managing the service lifecycle: This is meant to ensure that updates of services do
not disturb current services to the consumers. Using policies to restrict behavior:
Consistency of services can be ensured by having the rules applied to all the
created services. Monitoring performance of services: The consequences of service
downtime or underperformance can be severe because of service composition.
Therefore action can be taken instantly when a problem occurs by monitoring service
performance and availability.

Q. What is end point virtualization?


Generally a service bus is used for endpoint virtualization and in 11g stack;
Oracle Service Bus (OSB) is the primary service bus. In exposed proxy�s message
flow, it can route the request to any of your environment�s actual (physical)
service on the basis of whatever logic.
Mediator can also be used to expose the service and in mediator routing rule, it
can be routed to actual service.

Q. What are DVM�s and how are they helpful in SOA?


DVM-Domain Value Map is static mappings between a source and target system which
can be used in transformations. The value can be changed via SOA composer.

Q. What is the difference between XREF and DVM?


XREF- It is dynamic since the values to the XREF can be populated dynamically and
it is stored in XREF_DATA table in SOA Dehydration store.
DVM- Domain Value Map is static mappings between a source and target system which
can be used in transformations.

Q. What is Dehydration store?


Dehydration store is the database where the instances get stored when it gets
dehydrated by the process on the occurrence of non-idempotent activities and also
stores the information on the long running processes.

Q. What is Decision service?


Oracle SOA Suite provides support for Decision components that support Oracle
Business Rules. A Decision component is a mechanism for publishing rules and rule
sets as a reusable service that can be invoked from multiple business processes.
These rules can be changed without redeploying the code.

Q. Why we use BPEL and OSB?


OSB is the light-weight service bus wherever there is not much business logic
involves and there is need to just get the message routed between the systems OSB
is used where as when there is more business logic involves in the process, then
BPEL will be used.

Q. What is MDS?
MDS �Metadata Store
Wsdl and Schemas to be used in the process can be published to the MDS and get it
used in the code by referring the artifacts from the MDS

Advantages:
1. JAR (Deployment unit) size will be reduced.
2. Duplication of the artifacts can be avoided between the services.

Q. What is a XA data source? How it differs from a non-XA data source?


An XA transaction involves a coordinating transaction manager, with one or more
databases (or other resources, like JMS) all involved in a single global
transaction. Non-XA transactions have no transaction coordinator, and a single
resource is doing all its transaction work itself (this is sometimes called local
transactions).

Checkout Oracle SOA Tutorials

Q. How can we secure our web services using Oracle SOA Suite?
When accessing the services should be restricted to the group,then service should
be secured via WSM (Web service Manager).

Q. How to deploy an XSL file without deployment of BPEL Process?


We will directly deploy the XSLT, options: �
1. Using ANT script by file replacement in TMP folder.
2. By creating a folder in BPEL PM Installation folder and specifying its location
in our BPEL code with http call and replacing our xslt to that location.
Q. What is HA File and FTP Adapters?
In the clustered environment, File and FTP adapters should be used as HA (High-
Availability)
Inbound: It is controlled by Control Files and avoids the race between the manages
servers in reading the files where the reference of the files read by the managed
servers will be maintained in the control directory.
Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and
this avoids duplicated been written to the same file when all the managed servers
in the clusters process the same messages.

Q. What is singleton Property in SOA?


In the clustered environment when the processing of the message should happen via
only one SOA managed server, then the property singleton needs to be defined at the
adapter level.

Q. What is a pick activity? Can I have a pick activity with no onMessage branch?
Pick activity picks the messages from service (Source) which has multiple
operations or the BPEL process needs to receive the messages from multiple source
system. Pick activity should have at least on Message branch.

Q. What is a flow activity? What is a flowN activity and how does it leverages the
flow activity?
Flow activity is used, when parallel execution of the flow is needed and to use
this property �non blocking invoke should be set as true �at the partner link level
and no. of execution of parallel flow is defined and static. Where as in Flown the
no. of execution of parallel flow is not static and it is determined during run
time.

Q. What do you mean by non-idempotent activity? Which all activities are non-
idempotent by default?
Activities like Pick, Wait, receive, reply and checkpoint() are called non-
Idempotent activity and during the execution of the process whenever these
activities are encountered then it gets dehydrated to the dehydration store.

Q. How can we embed or use a java code in BPEL?


Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be
used.

Q. How does pick activity differ from a receive activity?


Pick activity can act as a multiple receive activity in some business scenarios. If
we have two inbound operations and both can trigger the bpel process then we will
go with pick activity as we can�t have two receive activity with create Instance
box checked.

Q. How can we make a partner link dynamic?


If we have to send the request to different service which has the same wsdl then
dynamic partner link will be used and using addressing schema we can set the
endpoint dynamic to send the request to the desired service.

Q. What is a nonBlockingAll property?


Non- blocking invoke is used when Parallel flow needs to be executed where new
thread will be created for each invoke a activity and which will execute
simultaneously.

Q. What is getPreference property? How do we set it and what advantage it provides?


Hard coding is not a good practice, so to avoid hard coding preference variable can
be used and the value of the preference variable is accessed using
getPreference().The preference variable value can be changed without re-deploying
the code via em console MBean property.

Q. How can we improve the performance of an XSL file?


By avoiding use of various if statements and using choose and by using for-each
group in place of for-each.

Q. How do we handle transactions in BPEL?


Property needs to be defined to start the new transaction or to continue with the
same transactions
Property Name: Transaction and if this has value as required then the BPEL process
will be continued in the same transaction where as if the value is defined as
requiresnew then it will start the new transaction.

Q. What are transient and durable BPEL processes?


Durable:-It is long running process and initiated through a one-way invocation and
do incur one or more dehydration points in the database during execution Ex:
Asynchronous
Transient:-It is short-lived process, request-response style processes and do not
incur dehydration during their process execution Ex: Synchronous.

Q. When u will go for Sync process?


Whenever the services returns the response in few seconds, it is recommended to go
for synchronous BPEL process if not the BPEL process should be Asynchronous the
reason is calling application can�t proceed further in case of synchronous process.

Q. What is a syncFileRead operation? Is a inbound or a outbound operation? Can my


process begin with syncFileRead operation?
When file has to be read in the mid of the BPEL process, then we will use
syncFileRead Operation, means some process should initiate the file read process
and it is an outbound operation and process can�t begin with Sync File read.

Q. Can we use a File Adapter to get a file without reading its content?
Yes, by selecting the Do not read file content check box in the Jdeveloper wizard
while configuring the �Read operation.�

Q. How to increase performance increase in bpel (Db Adapter/file adapter)?


We can increase the performance by writing indexes and sequences.
(Or) Go to application server �-> Configurations ��> Change Xml file

Q. Explain error handling in BPEL and what is a error handling framework? How does
a error handling framework better than simple error handling in BPEL?
EHF �Whenever any error thrown by the BPEL process/Mediator then EHF will check
whether exist in Fault-Bindings.xml files and if so then the action in the Fault-
Policy.xml file will be taken and if the action is not found then the fault will
the thrown and it will be handled in the catch block.

Q. How do we resubmit a faulted process?


Scenario A: The BPEL code uses a fault-policy and a fault is handled using the
�ora-human-intervention� activity, then the fault is marked as Recoverable and the
instance state is set to �Running�.
Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown
using the �ora-rethrow-fault� action, then the fault is marked as Recoverable and
the instance state is set to �Faulted�; provided the fault is a recoverable one
(like URL was not available).

Q. Predefined errors in BPEL?


1. Custom errors
2. Timed out errors
3. BPM errors
4. Validation Errors

Q. What is a throw activity? What it is?


Throw activity will explicitly throw the fault and this fault will get caught by
the catch block and the corresponding actions will get executed.

Q. What is Web service?


Web services are application components, which are self-contained and self-
describing and provide services based on the open protocol communication (i.e. SOAP
UI, HTTP over the net).

Q. Difference between URI and URL?


A URI is an identifier for some resource, but a URL gives you specific information
as to obtain that resource. A URI is a URL and as one commenter pointed out, it is
now considered incorrect to use URL when describing applications. Generally, if the
URL describes both the location and name of a resource, the term to use is URI.
Since this is generally the case most of us encounter every day, URI is the correct
term.

Q. What is Mediator?
The Mediator is in charge of interconnecting, within an SOA composite application,
components that expose different interfaces. In addition, the Mediator can perform
duties such as filtering and making routing decisions.
The composite editor in Jdeveloper gives you the flexibility to define the
interface now, to choose an existing interface, or to define the interface later as
you wire components to the Mediator.
Transforming data from one representation to another is, along with routing, one of
the key functions of the Mediator.

Q. Difference between ESB and Mediator?


In 10g for routing, separate router need to keep along with ESB for routing and
filter expressions.
Where as in 11g mediator contains routing rules and filter expressions itself.

Q. What is the difference between concrete and abstract wsdl?


Concrete: Besides the information about how to communicate to the web service, it
the information on where the service exist. It has Bindings (Protocol the message
should be sent) and Services(has endpoint for each bindings) .
Abstract: It has information about how to communicate to the web service like types
(Schema), Message (input and output messages service accepts) ,Operations
(operation that can be performed on this service) and port Type.

Q. In SOA do we need to build systems from scratch?


No. If you need to integrate or make an existing system as a business service, you
just need to create loosely coupled wrappers which will wrap your custom systems
and expose the systems functionality in a generic fashion to the external world.

Q. Can you explain business layers and plumbing layers in SOA?


In SOA we can divide any architecture in two layers. The first which has direct
relevance to the business as it carries out business functions. The second layer is
a technical layer which talks about managing computer resources like database, web
server, etc. This division is needed to identify a service. Consider the figure
�Simple order system�. It has various components which interact with each other to
complete the order system functionality.

Q. What�s the difference between services and components?


Services are logical grouping of components to achieve a business functionality.
Components are implementation approaches to make a service. The components can be
in Java, C#, C++ but the services will be exposed in a general format like Web
Services.

Q. Can you describe the complete architecture of SOA?


Figure �Architecture of SOA� shows a complete view of an SOA. Please note this
architecture diagram is not tied up with implementations of Microsoft, IBM etc.
It�s a general architecture. Any vendor who implements SOA needs to fulfill the
below SOA components. How they do it is completely their own technological
implementation.

Explore Oracle SOA Sample Resumes! Download & Edit, Get Noticed by Top Employers!
Download Now!
Q. What are ends, contract, address, and bindings?
These are the three terminologies on which SOA service stands. Every service must
expose one or more ends by which the service can be made available to the client.
The End consists of three important things: where, what, and how:
1. Contract(What): Contract is an agreement between two or more parties. It defines
the protocol how clients should communicate with your service. Technically, it
describes parameters and return values for a method.
2. Address(Where): An Address indicates where we can find this service. Address is
a URL, which points to the location of the service.
3. Binding(How): Bindings determine how this end can be accessed. It determines how
communication is done. For instance, you expose your service, which can be accessed
using SOAP over HTTP or binary over TCP. So for each of these communication
mediums, two bindings will be created.

Q. Are web-services SOA?


SOA is a thinking, it�s an architectural concept, and web service is one of the
technical approaches to complete it. Web services are the preferred standards to
achieve SOA.
1. In SOA we need services to be loosely coupled. A web service communicates using
the SOAP protocol which is XML based, which is very loosely coupled. It answers the
what part of the service.
2. SOA services should be able to describe themselves. WSDL describes how we can
access the service.
3. SOA services are located in a directory. UDDI describes where we can get the web
service. This is nothing but the implementation of the SOA registry.

Question1. What Is Soa?


Answer :

SOA is an architecture for building applications using reusable, interoperable


services which have well defined business functionalities and can be orchestrated
to achieve a specific functionality by utilizing them together.

Question2. What Are The Main Features Of Soa?


Answer :

SOA separates business functions into services (endpoints), which are made
accessible over a network in order to allow users to combine and reuse them in
their applications.
The SOA services can be developed in different languages and OS�es as long as they
follow the SOA principles.
Services are unassociated and loosely coupled units that do not directly rely on
each other for their full functioning. Rather than services embedding calls to each
other in their source code, they use defined protocols that describe how services
pass and parse messages using description metadata.
Orchestration is a process where business functionality from various services are
combined in a system fully aware of all available services and the associated
metadata that defines these services and their characteristics.
Question3. Mention The Soa Principles?
Answer :

SOA principles were first defined by Thomas Erl. These 8 principles are underlying
to any good architecture that utilizes SOA design to build their products and
services:

Standardized service contract: Services adhere to a communications agreement, as


defined collectively by one or more service-description documents.
Service loose coupling: Services maintain a relationship that minimizes
dependencies and only requires that they maintain an awareness of each other.
Service abstraction: Beyond descriptions in the service contract, services hide
logic from the outside world.
Service re usability: Logic is divided into services with the intention of
promoting reuse.
Service autonomy: Services have control over the logic they encapsulate.
Service statelessness: Services minimize resource consumption by deferring the
management of state information when necessary
Service dis coverability: Services are supplemented with communicative meta data by
which they can be effectively discovered and interpreted.
Service composability: Services are effective composition participants, regardless
of the size and complexity of the composition.
Question4. What Are The Main Benefits Of Soa?
Answer :

SOA helps create greater alignment between IT and line of business while generating
more flexibility � IT flexibility to support greater business flexibility. Your
business processes are changing faster and faster and global competition requires
the flexibility that SOA can provide.
SOA can help you get better reuse out of your existing IT investments as well as
the new services you�re developing today. SOA makes integration of your IT
investments easier by making use of well-defined interfaces between services. SOA
also provides an architectural model for integrating business partners�, customers�
and suppliers� services into an enterprise�s business processes. This reduces cost
and improves customer satisfaction.
Question5. How Do You Transform An Enterprise Business In A Soa?
Answer :

Transforming an enterprise business to Service Oriented Architecture includes


obtaining standardized service contract, service reusability, service abstraction,
service loose coupling, service compos ability and so on.

Of course SOA is an architectural model agnostic to technology platforms and every


enterprise can pursue the strategic goals associated with service-oriented
computing using different technologies. However in the current marketplace, Web
Services are probably the technology platform that better suits SOA principles and
are most used to get to this architecture.

Question6. What Is A Reusable Service?


Answer :

It is an autonomous, reusable, discoverable, stateless functionality that has the


necessary granularity, and can be part of a composite application or a composite
service.A reusable service should be identified with a business activity described
by the service specifications (design-time contract).

A service�s constraints, including security, QoS, SLA, usage policies, may be


defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP
Web Service), and multiple implementations (the code).

A reusable service should be governed at the enterprise level throughout its entire
lifecycle, from design-time through run-time. Its reuse should be promoted through
a prescriptive process, and that reuse should be measured.

Question7. Which Approach Between Top-down And Bottom-up Methodologies Best Fits
With A Soa In Regards Of Service Identification?
Answer :

SOA is an architectural style. And building architecture is a Top-Down process and


not Bottom-Up. The most compelling reason for saying that Web Services are not SOA
is that they are technical stuff, often built with a Bottom-Up approach. Building a
Bottom-UP SOA is a wrong approach and might lead to an architecture with a lot of
redundancy or maybe no architecture at all.

However, the result of building SOA only Top-Down could be perceptual Architecture
building with no run time artifacts, so some SOA efforts should be Bottom-Up
efforts. To sum up: Initially SOA is a Top-Down approach but pragmatic approach
requires mixing Top-Down approach with Bottom-Up approach.

Question8. How Can You Achieve Loose Coupling In A Soa?


Answer :

One strategy for achieving loose coupling is to use the service interface (the WSDL
for a SOAP Web Service) to limit this dependency, hiding the service implementation
from the consumer. Loose coupling can be addressed by encapsulating the service
functionalities in a manner that limits the impact of changes to the implementation
on the service interface.

However, at some point you will need to change the interface and manage versioning
without impacting service consumers, in addition to managing multiple security
constraints, multiple transports, and other considerations.

Question9. What Are The Common Pitfalls Of Soa?


Answer :

One of the most common pitfalls is to view SOA as an end, rather than a means to an
end. Developers who focus on building an SOA solution rather than solving a
specific business problem are more likely to create complex, unmanageable, and
unnecessary interconnections between IT resources.

Another common pitfall is to try to solve multiple problems at once, rather than
solving small pieces of the problem. Taking a top-down approach�starting with major
organization-wide infrastructure investments�often fails either to show results in
a relevant timeframe or to offer a compelling return on investment.

Question10. What Is The Most Important Skill Needed To Adopt Soa ?technical Or
Cultural?
Answer :

Surely cultural. SOA does require people to think of business and technology
differently. Instead of thinking of technology first (e.g., If we implement this
system, what kinds of things can we do with it?), practitioners must first think in
terms of business functions, or services (e.g., My company does these business
functions, so how can I set up my IT system to do those things for me most
efficiently?).

It is expected that adoption of SOA will change business IT departments, creating


service-oriented (instead of technology-oriented) IT organizations.

Question11. In Soa Do We Need To Build Systems From Scratch?


Answer :

No. If you need to integrate or make an existing system as a business service, you
just need to create loosely coupled wrappers which will wrap your custom systems
and expose the systems functionality in a generic fashion to the external world.

Question12. Can You Explain Business Layers And Plumbing Layers In Soa?
Answer :

In SOA we can divide any architecture in two layers. The first which has direct
relevance to the business as it carries out business functions. The second layer is
a technical layer which talks about managing computer resources like database, web
server, etc. This division is needed to identify a service. Consider the figure
�Simple order system�. It has various components which interact with each other to
complete the order system functionality.

The simple order system can be divided in to two layers. You can see the plumbing
layer consisting of data access layer, AJAX, and yes more technical stuff.

Question13. What�s The Difference Between Services And Components?


Answer :

Services are logical grouping of components to achieve a business functionality.


Components are implementation approaches to make a service. The components can be
in Java, C#, C++ but the services will be exposed in a general format like Web
Services.

Question14. Can You Describe The Complete Architecture Of Soa?


Answer :

Please note this architecture diagram is not tied up with implementations of


Microsoft, IBM etc. It�s a general architecture. Any vendor who implements SOA
needs to fulfill the below SOA components. How they do it is completely their own
technological implementation.

The main goal of SOA is to connect disparate systems. In order that these disparate
systems work they should message each other. ESB (Enterprise Service Bus) acts like
a reliable post office which guarantees the delivery of messages between systems in
a loosely coupled manner. ESB is a special layer which delivers messages between
applications. In the figure we have shown a huge plump pipe. It�s not hardware or
some wire etc. It�s a group of components/software which helps you send and receive
messages between the disparate applications. Do not try to code your own ESB, you
can think of buying one from Microsoft, IBM, Oracle, Progress, etc.

Question15. What Are Ends, Contract, Address, And Bindings?


Answer :

These are the three terminologies on which SOA service stands. Every service must
expose one or more ends by which the service can be made available to the client.
The End consists of three important things: where, what, and how:

Contract (What): Contract is an agreement between two or more parties. It defines


the protocol how clients should communicate with your service. Technically, it
describes parameters and return values for a method.
Address (Where): An Address indicates where we can find this service. Address is a
URL, which points to the location of the service.
Binding (How): Bindings determine how this end can be accessed. It determines how
communication is done. For instance, you expose your service, which can be accessed
using SOAP over HTTP or binary over TCP. So for each of these communication
mediums, two bindings will be created.
Question16. Are Web-services Soa?
Answer :

SOA is a thinking, it�s an architectural concept, and web service is one of the
technical approaches to complete it. Web services are the preferred standards to
achieve SOA.

In SOA we need services to be loosely coupled. A web service communicates using the
SOAP protocol which is XML based, which is very loosely coupled. It answers the
what part of the service.
SOA services should be able to describe themselves. WSDL describes how we can
access the service.
SOA services are located in a directory. UDDI describes where we can get the web
service. This is nothing but the implementation of the SOA registry.

What are the main benefits of SOA ?

SOA helps create greater alignment between IT and line of business while generating
moreflexibility � IT flexibility to support greater business flexibility. Your
business processes arechanging faster and faster and global competition requires
the flexibility that SOA can provide.SOA can help you get better reuse out of your
existing IT investments as well as the newservices you�re developing today. SOA
makes integration of your IT investments easier bymaking use of well-defined
interfaces between services. SOA also provides an architecturalmodel for
integrating business partners�, customers� and suppliers� services into an
enterprise�sbusiness processes. This reduces cost and improves customer
satisfaction

What is a reusable Service?

It is an autonomous, reusable, discoverable, stateless functionality that has the


necessarygranularity, and can be part of a composite application or a composite
service.A reusable service should be identified with a business activity described
by the servicespecifications (design-time contract).A service�s constraints,
including security, QoS, SLA, usage policies, may be defined bymultiple run-time
contracts, multiple interfaces (the WSDL for a SOAP Web Service), andmultiple
implementations (the code).A reusable service should be governed at the enterprise
level throughout its entire lifecycle,from design-time through run-time. Its reuse
should be promoted through a prescriptiveprocess, and that reuse should be
measured.

What are the main benefits of SOA ?

SOA is now used in all the enterprise level and it�s easy to implement . The
business flexibility is the biggest advantage
SOA helps create greater alignment between IT and line of business while generating
more flexibility � IT flexibility to support greater business flexibility. Your
business processes are changing faster and faster and global competition requires
the flexibility that SOA can provide.SOA can help you get better reuse out of your
existing IT investments as well as the new services you�re developing today. SOA
makes integration of your IT investments easier by making use of well-defined
interfaces between services. SOA also provides an architectural model for
integrating business partners�, customers� and suppliers� services into an
enterprise�s business processes. This reduces cost and improves customer
satisfaction

While identifying services which one is better � top-down and bottom-up


methodologies encourages re-use and maintenance?

Since the top-down approach is business-driven it can be practical to separate the


different concerns of business and IT on different plans, providing a common ground
in between. So in most situations it the most appropriate if you want to improve
reuse and ROI in the medium/longterm.

How can you achieve loose coupling in a SOA ?

One strategy for achieving loose coupling is to use the service interface (the WSDL
for a SOAP Web Service) to limit this dependency, hiding the service implementation
from the consumer. Loose coupling can be addressed by encapsulating the service
functionalities in a manner that limits the impact of changes to the implementation
on the service interface. However, at some point you will need to change the
interface and manage versioning without impacting service consumers, in addition to
managing multiple security constraints, multiple transports, and other
considerations

Do you recall any pattern which could be use to leverage loose coupling ?

The Mediation pattern, using an enterprise service bus (ESB), will help in
achieving this. Mediation will take loose coupling to the highest level. It will
establish independence between consumers and providers on all levels, including
message formats, message types (including SOAP, REST, XML, binary) and transport
protocols (including HTTP, HTTPS, JMS).Architecturally speaking this means the
separation of concerns between consumers and providers on the transport, message
type, and message format levels.

The Service of a SOA should be engineered as stateless or stateful ?

Service should be stateless. It may have a context within its stateless execution,
but it will not have an intermediary state waiting for an event or a call-back. The
retention of state-related data must not extend beyond a request/response on a
service. This is because state management consumes a lot of resources, and this can
affect the scalability and availability that are required for a reusable service.

Q1. What is SOA?


Service Oriented Architecture (SOA) is used to develop Enterprise applications by
using a collection of services which communicates each other. Service-Oriented
Architecture (SOA) is a set of principles and methodologies for designing and
developing software in the form of inter operable services.

Q2. What is the SOA Suite 11g Components?

Oracle Adapters
Oracle Mediator
Business Events and Events Delivery Network
Oracle Business Rules
Human Workflow
Oracle Business Activity Monitoring
Oracle Enterprise Manager
Q3. What are the different design patterns in SOA?

Synchronous
Asynchronous Fire and Forget
Asynchronous Delayed Response.
Q4. Enlist the Principles of SOA?
1. Loose coupling
2. Re-usability
3. Interoperability
4. Flexible

Q5. What is singleton Property in SOA?


In the clustered environment when the processing of the message should happen via
only one SOA managed server, then the property singleton needs to be defined at the
adapter level.

Q6. What is SCA?


Service Component Architecture (SCA) provides a programming model for building
applications and systems based on a Service Oriented Architecture. SCA is a model
that aims to encompass a wide range of technologies for service components and for
the access methods which are used to connect them.

Q7. What is SOA governance? What are its functions?


Service-Oriented Architecture (SOA) governance is a concept used for activities
related to exercising control over services in an SOA Some key activities that are
often mentioned as being part of SOA governance are:
Managing the portfolio of services: This includes planning development of new
services and updating current services.
Managing the service lifecycle: This is meant to ensure that updates of services do
not disturb current services to the consumers. Using policies to restrict behavior:
Consistency of services can be ensured by having the rules applied to all the
created services. Monitoring performance of services: The consequences of service
downtime or underperformance can be severe because of service composition.
Therefore action can be taken instantly when a problem occurs by monitoring service
performance and availability.

Q8. What is the difference between 10g and 11g?


SCA architecture was followed in 11g and not in 10g
In 11g you can put all your project SOA components in composite.xml file and deploy
as a single deployment unit to single server, where in 10g you have to deploy each
component to the respective server (i.e. ESB to ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM
are brought into one place in 11g using SCA composite concept.
The major difference between 10g & 11g would be the app server container. 10g by
default runs onOC4J while 11g runs on Web logic Server.
In 10g every BPEL is a separate project, but in 11g several components can make 1
project as SCA.
In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager
contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA
Suite.

Q9. Is Oracle SOA same as Oracle Fusion Middleware?


No because SOA is one of the parts in Fusion middleware and SOA behaves like user
interface where as Fusion is big platform

Q10. What is choreography? How does it differ from orchestration?


In choreography there is no business process to control the integration between the
systems; each system will directly integrate with one another in sequence where as
in Orchestration there is a business process which controls all the services
(source/Target) which is part of the integration.

Q11. In how many ways can a process be deployed?


1. Using Jdeveloper
2. Through Enterprise Manger Console
3. Through Weblogic Scripts.

Q12. What is end point virtualization?


Generally a service bus is used for endpoint virtualization and in 11g stack;
Oracle Service Bus (OSB) is the primary service bus. In exposed proxy�s message
flow, it can route the request to any of your environment�s actual (physical)
service on the basis of whatever logic.
Mediator can also be used to expose the service and in mediator routing rule, it
can be routed to actual service.

Q13. What is MDS?


MDS �Metadata Store
Wsdl and Schemas to be used in the process can be published to the MDS and get it
used in the code by referring the artifacts from the MDS
Advantages:
1. JAR (Deployment unit) size will be reduced.
2. Duplication of the artifacts can be avoided between the services.

Q14. What is Dehydration store?


Dehydration store is the database where the instances get stored when it gets
dehydrated by the process on the occurrence of non-idempotent activities and also
stores the information on the long running processes.

Q15. What is Decision service?


Oracle SOA Suite provides support for Decision components that support Oracle
Business Rules. A Decision component is a mechanism for publishing rules and rule
sets as a reusable service that can be invoked from multiple business processes.
These rules can be changed without redeploying the code.

Q16. What are DVM�s and how are they helpful in SOA?
DVM-Domain Value Map is static mappings between a source and target system which
can be used in transformations. The value can be changed via SOA composer.

Q17. What is the difference between XREF and DVM?


XREF- It is dynamic since the values to the XREF can be populated dynamically and
it is stored in XREF_DATA table in SOA Dehydration store.
DVM- Domain Value Map is static mappings between a source and target system which
can be used in transformations.

Q18. How to increase the transaction timeouts in SOA?


For the transaction timeout needs to be increased, all the below settings timeout
value needs to be changed to the expected Timeout value.
1. JTA
2. Engine Bean
3. Delivery Bean

Q19. Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if
yes how?
Yes it is possible.
To automatically maintain long-running asynchronous processes and their current
state information in a database while they wait for asynchronous callbacks, you use
a database as a dehydration store. Storing the process in a database preserves the
process and prevents any loss of state or reliability if a system shuts down or a
network problem occurs. This feature increases both BPEL process reliability and
scalability. You can also use it to support clustering and failover.

Q20. Why we use BPEL and OSB?


OSB is the light-weight service bus wherever there is not much business logic
involves and there is need to just get the message routed between the systems OSB
is used where as when there is more business logic involves in the process, then
BPEL will be used.

Q21. What is a XA data source? How it differs from a non-XA data source?
An XA transaction involves a coordinating transaction manager, with one or more
databases (or other resources, like JMS) all involved in a single global
transaction. Non-XA transactions have no transaction coordinator, and a single
resource is doing all its transaction work itself (this is sometimes called local
transactions).

Q22. How can we secure our web services using Oracle SOA Suite?
When accessing the services should be restricted to the group,then service should
be secured via WSM (Web service Manager).

Q23. How to deploy an XSL file without deployment of BPEL Process?


We will directly deploy the XSLT, options: �
1. Using ANT script by file replacement in TMP folder.
2. By creating a folder in BPEL PM Installation folder and specifying its location
in our BPEL code with http call and replacing our xslt to that location.

Q24. What is HA File and FTP Adapters?


In the clustered environment, File and FTP adapters should be used as HA (High-
Availability)
Inbound: It is controlled by Control Files and avoids the race between the manages
servers in reading the files where the reference of the files read by the managed
servers will be maintained in the control directory.
Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and
this avoids duplicated been written to the same file when all the managed servers
in the clusters process the same messages.

Q25. What is a pick activity? Can I have a pick activity with no onMessage branch?
Pick activity picks the messages from service (Source) which has multiple
operations or the BPEL process needs to receive the messages from multiple source
system. Pick activity should have at least on Message branch.

Q26. What is a flow activity? What is a flowN activity and how does it leverages
the flow activity?
Flow activity is used, when parallel execution of the flow is needed and to use
this property �non blocking invoke should be set as true �at the partner link level
and no. of execution of parallel flow is defined and static. Where as in Flown the
no. of execution of parallel flow is not static and it is determined during run
time.

Q27. What do you mean by non-idempotent activity? Which all activities are non-
idempotent by default?
Activities like Pick, Wait, receive, reply and checkpoint() are called non-
Idempotent activity and during the execution of the process whenever these
activities are encountered then it gets dehydrated to the dehydration store.

Q28. What are dspMaxThread and recieverThread properties? Why are they important?
Receiver Threads property specifies the maximum number of MDBs that process Async
across all domains. Whereas the dspMaxThread are the maximum number of MDBs that
process Async and threads that operate across a domain. So, we need to ensure that
the dspMaxThread value is not greater than Receiver Threads.

Q29. When u will go for Sync process?


Whenever the services returns the response in few seconds, it is recommended to go
for synchronous BPEL process if not the BPEL process should be Asynchronous the
reason is calling application can�t proceed further in case of synchronous process.

Q30. What is a syncFileRead operation? Is a inbound or a outbound operation? Can my


process begin with syncFileRead operation?
When file has to be read in the mid of the BPEL process, then we will use
syncFileRead Operation, means some process should initiate the file read process
and it is an outbound operation and process can�t begin with Sync File read.

Q31. Can we use a File Adapter to get a file without reading its content?
Yes, by selecting the Do not read file content check box in the Jdeveloper wizard
while configuring the �Read operation.�

Q32. How can we embed or use a java code in BPEL?


Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be
used.

Q33. What is a nonBlockingAll property?


Non- blocking invoke is used when Parallel flow needs to be executed where new
thread will be created for each invoke a activity and which will execute
simultaneously.

Q34. What is getPreference property? How do we set it and what advantage it


provides?
Hard coding is not a good practice, so to avoid hard coding preference variable can
be used and the value of the preference variable is accessed using
getPreference().The preference variable value can be changed without re-deploying
the code via em console MBean property.

Q35. How can we improve the performance of an XSL file?


By avoiding use of various if statements and using choose and by using for-each
group in place of for-each.

Q36. How do we handle transactions in BPEL?


Property needs to be defined to start the new transaction or to continue with the
same transactions
Property Name: Transaction and if this has value as required then the BPEL process
will be continued in the same transaction where as if the value is defined as
requiresnew then it will start the new transaction.

Q37. What are transient and durable BPEL processes?


Durable:-It is long running process and initiated through a one-way invocation and
do incur one or more dehydration points in the database during execution Ex:
Asynchronous
Transient:-It is short-lived process, request-response style processes and do not
incur dehydration during their process execution Ex: Synchronous.

Q38. How does pick activity differ from a receive activity?


Pick activity can act as a multiple receive activity in some business scenarios. If
we have two inbound operations and both can trigger the bpel process then we will
go with pick activity as we can�t have two receive activity with create Instance
box checked.

Q39. How can we make a partner link dynamic?


If we have to send the request to different service which has the same wsdl then
dynamic partner link will be used and using addressing schema we can set the
endpoint dynamic to send the request to the desired service.

Q40. How does a Async request run in the backend?


The sequences of events involved in the delivery of invoke messages is as follows:

The client posts the message to the delivery service.


The delivery service saves the invocation message to the dlv_message table. The
initial state of the message is 0 (undelivered).
The delivery service schedules a dispatcher message to process the invocation
message asynchronously.
The dispatcher message is delivered to the dispatcher through the afterCompletion()
call.
Therefore, the message is not delivered if the JTA transaction fails.
The dispatcher sends the JMS message to the queue. Places a very short JMS message
in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS
message triggers the Worker Bean in the downstream step.
This message is then picked up by a Worker Bean MDB, which requests the dispatcher
for work to execute. If the number of Worker Bean MDBs currently processing
activities for the domain is sufficient, the dispatcher module may decide not to
request another MDB.
MDB fetches the invocation message from the dispatcher.
MDB passes the invocation message to Oracle BPEL Server, which updates the
invocation message state to 1 (delivered), creates the instance, and executes the
activities in the flow until a breakpoint activity is reached.

1) What is SOA?

Service Oriented Architecture (SOA) is used to develop Enterprise applications by


using a collection of services which communicates each other. Service-Oriented
Architecture (SOA) is a set of principles and methodologies for designing and
developing software in the form of interoperable services.

2) Principles of SOA?

Loose coupling

Re-usability

Interoperability

Flexible

3) What is the difference between 10g and 11g?

SCA architecture was followed in 11g and not in 10g

In 11g you can put all your project SOA components in composite.xml file and deploy
as a single deployment unit to single server, where in 10g you have to deploy each
component to the respective server (i.e. ESB to ESB server, BPEL to BPEL Server)

Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM
are brought into one place in 11g using SCA composite concept.

The major difference between 10g & 11g would be the app server container. 10g by
default runs onOC4J while 11g runs on Web logic Server.

In 10g every BPEL is a separate project, but in 11g several components can make 1
project as SCA.

In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager
contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA
Suite.

4) Is Oracle SOA same as Oracle Fusion Middleware?

No because SOA is one of the parts in Fusion middleware and SOA behaves like user
interface where as Fusion is big platform

5) What is SCA?

Service Component Architecture (SCA) provides a programming model for building


applications and systems based on a Service Oriented Architecture. SCA is a model
that aims to encompass a wide range of technologies for service components and for
the access methods which are used to connect them.

6) What is the SOA Suite 11g Components?

Oracle Adapters

Oracle Mediator

Business Events and Events Delivery Network

Oracle Business Rules

Human Workflow

Oracle Business Activity Monitoring

Oracle Enterprise Manager

7) What is choreography? How does it differ from orchestration?

In choreography there is no business process to control the integration between the


systems; each system will directly integrate with one another in sequence where as
in Orchestration there is a business process which controls all the services
(source/Target) which is part of the integration.

8) What are the different design patterns in SOA?

Synchronous

Asynchronous Fire and Forget

Asynchronous Delayed Response.

9) In how many ways can a process be deployed?

Using Jdeveloper

Through Enterprise Manger Console

Through Weblogic Scripts.

10) What are dspMaxThread and recieverThread properties? Why are they important?

Receiver Threads property specifies the maximum number of MDBs that process Async
across all domains. Whereas the dspMaxThread are the maximum number of MDBs that
process Async and threads that operate across a domain. So, we need to ensure that
the dspMaxThread value is not greater than Receiver Threads.

11) How does a Async request run in the backend?

The sequences of events involved in the delivery of invoke messages is as follows:

The client posts the message to the delivery service.

The delivery service saves the invocation message to the dlv_message table. The
initial state of the message is 0 (undelivered).

The delivery service schedules a dispatcher message to process the invocation


message asynchronously.

The dispatcher message is delivered to the dispatcher through the afterCompletion()


call. Therefore, the message is not delivered if the JTA transaction fails.

The dispatcher sends the JMS message to the queue. Places a very short JMS message
in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS
message triggers the Worker Bean in the downstream step.

This message is then picked up by a Worker Bean MDB, which requests the dispatcher
for work to execute. If the number of Worker Bean MDBs currently processing
activities for the domain is sufficient, the dispatcher module may decide not to
request another MDB.

MDB fetches the invocation message from the dispatcher.

MDB passes the invocation message to Oracle BPEL Server, which updates the
invocation message state to 1 (delivered), creates the instance, and executes the
activities in the flow until a breakpoint activity is reached.

12) How to increase the transaction timeouts in SOA?

For the transaction timeout needs to be increased, all the below settings timeout
value needs to be changed to the expected Timeout value.

JTA

Engine Bean

Delivery Bean

13) Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if yes
how?

Yes it is possible.

To automatically maintain long-running asynchronous processes and their current


state information in a database while they wait for asynchronous callbacks, you use
a database as a dehydration store. Storing the process in a database preserves the
process and prevents any loss of state or reliability if a system shuts down or a
network problem occurs. This feature increases both BPEL process reliability and
scalability. You can also use it to support clustering and failover.

14) What is SOA governance? What are its functions?


Service-Oriented Architecture (SOA) governance is a concept used for activities
related to exercising control over services in an SOA Some key activities that are
often mentioned as being part of SOA governance are:

Managing the portfolio of services: This includes planning development of new


services and updating current services.

Managing the service lifecycle: This is meant to ensure that updates of services do
not disturb current services to the consumers. Using policies to restrict behavior:
Consistency of services can be ensured by having the rules applied to all the
created services. Monitoring performance of services: The consequences of service
downtime or underperformance can be severe because of service composition.
Therefore action can be taken instantly when a problem occurs by monitoring service
performance and availability.

15) What is end point virtualization?

Generally a service bus is used for endpoint virtualization and in 11g stack;
Oracle Service Bus (OSB) is the primary service bus. In exposed proxy's message
flow, it can route the request to any of your environment's actual (physical)
service on the basis of whatever logic.

Mediator can also be used to expose the service and in mediator routing rule, it
can be routed to actual service.

16) What are DVM's and how are they helpful in SOA?

DVM-Domain Value Map is static mappings between a source and target system which
can be used in transformations. The value can be changed via SOA composer.

17) What is the difference between XREF and DVM?

XREF- It is dynamic since the values to the XREF can be populated dynamically and
it is stored in XREF_DATA table in SOA Dehydration store.

DVM- Domain Value Map is static mappings between a source and target system which
can be used in transformations.

18) What is Dehydration store?

Dehydration store is the database where the instances get stored when it gets
dehydrated by the process on the occurrence of non-idempotent activities and also
stores the information on the long running processes.

19) What is Decision service?

Oracle SOA Suite provides support for Decision components that support Oracle
Business Rules. A Decision component is a mechanism for publishing rules and rule
sets as a reusable service that can be invoked from multiple business processes.
These rules can be changed without redeploying the code.

20) Why we use BPEL and OSB?

OSB is the light-weight service bus wherever there is not much business logic
involves and there is need to just get the message routed between the systems OSB
is used where as when there is more business logic involves in the process, then
BPEL will be used.

21) What is MDS?


MDS �Metadata Store

Wsdl and Schemas to be used in the process can be published to the MDS and get it
used in the code by referring the artifacts from the MDS

Advantages:

JAR (Deployment unit) size will be reduced.

Duplication of the artifacts can be avoided between the services.

22) What is a XA data source? How it differs from a non-XA data source?

An XA transaction involves a coordinating transaction manager, with one or more


databases (or other resources, like JMS) all involved in a single global
transaction. Non-XA transactions have no transaction coordinator, and a single
resource is doing all its transaction work itself (this is sometimes called local
transactions).

23) How can we secure our web services using Oracle SOA Suite?

When accessing the services should be restricted to the group,then service should
be secured via WSM (Web service Manager).

24) How to deploy an XSL file without deployment of BPEL Process?

We will directly deploy the XSLT, options: -

Using ANT script by file replacement in TMP folder.

By creating a folder in BPEL PM Installation folder and specifying its location in


our BPEL code with http call and replacing our xslt to that location.

25) What is HA File and FTP Adapters?

In the clustered environment, File and FTP adapters should be used as HA (High-
Availability)

Inbound: It is controlled by Control Files and avoids the race between the manages
servers in reading the files where the reference of the files read by the managed
servers will be maintained in the control directory.

Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and
this avoids duplicated been written to the same file when all the managed servers
in the clusters process the same messages.

26) What is singleton Property in SOA?

In the clustered environment when the processing of the message should happen via
only one SOA managed server, then the property singleton needs to be defined at the
adapter level.

27) What is a pick activity? Can I have a pick activity with no onMessage branch?

Pick activity picks the messages from service (Source) which has multiple
operations or the BPEL process needs to receive the messages from multiple source
system. Pick activity should have at least on Message branch.
28) What is a flow activity? What is a flowN activity and how does it leverages the
flow activity?

Flow activity is used, when parallel execution of the flow is needed and to use
this property �non blocking invoke should be set as true �at the partner link level
and no. of execution of parallel flow is defined and static. Where as in Flown the
no. of execution of parallel flow is not static and it is determined during run
time.

29) What do you mean by non-idempotent activity? Which all activities are non-
idempotent by default?

Activities like Pick, Wait, receive, reply and checkpoint() are called non-
Idempotent activity and during the execution of the process whenever these
activities are encountered then it gets dehydrated to the dehydration store.

30) How can we embed or use a java code in BPEL?

Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be
used.

31) How does pick activity differ from a receive activity?

Pick activity can act as a multiple receive activity in some business scenarios. If
we have two inbound operations and both can trigger the bpel process then we will
go with pick activity as we can�t have two receive activity with create Instance
box checked.

32) How can we make a partner link dynamic?

If we have to send the request to different service which has the same wsdl then
dynamic partner link will be used and using addressing schema we can set the
endpoint dynamic to send the request to the desired service.

33) What is a nonBlockingAll property?

Non- blocking invoke is used when Parallel flow needs to be executed where new
thread will be created for each invoke a activity and which will execute
simultaneously.

34) What is getPreference property? How do we set it and what advantage it


provides?

Hard coding is not a good practice, so to avoid hard coding preference variable can
be used and the value of the preference variable is accessed using
getPreference().The preference variable value can be changed without re-deploying
the code via em console MBean property.

35) How can we improve the performance of an XSL file?

By avoiding use of various if statements and using choose and by using for-each
group in place of for-each.

36) How do we handle transactions in BPEL?

Property needs to be defined to start the new transaction or to continue with the
same transactions

Property Name: Transaction and if this has value as required then the BPEL process
will be continued in the same transaction where as if the value is defined as
requiresnew then it will start the new transaction.

37) What are transient and durable BPEL processes?

Durable:-It is long running process and initiated through a one-way invocation and
do incur one or more dehydration points in the database during execution Ex:
Asynchronous

Transient:-It is short-lived process, request-response style processes and do not


incur dehydration during their process execution Ex: Synchronous.

38) When u will go for Sync process?

Whenever the services returns the response in few seconds, it is recommended to go


for synchronous BPEL process if not the BPEL process should be Asynchronous the
reason is calling application can�t proceed further in case of synchronous process.

39) What is a syncFileRead operation? Is a inbound or a outbound operation? Can my


process begin with syncFileRead operation?

When file has to be read in the mid of the BPEL process, then we will use
syncFileRead Operation, means some process should initiate the file read process
and it is an outbound operation and process can�t begin with Sync File read.

40) Can we use a File Adapter to get a file without reading its content?

Yes, by selecting the Do not read file content check box in the Jdeveloper wizard
while configuring the "Read operation."

41) How to increase performance increase in bpel (Db Adapter/file adapter)?

We can increase the performance by writing indexes and sequences.

(Or) Go to application server ----> Configurations -----> Change Xml file

42) Explain error handling in BPEL and what is a error handling framework? How does
a error handling framework better than simple error handling in BPEL?

EHF �Whenever any error thrown by the BPEL process/Mediator then EHF will check
whether exist in Fault-Bindings.xml files and if so then the action in the Fault-
Policy.xml file will be taken and if the action is not found then the fault will
the thrown and it will be handled in the catch block.

43) How do we resubmit a faulted process?

Scenario A: The BPEL code uses a fault-policy and a fault is handled using the
�ora-human-intervention� activity, then the fault is marked as Recoverable and the
instance state is set to �Running�.

Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown
using the �ora-rethrow-fault� action, then the fault is marked as Recoverable and
the instance state is set to �Faulted�; provided the fault is a recoverable one
(like URL was not available).

44) Predefined errors in BPEL?

Custom errors
Timed out errors

BPM errors

Validation Errors

45) What is a throw activity? What it is?

Throw activity will explicitly throw the fault and this fault will get caught by
the catch block and the corresponding actions will get executed.

46) What is Web service?

Web services are application components, which are self-contained and self-
describing and provide services based on the open protocol communication (i.e. SOAP
UI, HTTP over the net).

47) Difference between URI and URL?

A URI is an identifier for some resource, but a URL gives you specific information
as to obtain that resource. A URI is a URL and as one commenter pointed out, it is
now considered incorrect to use URL when describing applications. Generally, if the
URL describes both the location and name of a resource, the term to use is URI.
Since this is generally the case most of us encounter every day, URI is the correct
term.

48) What is Mediator?

The Mediator is in charge of interconnecting, within an SOA composite application,


components that expose different interfaces. In addition, the Mediator can perform
duties such as filtering and making routing decisions.

The composite editor in Jdeveloper gives you the flexibility to define the
interface now, to choose an existing interface, or to define the interface later as
you wire components to the Mediator.

Transforming data from one representation to another is, along with routing, one of
the key functions of the Mediator.

49) Difference between ESB and Mediator?

In 10g for routing, separate router need to keep along with ESB for routing and
filter expressions.

Where as in 11g mediator contains routing rules and filter expressions itself.

50) What is the difference between concrete and abstract wsdl?

Concrete: Besides the information about how to communicate to the web service, it
the information on where the service exist. It has Bindings (Protocol the message
should be sent) and Services(has endpoint for each bindings) .

Abstract: It has information about how to communicate to the web service like types
(Schema), Message (input and output messages service accepts) ,Operations
(operation that can be performed on this service) and port Type.

1. How to suppress ws-addressing header in SOA 11g?


By Default in SOA 11g, ws-addressing will be passed as part of the soap header in
the Web service call for both Async and Sync process.To disable this feature the
following properties needs to be used inside binding in composite.xml

Request:

<property name="oracle.soa.ws.outbound.omitWSA">true</property>

Response:

<property name="oracle.soa.addressing.response.enabled">false</property>

2. Why there is need to concrete and abstract wsdl?

Concrete wsdl is the client side rather run time wsdl which has the information
like binding,endpoint where as abstract wsdl is the design wsdl. client wsdl is
sufficient to proceed with the build since it removes the dependency that the
service should be deployed and ready before starting the build. Also same abstract
can be used for multiply binding with different concrete wsdl this removes the code
redundancy.

Also in SOA perspective, abstract wsdl should be used rather than the concrete
since when the process loads there will dependency across the calling services if
the callee service didn't load before the caller service then the service state
will be unknown in SOA. To avoid this if we use abstract wsdl all the process loads
normally and the concrete binding will be used only when it starts receiving the
request.

3. What is local service invocation in SOA 11g?

By default SOA 11g tries to call the services through local service invocation by
avoiding SOAP/HTTP instead it used java direct to call the services provided the
service exist in the same soa infrastructure this will be checked based on the
certain parameters like

Server URL

Front end URL

To disable this following properties can be used in the composite.xml

<property name="oracle.soa.local.optimization.force">false</property>

<property name="oracle.webservices.local.optimization">false</property>

4. Correlation vs WS-addressing?

WS-addressing- By default SOA engine uses this .The main advantage of this is
developer don�t have to write the coding to correlate the message for the callback
where as it has its dis-advantage that it adds the header to the SOAP header.

Correlation-This is used when the calling service don't support ws-addressing .Also
this does not overhead the message since it used content from the message rather
than adding some headers to the request.
5. What is Oracle SOA governance?

All the organization wants to get the greater or better benefit when they implement
integration through SOA. Oracle SOA governance drives this by providing products
like OER, OSR and EM Management pack for SOA

By using all these better SOA governance can be achieved to reach the SOA Maturity
level by providing policies which needs to be followed and the re-usability of the
existing service across the organization rather that duplicating the same.

6. What is the difference between call-template and apply-template?

Call template is almost like calling a function in a traditional programming


language.

Apply Template is a little different one but it is the real power of XSLT: It takes
any number of XML nodes (whatever you define in the select attribute), iterates
them ( apply-templates works like a loop!) and finds matching templates for them.

7. How to change the archive file name in SOA 11g?

By default filename will be written in the format filename_digest_timetamp in


archive location.

Setting the below property in jca file will change the format to filename_timetamp.

<property name="UseDigest" value="false"/>

8) What is SOAP and what are the binding protocols available?

Simple object access protocol and it is a protocol specification for the


communication happens between the web services over the network and binding
protocol is HTTP.

9) What is the difference between Async and Sync activity on wsdl level?

Async wsdl-It has only input messages for the operation and it has 2 operations one
for sending the request and other for call back.

Sync wsdl-It has 2 messages input and output messages for the wsdl operation.

10) What is the WSDL structure?

Following are the wsdl structure

definitions

Types

Messages

Operation

Port type

Bindings

Services
Ports

11) What is the significance of target Namespace in a wsdl?

It is the one which uniquely identifies the WSDL and when the WSDL is used it
should be identified using its Target Namespace.

12) What is structure of SOAP message?

The structure of a SOAP message: A SOAP message is encoded as an XML document,


consisting of an element, which contains an optional element, and a mandatory
element. The element, contained within the, is used for reporting errors.

The SOAP envelope-The SOAP is the root element in every SOAP message, and contains
two child elements, an optional and a mandatory.

The SOAP header-The SOAP is an optional sub-element of the SOAP envelope, and is
used to pass application-related information that is to be processed by SOAP nodes
along the message path.

The SOAP body-The SOAP is a mandatory sub-element of the SOAP envelope, which
contains information intended for the ultimate recipient of the message.

The SOAP fault-The SOAP is a sub-element of the SOAP body, which is used for
reporting errors.

13) Why do we need to have messages in WSDL, aren't operations and types enough to
describe the parameters for a web service?

Messages consist of one or more logical parts. Each part is associated with a type
from some type system using a message-typing attribute. The set of message-typing
attributes is extensible.

The element describes the data being exchanged between the Web service providers
and consumers.

Each Web Service has two messages: input and output. The input describes the
parameters for the Web Service and the output describes the return data from the
Web Service.

Each message contains zero or more parameters, one for each parameter of the Web
Service's function.

Each parameter associates with a concrete type defined in the container element. So
describing the parameters cannot perform by operations and types this is the main
need of Messages.

14) What is a inline schema?

Schemas can be included inside of XML file is called Inline Schemas.

15) What is the difference between xsd:import and xsd:include?

The fundamental difference between include and import is that you must use import
to refer to declarations or definitions that are in a different target namespace
and you must use include to refer to declarations or definitions that are (or will
be) in the same target namespace.

16) What is BAM?


Business Activity Monitoring is a tool that is useful in monitoring business
services and processes. It actively collects data, applies rules and reports
information to users. When something goes wrong in business processes, BAM can be
configured to take corrective measures such as emailing administrators/support
team.

17) How to send the data to BAM from SOA?

The Oracle BAM Adapter is a Java Connector Architecture (JCA)-compliant adapter


which can be used from a Java EE client to send data and events to the Oracle BAM
Server. Oracle BAM Adapter is configured in Oracle Weblogic Server Administration
Console to provide any of these connection pools. Oracle BAM Adapter provides three
mechanisms by which you can send data to Oracle BAM Active Data Cache from an SOA
composite application.

18) What are the ways to publish the data to BAM?

There are two ways to publish the data to BAM

BAM Adapter.

BAM Sensor activity level.

19) What are the roles in BAM?

Architect

Administrator

Active Viewer

Active Studio

20) What is forward delay in JMS Queue?

In the clustered environment where JMS queues are used, when for the queues in any
one of the Managed server doesn�t have the consumer, once messages reaches the
forward delay time it gets moved to the other managed server where consumer is
present.

21) What is redelivery limit in JMS Queue?

When the message gets failed to get processed ,then it will be re-tried will the
redelivery limit exhausts and once after the redelivery limit the message can b e
either moved to the error Queue are it can be discarded.

22) What is timetodeliver in JMS Queue?

When Messages enqueue to the JMS queue, it will be immediately consumed by the JMS
Subscribers, if any delay needs to be induced for the message consuming by the
Subscribers then timetodeliver needs to set. The JMS message will not be subscribed
until timetodelivery exhausts.

23) Difference between JMS Queues and Topics?

Queue-Message will be subscribed by one subscriber.

Topic-Message will be subscribed by more than one subscriber.


Q 1) Explain Web Services?
Ans: A Web Service can be defined as an application component for communication or
say exchanging information between two applications over the network. Web services
basically work on client server model where web services are easily accessible to
client applications over the network.

To enable communication between various applications, web services take the help of
open standards like XML (for data tagging), SOAP (for message transferring) and
WSDL (to denote service availability).

Q 2) What are the components of web service?


Ans: The different components of web services are

SOAP- Simple Object Access Protocol


UDDI- Universal Description, Discovery, and Integration
WSDL- Web Service Description language
RDF- Resource Description Framework
XML- Extensible Markup Language

Q 3) Explain the term Interoperability with respect of Web services?


Ans: The term �Interoperability� is widely used in product marketing description
which defines the ability of different products or systems working together without
any special effort from the customer part.

This is applicable in the same way when we talk about �Interoperability� in terms
of web services. Here it determines the communication between various applications,
sharing of data as well as services among themselves. There is no restriction on
the type of application to be in communication. If any code is written, it will be
treated as generic code that will be understood by all application. Thus, the cost
of writing specific codes for each application is reduced.

There is no restriction on the type of application to be in communication. If any


code is written, it will be treated as generic code that will be understood by all
application. Thus, the cost of writing specific codes for each application is
reduced.

Q 4) Define web service protocol stack and its layers?


Ans: Web service protocol stack consists of 4 layers. This can be described as
follows

1) Service transport: This is the first layer which helps in transporting XML
messages between various client applications. This layer commonly uses the below-
mentioned protocols:

HTTP(Hypertext Transport Protocol)


SMTP(Simple Mail Transport Protocol)
FTP(File Transfer Protocol)
BEEP(Block Extensible Exchange Protocol)
2) XML messaging: This layer is based on the XML model where messages are encoded
in common XML format which is easily understood by others. This layer includes

XML-RPC
SOAP(Simple Object Access Protocol)
3) Service description: This layer contains description like location, available
functions, and data types for XML messaging which describes the public interface to
a specific web service. This layer includes:

WSDL(Web Service Description Language)


4) Service discovery: This layer is responsible for providing a way to publish and
find web services over the web. This layer includes:

UDDI(Universal Description, Discovery, and Integration)

Q 5) Explain web service architecture?


Ans: Web service framework consists of an architecture which consists of three
different layers. The roles of these layers are defined as below

Service Provider: As the name denotes, service provider role is to create the web
service and makes it accessible to the client applications over the internet for
their usage.
Service Requestor: Service requestor is basically any consumer of web service like
any client application. Client applications are written in any language contact web
service for any type of functionality by sending XML request over the available
network connection.
Service Registry: Service registry is the centralized directory which helps locate
web services for client applications. Here we can find the existing web services,
as well as developers, can also create the new one.
The Service Provider uses the �Publish� interface of Service Registry to make the
existing web services available to client applications. With all the information
provided by the service registry, service requestor is able to bind or invoke
services.

Q 6) What do you understand by XML-RPC?


Ans: RPC is Remote Procedure Call and as the name suggests, it is the method of
calling a procedure or function available on any remote computer.

XML stands for Extensible Markup Language. Thus XML-RPC represents a simple
protocol that performs RPCs by using XML messaging. This has been considered as an
excellent tool for connecting different environments and also establishing
connections between wide varieties of computers.

Q 7) Explain features of XML-RPC?


Ans: The major features of XML-RPC are enlisted below

RPCs are performed using simple XML language.


XML encoded Requests are sent via HTTP POST.
XML Response is embedded in HTTP response.
It is considered as platform-independent.
It allows communication between diverse applications.
It uses HTTP protocol for passing information between client and server computers.
It has small XML vocabulary for describing request and response�s nature.

Q 8) Enlist few advantages of web services?

Ans: We have already discussed web services, its architecture, components. Now, let
us see some its advantages

Every application is now on the internet and it the web service which provides some
sort of required functionality to the client applications.
Web services help in exposing the existing functionalities over the network to help
other applications to use in their programs.
It has features like �Interoperability� which determines the communication between
various applications, sharing of data as well as services among themselves.
Web services use the standardized web service protocol stack for communication
which consists of 4 layers namely, Service Transport, XML messaging, Service
description and Service discovery.
It has the feature of the low cost of communication because of the usage of SOAP
(Simple Object Access Protocol) over HTTP protocol.
Easy to deploy, integrate and is reusable.
Allows simple integration between different feature as a part of loose coupling
feature.

Q 9) Explain the term UDDI with its features?


Ans: UDDI is an XML-based standard in the service discovery layer of web service
protocol stack. It is used for publishing and finding web services over the web as
it acts like a directory. Some of the features of UDDI are explained below

It is an open framework and is platform independent.


SOAP, COBRA, and Java RMI protocols are used for communication.
It helps businesses to discover each other and enable interaction between them over
the internet.
It acts as a database containing all WSDL files.

Q 10) Which language is used by UDDI?


Ans: UDDI uses the language known as WSDL (Web Service Description Language)

Q 11) Explain BEEP?


Ans: BEEP stands for Blocks Extensible Exchange Protocol. BEEP is determined as
building new protocols for the variety of applications such as instant messaging,
network management, file transfer etc. It is termed as new Internet Engineering
Task Force (IETF) which is layered directly over TCP. It has some built-in features
like

Authentication
Security
Error handling
Handshake Protocol

Q 12) Enlist few tools used to test web services?


Ans: To test Web services, below-mentioned tools are used

SoapUI
REST client
JMeter

Q 13) Do we require any special application to access web service?


Ans: The only requirement for accessing web services from any application is that
it must support XML-based request and response. There is no need or say the
requirement of installing any application for accessing web services.

RESTful Web Services Interview Questions

Q 14) What do you know about RESTful Web Services?


Ans: REST stands for Representational State Transfer. REST is defined as the
stateless client-server architectural style for developing application accessed
over the web. When web services use HTTP methods to implement the concept of REST
architecture, then it is known as RESTful Web services. In this architectural
style, data and functionality are served as resources and is accessed by URI
(Uniform Resource Identifiers).

RESTful web services enable web services to work best by inducing properties like

Performance
Scalability
Modifiability
Q 15) Explain the advantages of RESTful web services?
Ans: Enlisted below are the advantages of RESTful web services
They are considered as language and platform independent as these can be written in
any programming language and can be executed on any platform.
REST is lightweight protocol and is considered as fast because of less consumption
of bandwidth and resources.
It supports multiple technologies and different data formats like plain text, XML,
JSON, etc.
It has loosely coupled implementation and can be tested easily over browsers.

Q 17) Explain different HTTP methods supported by RESTful web services?


Ans: Enlisted below are some common HTTP methods along with their functions that
are supported by RESTful web services

GET: Read-only access to the resource.


PUT: Creation of new resource.
DELETE: Removal of a resource.
POST: Update of an existing resource.
OPTIONS: Get supported operations on the resource.
HEAD: Returns HTTP header only, nobody.

Q 18) What is a resource in RESTful web service and how it is represented?


Ans: Resource is said to be a fundamental concept having a type and relationship
with other resources. In REST architecture, each content is considered as the
resource and they are identified by their URIs.

Resources are represented with the help of XML, JSON, text etc in RESTful
architecture.

Q 19) What are the core components of HTTP request and HTTP response?
Ans: HTTP request has following 5 major components

HTTP Requests Meaning/work


Verb Indicate HTTP methods like GET, PUT, POST, etc
URI Identifies the resource on server
HTTP Version Indicates version.
Request Header Contains metadata like client type, cache settings, message body
format, etc for HTTP request message.
Request Body Represents content of the message.
HTTP response has following 4 major components

HTTP Response Meaning/work


Status/Response code Indicates the status of the server for requested resource.
HTTP version Represents HTTP version.
Response Header Consists of metadata like content length, content type, server
length, etc for HTTP response message.
Response Body Represents response message content.

Q 20) What is the purpose and format of URI in REST architecture?


Ans: Purpose of URI is to locate resources on the server that are hosting web
services.

Format of URI
<protocol>://<service-name>/<ResourceType>/<ResourceID>

Q 21) Explain the term statelessness in terms of RESTful web services?


Ans: In REST architecture, there is a restriction where a REST web service is not
allowed to keep a client state on the server. Such condition is known as
�Statelessness�. In such situation, the client passes its context to the server and
in turn, the server stores the context in order to process client�s further
requests.

Q 22) Enlist advantages and disadvantages of statelessness?

Ans: The advantages of statelessness include


Each and every method requests are treated independently.
Application design is simplified as it does not maintain client�s previous
interaction.
Works with HTTP protocol as it shares the feature of being statelessness.
The disadvantage of statelessness includes

Every time client interaction takes place, web services are to be provided with
extra information about each request so that they can interpret the client�s state.

Q 23) For designing a secure RESTful web service, what are the best factors that
should be followed?
Ans: As HTTP URL paths are used as a part of RESTful web service, so they need to
be secured. Some of the best practices include the following

Perform validation of all inputs on the server from SQL injection attacks.
Perform user�s session based authentication whenever a request is made.
Never use sensitive data like username, session token password, etc through URL.
These should be passed via POST method.
Methods like GET, POST, PUT, DELETE, etc should be executed with proper
restrictions.
HTTP generic error message should be invoked wherever required.
SOAPUI Web Services

Q 24) Define SOAP web services?


Ans: Simple Object Access Protocol (SOAP) is defined as the XML based protocol
which is known for designing and developing web services as well as enabling
communication between applications developed on different platforms with different
programming languages over the internet. It is both platform and language
independent.

Q 25) What are the various approaches available for developing SOAP based web
services?
Ans: There are basically 2 different approaches available for developing SOAP-based
web services. These are explained as follows

Contract-first approach: In this approach, the contract is defined first by XML and
WSDL and then java classes are derived from the contract.
Contract-last approach: In this approach, java classes are defined first and then
the contract is generated which is usually the WSDL file from the java class.
�Contract-first� method is the most preferred approach.

Q 26) Explain the major obstacle faced by SOAP users?


Ans: One of the major hindrance observed by users of SOAP is the �Firewall security
mechanism�. In this case, all the HTTP ports except those which bypass firewall are
locked. In some cases, a technical issue of mixing specification of message
transport with message structure is also observed.

Q 27) What are the advantages and disadvantages of SOAP?


Ans: Enlisted below are advantages of SOAP web services

SOAP allows communications between various applications and it is both language and
platform independent.
It is very simple as well as uses standard HTTP protocol and XML for sending and
receiving messages.
It defines and uses its own security known as WS security.
It decouples the encoding and communication protocol from the runtime environment.
It eradicates firewall problems and is vendor neutral.
It allows circulation of messages in distributed and decentralized environment.
Enlisted below are disadvantages of SOAP web services

Lightweight formats other than XML are not supported.


Not easily testable on browsers.
Security facilities are not present.
SOAP is slow and cannot be easily tested on the browser.
Web services and clients are tightly coupled and define some standards that are to
be strictly followed.

Q 28) What are the elements of a SOAP message?


Ans: SOAP is just like other XML document and has following elements

Envelope: This element is defined as the mandatory root element. It translates the
XML document and determines the start and end of the SOAP message.
Header: This element contains the optional header attributes of the message that
contains specific information of the application. This element can occur multiple
times and are intended to add new features and functionalities.
Body: This element is mandatory and contains the call and response messages. It is
also defined as the child element of the envelope containing all the application
derived XML data that has been exchanged as a part of SOAP message.
Fault element: Errors that occur during processing of the messages are handled by
the fault element. If the error is present, then this element appears as a child
element of the body. However, there can only be one fault block.

Q 29) What are the important characteristics of SOAP envelope element?


Ans: We have seen the basic work of a SOAP envelope element in the previous answer,
now let us see some of its characteristics

SOAP envelope is a packaging mechanism.


Every Soap message has a mandatory root envelope message.
Only one body element is allowed for each envelope element.
As the SOAP version changes, envelope changes.
If the header element is present, it should appear as the first child.
Prefix ENV and envelope element is used for specification.
A namespace and an optional encoding style are used in case of optional SOAP
encoding.

Q 30) Enlist few syntax rules applicable for SOAP message?


Ans: Enlisted below are some important syntax rules that are applicable for SOAP
message

A SOAP message

Must be encoded using XML.


Must use the SOAP envelope namespace.
Must use the SOAP encoding namespace.
Must not contain the DTD reference.
Must not contain XML processing instructions.

Q 31) Define SOA?


Ans: A Service Oriented Architecture (SOA) is basically defined as an architectural
pattern consisting of services. Here application components provide services to the
other components using communication protocol over the network. This communication
involves data exchanging or some coordination activity between services.
Some of the key principles on which SOA is based are mentioned below

The service contract should be standardized containing all the description of the
services.
There is loose coupling defining the less dependency between the web services and
the client.
It should follow Service Abstraction rule, which says the service should not expose
the way functionality has been executed to the client application.
Services should be reusable in order to work with various application types.
Services should be stateless having the feature of discoverability.
Services break big problems into little problems and allow diverse subscribers to
use the services.

Q 32) Explain the actions performed by SOAPUI?


Ans: SOAPUI is an open-source, free and cross-platform functional testing solution.
Mentioned below are some actions performed by SOAPUI

It can help create functional, security and load testing test suites.
Data driven testing and scenario based testing is also performed.
It has the ability to impersonate web services as well as has got built-in
reporting abilities.
Web Services Security

Q 33) What are the primary security issues of web service?


Ans: To ensure reliable transactions and secure confidential information, web
services requires very high level of security which can be only achieved through
Entrust Secure Transaction Platform. Security issues for web services are broadly
divided into three sections as described below

1) Confidentiality: A single web service can have multiple applications and their
service path contains a potential weak link at its nodes. Whenever messages or say
XML requests are sent by the client along with the service path to the server, they
must be encrypted. Thus, maintaining the confidentiality of the communication is a
must.

2) Authentication: Authentication is basically performed to verify the identity of


the users as well as ensuring that the user using the web service has the right to
use or not? Authentication is also done to track user�s activity. There are several
options that can be considered for this purpose

Application level authentication


HTTP digest and HTTP basic authentication
Client certificates
3) Network Security: This is a serious issue which requires tools to filter web
service traffic.

Q 34) What do you know about foundation security services?


Ans: Foundation security services consist of the following
Integration
Authentication
Authorization
Digital Signatures
Encryption processes

Q 35) What is Entrust Identification Service?


Ans: Entrust Identification Service is categorized under Entrust Secure Transaction
Platform which provides essential security capabilities to ensure secure
transactions. This usually allows companies to fully control the identities that
are trusted to perform web service transactions.

Q 36) What is Entrust Entitlements Service?


Ans: Entrust Entitlement service is those whose task is to verify the services that
are attempting to access the web services. It basically ensures security in
business operations as well as some authentication services.

Q 37) What is Entrust Privacy Service?


Ans: As the name suggests, Entrust Privacy Service perform encryption of the data
so that only concerned parties are able to access the data. It basically deals with
two factors
Confidentiality
Security
WSDL Interview Questions

Q 38) Explain WSDL?


Ans: WSDL stands for Web service Description Language. It is a simple XML document
which comes under the Service Description layer of Web Service Protocol Stock and
describes the technical details or locates the user interface to web service. Few
of the important information present in WSDL document are
Method name
Port types
Service end point
Method parameters
Header information
Origin, etc

39) What are the different elements of WSDL documents?


Ans: The different elements of WSDL document along with brief description is
enlisted below
Types: This defines the message data types, which are in the form of XML schema,
used by the web services.
Message: This defines the data elements for each operation where messages could be
the entire document or an argument that is to be mapped.
Port Type: There are multiple services present in WSDL. Port type defines the
collection of operations that can be performed for binding.
Binding: Determines and defines the protocol and data format for each port type.
Operations: This defines the operations performed for a message to process the
message.

Q 40) Explain the message element in WSDL?


Ans: Message element describes the data that has been exchanged between the
consumer and the web service providers. Every web service consists of two messages
and each message has zero or more <part> parameters. The two messages are

Input: Describes the parameter for the web service


Output: Describes the return data from the web service.

Q 41) Enlist the operation types response used in WSDL?


Ans: WSDL basically defines 4 types of Operation type responses. These are enlisted
below

One-way: Receives a message but does not return response.


Request-Response: Receives a request and return a response.
Solicit-Response: Sends a request and wait for a response.
Notification: Sends a message but does not wait for a response.
Among these, Request-Response is the most common operation type.

Q 42) Is binding between SOAP and WSDL possible?


Ans: Yes, it is possible to bind WSDL to SOAP. The binding is possible by basically
two attributes
Name: Defines the name of the binding.
Type: Defines the port for the binding.
For SOAP binding, two attributes need to be declared

Transport: Defines the SOAP protocol to be used i.e. HTTP.


Style: This attribute can be �rpc� or �document�.

Q 43) Explain <definition> element?


Ans: Definition element is described as the root of WSDL document which defines the
name of the web service as well as act as a container for all the other elements.

Q 44) What are the two attributes of <Port> element in WSDL?


Ans: Every port element is related to a specific binding by defining an individual
endpoint. The port element has following two attributes
Name: This attribute provides the unique name within the WSDL document.
Binding: This attribute refers to the process of binding which has to be performed
as per the linking rules defined by WSDL.

Q 45) What are the points that should be considered by ports while binding?
Ans: WSDL allows extensibility elements which are used to specify binding
information. Below are few important points that should be kept in consideration
while binding.
A port must not
Specify more than one address.
Specify any binding information other than address information.

g:\prints\interview\sql interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.What is Normalization?
Ans: Normalization is the process of organizing the tables to remove the
redundancy. There are mainly 5 Normalization rules.

1st Normal Form: A table is said to be in 1st normal form when the attributes are
atomic and there is no repeating groups
2nd Normal Form: A table is said to be in 2nd Normal Form when it is in 1st normal
form and all the non-key columns are functionally dependant on the primary key. .
3rd Normal Form: A table is said to be in 3rd Normal form when it is in 2nd normal
form and all non key attributes not dependant transitively.
4th Normal Form: A table is said to be in 4th normal form when it is in 3rd normal
form and has no multi -valued dependencies.
5th Normal Form: A table is said to be in 5th normal form when it is in 4th normal
forma and every join dependency for the entity is a consequence of its candidate
keys.

2.What is the Purpose of the Distinct Clause in SQL?


Distinct Clause allows you to display unique from the result set. This can be used
with only select statements.

3.What are the DDL Commands and the Purpose of these commands?
DDL (DataDefinition Language) command is used for defining the structure of the
Data. DDL Statements are auto commit.
CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the
records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object

4. What are the DML commands and Use Of these commands?


DML (DataManipulation Language) statements are used for managing data within schema
objects.
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
�DML Statements can be roll backed.
�DML Statements can�t be roll backed When DDL Statement Executed immediately after
the DML statement.

5. What are the DCL Commands and purpose of it?


DCL is Data Control Language statements.
GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command

6. What are the TCL Commands and Purpose of it?


(Transaction Control Language) Manages the changes made by DML statements. These
commands allow statements to be grouped together into logical transactions.
COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT

7. What is the Difference between TRUNCATE and DROP?


Truncate Delete the entire data from the table and keeps the structure.
TRUCATE TABLE table name
DROP drops the table structure also.
DROP TABLE Table name

8. What is the Difference between TRUNCATE and DELETE?


TRUNCATE
DELETE
It�s DDL Statement

It�s DDL Statement


Auto commit, we can�t retrieve the data back
we can Retrieve the data back
We can delete entire rows (No condition)
we can delete rows conditional wise

9. What is NULL?
NULL in Oracle is an Absence of information. A NULL can be assigned but not
evaluated by it self also.
�NULL not equal to null
�NULL Can not be Not equal to NULL (Neither Equal Not Not Equal)
�NULL Does not equal to empty String or doe not equal to ZERO.

10. How can we sort the rows in SQL?


We can Sort the rows Using ORDER By clause.
- ASC : Ascending Order is Default order
- DESC : Sorting in Descending
Null Values Displayed At last in ascending Order

11. How can we convert NULL Value?


Using NVL Function we can convert Null Value to an Actual Value.
NVL(exp1, exp2).
If exp1 is NULL then it returns the exp2.

12. Purpose and Syntax of NVL2 ?


Convert the Null values in to Actual Value.
NVL2 (Exp1,exp2,exp3). If exp1 is NULL it returns the exp3 . if exp1 is not null
then it returns the exp2.

13. When Cartesian product formed?


A join condition Omitted
A Join condition Invalid
To Avoid Cartesian Product, always include Valid Join condition

14. What type of joins using in SQL?


1) EQUI JOIN: The equi join is normally used to join tables with primary key
foreign key relation ships.
2) NON-EQUI JOIN:
A join condition where any relation operator other than "=" equal to
operator is used.
3) OUTER JOIN:
In EQUI JOIN rows that does not satisfy specified condition would not be displayed.
Example: consider EMO and DEPT table as Example
DEPTNO 40 is not displayed in the Equi example because there are no employees in
it. If we want to diplay its detail also then we have to use OUTER JOIN.Otherwise
OUTER JOIN is imilar to EQUI JOIN except for the difference it uses outer join (+)
operator. (A plus within parenthesis) towards the side not having required data.
Outer join operator will substitute null values when there are no values available.
SQL> SELECT E.DEPTNO,ENAME,DNAME FROM EMP E , DEPT D
2 WHERE E.DEPTNO (+) = D.DEPTNO;
4) SELF JOIN:
When we join a table to itself it is called self join.To join a table itself means
that each row of the table is combined with itself and with every other row of the
table. The self join can be seen as join of two copies of the same table.
SQL> SELECT E.ENAME,M.ENAME FROM EMP E,EMP
WHERE E.MGR=M.EMPNO;

15. What are the Group Functions?


Group Functions Operate on Sets of rows to give one result per group. The types of
group functions
AVG,COUNT,MAX,MIN,SUM,STDDEV,VARIANCE
�All columns in SELECT List that are not in group functions must be in the GROUP BY
clause.

16. Can you Use Group functions in the Where Clause?


NO, We Can�t.

17. How can we restrict the Group Results?


Using HAVINGClause. We can�t use WHERE for these results.

18. What is difference Between SUBQUERY and CORRELATED SUBQUERY?


SUBQUERY :
A query within another quey. A select statement whose output is substituted in the
condition of another select statement .(A query is a statement written for
returning specific data). The subquery is executed only once. A subquery is
enclosed in parenthesis.
EX: SQL> SELECT ENAME FROM EMP
WHERE DEPTNO = (SELECT DEPTNO FROM EMP
WHERE ENAME = 'SMITH');
CORRELATED QUERY:
In a correlated subquery the table used in outer query refers to the table used in
the inner query. The correlated subquery is executed repeatedly once
for each row of the main query table.
Query to diplay name of highest salary taker.
SQL> SELECT EMPNO, ENAME FROM EMP A
WHERE 1 > ( SELECT COUNT(*) FROM EMP B
WHERE A.SAL < B.SAL)

19. What are the Multiple-Row comparisons Operators?


IN :EQUAL to any member in the list.
ANY : Compare value to each value returned by the sub query
ALL :Compare Value to Every value returned by the sub query.

20. You are updating the table, you ask some another user to logon to database to
check your changes before you issue the commit command ? Can he see the changes
done by you?
Another user can�t see the the changes done by you until you have given commit.

21. What is MERGE Statement do?


Provides the ability to conditionally update or insert data into a database table.
Performs update if the row exists and an insert if it is a new row.

22. What is the Use of SAVEPOINT?


A SAVEPOINT is a marker within a transaction that allows for a partial rollback. As
changes are made in a transaction, we can create SAVEPOINT to mark different points
within the transaction. If we encounter an error, we can rollback to a SAVEPOINT or
all the way back to the beginning of the transaction.

Ex : Insert Statement
SAVEPOINT A
UPDATE Statement
SAVEPOINT B
DELETE Statement
SAVEPOINT C
Roll Back to SAVEPOINT B (means it roll backs to till UPDATE statement)

23. What is the Use of ALTER Statement?


To Add new column
To modify the datatype and size of the existing column
To Drop a column

24. What are the Difference between UNION and UNION ALL?
UNION Query displays the Unique rows ( No duplicate rows)
UNION ALL Query displays the Duplicate rows also.

25. If you a Table A, You want to create table B having the same fields in TABLE A
? That means you have to copy only structure not the data?
CREATE TABLE TABLEB AS (SELECT * FROM TABLE A where 1=2);

26. What is Synonym?


A synonym is an alternative permanent name for objects such as
tables,views,sequences,storedProcedures

27. What is view?


A View is a virtual table, it does not physically exist rather, it is created by a
query joining one or more tables.

28. Can we Update the Data in View?


A view is created by joining one or more tables. When you update record(s) in a
view, it updates the records in the underlying tables that make up the view.
So, yes, you can update the data in a view providing you have the proper privileges
to the underlying tables.

29. What is Sequence?


Sequence is for generating auto number field. This can be useful when you need to
create a unique number to act as primary key.
Syntax:
CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;

30. How do we set the LASTVALUE value in an Oracle Sequence?


You can change the LASTVALUE for an Oracle sequence, by executing an ALTER SEQUENCE
command.

31. What is pseudo columns ? Name them?


A pseudocolumn behaves like a table column, but is not actually stored in the
table. You can select from pseudocolumns, but you cannot insert, update, or delete
their values. This section describes these pseudocolumns:
* CURRVAL
* NEXTVAL
* LEVEL
* ROWID
* ROWNUM

Rowid
Rowid is pseudo column that uniquely identifies a row with in the table but not
with in the database.
It is possible for two rows of different tables stored in the same cluster have the
same row id.
Connect By Prior
A condition that identifies the relationship between parent rows and child rows of
the heirarchy.

Level
For each row returned by heirachical query the level pseudo columns returns 1 for
root row , 2 for child row of the root and so on.

32. How many columns can table have?


The number of columns in a table can range from 1 to 254.

33. How many rows and Columns in DUAL table?


One Row and One Column Only

34. What is the Use of CASE and DECODE?


CASE and DECODE statements Both perform procedural logic inside a SQL statement
without having to resort to PL/SQL.
Syntax:
DECODE (F1,E2,E3,E4) { If F1=E2 Then E3 else E4}
Syntax:
CASE
WHEN E1 THEN E2 {If E1 True E2 Else E3 CASE evaluated the
Expression only once with
ELSE E3 that result values
be compared}
END

� It is Best to use CASE Statement when comparing ranges or more complex


logic

35. What is Inline View?

SQL Statement in the FROM clause of SQL statement called Inline View. Oracle treats
the data set that is returned from the inline view as if it were a table.
This is not a schema Object.
A common use for inline views in oracle sql is to simplify the complex queries by
removing join operations and condensinfg several separate queries into single
query.
SELECT * from (SELECT * from table);

36. What is the Purpose of Index?


SQL indexes are used because they can provide the following benefits / functions:
Rapid access of information
Efficient access of information
Enforcement of uniqueness constraints
CREATE INDEX (Index_name) on TABLE_NAME(Field1,field2);

37. What are Constraints? And what are the constraint Types?

� Constraints Enforced rules at the table level.


� Constraints prevent the deletion of a table if there are decencies.

Following are the Constraint Types

NOTNULL:
Ensures the null values are not permitted for the column. Defined at column Level.
CREATE TABLE Tablename( Empname VARCHAR2(10) NOTNULL)

UNIQUE:
Not allow already existing value
Is defined either table level or column level
CREATE TABLE T1( X1 NUMBER,
X2 VARCHAR2(10),
CONSTRAINT x2_UK UNIQUE(X2))
PRIMARY KEY:
Doesn�t allow Nulls and already existing values.
CREATE TABLE T1( X1 NUMBER,
X2 VARCHAR2(10),
CONSTRAINT x2_UK PRIMARY KEY(X2))
FOREIGN KEY:
Foreign Key defines the column in the child table at table constraint level.
CREATE TABLE T1( X1 NUMBER,
X2 VARCHAR2(10),
CONSTRAINT x2_UK FOREIGN KEY(X2)
REFERENCES TABLE2(field2))
CHECK
Defines a condition that each row must satisfy
CONSTRAINT emp_salary CHECK(SAL>0)

38. What is the Purpose ON DELETE CASCADE?


Deletes the dependent rows in the child table, when a row in parent table is
deleted.
39. How can you view the constraints?
User_constraints table

40. Can we perform the DML Operations On View?


�You can perform DML operations on Simple view (selecting view from one table and
also all not null columns selected).
�If view is complex View and View contains the following then we can�t modify the
view
--GROUP Functions
-- A Group By clause
-- DISTINCT Keyword
-- Not null columns in Base table that are not selected by View

41. How to deny the DML operation on simple View?

CREATE a view with �WITH READ ONLY� option

42. When to create an Index?


You should create an index if :
� A Column contains a wide range of values
� A Column contains a large number of null values
� One or more columns frequently used together in join condition
� Table is large and most queries expected to retrieve less than 2 to 4% of
the rows.

43. When Not create an Index?


You should not create an index if:
TABLE is Small
The columns are not often used as a condition in the query
The table is updated frequently

44. What is Functional Based Index?


A functional Based index is an index based on expression
CREATE INDEX ind_name table_name (UPPER(field_name))

45. What is the result of the following Command?


SELECT 1 FROM DUAL
UNION
SELECT �A� FROM DUAL
Error : Expression Must have the same datatype as corresponding expression.

46. What is the difference between alias and Synonym?


Alias is temporary and used in one query. Synonym is Permanent aliasing

47. Can Dual table be deleted or dropped or altered or inserted?


YES,we can do

48. What Is the result for the following queries?


1) SELECT * from emp where rownum < 3
2) SELECT * from emp where rownum =3

1) 2 rows selected
2) No rows selected

49. Can we create index on View?


We can�t create index on view.

50. How to eliminate the duplicate rows?


Using ROWID we can delete duplicate rows.

DELETE FROM EMPMASTER A WHERE A.ROWID> (SELECT MIN(B.ROWID) FROM EMPMASTER B WHERE
A.EMPNO=B.EMPNO);

51. How can we find the nth salary in the table?


SELECT DISTINCT (A.SAL) FROM EMP A WHERE &N = (SELECT COUNT (DISTINCT (B.SAL)) FROM
EMP B WHERE A.SAL<=B.SAL)

52. What is the ROWID?


ROWID is pseudo column. It uniquely identifies a row with in a table, but not with
in the database.

53. What is the ROWNUM?


ROWNUM is pseudo column to limit the number of returned rows. This behaves like a
table column but is not actually stored in tables.

54. What is the difference between Group by and Order by?


Group by is used to group set of values based on one or more values.
Order by is to sort values either in ascending or descending order.

55. How Many CODD rules Oracle satisfies?


Out of 12 , 11 rules Oracle satisfying .

56. What is the difference Between Primary Key and Unique Key?

Primary Key
Unique Key
You can have only one primary key in a table
You can have more than one Unique key in a table
Primary disallows the duplicates and Nulls also
Unique key disallows only duplicates, it accepts the Nulls.

g:\prints\interview\upgrades scripts.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Understanding the Upgradation Process
======================================:

To upgrade oracle database manually from 10g to 11g, we need to use Oracle-supplied
pre- and post-upgrade scripts.
If I�m upgrading from an Oracle Database 10g release database to Oracle Database
11g and would need to use the following scripts in turn to perform the manual
upgrade.

-utlu111i.sql
-catupgrd.sql
-utilu111s.sql
-catuppst.sql and
-utlrp.sql

Following is a summary of the functions performed by each of the upgrade scripts:

utlu111i.sql (Pre-Upgrade Information Tool)


This gathers information from the database and analyses it to make sure that it
meets all the upgrade requirements,� such as whether the database already contains
the SYSAUX tablespace or not.
The Pre-Upgrade Information Tool will issue warnings about potential upgrade issues
such as database version and compatibility, redo log size, initialization
parameters, and tablespace size estimates, and generates warnings if your database
doesn�t satisfy the
requirements for upgrading to Oracle Database 11g.

catupgrd.sql This performs the actual upgrading of the database to the Oracle
Database 11g release and it now supports parallel upgrades of the database.

utlu111s.sql (Upgrade Status Utility script)


This lets you check the status of the upgrade� whether the upgraded database�s
components have a valid status.

catuppst.sql (This is new in Oracle Database 11g Release 1.)


This is the script you run to perform post-upgrade actions.

utlrp.sql This script re-compiles and re-validates any remaining application


objects.

Tips :

Tip #1: Either take a Cold or Hot backup of source 10g database (advisable to have
cold backup).

Since 11g upgrade requires downtime of oracle database, I strongly suggest to take
cold backup beforehand. The reason to do that is to minimize downtime as much as
possible. If anything wrong happens during upgrade, we get the most straightforward
way to restore source database.

Tip #2: Running utlu111i.sql would be helpful to solve possible pre-requisite


problem of upgrade.

Script utlu111i.sql does more than gathering information from database and
analysing database. It solves problems which could break the process of upgrade.
For instance, the time zone files required in Oracle 11g has been updated to
version 4. Failing doing that will cause break out of upgrade while we do upgrade
with running catupgrd.sql. By running script utlu111i.sql, the new time zone file
(version 4) will be recorded in view registry$database.

Tip #3: With running utlu111i.sql, making necessary change on parameter file if
required.

Running utlu111i.sql will present the report about warnings in upgrade issues such
as database version and compatibility, and so on�
Before doing real upgrade, I followed the generated report to change parameter file
as per as below.

**********************************************************************

Obsolete/Deprecated Parameters: [Update Oracle Database 11.1 init.ora or spfile]

**********************************************************************

�> "background_dump_dest" replaced by "diagnostic_dest"


�> "user_dump_dest" replaced by "diagnostic_dest"
�> "core_dump_dest" replaced by "diagnostic_dest"

Also, it�s critical that the parameter �compatible" need to be changed from
10.*.*.*.* to 11.1.0.0.0. Otherwise, upgrade process will raise problem and it�s
very likely that control file of source database would be corrupt and need to be
recovered if upgrade failed. That absolutely make DBA in timely trouble to recover
source database.

g:\prints\interview\weblogic interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Weblogic Interview
===================:

What is weblogic server?

Answer
Oracle WebLogic Server is J2EE Server (earlier known as BEA WebLogic Server)
similar to Oracle Application Server.
Oracle Weblogic server

What oracle weblogic server includes?

Answer
Oracle weblogic server includes

1)Domain
2)cluster
3)servers

We often see BSU when using weblogic.What is the meaning of BSU ?

Answer
Oracle bought Weblogic from BEA. BSU Stands for Bea Smart Update. This utility is
used to apply the WebLogic Server Patches. In simple terms, it is first letter of
name of founders Bill Coleman, Ed Scott and Alfred Chuang.

What is domain in WebLogic ?


Answer
Domain is a group of WebLogic server resources like admin server, managed server,
jms,connection pool, data sources etc or whatever the resource you know of WebLogic
server. since domain is the basic unit you have to create after installation and
everything created and configured under a domain.

There can only be one administration Server in domain and zero to N Managed Server.

How to create weblogic Domain

What is Administration Server ?

Answer
Admin server is the central point from where you can configure, Monitor and manage
all resources of a domain.
Administration Server is WebLogic Server instance that maintains configuration data
for a domain. You can deploy your application on administration Server but it is
recommended to create managed Server and deploy your application in managed server
and leave Administration domain for configuration and maintenance.
There will always be at least one Administration Server in a domain.

How to stop-start Weblogic server

Answer
startWeblogic.sh script to start the weblogic server
What is Managed Server ?
Answer
It is an instance of your WebLogic server that is running on JVM and has its own
configuration.
In Managed server we will deploy the java components
Web Applications
EJB Applications
JMS Applications
Web services

Can we start a Managed Server if the Administration Server is unavailable?

Answer
By default, if a Managed Server is unable to connect to the specified
Administration Server during startup, it can retrieve its configuration by reading
a configuration file and other files directly. You cannot change the server�s
configuration until the Administration Server is available. A Managed Server that
starts in this way is running in Managed Server Independence mode

What is the easiest way to set the classpath?

Answer
WebLogic Server installs the following script that you can use to set the classpath
that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

where WL_HOME is the directory in which you installed WebLogic Server

What is Cluster in WebLogic ?

Answer
Two or more managed server becomes or forms the cluster in a domain and cluster
handle the load balancing across the cluster.
Group of WebLogic Managed Server Instances that work together to provide high
availability and scalability for applications is called cluster. WebLogic Servers
with in cluster can run on same machine or different machines. These are also
called as managed Server cluster.

What is Server
Answer
Server is an instance of your WebLogic which is running on a JVM and has dedicated
RAM.

How to start Node Manager ?

Answer:
$WL_HOME\server\bin\startNodeManager.sh

To Stop Node Manager


In Unix/Linux, kill the process �
kill -9 ps -ef | grep -i nodemanager.javahome | grep -v grep | awk {'print $2'} |
head -1
How to start/stop Node manager

Why node manager is required?

Answer
A Node Manager process is not associated with a specific WebLogic domain but with a
machine. You can use the same Node Manager process to control server instances in
any WebLogic Server domain, as long as the server instances reside on the same
machine as the Node Manager process. Node Manager must run on each computer that
hosts WebLogic Server instances. whether Administration Server or Managed Server
that you want to control with Node Manager.

How many types of weblogic installation ?

Answer
There are 3 types of weblogic installation.

(a) Grapical Mode (interactive GUI based)


(b) Console Mode (interactive Text Based)
(c) Silent Mode ( Non Interactive method using .xml properties file)

How does Cluster Communication Happen?

Answer:
Members of the Cluster communicate over the Cluster Multicast IP and Port by
sending periodic heart beat messages.

What is the difference between the Sun JVM and BEA JRockit JVM?

Answer

The most well know JVM is the implementation from Sun. The Sun JVM is called
HotSpot. The Sun JVM is shipped in the Java Developer�s Kit (JDK) and Java Runtime
Environment (JRE) from Sun.

The BEA JRockit JVM from BEA systems is optimized for reliability and performance
for server side applications. To achieve this, BEA JRockit JVM uses technologies
such as code generation, hot spot detection, code optimization, advanced garbage
collection algorithms and tight operating system integration.

What are JVM Tuning Parameters.


Answer
If you have a single processor, single thread machine then you should use the
serial collector (default for some configurations, can be enabled explicitly for
with -XX: +UseSerialGC). For multiprocessor machines where your workload is
basically CPU bound, use the parallel collector. This is enabled by default if you
use the -server flag, or you can enable it explicitly with -XX:+UseParallelGC. If
you�d rather keep the GC pauses shorter at the expense of using more total CPU
time for GC, and you have more than one CPU, you can use the concurrent collector
(-XX:+UseConcMarkSweepGC).

How do you do performance tuning of WLS? What are various areas to do it

Answer

a. Application Tuning.
jsp precompilation, ejb pool size cache..

b. OS Tuning
Setting tcp ip parameter.
tcp_time_wait_interval
tcp_conn_req_max_q

c. Core Server Tuning.


tune work manager, tune chuck size and chunk pool size, using performance packs,
connection backlog buffering.

d. JVM Tuning
tuning gc strategy, monitoring garbage collection..

How do stubs work in a WebLogic Server cluster?

Answer
Clients that connect to a WebLogic Server cluster and look up a clustered object
obtain a replica-aware stub for the object. This stub contains the list of
available server instances that host implementations of the object. The stub also
contains the load balancing logic for distributing the load among its host servers

What is HTTP tunneling? How can we configure it on WebLogic?

Answer
HTTP tuning provides a way to simulate a tasteful socket connection between
WebLogic Server and a Java client when your only option is to use the HTTP
protocol. It is
generally used to tunnel through an HTTP port in a security firewall. HTTP is a
stateless protocol, but WebLogic Server provides tunneling functionality to make
the connection appear to be a regular T3Connection.
Steps to configure Http tunneling.
Login into the Admin Console, click on the server on which you want to enable he
Http Tunneling feature
Click on the Protocols tab
General
check the �Enable Tunneling� check box.
Now you can communicate with the JVMs (Server Instances) using protocols other than
t3

What is the difference between T3 and HTTP protocol?

Answer
WebLogic uses the T3 protocols for internal and external connections to the
servers. The T3 protocol often is used in WebLogic implementation of RMI.
Proprietary of WebLogic Server.

Http protocols are used primarily for HTTP communication between the browser and
the web server. Standard follows the W3C (World Wide Web Consortium).
Note: All of these protocols are, by default, multiplexed over the same connection
to the server�s address and port. So you can access a web page hosted by the
server using a URL such as http://host:port/page.jsp. An external client can set
up an initial JNDI context to a server using the URL t3://host:port/. All that has
changed is the protocol over which the client must communicate with the server.

What are the States of the Weblogic Server?

Answer
There are 9 states of server which are given below

Shutdown
Starting
Standby
Resuming
Running
Suspending
Shutting down
Failed
Unknown

What is the difference between Multicast and Unicast?

Answer
Unicast is the method used in the clustering technique where there are cluster
master and each server should ping to this cluster master for informing that the
server is alive.

Multicast: It is a kind of clustering system where there is no cluster master and


each and every server needs to ping each other for informing their existence.
Multicasting has many messages to be sent in the form of ping as each server needs
to inform all others about its existence. This condition creates much complexity
associated with the method compared to unicast.

How to access admin console ?

Answer
ssl enabled admin console accessed as :
https://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_se
rver_is _running>/console

Example � https://localhost:7001/console

non ssl admin console accessed as :

http://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_ser
ver_is_ running>/console
Example � http://localhost:7001/console

How many admin consoles possible in a single domain ?

Answer
only one is possible

What is the default port of admin server ?

Answer
7001

What is config.xml in weblogic server?

Answer
config.xml is the central configuration repository for a domain. every resource you
have configured from admin console or by command line or by any other tool
registered under this file.

What is boot.properties file ? what is the significance of it

Answer
boot.properties is the file used by admin or managed server during startup for
username and password. it exist under your domain/servers/server_name/security
folder.

When you create a domain in development mode then it creates automatically during
startup of admin server but if you create a domain in production mode then you
need to define it explicitly otherwise on every reboot of admin server it will
prompt you for username and password.
So in production mode �
Start admin server by manually passing the username and password
stop it ( press cntrl+c on the started session )
go to your domain/servers/your_admin_server/ create a folder �security�
go inside security and create a file �boot.properties� with below contents
username=your_admin_username
password=your_admin_password
now start the admin server, it will not prompt you for username & password further.
If you are going to start your managed servers from admin console then no need to
create this file for managed server but if you are going to start managed servers
via startManagedweblogic script then you need to follow the same above procedure
for each
managed server.

What is actually WebLogic Cache?

Answer:
Basically all the web-tier related files (.jsp .class, JSPCompiled files etc.,) get
stored in some directory. This is treated as cache whenever there is restart of a
WebLogic instance happen then the WebLogic server will look-up for last serviced
object status stored in the cache to service for any pending requests. Usually,
when your EJB Classes need sessions, JMS object requires persistance, your web-
tier may contain static contents then Cache will be used by WebLogic Application
Server instance.

Why we need to remove Cache?

Answer:
Whenever your application is accessed for the first time that fresh deployment of a
new version, WebLogic server lookup in this directory, if there are older objects
persists that will be conflict with new code objects. This is where the need of
removal of cache arises.Where there is a need of new version deployment we might
need to clear the cache when the changes to the new version is not reflected.

Generally for WebLogic 9.x and higher versions

WIN: C:\weblogic\user_projects\domains\yourdomain\servers\yourserver\tmp

UNIX: /weblogic/user_projects/domains/yourdomain/servers/yourserver/tmp

you can use the following commands to clear the cache:


WIN: rd C:\weblogic\user_projects\domains\yourdomain\servers\yourserver\tmp
UNIX: rm -rf /weblogic/user_projects/domains/yourdomain/servers/yourserver/tmp

Here I am removing all the subdirectories and files in the the given directory.

What is Thread dump?

Answer
Thread Dump is a textual dump of all active threads and monitors of Java apps
running in a
Virtual Machine.

When we will take Thread dump? Please give us some examples

Answer

Some of the examples would be


1. when server is hang Position, i.e. that time server will not respond to coming
requests.
2. While sever is taking more time to restart
3. When we are Getting exception like �java.lang.OutOfMemoryException�
4. Process running out of File descriptors. Server cannot accept further requests
because sockets cannot be created
5. Infinite Looping in the code

How many ways take Thread Dumps?

Answer
we have to take a Thread dumps many times when we faced issues. We can choose one
Procedure. For analyzing take dumps some Intervals (like every 20mins, 5mins etc.).

What you Can Do with Node Manager

Answer
We can manage the whole gamut of activities from Node manager
1) Start, Shut Down, and Restart an Administration Server
2) Start, Shut Down, Suspend, and Restart Managed Servers
3) Monitor Servers and View Log Data

How to check port number?

Answer
netstat -na |grep connected (to find the ports connected in Linux box.)
netstat -na |grep listen (to find the listening ports in HP-UX,Solaris)

What are the capabilities of WebLogic server?

Answer
There are various capabilities associated with WebLogic server and they are
Changes in dynamic configuration.
Production application redeployment
Rolling upgrades.

How can default JVM be changed to other?

Answer:

For changing the JVM can be done by following the steps below.
1)You should first set the JAVA_HOME in the start script of the server.
2)Change the config.xml of domain for using the JRockit javac.exe
3) Remove any kind of switches specific to Sun JVM from start scripts of server.

What are the modes of operation for Weblogic server domains?

Answer:

There are two modes


Development mode:
You use development mode while you are developing your applications. Development
mode uses a relaxed security configuration and enables you to auto-deploy
applications.

Production mode:
You use production mode when your application is running in its final form. A
production domain uses full security and may use clusters or other advanced
features.

We see error like 404 and 500. What does they mean?
Answer
The error code 404 � Page not found this says there is no page on the server when
browser client requesting, this can happen when application is not deployed
properly or not in active state or not initialized properly

500- Internal server error This error occurs when there is a communication issue
between server�s intermediate services

What is the difference between stage and no stage deployment?


Answer
Stage Deployment:- Admin server Having the physical copy and it will distribute to
remaining instances.

Staged deployment will copy your deployment units onto the deployment servers,
place them into the $WL_HOME/servers/SERVER_NAME/stage directory and deploy them
from there.

In no-stage mode, the Administration Server does not copy the archive files from
their source location. Instead, each target server must access the archive files
from a single source directory for deployment. The staging directory of target
servers is ignored for no-stage deployments.

how to Check the version of java in Unix ?

Answer
java -version run this command in linux to know the java version.

g:\prints\interview\wf interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. What is Oracle workflow?
Oracle Workflow is a complete workflow management system that facilitates business
process reengineering. Oracle Workflow automatically processes and routes
information of any type, according to business rules you can easily change, to any
person inside or outside your enterprise. You can easily include customers and
suppliers in your workflow using the Internet and the Worldwide Web.

2. What are the rules supported by Workflow?


Looping, Branching and Parallel Flow.

3. What are the components of workflow?


1. Workflow builder.
2. Workflow Definitions Loader.
3. Workflow Notifications System
4. Workflow Engine
5. Workflow Monitor

4. What is workflow builder?


Oracle Workflow�s graphical Workflow Builder lets you create, view, or modify a
business process with simple drag and drop operations. Using the builder, you can
create and modify reusable workflow objects, including activities, rules, messages,
and users.

5. What is the function of workflow definitions loader?


The Workflow Definitions Loader is a utility program that moves workflow
definitions between database and corresponding flat file representations.

6. What is workflow monitor?


The Workflow Monitor displays an annotated view of the process diagram for
particular instance of a workflow process, so that users can get graphical
depiction of their work item status. The Workflow Monitor also displays a separate
status summary for the work item, the process, each activity in the process.

7. What is Workflow Engine?


The Workflow Engine embedded in the Oracle8 server monitors workflow states and
coordinates the routing of activities for a process. Changes in workflow state,
such as the completion of workflow activities, are signaled to the engine via a
PL/SQL API or a Java API. Based on flexibly�defined workflow rules, the engine
determines which activities are eligible to run, and then runs them. The Workflow
Engine supports sophisticated workflow rules, including looping, branching,
parallel flows, and subflows.

8. Why do we require notification systems in workflow?


Notifications are used to handle activities that cannot be automated such as
approvals for requisitions or sales orders.

9. What is deferred process?


The workflow process run as background process is known as deferred process.

10. Define an Item?


A specific process, document, or transaction that is managed by a workflow process.
For example, the item managed by the Requisition Approval Process workflow is a
specific requisition created by Oracle Internet Commerce�s Web Requisitions page.

11. What are the item type attributes available in workflow?


-Text
-Number
-Date
-Lookup
-Form
-URL
-Document
-Role
-Attribute

12. What is the purpose of directory services?


A mapping of Oracle Workflow users and roles to a site�s directory repository.

13. What is access level in workflow?


A numeric value ranging from 0 to 1000. Every workflow user operates at specific
access level. The access level defines whether the user can modify certain workflow
data. You can only modify data that is protected at a level equal to or higher than
your access level.

14. What is a process?


A set of activities that need to be performed to accomplish a business goal.

15. What are the two windows available in workflow builder?


Navigator Window.
Process Window.

16. What is a function activity?


An automated unit of work that is defined by a PL/SQL stored procedure.

17. What is Top Down design?


If you prefer to approach your design from a high level, you can first sketching
out the process diagram with activities, then go back later to create the
supporting objects for each activity.

18. What is Bottom Up design?


If you prefer to take a more programmatic approach to your design, you can first
define each of the supporting objects of your process before attempting to create a
higher level process diagram.

19. What are the types of Standard activities available?


And/Or Activities
Comparison Activities
Compare Execution Time Activity
Wait Activity
Block Activity
Defer Thread Activity
Launch Process Activity
Noop Activity
Loop Counter Activity
Start Activity
End Activity
Role Resolution Activity
Notify Activity
Vote Yes/No Activity
Master/Detail Coordination Activities
Wait for Flow Activity
Continue Flow Activity
Assign Activity
Get Monitor URL Activity

20. What is Noop activity?


The Noop activity acts as a place holder activity that performs no action. You can
use this activity anywhere you want to place a node without performing an action.
This activity calls the PL/SQL procedure named WF_STANDARD.NOOP.

21. What is the purpose of purging?


Deleting the workflow items which no longer needed by calling WF_Purge API.

22. What is Lookup type?


A predefined list of values. Each value in a lookup type has an internal and a
display name.

23. What is persistence in workflow?


The amount of time the workflow item won�t be purged even the activity is
completed.

24. What is �SEND� attribute in workflow?


It is a type of message attribute defined as a �Send� source, a message attribute
gets replaced with a runtime value when the message is sent.

25. What is �RESPOND� attribute in workflow?


It is a type of message attribute defined as a �Respond� source, a message
attribute prompts a user for a response when the message is sent.

26. What are the main workflow APIs?


WF_STANDARD
WF_ENGINE
WF_CORE
WF_PURGE
WF_DIRECTORY
WF_PREF
WF_MONITOR
WF_QUEUE
FND_DOCUMENT_MANAGEMENT
WF_NOTIFICATIONS

27. How to launch a workflow?


1. Define workflow Items
2. Define Workflow Process
3. Draw Workflow Process Diagrams
4. Then through System Admin Responsibility you can launch your Workflow
OR
Through Concurrent program
By writing a PL/SQL procedure which calls WF_ENGINE.CreateProcess,
WF_ENGINE.StartProcess, WF_ENGINE.LaunchProcess APIs we can
Launch a workflow.

28. What is Timeout in a workflow?


The amount of time during which a notification activity must be performed
before the Workflow Engine transitions to an error process or an alternate activity
if one is defined.

29. What is Transition in a workflow?


The relationship that defines the completion of one activity and the activation of
another activity within a process. In a process diagram, the arrow drawn between
two activities represents a transition.

30. Who is a Performer?


A user or role assigned to perform a human activity (notification). Notification
activities that are included in a process must be assigned to a performer.

31. What is a Role?


One or more users grouped by a common responsibility or position.

32. What is Cost in workflow?


A relative value that you can assign to a function or notification activity to
inform the Workflow Engine how much processing is required to complete the
activity.

g:\prints\interview\wls interview.txt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. Can you give the deployer utility syntax?
The syntax goes like this:
$ java weblogic.Deployer -adminurl http://admin:7001 -name appName -source
/myapp/appName.ear -targets [serverList] [-activate or other options]

2. How do you install Apache web server in UNIX and windows?


You will get a binaries for Apache website and you compile and build with the 4
steps
a. Extract the compressed file
b. Execute configure.sh file from the extracted folder
c. make
d. make install

http://wlabypani.blogspot.com/2009/11/apache-installation-configuaration.html
3 What is Oracle SID in Database?

It is a Service ID in Oracle database, that we need to use in configuring JDBC


Connection pool.
4. What is listener in database?

In Oracle listener is that which is associated with a SID and host, port. It is
configured in the tnsnames.ora file. You can verify it by tnsping command.

5. What are the tuning techniques you applied?


Tunning for JVM - chanigng -Xmx, -Xms, MaxNewSize, MaxPermSize, and if required GC
algorithms
Tuning in Threads/ThreadPool -- Defining Workmanager with maximum constraint
Tuning TCP/IP connections Interface address, backlog count,
Tuing JMS -- changing queue sizes as required
Tuing JDBC - initial count, maximum capacity, increase by number of connections

6. How do you troubleshoot if config.xml file will be deleted

First we look for is there any last good backup of configuration is availble on the
Admin machine. If it is not found then alternatively you can find it on remote
machines where the managed servers running.

Best practice is whenever there is a configuration changes made before and after
you need to take a backup.That will help you such situation where you might need
old configuration sometime.

7. How do u trouble shoot if managed server is in FAILED state?


If any managed server is in FAILED state there could be reasons as follows:
i) deployment failed
ii) JDBC DataSource issue
iii) JMS configuration issue

8. How to monitor webLogic using WLST?


First you need to connect to the adminServer. then you can use any Runtime MBean.
Using WLST we can monitor various Runtime MBeans such as ThreadPool, JVM, JDBC
ConnectionPool, JMS Server and Server Life Cycle for state of a WebLogic server
instance.

9. Can you explain about bea guardian?


Gaurdian is only helpful when you have GUI. It is enables that all new patches
available on Oracle site can shown in the right downside corner shows.

10.What are monitoring tools you know?


There are wide varieties of monitoring tools available, such as:
a. HP-OVO
b. Introscope Willey
c. Patrol
d. Mercury and many more...

11. What are the difference between Connection pool and data source?
ConnectionPool is physically connects to the Database. where as Data Source is a
logical resource that can be used by developer or any other resource for accessing
Connection of pools.
DataSource can be associated with JNDI name that is used for lookup from from any
other client.

12. What are the difference in WebLogic 8.1 and 9.x?


Side by side deployment introduced in WL 9.x
deployment descriptors
JDK support 1.4 and 1.5 respectivly
console Look and feel changed Cuncurrent access is controlled with Change center
'Lock and Edit' , 'Activate Changes', 'Undo All chnages' buttons.
ConnectionPool is included in DataSource configuration part.
JMS Uniform distributed destination is reduced configuration side.
JMX version change 1.2 so the MBean accessing methods simplified.

13. What is JMS and how do you configure it?


Java Messaging System it is a API supported by J2EE application server for
messaging between diffent resources. it can be used by MDB (Message Driven Beans).
First you need to configure JMS System resource, JMS module consists any one out
of PTP, publisher/Subscriber type

14. What is cluster and how do you configure?


Cluster is a group of managed servers.
Using console
Usning WLST
You need to provide the Multicast address, Multicast port, Cluster Address which is
nothing but the listen addresses, listen port of all managed servers need to group
together.

15. What is the use of multicast address?


In a WebLogic domain to broadcast the heart beat message to all cluster members.
TTL will be send to the multicast address, to this address all the cluster members
are subscribers. If one of the Server crashes that can be notified by all other
members by missing 3 times heart -beat. So that secondary server will takeover the
request and start working with the replication data.

16. How to get thread dump and what the purpose of stuck thread?
Get the java process id, you can get it by jps or customized script for it.
kill -3 pid for unix env.
Ctrl+break for windows env.
When there is a Stuck Thread need to monitor the log for few minutes some times 2
or 3 stuck threads hogging but after sometime it will be unstucked. If you take
multiple thread dump for every 5 sec gap and analyse with sumarai or Java Thread
Analyzer tool you will get to know why it is stuck what is causing the instances to
mis behave that time.

17. What is nmenroll in WLST?


The nmEnroll() method is used for enroll the machine with the weblogic domains
running on that. It is name and its path.
the Nodemanager always get the domain information from the Administration server
provided that it should have enrolled in that machine.

18.Tell about ant scripts?


You can ANT Scripts are mostly used for deployment process in development
environtments.

ANT can be used to


start WebLogic Server
deploy the application
Configure a single WebLogic server
invoking WLST script

19. Types of load balancing techniques and differences b/n them


There are Hardware loadblancer, Software loadbalancer BIG IP F5 is most leading
load balancers in use.
Again the Software loadbalancing CMS, CSS Context Switch Servicing
Basically Load balances uses Round robin method to its connecting Webservers.

20. What is the important configuration file in apache?


The Apache configuration will be defined in the httpd.conf, if required segrigated
weblogic.conf file can be created.
SSL enable sites requires httpsd.conf

21. How do you provide load balancing?


In WebLogic Cluster side we have 3 basic types and each supports Affinity based
also.
I) Round Robin
ii) Random
iii) Weight based

22. Why Data source is not there in Weblogic 9?


I just wonder about this question!! It is there under jdbc link

23. When do you use vi editor?

In UNIX environments we have vi editor for creating new file which can be shell or
python or jython or plain file.
I - insert mode
Esc - to come out of the mode
r - replace char
a - append to the line
O - insert above line
o - insert below line
dw - delete word
dd - delete line
x - delete char
/ - search a pattern
:set nu setup numbers etc...

24. What type of shell scripts you have created?


There are many bash scripts whihc I had developed
i) Finding a pattern in all log files.
ii) instance name assciated with PID
iii) Heap dump
iv) Multiple copy for produciton Code move
v) Many DB related scripts
vi) Log archiving scripts
vii) Daily DTS Collector scripts

25. What type of wlst scripts u have created?


WLST scripts
I) Thread Monitoring script
ii) JVM monitoring
iii) JMS monitoring
iv) DataSource monitoring
v) Site wise, Server wise, Domain wise scripts

26. How to test the port is existing or not in unix?


On the UNIX you can give the following command
netstat -na |grep <port>
Interview happen at NESS Technologies, India 2009

Вам также может понравиться