Tuesday, May 20, 2014

Oracle Apps DBA Interview Questions part 11



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_TOP\admin\scripts\Contextname\adstrtal.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_TOP\admin\sid\restart\*.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_TOP\admin\sid\out\*.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_TOP\admin\sid\log
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:\windows\system32\drivers\etc\hosts and \etc\host
126.            What is the location of Database server related scripts?
$ORACLE_HOME\appsutil\scripts\contextname
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_HOME\appsutil\scripts\$CONTEX_NAME\adpreclone.pl dbTier
3.Run adpreclone.pl in Apps Node
4.Perl $ADMIN_SCRIPTS_HOME\adpreclone.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_HOME\appsutil\clone\bin folder and the post clone scripts
8.Run Postclone scripts in db Tier
9.Perl $ORACLE_HOME\appsutil\clone\Bin\adcfgclone.pl dbTier
10.Run Postclone in Apps Tier
11.Perl $COMMON_TOP\clone\bin\adcfgclone.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:\vc\VC, don’t give like c:\vc\VC\bin
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_TOP\srw\filename.rdf dest=$PRODUCT_TOP\srw\filename.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.

Oracle Apps DBA Interview Questions part 10

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 files\oracle\Jinitiator
99.   What is the location of client cache?
c:\documents and settings\user\oracle jar Cache 10.
100.            What is the location of Server cache?
$COMMON_TOP/_pages

Oracle Apps DBA Interview Questions part 9

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.

Monday, May 19, 2014

Oracle Apps DBA Interview Questions part 8

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

Oracle Apps DBA Interview Questions part 7

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

Oracle Apps DBA Interview Questions part 6

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.

Oracle Apps DBA Interview Questions part 5

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)

Oracle Apps DBA Interview Questions part 4

21.   What is access_log in apache, what entries are recorded in access_log? Where is the default location of this file?
access_log in Oracle Application Server records all users accessing oracle applications 11i. Its file location is defined in httpd.conf with default location at $IAS_ORACLE_HOME/Apache/Apache/logs.
22.   Where is Jserv configuration files stored?
Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc.
23.   Where is applications start/stop scripts stored?
Applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/$CONTEXT_NAME
24.   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
25.   How to check if Apps 11i System is Autoconfig enabled?
Under $AD_TOP/bin check for file adcfginfo.sh and 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.......
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

Oracle Apps DBA Interview Questions part 3

11.   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 prerequisite patches for Rapid Clone and you are on latest rapid clone patch.
12.   Does rapid clone takes care of Updating Global oraInventory or you have to register manually in Global oraInventory after clone?
Rapid Clone automatically updates Global oraInventory during configuration phase. You don't have to do anything manually for Global oraInventory.
13.   What is .dbc file, where is it stored, what is the use of .dbc file?
DBC. as name suggests is a 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.
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)
15.   How you put Applications 11i in Maintenance mode?
Use adadmin to change maintenance mode in EBS. If you don't want to put EBS in maintenance mode you can use adpatch options=hotpatch feature.
16.   Can you apply patch without putting Applications 11i in Maintenance mode?
Yes, use options=hotpatch as mentioned above with adpatch.
17.   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, databaseportion, generateportion, hotpatch, integrity, maintainmrc, parallel, prereq, validate
18.   adident utility is used for what?
adident utility in oracle apps is used to find version of any file . For example “adident Header <filename>”
 What is adsplice utility?
adsplice in oracle apps is utility to add a new product to EBS.
 How can you license a product after installation?
You can use ad utility adlicmgr to license product in Oracle Apps.
19.   What is MRC? What you do as Apps DBA for MRC?
MRC also called as Multiple Reporting Currency in Oracle Apps. By default you have currency in US Dollars but if your organization’s operating books are in other currency then you as apps DBA need to enable MRC in Apps.
20.   What is JVM (Java Virtual Machine) and which component uses JVM?
JVM stands for Java Virtual Machine.

Oracle Apps DBA Interview Questions part 2

1.       What is FNDSM?
FNDSM is executable & core component in GSM (Generic Service Management Framework). You start FNDSM services via APPS listener on all Nodes in Application Tier in E-Business Suite.
2.       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.
 Explain Architecture of Oracle Apps 11i?
Apps 11i is Mutli Tier architecture with Desktop Tier (Client Tier), Middle Tier (Application Tier) and Database Tier.
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.
5.       What is 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.
6.       What are the main concurrent Manager types?
ICM - Internal Concurrent Manager which manages concurrent managers
Standard Managers - Manages processing of requests
CRM - Conflict Resolution Managers, resolve conflicts in case of incompatibility
7.       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
8.       Where would I find .rf9 file, and what exactly it does?
These files are used during restart of a patch in case of patch failure because of some reason.
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 tries 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?
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 Server, Web Server on second machine.

Oracle Apps DBA Interview Questions part 1


Oracle apps dba interview questions and answers part 1

Oracle apps dba interview questions and answers

1) Describe the architecture of Oracle Applications?

• Oracle Applications follow a 3 Tier architecture

- Database Tier
- Middle Tier
- Desktop Tier

• Database tier contains RDBMS database called as oracle database server.
• Database tier stores all the data needed by oracle applications.
• Middle tier or Application Tier containing various servers configured with listeners like web server, forms server, admin server, reports server.
• Database server communicates with middle tier, doesn’t directly communicate with desktop tier.
• Desktop tier contains client desktop where users access oracle applications through web browsers.

2) How do you delete a responsibility from oracle applications?

• Responsibility is a level of authority given to Oracle Applications users.
• It is a collection of requests, forms and menus attached to user.
• Records are used for monitoring and security purpose so we can’t disable responsibilities.
• However, responsibilities can be disabled by assigning an end date to the effective period.
• We can delete a responsibility from both backend and frontend.

3) What are the components of Oracle Applications technology layer?

Oracle Applications technology layer comprises the following products
• Oracle Applications DBA (AD)
• Oracle Applications object library (FND)
• Oracle Common Modules (AK)
• Oracle Applications Utilities (AU)
• Oracle Alert (ALR)
• Oracle Workflow (WF)
• Oracle Applications Framework (FWK)
• Oracle XML Publisher (XML)

4) 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

• Oracle Home is an environment where oracle products run.
• Database Oracle Home in the database tier that acts as the Oracle Home for the Oracle database.
• Oracle Home in the application tier called as 8.0.6 Oracle Home. It is called the technology stack Oracle Home and used by forms, reports and discoverer.
• IAS Oracle Home, used by the Oracle HTTP Server (Web Listener).
• We can run multiple releases of same products simultaneously by using multiple oracle homes.

5) 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
• RAC allows multiple instances to mount and open a single database.
• RAC requires shared disk storage and a dedicated network interconnect.
• When any one of the node fails, database services can be still available on remaining nodes.
• In that case, more than one instance of Oracle runs and the data file are stored at a central location accessible from the entire instance.

6) Where are Apache log files and configuration files stored and list each of them?

• 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.
• Apache configuration files are stored in $IAS_ORACLE_HOME/Apche/Apache/conf directory.
• The main configuration files are httpd.conf, apps.conf, httpd_pls.conf,oprocmgr.conf, and oracle_apache.conf.

7) How to recreate a DBC file and where is it located?

• Running Autoconfig will recreate the DBC file
• DBC is a database connect descriptor file which stores database connection information used by application tier (web browsers) to connect to database.
• The file is located in FND_SECURE directory.
• you can also create the DBC file by running the script adgendbc.sh
• We can find the above script at $COMMON_TOP/admin/install directory.

8) List out the important configuration files in APPL_TOP?

Important configuration files available in the APPL_TOP are

• 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

9) Which utility is used for changing the password of the application users and how it runs?

• The password of the application users can be changed using the FNDCPASS utility.
• You must have system and applications password for running FNDCPASS.
• FNDCPASS will run in the following manner:
• 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.

10) What are the scripts do you use while Apps cloning?

• A type of script that’s made a comeback in hot scripts is clone script.
• adpreclone.pl prepares the source system and adcfgclone.pl configures the target system.
• Both the scripts are located in $COMMON_TOP/admin/scripts/contextname directory.
• Adpreclone.pl collects information about the database.
• It also creates generic templates of files containing source specified hardcore values.

Oracle RAC Interview Questions part 4

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 ?

http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/RACR2ARC6/Default.aspx

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/


--------------------------------------------------------------------------------------------------------------
What is RAC?
RAC Architechture?

What is a SCAN Listener?

What is VIP?

What is TAF?

What is FAN?

What is LMON?

What is CACHE FUSION?

What is SPLIT BRAIN in RAC?

How Load balancing works in ORACLE RAC?

What is Voting Disk?
How many backups are there for Voting Disk?
WHY ODD NUMBER OF VOTING DISK IS USED?
How to take Voting Disk backup? Do you take Voting Disk backup?
If you lost Voting Disk, how do you Restore?

What is OCR?
How many backups are there for OCR?
How to take OCR backup? Do you take OCR backup?
If you lost  OCR, how do you Restore?

What is a Master Node?
How do you know which is the Master Node without connecting to Database?

Can we have Node 1 in SOLARIS OS and Node 2 in LINUX OS?

Commomnly used commands in RAC?

How to convert standalone database to RAC?

Oracle RAC Interview Questions part 3

Oracle DBA Interview Questions and Answers - RAC
Oracle RAC Interview Questions and Answers 

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