Showing posts with label interview Q and A. Show all posts
Showing posts with label interview Q and A. Show all posts

Wednesday, September 18, 2013

11g background Process

11g background Process


New background processes in 11g. As per Oracle documentation there are 56 new background processes added in 11g release 1

Some Important background Process

MMAN - this process is responsible for ASMM in 10g and AMM in 11g  which manages memory allocation to SGA and PGA

RCBG - this background process is responsible for processing data into server result cache

DIAG - In 11g we have a single location for all the trace files, alert log and other diagnostic files. DIAG is the process which performs  diagnostic dumps and executes oradebug commands

DIA0 – responsible for hang detection and deadlock resoultion

DBRM – Database resource manager is responsible for setting plans to users and all other database resource management activities

EMNC – Event Monitor Coordinator will coordinate with event management and notification activity

FBDA – Flashback Data Archiver process is responsible for all flashback related actions in 11g database

GEN0 - General task execution process which performs required tasks

SMCo – Space management coordinator executes various space management tasks like space reclaiming, allocation etc. It uses slave processes Wnnn whenever required

VKTM – Virtual keeper of time is  responsible for keeping track of the wall-clock time and used as a reference-time counter







Looking forward for your suggestions.. please feel free to write to me.. Your help would definitely help to improve our blog.  Chetan Yadav 

Tuesday, August 2, 2011

More oracle DBA interview question and answer


What is the Maximum allowed length of Record group Column?
Record group column names cannot exceed 30 characters.
Which parameter can be used to set read level consistency across multiple queries?
Read only
What are the different types of Record Groups?
Query Record Groups
NonQuery Record Groups
State Record Groups
From which designation is it preferred to send the output to the printed? 
Previewer
What are difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.
What are the different display styles of list items?
Pop_listText_listCombo box
Which of the above methods is the faster method?
performing the calculation in the query is faster.
With which function of summary item is the compute at options required?
percentage of total functions.
What are parameters?
Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.
What are the three types of user exits available ?
Oracle Precompiler exits, Oracle call interface, NonOracle user exits.
How many windows in a form can have console?
Only one window in a form can display the console, and you cannot change the console assignment at runtime.
What is an administrative (privileged) user? (for DBA )
Oracle DBAs and operators typically use administrative accounts to manage the database and database instance. An administrative account is a user that is granted SYSOPER or SYSDBA privileges. SYSDBA and SYSOPER allow access to a database instance even if it is not running. Control of these privileges is managed outside of the database via password files and special operating system groups. This password file is created with the orapwd utility.
What are the two repeating frame always associated with matrix object?
One down repeating frame below one across repeating frame.
What are the master-detail triggers?
On-Check_delete_masterOn_clear_detailsOn_populate_details
How does one connect to an administrative user? (for DBA )
If an administrative user belongs to the "dba" group on 
Unix, or the "ORA_DBA" (ORA_sid_DBA) group on NT, he/she can connect like this:
connect / as sysdba
No password is required. This is equivalent to the desupported "connect internal" method.
A password is required for "non-secure" administrative access. These passwords are stored in password files. Remote connections via Net8 are classified as non-secure. Look at this example:
connect sys/password as sysdba
How does one create a password file? (for DBA )
The Oracle Password File ($ORACLE_HOME/dbs/orapw or orapwSID) stores passwords for users with administrative privileges. One needs to create a password files before remote administrators (like OEM) will be allowed to connect.
Follow this procedure to create a new password file:
. Log in as the 
Oracle software owner
. Runcommand: orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mypasswd
. Shutdown the database (SQLPLUS> SHUTDOWN IMMEDIATE)
. Edit the INIT.ORA file and ensure REMOTE_LOGIN_PASSWORDFILE=exclusive is set.
. Startup the database (SQLPLUS> STARTUP)
NOTE: The orapwd utility presents a 
security risk in that it receives a password from the command line. This password is visible in the process table of many systems. Administrators needs to be aware of this!
Is it possible to modify an external query in a report which contains it?
No.
Does a grouping done for objects in the layout editor affect the grouping done in the data model editor?
No.
How does one add users to a password file? (for DBA )
One can select from the SYS.V_$PWFILE_USERS view to see which users are listed in the password file. New users can be added to the password file by granting them SYSDBA or SYSOPER privileges, or by using the orapwd utility. GRANT SYSDBA TO scott;
If a break order is set on a column would it affect columns which are under the column?
No
Why are OPS$ accounts a security risk in a client/server environment? (for DBA)
If you allow people to log in with OPS$ accounts from Windows 
Workstations, you cannot be sure who they really are. With terminals, you can rely on operating system passwords, with Windows, you cannot.
If you set REMOTE_OS_AUTHENT=TRUE in your init.ora file, Oracle assumes that the remote OS has authenticated the user. If REMOTE_OS_AUTHENT is set to FALSE (recommended), remote users will be unable to connect without a password. IDENTIFIED EXTERNALLY will only be in effect from the local host. Also, if you are using "OPS$" as your prefix, you will be able to log on locally with or without a password, regardless of whether you have identified your ID with a password or defined it to be IDENTIFIED EXTERNALLY.
Do user parameters appear in the data modal editor in 2.5?
No
Can you pass data parameters to forms?
No
Is it possible to link two groups inside a cross products after the cross products group has been created?
no
What are the different modals of windows?
Modalless windows
Modal windows
What are modal windows?
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.
What are the different default triggers created when Master Deletes Property is set to Non-isolated?
Master Deletes Property Resulting Triggers
----------------------------------------------------
Non-Isolated(the default) On-Check-Delete-Master
On-Clear-Details
On-Populate-Details
What are the different default triggers created when Master Deletes Property is set to isolated?
Master Deletes Property Resulting Triggers
---------------------------------------------------
Isolated On-Clear-Details
On-Populate-Details
What are the different default triggers created when Master Deletes Property is set to Cascade?
Master Deletes Property Resulting Triggers
---------------------------------------------------
Cascading On-Clear-Details
On-Populate-Details
Pre-delete
What is the diff. bet. setting up of parameters in reports 2.0 reports2.5?
LOVs can be attached to parameters in the reports 2.5 parameter form.
What are the difference between lov & list item?
Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns.
What is the advantage of the library?
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.
What is lexical reference? How can it be created?
Lexical reference is place_holder for text that can be embedded in a 
sql statements. A lexical reference can be created using & before the column or parameter name.
What is system.coordination_operation?
It represents the coordination causing event that occur on the master block in master-detail relation.
What is synchronize?
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.
What use of command line parameter cmd file?
It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.
What is a Text_io Package?
It allows you to read and write information to a file in the 
file system.
What is forms_DDL?
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
How is link tool operation different bet. reports 2 & 2.5?
In Reports 2.0 the link tool has to be selected and then two fields to be linked are selected and the link is automatically created. In 2.5 the first field is selected and the link tool is then used to link the first field to the second field.
What are the different styles of activation of ole Objects?
In place activationExternal activation
How do you reference a Parameter?
In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex. PARAMETER name = '' or :block.item = PARAMETER Parameter name
What is the difference between object embedding & linking in Oracle forms?
In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.
Name of the functions used to get/set canvas properties?
Get_view_property, Set_view_property
What are the built-ins that are used for setting the LOV properties at runtime? 
get_lov_property
set_lov_property
What are the built-ins used for processing rows?
Get_group_row_count(function)
Get_group_selection_count(function)
Get_group_selection(function)
Reset_group_selection(procedure)
Set_group_selection(procedure)
Unset_group_selection(procedure)
What are built-ins used for Processing rows?
GET_GROUP_ROW_COUNT(function)
GET_GROUP_SELECTION_COUNT(function)
GET_GROUP_SELECTION(function)
RESET_GROUP_SELECTION(procedure)
SET_GROUP_SELECTION(procedure)
UNSET_GROUP_SELECTION(procedure)
What are the built-in used for getting cell values?
Get_group_char_cell(function)
Get_groupcell(function)
Get_group_number_cell(function)
What are the built-ins used for Getting cell values?
GET_GROUP_CHAR_CELL (function)
GET_GROUPCELL(function)
GET_GROUP_NUMBET_CELL(function)
Atleast how many set of data must a data model have before a data model can be base on it?
Four
To execute row from being displayed that still use column in the row which property can be used?
Format trigger.
What are different types of modules available in oracle form?
Form module - a collection of objects and code routines Menu modules - a collection of menus and menu item commands that together make up an application menu library module - a collection of user named procedures, functions and packages that can be called from other modules in the application
What is the remove on exit property?
For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.
What is WHEN-Database-record trigger?
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.
What is a difference between pre-select and pre-query?
Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode.Pre-query trigger fires before pre-select trigger.
What are built-ins associated with timers?
find_timercreate_timerdelete_timer
What are the built-ins used for finding object ID functions?
Find_group(function)
Find_column(function)
What are the built-ins used for finding Object ID function?
FIND_GROUP(function)
FIND_COLUMN(function)
Any attempt to navigate programmatically to disabled form in a call_form stack is allowed?
False
Use the Add_group_row procedure to add a row to a static record group 1. true or false?
False





any mistake is there or u wanna give any suggestion so please write to me ............

Sunday, July 17, 2011

Difference between 10g and 11g

1.Simplified and improved automatic memory management

2.New fault diagnosability infrastructure to prevent, detect, diagnose, and help resolve critical database errors

3.Invisible Indexes

4.Virtual columns

5.Enhanced security for password-based authentication by enabling use of mixed case in passwords.

6.Tablespace-level encryption

7.Ability to online redefine tables that have materialized view logs


any mistake is there or u wanna give any suggestion so please write to me ............

Friday, July 8, 2011

General ORACLE DBA interview Question

1. What is an Oracle Instance?
    An instance is the (executed) Oracle software (Oracle processes) and the memory they use (SGA).             It  is  the instance that manipulates the data stored in the database.

2. What information is stored in Control File?
The database name
The timestamp of database creation
  The names and locations of associated datafiles and redo log files
  Tablespace information
  Datafile offline ranges
  The log history
  Archived log information
  Backup set and backup piece information
  Backup datafile and redo log information
  Datafile copy information
  The current log sequence number


3. When you start an Oracle DB which file is accessed first?
Oracle first open and reads the initialization parameter file (init.ora).
   


4. What is the Job of SMON, PMON processes?
PMON—It cleaned up the failed processes BY
>> Rolling back the transaction
>> Releasing all currently held table  or row  locks
>> freeing other resource currently held by the user
>>Restart the dead dispatcher


SMON—if the oracle instance fails , any information that in SGA that has not been written  to the disk is cost .
>> the background process smon automatic perform instance recovery when the database is reopened.
>>Instance recovery
•    Roll forward changes in the redolog
•    Open the database for user access
•    Roll back the uncommitted transaction also perform
•    It combines or coalesces, adjacent area of free space in the datafile .
•    Dislocate the temporary segment  


5. What is Instance Recovery?


 Instance recovery
•    Roll forward changes in the redolog
•    Open the database for user access
•    Roll back the uncommitted transaction also perform
•    It combines or coalesces, adjacent area of free space in the datafile .
•    Dislocate the temporary segment 

 
6. What is written in Redo Log Files?

# Log writer (LGWR) writes redo log buffer contents Into Redo Log FIles. Log writer does this every three seconds, when the redo log buffer is 1/3 full and immediately before the Database Writer (DBWn) writes its changed buffers into the datafile. 






7. How do you control number of Datafiles one can have in an Oracle database?


8. How many Maximum Datafiles can there be in an Oracle Database?

In a database there can have maximum 65533 data files.
 
9. What is a Tablespace?

A tablespace is a logical group of data files in a database. A database typically contains at least one tablespace, and usually two or more. Within the database, the tablespace plays a role similar to that of a folder on the hard drive of a computer.

Some database programs, such as Oracle, automatically create a tablespace called SYSTEM that contains general information about the structure and contents of the database. A small database can be entirely contained in the SYSTEM tablespace, but in most cases, user datais placed in other tablespaces.

There is no relationship between a tablespace and a schema. Objects in the same schema can be in different tablespaces, and a tablespace can hold objects from different schemas.

10. What is the purpose of Redo Log files?

11. Which default Database roles are created when you create a Database?

12. What is a Checkpoint?

13. Which Process reads data from Datafiles?

14. Which Process writes data in Datafiles?

15. Can you make a Datafile auto extendible. If yes, how?

16. What is a Shared Pool?

17. What is kept in the Database Buffer Cache?

18. How many maximum Redo Logfiles one can have in a Database?

19. What is difference between PFile and SPFile?

20. What is PGA_AGGREGRATE_TARGET parameter?

21. Large Pool is used for what?

22. What is PCT Increase setting?

23. What is PCTFREE and PCTUSED Setting?

24. What is Row Migration and Row Chaining?

25. What is 01555 - Snapshot Too Old error and how do you avoid it?

26. What is a Locally Managed Tablespace?

27. Can you audit SELECT statements?

28. What does DBMS_FGA package do?

29. What is Cost Based Optimization?

30. How often you should collect statistics for a table?

31. How do you collect statistics for a table, schema and Database?

32. Can you make collection of Statistics for tables automatic?

33. On which columns you should create Indexes?

34. What type of Indexes are available in Oracle?

35. What is B-Tree Index?

36. A table is having few rows, should you create indexes on this table?

37. A Column is having many repeated values which type of index you should create on this
column, if you have to?

38. When should you rebuilt indexes?

39. Can you built indexes online?

40. Can you see Execution Plan of a statement.

41. A table is created with the following setting 
storage (initial 200k next 200k minextents 2 maxextents 100 pctincrease

40) What will be size of 4th extent?

42. What is DB Buffer Cache Advisor?

43. What is STATSPACK tool?

44. Can you change SHARED_POOL_SIZE online?

45. Can you Redefine a table Online?

46. Can you assign Priority to users?

47. You want users to change their passwords every 2 months. How do you enforce this?

48. How do you delete duplicate rows in a table?

49. What is Automatic Management of Segment Space setting?

50. What is the difference between DELETE and TRUNCATE statements?

51. What is COMPRESS and CONSISTENT setting in EXPORT utility?

52. What is the difference between Direct Path and Convention Path loading?

53. Can you disable and enable Primary key?

54. What is an Index Organized Table?

55. What is a Global Index and Local Index?

56. What is the difference between Range Partitioning and Hash Partitioning?

57. What is difference between Multithreaded/Shared Server and Dedicated Server?

58. Can you import objects from Oracle ver. 9i to 10g?

59. How do you move tables from one tablespace to another tablespace?

60. How do see how much space is used and free in a tablespace?




any mistake is there or u wanna give any suggestion so please write to me ............

Tuesday, October 12, 2010

Question and answer's

what is sga?
The SGA (System Global Area) is an area of memory (RAM) allocated when an Oracle Instance starts up. The SGA's size and function are controlled by initialization (INIT.ORA or SPFILE) parameters.



SQL> SHOW SGA
Total System Global Area  638670568 bytes
Fixed Size                   456424 bytes
Variable Size             503316480 bytes
Database Buffers          134217728 bytes
Redo Buffers                 679936 bytes
SQL> SELECT * FROM v$sga;
NAME                      VALUE
-------------------- ----------
Fixed Size               456424
Variable Size         503316480
Database Buffers      134217728
Redo Buffers             679936

SQL> select * from v$sgainfo;
NAME                             BYTES                  RESIZEABLE 
-------------------------------- ---------------------- ---------- 
Fixed SGA Size                   2109352                No   
Redo Buffers                     13533184               No    
Buffer Cache Size                3103784960             Yes 
Shared Pool Size                 822083584              Yes  
Large Pool Size                  67108864               Yes 
Java Pool Size                   134217728              Yes  
Streams Pool Size                134217728              Yes 
Shared IO Pool Size              0                      Yes 
Granule Size                     16777216               No 
Maximum SGA Size                 4277059584             No 
Startup overhead in Shared Pool  251658240              No 
Free SGA Memory Available        0      





what is difference between 9i and 10g

New feature
Completely reworked 10g Enterprise Manager (OEM)
AWR and ASH tables incorporated into OEM Performance Pack and Diagnostic Pack options

Automated Session History (ASH) materializes the Oracle Wait Interface over time

Data Pump replaces imp utility with impdp
Automatic Database Diagnostic Monitor (ADDM)

Automatic Storage Management (ASM) introduced Stripe And Mirror Everywhere (SAME) standard

Automatic Workload Repository (AWR) replaces STATSPACK

SQLTuning Advisor

SQLAccess Advisor

Rolling database upgrades (using Oracle10g RAC) 
Ability to UNDROP a table from a recycle bin 
Ability to rename tablespaces 
Ability to transport tablespaces across machine types (E.g Windows to Unix) 
Support for bigfile tablespaces that is up to 8 Exabytes in size 
RMAN introduces compression for backups

Flashback enhancements for flashback database and flashback table syntax 

New commands

Set Database Default Tablespace syntax

Rename Tablespace command
New drop database syntax

New alter database begin backup syntax

Tablespaces 
SYSAUX tablespace
ysaux, system, Transportable tablespaces, Bigfile tablespaces
Smallfile tablespaces
Default tablespaces (temp), Displaying tablespaces (dba_tablespaces)

Multiple Temporary Tablespaces supported to reduce stress on sorting in TEMP


Moreover, 10g has additional 149 features than 9i

what is RAC ?
Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing a clustered database.
In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data files, control files, and  located on disk. The instance comprises the collection of Oracle-related memory and operating system processes thredo logsat run on a computer system.
In an Oracle RAC environment, two or more computers (each with an instance) concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data.

what is temp tablespace ? how will you add size in temp tablespace?
Temporary tablespaces are used to manage space for database sort operations and for storing global temporary tables. For example, if you join two large tables, and Oracle cannot do the sort in memory (see SORT_AREA_SIZE initialisation parameter), space will be allocated in a temporary tablespace for doing the sort operation. Other SQL operations that might require disk sorting are: CREATE INDEX, ANALYZE, Select DISTINCT, ORDER BY, GROUP BY, UNION, INTERSECT, MINUS, Sort-Merge joins, etc.


When we create a TEMPFILE, Oracle only writes to the header and last block of the file. This is why it is much quicker to create a TEMPFILE than to create a normal database file.
The DBA should assign a temporary tablespace to each user in the database to prevent them from allocating sort space in the SYSTEM tablespace. This can be done with one of the following commands:



SQL> CREATE USER scott DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp;
SQL> ALTER USER scott TEMPORARY TABLESPACE temp;
SQL> select TABLESPACE_NAME, BYTES_USED, BYTES_FREE from V$TEMP_SPACE_HEADER;
Several methods exist to reclaim the used space   for a larger than normal temporary tablespace depending on which release of Oracle you are running. The method that exists for all releases of Oracle is to simply drop and recreate the temporary tablespace back to its original (or another reasonable) size. If you are using Oracle9i or higher, you can apply another method which is to drop the large tempfile (which will drop the tempfile from the data dictionary AND the O/S file system) using the alter database tempfile '' drop including datafiles  


what is shared pool?

The shared pool is used for objects that are shared among all users. For example: table definitions, PL/SQL definitions, cursors and so on.
The shared pool can further be subdivied into:
Control structures
Character sets
Dictionary cache
The dictionary cache stores parts fo the data dictionary because Oracle has to query the data dictionary very often as it is fundamental to the functioning of Oracle.
Library cache
The library cache is further divided into
Shared SQL Area
PL/SQL Procedures
Control Structures 








select    name, bytes/1024/1024 "MB"
from    v$sgastat
where    pool = 'shared pool'
order by bytes desc;




what is tablespace concepts?
Database is divided into one or more logical storage units known as table space. The table space is created by database administrator. After the table space gets created by administrator tables can be created by users in their table space in other words tables can be created in the table space provided for the users .
There are three types of tablespaces in Oracle:
  • Permanent tablespaces
  • Undo tablespaces
  • temporary tablespaces



what is triggers?
Oracle lets you define procedures called triggers that run implicitly when an INSERTUPDATE, or DELETE statement is issued against the associated table or, in some cases, against a view, or when database system actions occur. These procedures can be written in PL/SQL or Java and stored in the database.
Triggers are similar to stored procedures. A trigger stored in the database can include SQL and PL/SQL or Java statements to run as a unit and can invoke stored procedures. However, procedures and triggers differ in the way that they are invoked. A procedure is explicitly run by a user, application, or trigger. Triggers are implicitly fired by Oracle when a triggering event occurs, no matter which user is connected or which application is being used.



how to create trigger ...
create trigger trigger-name before event
create trigger trigger-name after event
create trigger trigger-name instead of event






Difference  between temporary  tablespace and permanent tablespace



Temporary Tablespace is in generally used for sorting 
purpose while Permanent tablespace is used to sore 
permanent objects


what is logical backup ?
Logical backup is taking by the use of Exp /expdb utility .

 what is oracle precompiler?
The Oracle Precompilers are used to process C, COBOL, or PL/I programs before passing them to their native compilers.  
Oracle Precompilers translate embedded SQL statements in the programs into the appropriate native language statements and calls necessary to access the Oracle9i database server.
how do u resize and add the datafile?
to resize data file 
alter databse datafile 'location of datafile' resize 2000M
to add the data file
alter tablespace tablspace_name 
  add datafile 'datafile_location' size 4M autoextend off;

how to take table space backup ?
we can take tablespace backup through data Pump .
check below link for details of data pump.
http://chetanyadavds.blogspot.com/2010/08/export-and-import-using-datapump.html



Ques.:  What is SHMMAX & Semaphores ?


The SHMMAX parameter is used to define the maximum size (in bytes) for a shared memory segment and should be set large enough for the largest SGA size. If the SHMMAX is set incorrectly (too low), it is possible that the Oracle SGA (which is held in shared segments) may be limited in size. An inadequate SHMMAX setting would result in the following:
ORA-27123: unable to attach to shared memory segment
You can determine the value of SHMMAX by performing the following:
# cat /proc/sys/kernel/shmmax
33554432
 A semaphore can be thought of as a counter that is used to control access to a shared resource. Semaphores provide low level synchronization between processes (or threads within a process) so that only one process (or thread) has access to the shared segment, thereby ensureing the integrity of that shared resource.


QUESTION:     Which process starts the RMAN in Oracle 

We initiate RMAN. RMAN is basically a utility. We invoke rman by executing the rman binary executable ($ORACLE_HOME/bin) from the operating system prompt. So, when you break it down, users start rman. When you further break it down, it comes down to "User Process".

Phase-1: When we invoke rman, oracle creates a "user process" to run/start it as below:

a) $ <$ORACLE_HOME/bin/rman

b) RMAN>


Phase-2: When rman is started and connected to target database, 2 server processes are spawned, by default. That is, when you attempt to connect to the target database (using "connect target /"), RMAN checks the parameter, $ORACLE_SID, and invokes a server process. On successful authentication, RMAN would connect you to the target database with 'sysdba' privilege. RMAN would then immediately invoke another server process (some people call it "channel process") and this will be used to perform actions. However, more than 1 channel process may also be started if you allocate more channels (by overriding the default settings)

c) RMAN> connect target /

Note: You can merge phase-1 and phase-2 by using:

d) $ rman target /


In the interviews, as you do not get sufficient time to explain all this, you can say that "user process" will invoke RMAN and RMAN, in turn, invokes "server process(es)" on establishing a connection with target database. However, to be politically correct, when we run rman executable, user process is started. When we subsequently connect to target database, server process/(es) is/(are) started.  


QUESTION : Can we use rman on a shared connection to server ?
Is the server process started when we connect to target database or when a backup begins or when a channel is allocated ?


only Dedicated server process can be used for RMAN. If you use a shared server configuration, you MUST modify the tns entries of your database to use the clause, "SERVER=dedicated". Set up a new net service name (for example, set 'xxxx_new' for 'xxxx') and Ensure that you use the SAME service name. When you use this clause, you force the listener to spawn a dedicated server process.

Example:

xxxx_new =
(DESCRIPTION=
(ADDRESS= ................)
(CONNECT_DATA=(SERVICE_NAME=xxxx) (SERVER=dedicated))
)

Then, connect to RMAN as:

$ <$ORACLE_HOME>/bin/rman

RMAN> connect target sys/@xxxx_new 

To answer you second question, when you connect to the target database, RMAN spawns 2 server processes, by default, as explained in my previous day's comment.

The 1st server process checks compatibility, executes queries against controlfile and performs resync operations. This process also executes sql statements issued from rman prompt. There can only be 1 such server process. If you notice any performance issues related to oracle layers, you have to analyze this process.

2nd server process monitors the activities being carried out by the channels. When you issue any new operation via rman prompt, this process will determine if the previous activities were completed and only then the new operations are permitted. Even in this case, there can only be 1 such 2nd server process per instance. This process is very quick and does not cause any performance issue(s). By the way, in very rare cases, if you use different connect strings while MANUALLY allocating channels (using "allocate channel" command) additional 2nd server processes will be spawned by RMAN. I have intentionally called this process as "2nd server process", in order to distinguish it from the 1st server process.

In addition, when you issue a command to perform backup or recovery operations, RMAN spawns another server process or server session. This process is also called 'target connection'. By default only 1 target connection is allocated. If you allocate multiple channels MANUALLY, more than 1 target connection (also known as server process or server session) will be spawned, where each server process or target connection or server session corresponds to each of the allocated channels. If you notice any performance issues related to the media manager, you have to track down and analyze this process, i.e. track the server session corresponding to the channels. You can find this by joining v$session and v$process and querying sid, spid and client_info.
  


what is the difference between database refresh and database cloning

 

Answer :_Database refresh is normally done for Test/DEV databases during development and test phases of App Development, where latest production cut of database is taken and applied on these environments.

Cloning is creating replica of already existing databases on the same/different target hosts. Cloning doesn't necessarily involve copying Oracle Home. Database can also be cloned on the same machine.