Oracle Data Guard

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The software which Oracle Corporation markets as Oracle Data Guard forms an extension to the Oracle RDBMS. It aids in establishing and maintaining secondary "standby databases" as alternative/supplementary repositories to production "primary databases".

Oracle provides both GUI and command-line tools for managing Data Guard configurations.

Data Guard supports both physical standby and logical standby sites. Oracle Corporation makes Data Guard available only as a bundled feature included within its "Enterprise Edition" of the Oracle RDBMS.[1]

With appropriately set-up Data Guard operations, DBAs can facilitate failovers or switchovers to alternative hosts in the same or alternative locations.

Configurations[edit]

For the purposes of Data Guard, each Oracle database functions either in a primary database role or in a standby database role - with the ability to transition from one role to the other.[2]

Physical standby (Redo Apply)[edit]

A physical standby database replicates the exact contents of its primary database across the Oracle Net network layer. While the relative physical storage locations can differ, the data in the database will be exactly the same as the primary database. It can function either in managed-recovery mode or in read-only mode, but not in both modes at the same time unless the databases are at Oracle Database 11.1 or higher and the Active Data Guard option is licensed (See below).It uses the Redo apply technology.

Logical standby (SQL Apply)[edit]

Logical standby databases convert the redo generated at the primary database into data and SQL and then re-apply those SQL transactions on the logical standby. Thus, physical structures and organization will be different from the primary database. Users can read from logical standby databases while the changes are being applied and, if the GUARD is set to STANDBY (ALTER DATABASE GUARD STANDBY;), write to tables in the logical standby database that are not being maintained by SQL Apply.

Unfortunately there are a number of unsupported objects (e.g. tables or sequences owned by SYS, tables that use table compression, tables that underlie a materialized view or Global temporary tables (GTTs)) and unsupported data types (i.e.: datatypes BFILE, ROWID, and UROWID, user-defined TYPEs, multimedia data types like Oracle Spatial, ORDDICOM, and Oracle Text Collections (e.g. nested tables, VARRAYs), SecureFile LOBs, OBJECT RELATIONAL XMLTypes and BINARY XML).[3] Physical standby may be appropriate in such a case.

Active Data Guard[edit]

The "Oracle Active Data Guard" option, an extra-cost facility,[4] extends Oracle Data Guard functionality in Oracle 11g configurations. It allows read-only access on the Physical standby node at the same time as applying archived transactions from the primary node. Also it features Automatic Block Repair and Fast Incremental Backup on Physical Standby,[5]

Operation[edit]

Server-side functionality[edit]

LNS (log-write network-server) and ARCH (archiver) processes running on the primary database select archived redo logs and send them to the standby-database host,[6] where the RFS (remote file server) background process within the Oracle instance performs the task of receiving archived redo logs originating from the primary database.

Alternatively, a supplementary mechanism may transfer the archived redo logs. On the standby database a Fetch Archive Log (FAL) client monitors for gaps in the sequence of received logs. If it finds a gap, it may invoke one or more Fetch Archive Log (FAL) servers to run on the primary database to forward the missing item(s).[7]

Once the archived redo logs have arrived, other processes (such as an ARCH (archiver process), an MRP (Managed Recovery Process[8]), and/or an LSP (Logical Standby Process)) may set about applying the log contents to the standby database.

Client-side access[edit]

The Data Guard Broker subsystem can aid in the setup, management and monitoring of Data Guard configurations.[9]

Advantages[edit]

Data Guard provides high availability for a database system. It can also reduce the human intervention required to switch between databases at disaster-recovery ("failover") or upgrade/maintenance ("switchover") time.

Through the use of standby redo log files, Data Guard can minimize data loss.[10]

It supports heterogeneous configurations in which the primary and standby systems may have different CPU architectures, operating systems (for example, Windows & Linux), operating system binaries (32-bit/64-bit), or Oracle database binaries (32-bit/64-bit).[11]

Disadvantages[edit]

If the network link connecting primary and standby is over-subscribed, the redo logs are not shipped in chronological order, which can result in large gaps appearing in the available redo at the standby. Such a condition results in the standby being behind the primary. [4]

The same release of Oracle Database Enterprise Edition must be installed on the primary database and all standby databases, except during rolling database upgrades using logical standby databases.

Oracle Data Guard is available only as a feature of Oracle Database Enterprise Edition.

See also[edit]

Oracle RAC

References[edit]

  1. ^ http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/standby.htm#insertedID3 Data Guard Concepts and Administration, 11g Release 1 (11.1); Section 2.3.2: "Oracle Software Requirements" Retrieved 2007-10-01
  2. ^ Rich, Kathy (2012) [1999]. Oracle Data Guard Concepts and Administration 11g Release 2 (11.2). et al. Oracle Corporation. Retrieved 2012-07-23. Role Transitions [...] An Oracle database operates in one of two roles: primary or standby. Using Data Guard, you can change the role of a database using either a switchover or a failover operation. 
  3. ^ Czuprynski, Jim (January 2010). "Leveraging Logical Standby Databases in Oracle 11g Data Guard". Retrieved 2010-07-16. 
  4. ^ a b Lorentz, Diana (January 2009). "Oracle Database Options". Oracle Database Licensing Information 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-04-22. If a physical standby database in a Data Guard configuration has any of the above features enabled, then the Active Data Guard option must be licensed for every such physical standby, and also for the primary database. 
  5. ^ "Oracle Active data Guard". Oracle Database. Oracle Corporation. January 2010. Retrieved 2009-04-22. Oracle Active Data Guard enables read-only access to a physical standby database for queries, sorting, reporting, web-based access, etc., while continuously applying changes received from the production database. 
  6. ^ Smith, Michael T (February 2007). "Data Guard Redo Transport & Network Best Practices: Oracle Database 10g Release 2" (PDF). Oracle Corporation. pp. 6, 14. Retrieved 2009-03-11. ... sending processes (LNS and ARC) on the production database....The Data Guard LNS process on the production database performs a network send to the Data Guard RFS process on the standby database. 
  7. ^ Oracle-Base site summary of Data Guard, retrieved 2007-09-05; Oracle Corp version 11.1 documentation links, retrieved 2007-09-05.
  8. ^ Ault, Mike (2004). Oracle 10g Grid & Real Application Clusters: Oracle 10g Grid Computing with RAC. Oracle In-Focus Series. Madhu Tumma. Rampant TechPress. p. 640. ISBN 9780974435541. Retrieved 2012-08-31. [...] the managed recovery process (MRP) on the standby database determines the correct order to apply the archive logs from the different threads on the Standby Database. 
  9. ^ Whalen, Edward (2005). Oracle Database 10g Linux administration. McGraw-Hill Professional. p. 329. ISBN 978-0-07-223053-6. Retrieved 2011-09-07. The Data Guard Broker is the set of utilities and services that manage Data Guard. Included in the Data Guard Broker are both a GUI interface using Oracle Enterprise Manager and a command-line interface (CLI). The Data Guard Broker is used to set up Data Guard, to manage the configuration, and to monitor Data Guard. 
  10. ^ Kumar, Bipul (2005). Oracle In-Focus Series 19. Rampant TechPress. p. 277. ISBN 9780974599380. With the introduction of [...] standby redo logs [...] it is possible to have a logical standby database be a part of a data Guard configuration running in maximum protection mode. In this way, the Data Guard SQL Apply method offers complete zero-data-loss support.  Missing or empty |title= (help)
  11. ^ "Data Guard Operational Prerequisites". Data Guard Concepts and Administration. Oracle Corporation. Retrieved 2013-08-26. As of Oracle Database 11g, Data Guard provides increased flexibility for Data Guard configurations in which the primary and standby systems may have different CPU architectures, operating systems (for example, Windows & Linux), operating system binaries (32-bit/64-bit), or Oracle database binaries (32-bit/64-bit).