Thursday, February 9, 2017


Top Oracle Apps DBA Interview Questions and Answers :-
1. What is FNDSM?

Service Managers (FNDSM)


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 SM to perform some function, such as start a concurrent manager process, on a middle-tier node, it will make remote procedure  control 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 Service manager 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.

-The Service Manager environment is set by APPSORA.env as defined in listener.ora

-The listener.ora and tnsnames.ora files must be configured properly for the listener to be able to spawn the Service Manager and for the ICM to be able to check the status of the Service Manager. 


2. 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 and 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

3. What are various components in Application/Middle Tier?
For ease of understanding, we can say application tier comprises of one or more servers (Operating Systems), ontop of which Oracle applications software is installed. The software enables, Tech components for the application to run as well as application components that will enable user to access different applications.
 
The application tier has a dual role: hosting the various servers and service groups that process the business logic, and managing communication between the desktop tier and the database tier. This tier is often referred to as the middle tier.The application tier in R12, contains Oracle Application Server 10g (OAS10g). Three servers or service groups comprise the basic application tier :
  • Web services: The Web services component of Oracle Application Server processes requests received over the network from the desktop clients.
  • Forms services: Forms services in Oracle Applications Release 12 are provided by the Forms listener servlet or Form Socket mode, which facilitates the use of firewalls, load balancing, proxies, and other networking options.
  • Concurrent Processing server: Processes that run on the Concurrent Processing server are called concurrent requests. When users submit such a request, either through HTML-based or Forms-based Applications, a row is inserted into a database table specifying the program to be run. A concurrent manager then reads the applicable requests in the table, and starts the associated concurrent program.
There are two versions of Oracle Application servers/ Oracle Homes used in R12:
  •  The Oracle Application Server 10.1.2 ORACLE_HOME is referred by Tools, C, or Developer Suite.
  •  The Oracle Application Server 10.1.3 ORACLE_HOME is referred by Web or Java applications.

4. What is APPL_TOP, COMN_TOP, ORA_TOP…..?

Below Image describes the complete directory structure for complete e-biz installation i.e. DB_TOP, APPL_TOP and new INST_TOP. If you dig into the INST_TOP you will find that it only contains all the configuration files, start-stop scripts, log files, certificate files, pid files etc.., so as to make DB_TOP and APPL_TOP untouched for any instance specific changes. So you can also make DB_TOP and APPL_TOP read only.
INSTANCE TOP
Instance home is the top-level directory for an Applications Instance which is known as Instance Home and is denoted the environment variable $INST_TOP. This contains all the config files, log files, SSL certificates etc.

Advantages of new INSTANCE HOME
  • The additional Instance Home makes the middle tier more easy to manage and organized since the data is kept separate from the config files.
  • The Instance Home also has the ability to share the Applications and Technology stack code across multiple instances.
  • Another advantage of the Instance Home is that the Autoconfig writes only in INST_TOP so APPL_TOP and ORACLE_HOME can also be made read only file system if required.
  • To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and NFS Mount the middle tier

INSTANCE TOP – STRUCTURE
$INST_TOP      : $APPS_BASE/inst/apps/$CONTEXT_NAME/
/admin /scripts :  ADMIN_SCRIPTS_HOME: Find all AD scripts here
/appl              :  APPL_CONFIG_HOME. For standalone envs, this is set to $APPL_TOP
/fnd/12.0.0/secure : FND_SECURE: dbc files here
/admin             : All Env Config files here
/certs               : SSL Certificates go here
/logs                : LOG_HOME: Central log file location. All log files are placed here (except adconfig)
/ora                 : ORA_CONFIG_HOME
/10.1.2             : ‘C’ Oracle home config, Contains tnsnames and forms listener servlet config files
/10.1.3             : Apache & OC4J config home, Apache, OC4J and opmn
                         This is the ‘Java’ oracle home configuration for OPMN, Apache and OC4J
/pids                : Apache/Forms server PID files here
/portal              : Apache’s DocumentRoot folder

Shared Application Tier File System

We can configure multiple application node machines working with a single E-Business Suite database node. This creation of a “multi-node” E-Business Suite instance is frequently done to lower cost of ownership (many small machines are cheaper than one big one), increase fault tolerance (one machine fails, others do not), or scale the instance (support more users and a greater load).

When configuring Oracle E-Business Suite to use a shared application tier file system, the application tier node can be configured to perform any of the standard application tier services, such as Forms, Web, and Concurrent Processing (Batch).
Note the following definitions:

Node
A node/server/instance is a logical set of processes running on one hardware machine. In a single-node installation of Oracle E-Business Suite, all the Applications processes (including the database processes) run on one node, whereas in a multi-node installation, the processes are distributed across multiple nodes.
A multi-node installation of Release 12 supports both shared and non-shared application tier file systems. An application tier file system consists of:
  • APPL_TOP file system (APPL_TOP and COMMON_TOP directories).
  • Application tier technology stack file system (OracleAS 10.1.2 and 10.1.3 Oracle Homes).
  • Instance Home (INST_TOP) file system. Each application tier has a unique Instance Home file system associated with it.
Service
A service is a functional set of Oracle E-Business Suite application processes running on one or more nodes. Where applicable, the term ’service’ is replacing the more traditional term of ’server’.
Application Tier Services
The following are the major application tier services:
  • Root services
  • Web Entry Point services
  • Web Application services
  • Batch Processing services
  • Other services
So if you have two nodes,one will serve as Primary Node and other will serve as Secondry Node. You can configure both the Application tier node as follows:
Primary Application Tier Node
A primary application tier node is the first application tier node where the APPL_TOP, COMMON_TOP, OracleAS 10.1.2 Oracle Home and OracleAS 10.1.3 Oracle Home are installed and configured.
Secondary Application Tier Node
A secondary application tier node is an application tier node where APPL_TOP, COMMON_TOP, 10.1.2 Oracle Home and 10.1.3 Oracle Home are visible and configured. The APPL_TOP, COMMON_TOP, OracleAS 10.1.2 Oracle Home and OracleAS 10.1.3 Oracle Home file system is mounted to this node from the primary application tier node, or from an NFS server.
Instance Home

Note :  In a shared file system, each application tier will have a unique Instance Home, which should be located on the local file system.

Shared Application Tier File System Architecture
In a shared file system, all application tier files (with the specific exception of the Instance Home file system) are installed on a shared disk resource, which is mounted on each application tier node. Any application tier node can be configured to perform any of the standard application tier services, such as Forms, Web and Concurrent Processing (Batch) services. All changes made to the shared file system are immediately accessible to all application tier nodes.



Shared Application Tier File System Layout
When configuring Oracle E-Business Suite to use a shared application tier file system, an application tier node can be configured to perform any of the standard application tier services, such as Forms, Web, or Concurrent Processing (Batch) services. An application tier will have a unique Instance Home associated with it that cannot be shared with other application tiers. You can configure the services running on an application tier node to match the node’s intended role

Example Shared File System
The following is an example of mount points shared on each application tier node:
  • COMMON_TOP: /ebiz/oracle/VIS/apps/apps_st/comn
  • APPL_TOP: /ebiz/oracle/VIS/apps/apps_st/appl
  • OracleAS 10.1.2 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.2
  • OracleAS 10.1.3 ORACLE_HOME: /ebiz/oracle/VIS/apps/tech_st/10.1.3
In the figure shown below, entitled “Shared Application Tier File System”, Server-appl_node1 is the primary application tier node, and uses the file systems “/ebiz/oracle/VIS” and “/ebiz/oracle/inst”. The file system “/ebiz/oracle/inst” contains the Instance Home, and “/ ebiz/oracle/VIS ” contains the APPL_TOP, COMMON_TOP, OracleAS 10.1.2 and 10.1.3 Oracle Home.

Server-appl_node2 is the secondary application tier node, and the shared file system “/ebiz/oracle/VIS” is also mounted on this node. The file systems “/ebiz/oracle/inst/apps/VIS_appl_node1″ and “/ebiz/oracle/inst/apps/VIS_appl_node2″ are only visible on the respective nodes.
5. What is US directory in $AD_TOP or under various product TOP’s?
Language
6. What are the main concurrent Manager types?
Different Types of Concurrent Manager
Conflict Resolution Manager (CRM)
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.
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.
Internal Concurrent Manager (ICM)
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.
Scheduler Manager
The Scheduler Manager, added in 11i, assists the ICM and the CRM in scheduling and conflict resolution.
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.
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.
$FND_TOP/sql/afcmstat.sql script gives you a list of concurrent managers and their respective status

7. Where is Concurrent Manager Log file location?

Concurrent Mangers log files are located in the $APPLCSF/$APPLLOG location.
cd $APPLCSF/$APPLLOG
For ICM Log                                       –> ls -lrt *$TWO_TASK*
For Standard manager Log                  –> ls -lrt w*.mgr
For Conflict Resolution manager Log –> ls -lrt c*.mgr

8. Where would I find .rf9 file, and what exactly it does?

 These files are used during restart of patch in case of patch failure and wanted to restart.

9. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored & why is it 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.

10. What is multi node system?
n a multi-node (distributed) system, servers are installed on more than one node.  The core technology directories (admin, ad, au, and fnd) and all product directories are installed under the APPL_TOP on all nodes, except for any node that contains only a database.  You can patch the APPL_TOPs separately, or you can set up a shared environment that will enable you to perform patching and other maintenance procedures only once. This type of system shares not only the APPL_TOP and COMMON_TOP file systems, but the Applications node technology stack as well. All Applications nodes are installed on a single, shared disk resource that is mounted under the same name from each Applications node machine. Any Applications node can be used to provide standard services, such as serving forms or Web pages, concurrent processing, or applying patches. Maintenance procedures are performed on a single Applications node.
If you have not configured your system as a shared environment, you apply the unified driver to all APPL_TOPs. AutoPatch sorts out which driver actions it must perform on each APPL_TOP. You apply the driver first to the node where the administration server is located. Then, you apply it to the node where the concurrent processing server is located. Start the concurrent managers, and apply the driver to the remaining nodes in any order.

11. Can you clone from multi node system to single node system & vice versa?
Yes
12. 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.
13. What is .dbc file, where is it stored, what is the use of .dbc file?
Database Connector File. FND_TOP/secure

The .dbc file is mostly used to define database parameters,stands for database connect descriptor file, used to connectto database, it authenticate users against database in FND_USER table.
Let's see how it work's

The .dbc file is actually the database connector descriptor file used to connect to database and this file is by-default located in $FND_TOP/secure directory, this file is quite important as whenever any program likes to connect to database like forms it uses dbc file where there you find the Guest_user_pwd ,when the guest user connect it does not allow it to directly connect to the database but it first connect goes via this file and cross verify the password of the guest which is kept in this file.

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 are:
GUEST_USER_PWDAPPS_JDBC_URLDB_HOST


The dbc file is used to set up the connectivity for a given database. Each vendor requires different values to determine the server name, database name, user and password, plus any native options including special instructions for the vendor's client API or utility loader.When you drag an Output Table/Input Table etc. onto the canvas, the DBC file lets the component know where to direct the activity. The DBC file is also the mechanism through which a given table can be accessed and its column definition pulled automatically into the given component's DML definition.

There will be lot of dbc file under $FND_SECURE, how we determine which dbc file to use from $FND_SECURE ?

This value is determined from profile option "Applications Database ID" 
Authenication:-

In order to authenticate your user against database in FND_USER table this request is passed from core Apache Module to mod_pls ( plsql) and it uses few files like wdbsvr.app in Apache/modplsql/conf $CONTEXT_NAME.dbc , tnsnames.ora in 806/network/admin/$CONTEXT_NAME , GUEST user & few other file so focus on these files & directories & see what changed recently.

.dbc file in R12 -->the dbc file in R12 is in the new $INSTANCE_TOP

$INST_TOP/appl/fnd/12.0.0/secure or $INSTANCE_TOP/apps//appl/fnd/12.0.o/secure.

Last but not the least .cfg is a unix-level file that is fed into a Korn Shell script as an auto-parameter feeder for a parameter-driven shell script. Cfg files are unix-defined where dbc files are AbI-defined.

A Database Connection (DBC) file holds information used by application servers to identify and authenticate with an application database. DBC files must be created on all tiers if it is a multi-tier system.

To recreate DBC file Login to your system as the APPLMGR, ensure that your environment is set correctly by running /.env.
Run common_top/admin/install/adgendbc.sh (UNIX)
This will create the DBC file for the current environment instance. Verify log file to check environment, which should be pointing to 806.Location of file is in /admin/install/adgendbc.txt.


14. What things you do to reduce patch timing?

# 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 )
1. Consolidate Patches
Using AD Merge Patch to merge multiple patches into a single patch that eliminates the time it takes to start a new AutoPatch session.

2. Apply Patches in Non-interactive Mode
You can automate much of the patching process by applying patches in non-interactive mode. In this mode,we store the responses to the patching prompts in a defaults file, and then specify the name of this default file when we run AutoPatch.

3. Skip Database Tasks
We can use AutoPatch options=nocompiledb, nomaintainmrc to skip tasks such as “Compile APPS schema” and “Maintain MRC” until all patches have been applied successfully. Normally AutoPatch automatically compiles the APPS schema and maintains the MRC schema during the patching application of standard patches.

4. Skip upload of Patch Information
Normally AutoPatch uploads patch history information to the database automatically each time it successfully applies a patch. The time required for the upload may be more depending on the size of the patch. We can skip this task during the AutoPatch session and upload the patch history information later.
We will use options=phtofile during the downtime patching session to skip the information upload. After a successfully patch,we will run AutoPatch again with the argument uploadph=y to upload the patch history information from the patch history files to your database. AutoPatch performs the upload and then it quits.
5. Apply patch on a Test System First
To analyze the effects of applying a patch, we should apply it first to a test system. We will check for long-running jobs and phases, which take the longest time in the timing statistics report ($APPL_TOP/admin//out/adt.lst).

6. Implement Shared Application Tier File System
Implementing a multi-node system with a shared application tier file system saves patching time because we apply patches only once, on the primary node.

7. Use Distributed AD
Distributed AD is a parallel processing feature that reduces downtime by efficiently utilizing all the available server resources on a shared application file system.

8. Reduce Resource Related Issues
We should modify rollback segment sizing and temporary segment space to optimize resources during patch application.

9. Impact analysis
We can perform an impact analysis on a patch, without affecting system, by running AutoPatch with the command line option apply=no.
Some patches include only file system changes. Most of the Applications patches do not include database changes.

10. Use AutoPatch options efficiently
Using certain AutoPatch command line options and managing the number of workers can minimize patch application time. We can use options like norevcache, nogenform, nogenrep etc to reduce patching downtime.

11. Merge NLS (Translation) Patches and Apply Them During Uptime
If we have multiple patches for multiple languages, merge all US patches into a single patch. Then, merge the NLS translation patches for each active language in our system into a single patch for each language. Apply the US patches first during downtime. Then, we can apply the merged NLS translation patches during uptime.
12. ADJREOPTS and ADJRIOPTS Paramter
One other small thing which makes a considerable difference is ADJREOPTS and ADJRIOPTS Environment Variable.
During any Patching there are several Framework XML Files, Jar Files etc... which are loaded into the Database using adjava Command, Even Jar Generation Phase of Copy Driver uses ADJREOPTS and ADJRIOPTS Parameters. By Default these Parameters are set to 256Mb or 512Mb Memory, but if i am not wrong during any Production Upgrade, these Systems have tremendous Horsepower in terms of CPU and Memory
You can increase this Parameter to 1Gig HeapSize Comfortably for better patching performance. This Parameter can be fixed in Autoconfig XML File and Run Autoconfig. The two tags are s_adjreopts and s_adjriopts.



You can use defaults file like

adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no

so if you don’t want adpatch to compile database & jsp with each execution of adpatch you can use options nocompiledb & nocompilejsp

adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt options=nocompilejsp,nocompiledb logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no

Once your patching is complete and you have applied all patches you can compile jsp & database once.

How to compile database objetcs ?
Use adadmin compile database option else
Use utlrp.sql script on database tier at $ORACLE_HOME/rdbms/admin

How to compile JSP in Apps ?
Use perl script ojspCompile.pl under $JTF_TOP/admin/scripts like
perl ojspCompile.pl –compile

Merge Patches to reduce patch timing

Another option to reduce patch timing is to use ad tool admrgpch, so lets say you have 10 patches to apply you can merge 10 patches & create single patch and apply that single patch. ( Sometime applying patches after merging may fail because of conflict in driver file so check first on test server)

create a directory lets say source_directory & put all patches which you want to merge in that & create another directory where your final single patch will come lets say destination_directory then use

admrgpch source_directory destination_directory
If there is any error in merging patch by default it will be in directory from where you are initiating admrgpch by name admrgpch.log
Apply patch from target directory via normal adpatch way.

If you are Upgrading your apps instance lets say from 11.5.8 or 11.5.9 to 11.5.10 you can use stagged APPL_TOP (ddifferent from shared APPL_TOP)

15. How you put Applications 11i in Maintenance mode?

Using ADADMIN
or
ENABLE maintenance mode from SQLPLUS Session:
sqlplus -s apps/apps @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
DISABLE  maintenance mode from SQLPLUS Session:
sqlplus -s apps/apps @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE

16. Can you apply patch without putting Applications 11i in Maintenance mode?

Yes using options=hotpatch

17. What are various options available with adpatch?
Modes of adpatch:  
  1. Interactive mode
  2. Non-Interactive mode
  3. Test mode
  4. Pre-Install mode
Interactive Mode:  
It is the default mode of adpatch when we don’t use anything. We can apply patch in this mode by going into patch directory and simply type adpatch in command prompt and hit enter.

Non-Interactive:
We can apply in this mode as:
$adpatch Interactive=no
It uses default files to store prompt values and can be applied from patch directory.

Test Mode:
This mode is purposely used to check the what exactly patch is doing and will do everything without actually changing anything.
We can apply patch in this mode as:
$adpatch apply=no
By default apply=yes

PreInstall Mode:
This mode is used to apply adpatch for any upgrade or consolidated update of utilities itself. So, it would be suggested to apply pre-install patch first.
When we apply patch in preinstall mode, it updates all AD utilities befre upgrade or update.
We can apply adpatch in this mode as:
$adpatch preinstall=y

Adpatch Options:

We have multiple adpatch options and based on the requirement we can use specific options. Here, I will try to cover most often used adpatch options.

Noautoconfig:
$adpatch options=noautoconfig
This options is used to skip the autoconfig execution as by default it executes the autoconfig and updates the configuration file if any template file is added. This option is helpful when we apply multiple adpatch and they are not merged.

Nocompiledb(without compiling database):
While we apply adpatch, It may create invalid objects and by default adpatch compiles the invalid objects after patch application. But in case you do not want to compile invalid objects to ensure the minimal autopatch time, you can apply adpatch as below:
$adpatch options=nocompiledb

Nocopyportion:
This option is used to apply adpatch without copying the files present in copy driver. This can be applies as:
$adpatch options=nocopyportion

Nocompilejsp:
Adpatch also compiles the java server pages(JSP) after completion of patch application and can be skipped using the option nocompilejsp as below:
$adpatch options=nocompilejsp

Nodatabaseportion:
Nodatabaseportion option is used to skip the adpatch the activity of database driver. It can be used as:
$adpatch options=nodatabaseportion

Nogenerateportion:
Nogenerateportion option is used to skip the adpatch activity of generate driver portion of the patch  and you can use the option nogenerateportion as below:
$adpatch options=nogenerateportion

Maintenance Mode disabled:
If you want to apply your adpatch without enabling maintenance mode, you can apply using the option as hotpatch as below:
$adpatch options=hotpatch


Nolink:
Nolink option is used to skip the relinking and can be used as:
$adpatch options=nolink

Nogenform:
Nogenform option is used to skip the generate form file and can be used as:
$adpatch options=nogenform

Maintainmrc:
Maintainmrc is used for adpatch to execute the maintain MRC schema as part of patch. By default maintain MRC is done for standard patch and is disabled for documentation and translation patches.
$adpatch options=nomaintainmrc

Noprereq:
This option is used to skip the checking of pre-requisite patches and by default it checks for pre-requisite patch. This option can be used as below:
$adpatch options=noprereq

18. adident utility is used for what?
Identifying the version of files
for eg adident $Header <<FILENAME>>
19. What is MRC? What you do as Apps DBA for MRC?
MRC also called as Multiple Reporting Currency in oracle application. Default you have currency in US Dollars but if your organization operating books are in other currency then you as application DBA need to enable MRC in applications
20. What is JVM (Java Virtual Machine) and which component uses JVM?


21. What is access_log in apache, what entries are recorded in access_log? Where is the default location of this file?


22. Where is Jserv configuration files stored?


23. Where is applications start/stop scripts stored?


24. What are main configuration files in Web Server (Apache)?


25. How to check if Apps 11i System is Autoconfig enabled?
26.   How to check if Oracle Apps 11i System is Rapid Clone enabled?
For system to be Rapid Clone enabled, it should be Autoconfig enabled. You should have Rapid Clone Patches applied.

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

28.   What is your Oracle Apps 11i Webserver Version and how to find it?
In order to find version under IAS_ORACLE_HOME/Apache/Apache/bin
Execute ./httpd -version

29.   What is plssql database cache?
In order to improve performance mod_pls (Apache component) caches some database content to file. This plsql cache is used to store session information. plsql cache is used to store plsql cache i.e. used by mod_pls
30.   Where is database plssql cache stored?
plssql & session cache are stored under $IAS_ORACLE_HOME/ Apache/modplsql/cache directory
31.   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

32.   What is content of dbc file & why is it 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
33.   There are lot of dbc file under $FND_SECURE, How is it determined that which dbc file to use from $FND_SECURE?
This value is determined from profile option “Applications Database ID”
34.   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.

35.   What is PCP is Oracle Applications 11i?
PCP is acronym for Parallel Concurrent Processing. Usually you have one Concurrent Manager executing your requests but you can configure Concurrent Manager running on two machines. 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.

36.   Why I need two Concurrent Processing Nodes or in what scenarios PCP is used?
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 requests. 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.

37.   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
38.   What is difference between ICM, Standard Managers and CRM in Concurrent Manager?
ICM stand for Internal Concurrent Manager, which controls other managers. If it finds other managers down, it checks & tries to restart them. You can say it is an administrator to other concurrent managers. Standard Manager: These are normal managers which performs actions on the requests and does batch or single request processing. CRM is acronym for Conflict Resolution Manager and is used to resolve conflicts between managers & requests. 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 assigned to CRM for incompatibilities & conflict resolution.
39.   What is use of Apps listener?
Apps Listener usually run on All Oracle Applications 11i Nodes with listener alias as APPS_$SID is mainly used for listening requests for services like FNDFS & FNDSM.
40.   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)
41.   How to confirm if Apps Listener is Up & Running?
lsnrctl start APPS_$SID (replace SID with your Instance Name) so if your SID is VISION then use lsnrctl status APPS_VISION
42.   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.
43.   How will you find total number of invalid objects in database?
SQLPLUS> select count(*) from dba_objects where status like ‘INVALID’;
44.   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.
45.   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
46.   What is difference between adpatch & opatch?
# adpatch is utility to apply oracle apps Patches whereas
# opatch is utility to apply database patches
47.   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 use opatch utility.
48.   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 for forms client connection used each time a user initiates forms connection.
49.   What is forms server executable Name?
f60srvm
50.   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 default Forms are configured to start in socket mode.
51.   How you will start Discoverer in Oracle Apps 11i?
In order to start discoverer you can use script addisctl.sh under $OAD_TOP/admin/scripts/$CONTEXT_NAME or startal.sh under $ORACLE_HOME/discwb4/util (under Middle/Application Tier)
52.   How many ORACLE HOME are in Oracle Apps and what is the 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 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.
53.   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
54.   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.
55.   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.
56.   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.
57.   If you have done two nodes installation, first machine: Database and concurrent processing server. 2nd machine: form, web. Which machine has admin server/node?
Admin Server will be on First machine with concurrent processing server.
58.   What is TWO_TASK in Oracle Database?
TWO_TASK mocks your TNS alias which you are going to use to connect to database. Let’s 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 TNS alias define by value PROD i.e. TWO_TASK

59.   What is GWYUID?
GWYUID stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB
60.   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.
61.   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.
62.   What is 0 & Y in FNDCPASS, FNDLOAD or WFLOAD?
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where 0 is request id.  ‘Y’ indicates the method of invocation i.e. it is directly invoked from the command-line not from the Submit Request Form.
63.   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)
64.   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.
65.   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 screen.
66.   What is the 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.
67.   What is difference between Socket & Servlet Mode in Apps Forms?
When forms run in SOCKET Mode these are dedicated connection between Client Machine & Form Server. When Forms run in servlet mode there will be additional JVM for Forms Request in that case and you won’t start form via adfrmctl.sh.
68.   What is make program in Unix?
make is utility in Unix/Linux to maintain , update & generate a file mainly executable.
69.   If by mistake 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 Maintain Applications Files menu
Then select 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]?” select YES
From list of executables select FNDLIBR this will create new FNDLIBR executables

70.   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.
71.   What are .ldt & .lct files which you see in apps patch or with FNDLOAD?
.ldt & .lct stands for Loader data file & Loader configuration files, used frequently in migrating customization, profile options, configuration data etc. across Instances.
72.   What are .odf file in apps patch?
odf stands for Object Description Files used to create tables & other database objects while applying a patch.
73.   Where 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
74.   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
75.   Does APPS_MRC Schema exist 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.
76.   If APPS_MRC schema is not used in 11.5.10 and higher then how MRC is working?
For products like Payable, Receivables which uses MRC and if MRC is enabled then each transaction table in base schema related to currency now has an associated MRC sub tables.
77.   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.
78.   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.
79.   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
80.   Why does a worker fail in Oracle Apps Patch and few scenarios in which it failed for you?
Apps Patch worker can fail in case it doesn’t find expected data, object, files or anything which driver is trying to update/edit/modify. Possible symptoms may be underlying tables/objects are invalid, a prerequisite patch is missing, login information is incorrect, inconsistency in seed data.
81.   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.
82.   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.
83.   What is ps -ef or ps command in Unix? for work ex < 1 yr
ps in unix/linux is a utility to find status of process. Used mainly to find if service/process is running or not.
84.   Find application server version?
FND_PRODUCT_GROUPS
85.   How will you find the Apache, forms, reports version in an EBS suite?
http –v – Apache
f60gen – Forms
ar60run – Reports
86.   Find jinitiator version?
Client side – Control panel
Server side – SID_hostname.xml (s_jinit_ver_)

87.   List some ad utilities and their functions?
adadmin, adctrl, adpatch, adlicmgr, admrgpch, adsplice and adworker
88.   List out the modules related to oracle Apps DBA?
FND – Application Object Library, AU – Application Utilities, AD – Application DBA
89.   What are profile options, what are various types of profile options?
User, application, responsibility and site
90.   What are the different types of oracle patches available?
One-off, mini, diagnostics, cu, rup, language, help, platform specific, OS, OPatch, Interoperability, family pack and maintenance pack.
91.   What are the different patch drivers available?
C driver, D driver, G driver and U driver.
92.   List out the important env files?
Appsora.env, appsSID_hostname.env, adovars.env, APPSSID_hostname
93.   What is the utility to change the password of a dba schema in oracle apps?
FNDCPASS
94.   What are mandatory users in oracle apps?
applsys, applsyspub, apps
95.   What are the components in the Application Tier?
Apache(http)
Jserver(jre)
Forms Server(f60srv)
Metric Server(d2ls)
Metric Client(d2lc)
Report Server(rwm60)
Concurrent Server(FNDLIBR)
Discoverer

96.   What are main file systems in Oracle Apps?
APPL_TOP, COMMON_TOP, DB_TOP,ORA_TOP 7

97.   What are there in Desktop Tier?
Internet Browser, JInitiator
98.   What is the location of JInitiator in the Desktop Tier?
c:program filesoracleJinitiator

99.   What is the location of client cache?
c:documents and settingsuseroracle jar Cache 10.
100.            What is the location of Server cache?
$COMMON_TOP/_pages
101.            Which package will be used for the user validation by plsql agent?
oraclemypage
102.            What are the location of JAVA Files?
JAVA_TOP and all PRODUCT_TOP/Java/Jar
103.            What is the name of the xml file of Apps and its location?
Context Name.xml and $APPL_TOP/admin
104.            What are adadmin utilities and their location?
$AD_TOP/bin
adadmin
adpatch
adsplice
adident
adrelink
adlicmgr
105.            What is the location of Apps environment file and its name?
contextname.env and $APPL_TOP
106.            In how many ways Jar files are generated?
Normal and Force
107.            Once Jar files are generated what files get affected?
All Product_top/java/jar files and Two files in JAVA_TOP they are appsborg.zip appsborg2.zip
108.            How do you see the files in zip file?
unzip -v
109.            How do you generate jar files?
Using adadmin and option 5
110.            How do you start the apps services?
$COMMON_TOPadminscriptsContextnameadstrtal.sh apps/apps
111.            What is the executable to generate jar files?
adjava
112.            How do you relink an executable of a product?
By relinking option in adadmin or adrelink
113.            How do you relink AD product executable and usage?
adrelink.sh and adrelink.sh force=y “ad adsplice”
114.            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
115.            What is DAD?
It is a file which stores apps passwords in hard coded format i.e. wdbsvr
116.            How do you relink OS files and libraries?
Using make command
117.            How do you know the package version?
select text from dba_source where name=’package name’ and type=’PACKAGE BODY’ and rownum<10>/rdbms/admin)
118.            How do you load java class to database?
loadjava
119.            What are restart files and its location?
These files contain the previous session info about adadmin. Location is $APPL_TOPadminsidrestart*.rf9
120.            How do you validate apps schema?
To validate synonyms, missing synonyms and all grants use adadmin. After validating it will produce a report in the location $APPL_TOPadminsidout*.out
121.            How do you enable maintenance mode?
Using adadmin or running a script called “adsetmmd.sql ENABLE/DISABLE” (AD_TOP/patch/115/sql)
122.            How to see the version of a script or form or report or etc?
adident Header GLXSTEA.fmx
123.            What is the location of adadmin log?
$APPL_TOPadminsidlog
124.            What are the oracle homes in Apps?
8.0.6 ORACLE_HOME(Dev 6i products) and IAS_ORACLE_HOME (Apache)
125.            How do you configure your IP address at client side and server side?
c:windowssystem32driversetchosts and etchost
126.            What is the location of Database server related scripts?
$ORACLE_HOMEappsutilscriptscontextname
127.            What is the utility to clean the concurrent manager?
@cmclean.sql (You have to download it from metalink)
128.            How do you stage the 11.5.10 Apps software?
Using adautostg.pl
129.            What is the location of the source files of forms?
AU_TOP/forms/US/
130.            What is the executable to generate forms?
f60gen
131.            What are the profile options, what are various types of profile options?
You set profile options at the following levels
Site level
Application level
Responsibility level
User level
132.            What is APPS listener? Why is it used?
Apps Listener usually run on all Oracle Applications 11i Nodes with listener alias as APPS_$SID and is mainly used for listening requests for services like FNDFS & FNDSM.
133.            How do you start/stop apps listener?
lsnrctl start APPS_$SID
134.            If users are complaining Oracle Applications 11i system is running slow, following are the things to check?
First as an Overview of Oracle Applications 11i check following things
Broad Level Steps to Check
1. Is Gather stats scheduled? (At least weekly)
2. Is Purge Obsolete Workflow request & concurrent request purging scheduled?
3. Is there any runaway process on database tier or application tier? (Runaway process is process taking unexceptionally long time with high CPU or Memory usages)
4. Any Discoverer process taking long time or High CPU? (Usually on Middle tier)
5. Any Custom report taking long time?
In order to understand problem better
1. Is whole application slow or only component of application is slow (like only Concurrent manager running slow)?
2. If this is with particular component like reports server slow then is a particular report or all reports are slow?
3. Is performance issue during all time or at specific time let’s say from 11AM to 4PM?
4. Was performance issue popped up recently or performance degradation is for long time?
5. What has changed recently?
Depending on answers you can start looking into application. If issue is specific to whole applications then check
1. If database initialization parameter is set correctly?
2. If application sizing is proper, server configuration is enough to accommodate all users?
135.            What is Autoconfig?
Autoconfig is method of configuring Oracle Applications. All the information required to configure Oracle Apps 11i is stored in file called Context file. So there are two context files, one for Database Tier and Second for Application Tier. Context file is repository for configuration information stored in xml format. Its xml file and file name format is <SID>_<HOSTNAME>.xml so if your machine name is MACHINE1 and SID is VISION then context file name will be VISION_MACHINE1.xml

136.            What is context file?
Oracle stores all the environment specific values in an xml file stored in $APPL_TOP/admin directory, which they call an application context file. This file is created by running adbldxml.sh/adbldxml.pl (Located in $AD_TOP/bin). Adbldxml.sh in turn runs oracle.apps.ad.context.GenerateContext java class.
Context file is generated by plugging in environment specific values in the context file template (don’t confuse this template with the configuration file templates) $AD_TOP/admin/template/adxmlctx.tmp. In older versions of 11i these replacement values were gotten from config.txt file (created by rapidwiz during installation), but in later versions, these values are gotten from the information, in existing configuration files and the database. adbldxml.sh/adbldxml.pl (in newer versions of autoconfig) creates a detailed log file, detailing the source for each context variable.

137.            How to create User in Oracle Applications 11i? Can you delete a User?
Choose Users from the Manage menu to create a new user. This opens the Manage Users dialog box, where you choose New to enter information for a new user.
You provide the following user information:
User — Enter a name that identifies the user.
User Type — Select the type of the user.
Usernames — Choose Edit to access the Edit User dialog box where you can associate one or more user names with the user and specify whether the user is authorized to create shareable documents.
Other — Provide information that is specific to the client type. For example, for a thin-client workstation, you enter the SHELLS directory of the component where you are creating the user and the Express Server instance to which the user’s personal database will be connected.
Adding a new user creates a user task and sends it to the Task Processor. If you are not running the Task Processor in the background, you must run it in the foreground to process the user task.
138.            What is Single Sign On? (If you are using portal 3.0.9 or 10G)?
Oracle Enterprise Single Sign-On Suite provides users with unified sign-on and authentication across all their enterprise resources, including desktops, client-server, custom and host-based mainframe applications. Even if users travel or share workstations, they can enjoy the flexibility of a single log-on that eliminates the need for multiple usernames and passwords and helps enforce strong password and authentication policies.
139.            How to find OUI version?
OUI stands for Oracle Universal Installer.
140.            What happens if the ICM goes down?
Since ICM is down so it can’t reach other managers & can’t shutdown them but yes if because of some reason Standard Manager dies & ICM is already dead Standard managers will not start. The ICM does the work of distributing the concurrent request to standard managers. If ICM goes down the concurrent requests in standard managers will be running fine. But no new request will be assigned to the standard managers. So wait until all your concurrent requests gets completed and then bounce the concurrent managers to start your ICM.
141.            Provide a high-level overview of the cloning process and post-clone manual steps?
Rapid Cloning Steps for Windows R12Source System:
1.Run adpreclone.pl in Database Node
2.Perl $ORACLE_HOMEappsutilscripts$CONTEX_NAMEadpreclone.pl dbTier
3.Run adpreclone.pl in Apps Node
4.Perl $ADMIN_SCRIPTS_HOMEadpreclone.pl appsTier
5.Shut down the Applications and database
6.Change all services type into manual (option)
7.Restart the system (option)
8.Check if any FNDLIBR programs are running or not
9.Take a cold backup of database and applicationsTarget System:Prepare your target system as per the source system configuration
1.Install Windows Server 2003 service pack 2 Enterprise Edition
2.Install Visual Studio 2005
3.Install Active perl
4.Install Cygwin Change make version from 3.81 into 3.80
5.Copy the Source system backup into target system
6.Set perl locations by using existing env file(It varies between DB node and Apps Node, We will set this two times)
7.Goto the $ORACLE_HOMEappsutilclonebin folder and the post clone scripts
8.Run Postclone scripts in db Tier
9.Perl $ORACLE_HOMEappsutilcloneBinadcfgclone.pl dbTier
10.Run Postclone in Apps Tier
11.Perl $COMMON_TOPclonebinadcfgclone.pl appsTierFinishing Tasks:1.Update the profile options
Rapid clone will update the site level profile options only, we need to update instance level profile options manually
2.Update the printer settings
3.Update the workflow configuration settings
Cloning an Oracle Applications instance will not update the host and instance specific information used by Oracle Workflow. Review the following tables and columns to verify there is no instance specific data in the Workflow configuration on the target system.
Important Notes:a)While running Postclone in appsTier it prompts hostname, we should give like hostname.domainname for example sys10.sample.com
b)While running post clone in appsTier it prompts visual studio directory don’t include bin folder. For example give like c:vcVC, don’t give like c:vcVCbin

142.            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.
143.            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.
144.            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.
145.            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.
146.            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.
147.            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.

148.            Explain the steps for applying apps patch and database patch?
a) Login as applmgr and set the environment. For the Windows environment also, you have to test that CLASSPATH contains %JAVA_TOP%, %JAVA_TOP%loadjava.zip
b) Create a PATCH_TOP directory in the Base Directory (at the same level as APPL_TOP, COMMON_TOP, etc: this is just a recommendation) for the patches which will be downloaded. If this directory exists, this step can be skipped. An OS environment variable could be created for this directory. This will be done only one time, when the first patch will be applied.
c) Download the patch you want to apply in PATCH_TOP directory and unzip the patch.
d) Understand the README.txt file and complete the prerequisite or manual steps. Here, if there are any patched to apply as pre-requisite, in general, is created a document with all the steps involving in the patching process and the pre-requisite patches will be applied before the initial patch.
e) Ensure that the PLATFORM variable environment (under UNIX, Linux, Solaris) is set
f) Shut down APPS services. The database services and the listener must be up and running.
g) Enable Maintenance Mode.
h) Start AutoPatch in interactive mode. This task must be done from the directory where the patch driver is/was unzipped. Also, respond to the adpatch prompts. If there are more drivers to apply (there is no unified drive: there could be a database (d), copy (c) or generate (g) driver) restart the adpatch and apply the other patches.
i) Review the log files. By default, the location is $APPL_TOP/admin//log and the file is adpatch.log.
j) Review the customizations (if any). If a customization was modified by this patch, the customization must be applied again.
149.            What is autoconfig?
AutoConfig is the tool, which is used to configure oracle application systems. It’s basically a perl script. At present there are more than 300 configuration files and environment files in application system. Whenever a change is made to any of the configuration parameter, the change needs to be propagated correctly to correct configuration and environment files. Managing such changes in such large number of files is really difficult.
AutoConfig uses a file called context file, which is used to configure changes. Context file is an XML file having all the parameters of application system. These parameters are part of some configuration file for some services or it may be part of some environment file. When we create an application system (using Rapid install), context file gets created automatically with all the parameters and there values. Most of the parameters take default value, where as some parameters takes the value that is supplied at the time of installation.
150.            How to enable diagnostics for oracle applications?
FND: Enable Diagnostics.
151.            What is .lgi file?
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.

152.            How will you skip worker during patch?
If in your adctrl there are six options shown then seventh is hidden option. (If there are seven options visible then 8th option is to Skip worker depending on ad version).
153.            Which two tables are created at start of Apps Patch and drops at end of Patch?
FND_INSTALLED_PROCESS and AD_DEFFERED_JOBS are the tables that get updated while applying a patch mainly d or unified driver.
154.            How to compile an Oracle Reports file?
Utility adrepgen is used to compile Reports. Syntax is given below adrepgen userid=apps<psswd> source = $PRODUCT_TOPsrwfilename.rdf dest=$PRODUCT_TOPsrwfilename.rdf stype=rdffile dtype=rdffile logfile=x.log overwrite=yes batch=yes dunit=character

155.            What is difference between AD_BUGS and AD_APPLID_PATCHES?
AD_BUGS holds information about the various Oracle Applications bugs whose fixes have been applied (i.e. 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 (e.g. “merged” patches), then they are considered distinct and this table will therefore hold 2 records.
156.            How you will troubleshoot if concurrent request is taking long time?
First you will try to check how far the query has gone (if in v$session_longops for example, or reading some session statistics) and if there is contention with another session (such as a lock for example) because it talks about a ‘concurrent request’.
Method 1: Trace the session using dbms_system.set_sql_trace_in_session (or) if u r using 10g, using dbms_monitor and look at the trace file to identify where the issue is. You can get the explain plan and tune the query.
Method 2:
1. Is this a new query (or) an existing query
2. Look for the wait event associated to this query.
3. What is the elapsed time for this query?
4. Are there are any db deadlocks?
5. Are there any long operations?
6. Are there any long transactions?
7. Based on the sql hash value, look at the sql_text from v$sql
8. Run an explain plan (or) use oradebug and trace the query if what bind variables are using and how the
data distribution is.
9. Based on the above information, look for when statistics was collected
10. If it is an old query, check if the plan has changed and if so, why?
Once u understand where the problem is, then solutions can be defined ranging from creating sql profiles / stored outlines (or) adding hints to the query and thoroughly test your changes.
Always remember to make one change and test for performance change. If you make a series of changes, it will be very difficult to isolate which has caused the performance improvement.
157.            Why I need shared APPL_TOP?
If you have two/three Middle Tier for Large User base then you have to install APPL_TOP, COMMON_TOP & ORA_TOP equal to number of Nodes in your configuration. So if you have three middle tiers, then you need these three top three times & if there are N nodes you need N time these three tops. This result in lots of Space Requirement & bigger problem is patching so if you have 5 nodes you need to apply apps patch 5 times.
So Oracle came up with solution to have single APPL_TOP which is shared across all nodes in apps. This will save space as well as patch timing. This concept of sharing APPL_TOP file system across all Middle Tier Nodes is called APPL_TOP.
You will say if I can share APPL_TOP why can’t I share COMMON_TOP & ORA_TOP as well which are also part of Application Tier, Yes you can & this concept is called as Shared Application Tier.
158.            What is Shared Application Tier?
Sharing Application Tier (including APPL_TOP, COMN_TOP, ORA_TOP) across all Middle Tier Nodes in configuration is called as Shared Application Tier.  So I can say shared APPL_TOP is subset of shared Application Tier, initially shared APPL_TOP came out & based on its advantages & popularity later COMMON_TOP & ORA_TOP files were also included & entire concept is called as Shared Application Tier.

159. Limitation with Shared APPL_TOP and Application Tier?
If you are running Apps on Windows you’ll be sad to hear that it’s not certified with Windows Operation System. More over you can share across same operation system like Linux to Linux & Solaris to Solaris.
160.  What are the request incompatibilities? How conflict resolution concurrent manager solve them?
Checks if a request in queue can be run in parallel with the running request.
161. Where and how you update workflow notification mailer configuration setting?
This depends on which workflow mailer you are running C Mailer or Java Mailer
162.  If you want to change Concurrent Manager log and out file location, is it possible, If Yes, How? If No, why not?
By default standard location is $APPLCSF/$APPLLOG, in some cases it can go to $FND_TOP/log as well.
163.  How frequent you run Gather Schema Statistics program & with what option? Why you need to run it? What is cost based optimizer?
In Oracle Database there is something called Cost Based Optimizer (CBO) which other than doing many things also does query optimization. That is it determines the best or optimum method to run a query. Now when large changes to the data or database take place, the system performance may get slow. DBMS_STATS is the package which collects statistics for Cost Based Optimizer. Collecting Statistics lets the CBO know about the best methods for query optimization. The statistics include the Table statistics, Column statistics, Index statistics and System statistics. The DBMS_STATS package includes the following procedures
1.GATHER_INDEX_STATS, Index statistics
2.GATHER_TABLE_STATS, Table, column, and index statistics
3.GATHER_SCHEMA_STATS,Statistics for all objects in a schema
4.GATHER_DICTIONARY_STATS,Statistics for all dictionary objects
5.GATHER_DATABASE_STATS,Statistics for all objects in a database
Of all of the above usually the most used is GATHER_SCHEMA_STATS to gather statistics of all objects within a particular Schema. The Gather Schema Statistics process should be run on a regular basis (weekly at a minimum) and anytime large changes to the data or database take place.
164. 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 and profile options going to change when you run AutoConfig.
165.  What is difference between .xml file and AutoConfig?
Autoconfig is Utility to configure your Oracle Application environment. xml file is repository of all configuration from which AutoConfig picks configuration and populates related files.
166. 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.
167. How you will avoid your query from using indexes?
By changing the order of the columns that are used in the index, in the Where condition, or by concatenating the columns with some constant values.
168.  What is an OUTER JOIN?
An OUTER JOIN returns all rows that satisfy the join condition and also returns some or all of those rows from one table for which no rows from the other satisfy the join condition

No comments:

Post a Comment