Thursday, December 15, 2011

Data Guard Interview Questions

1. Can Oracle's Data Guard be used on Standard Edition, and if so how? How can you test that the standby database is in sync?


Oracle's Data Guard technology is a layer of software and automation built on top of the standby database facility. In Oracle Standard Edition it is possible to be a standby database, and update it *manually*. Roughly, put your production database in archivelog mode. Create a hotbackup of the database and move it to the standby machine. Then create a standby controlfile on the production machine, and ship that file, along with all the archived redolog files to the standby server. Once you have all these files assembled, place them in their proper locations, recover the standby database, and you're ready to roll. From this point on, you must manually ship, and manually apply those archived redologs to stay in sync with production.


To test your standby database, make a change to a table on the production server, and commit the change. Then manually switch a logfile so those changes are archived. Manually ship the newest archived redolog file, and manually apply it on the standby database. Then open your standby database in read-only mode, and select from your changed table to verify those changes are available. Once you're done, shutdown your standby and startup again in standby mode.


2. What is the difference between Active Dataguard, and the Logical Standby implementation of 10g dataguard?


Active dataguard is mostly about the physical standby.


Use physical standby for testing without compromising protection of the production system. You can open the physical standby read/write - do some destructive things in it (drop tables, change data, whatever - run a test - perhaps with real application testing). While this is happening, redo is still streaming from production, if production fails - you are covered. Use physical standby for reporting while in managed recovery mode. Since physical standby supports all of the datatypes - and logical standby does not (11g added broader support, but not 100%) - there are times when logical standby isn’t sufficient. It also permits fast incremental backups when offloading backups to a physical standby database.


3. What is a Dataguard?


Oracle Dataguard is a disaster recovery solution from Oracle Corporation that has been utilized in the industry extensively at times of Primary site failure, failover, switchover scenarios.


4. What are the uses of Oracle Data Guard?


a) Oracle Data Guard ensures high availability, data protection, and disaster recovery for enterprise data.


b) Data Guard provides a comprehensive set of services that create, maintain, manage, and monitor one or more standby databases to enable production Oracle databases to survive disasters and data corruptions.


c) With Data Guard, administrators can optionally improve production database performance by offloading resource-intensive backup and reporting operations to standby systems.


5. What is Redo Transport Services?


It control the automated transfer of redo data from the production database to one or more archival destinations.

Redo transport services perform the following tasks:


a) Transmit redo data from the primary system to the standby systems in the configuration.

b) Manage the process of resolving any gaps in the archived redo log files due to a network failure.

c) Automatically detect missing or corrupted archived redo log files on a standby system and automatically retrieve replacement archived redo log files from the

primary database or another standby database.


6. What is apply services?


Apply redo data on the standby database to maintain transactional synchronization with the primary database. Redo data can be applied either from archived redo log files, or, if real-time apply is enabled, directly from the standby redo log files as they are being filled, without requiring the redo data to be archived first at the standby database. It also allows read-only access to the data.


7. What is difference between physical and standby databases?


The main difference between physical and logical standby databases is the manner in which apply services apply the archived redo data:


a) For physical standby databases, Data Guard uses Redo Apply technology, which applies redo data on the standby database using standard recovery techniques of an Oracle database.


b) For logical standby databases, Data Guard uses SQL Apply technology, which first transforms the received redo data into SQL statements and then executes the generated SQL statements on the logical standby database.


8. What is Data Guard Broker?

Data guard Broker manage primary and standby databases using the SQL command-line interfaces or the Data Guard broker interfaces, including a command-line interface (DGMGRL) and a graphical user interface that is integrated in Oracle Enterprise Manager. It can be used to perform:


a) Create and enable Data Guard configurations, including setting up redo transport services and apply services

b) Manage an entire Data Guard configuration from any system in the configuration

c) Manage and monitor Data Guard configurations that contain Oracle RAC primary or standby databases

d) Simplify switchovers and failovers by allowing you to invoke them using either a single key click in Oracle Enterprise Manager or a single command in the DGMGRL command-line interface.

e) Enable fast-start failover to fail over automatically when the primary database becomes unavailable. When fast-start failover is enabled, the Data Guard broker determines if a failover is necessary and initiates the failover to the specified target standby database automatically, with no need for DBA intervention.


9. What are the Data guard Protection modes and summarize each?


Maximum availability :


This protection mode provides the highest level of data protection that is possible without compromising the availability of a primary database. Transactions do not commit until all redo data needed to recover those transactions has been written to the online redo log and to at least one standby database.

SQL> alter database set standby to maximize availability;


Maximum performance :


This is the default protection mode. It provides the highest level of data protection that is possible without affecting the performance of a primary database. This is accomplished by allowing transactions to commit as soon as all redo data generated by those transactions has been written to the online log.

SQL> alter database set standby to maximize performance;


Maximum protection :


This protection mode ensures that no data loss will occur if the primary database fails. To provide this level of protection, the redo data needed to recover a transaction must be written to both the online redo log and to at least one standby database before the transaction commits. To ensure that data loss cannot occur, the primary database will shut down, rather thanu continue processing transactions.

SQL> alter database set standby to maximize protection;








Standby Setup: Overview


1.      Backup Primary DB

2.      Ship backup to Standby Site

3.      Add Log Transport on Primary

4.      Add Net*8 settings on Primary

5.      Setup Standby database

6.      Setup Net*8 on Standby Site

7.      Start Recovery









Enforce Logging of All operations to ensure data consistence.

Make Sure Primary Database is in ARCHIVE Log mode and is set to Auto-Archive

SQL> alter database force logging;



Create a Backup of Primary Database datafiles

Offline (consistent) or an online (inconsistent)



Create a Standby Control file

SQL> alter database create standby controlfile as '/..../...';



Create a Copy of init.ora file for Standby database.



Ship backup data files, standby control file and standby init.ora file to standby site



Setup Net*8 on Primary site to access Standby site



Setup Net*8 on Standby site to access Primary site



Make Primary and Standby init.ora changes (parameters)


Standby_archive_dest ......



Startup Standby Database instance in recovery mode

SQL> startup mount pfile='.....'



Create Standby redo log files, if applicable

SQL> alter database add standby logfile (/..','/....');



Setup instance parameters to ship redo log/archive log to standby site

SQL> alter system archive log current;



Verify shipping and application of archive log





a. identified what role the db plays

SQL> select database_role from v$database;


b. Initiate the switchover on the primary database

SQL> alter database commit to switchover to physical standby with session shutdown wait;


c. On the primary database shutdown and restart the instance.

SQL> shutdown immediate;

SQL> startup nomount;

SQL> alter database mount standby database;


d. Start the MRP process (Managed Recovery Process)

SQL> alter database recover managed standby database disconnect;


e.  Verify the switchover status in the v$database view. it should be SWITCHOVER PENDING status.

 SQL> select database_role from v$database;


f. Switch physical standby database role to the primary role.

SQL> alter database commit to switchover to primary with session shutdown wait;


g. Shutdown and restart the new primary database

SQL> shutdown

SQL> startup


h. Begin archiving logs to the physical standby database.

SQL> alter system archive log start;

SQL> alter system switch logfile;




a. Initiate the failover operation on the standby database

SQL> alter database recover managed standby database finish;


b. Convert the physical standby database to the primary role

SQL> alter database commit to switchover to primary;


c. Register the missing redo logs.

SQL> alter database register logfile '/standby/arch_dest/arch_1_101.arc';


  1. nice work

    For more ORACLE Database Interview Questions and Answers visit:DBA interview questions

  2. This comment has been removed by the author.

  3. Do not use words like "ship" or "shipped" it is not consistent with professional jargon.