Oracle Data Guard

Last updated

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

Contents

Oracle provides both graphical user interface (GUI) and command-line (CLI) 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

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)

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 in the primary database. Physical standby databases 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). The standby makes use of "Redo Apply" technology.

Physical standby databases have the same DBID identifiers as their primary equivalents. [3]

Logical standby (SQL Apply)

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). [4] Logical standby may not be appropriate in such a case.

Active Data Guard

The "Oracle Active Data Guard" option, an extra-cost facility, [5] 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, [6]

Operation

Server-side functionality

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, [7] 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 and writing them to a standby redo log (SRL). [8]

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). [9]

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

The use of standby redo logs can speed up the application of changes to a standby database [11] with real-time apply. [12]

The Data Guard Connection process (DRCX) plays a role in transferring data between databases. [13]

Client-side access

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

Advantages

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. [15]

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

Disadvantages

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. [5] This can be overcome, using Oracle’ Active Data Guard Farsync technology.

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

Oracle RAC

Related Research Articles

Database Organized collection of data

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.

PostgreSQL Free and open-source relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the Ingres database developed at the University of California, Berkeley. In 1996, the project was renamed to PostgreSQL to reflect its support for SQL. After a review in 2007, the development team decided to keep the name PostgreSQL and the alias Postgres.

Btrieve is a transactional database software product. It is based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval. There have been several versions of the product for DOS, Linux, older versions of Microsoft Windows, 32-bit IBM OS/2 and for Novell NetWare.

TimesTen is an in-memory, relational database management system with persistence and recoverability. Originally designed and implemented at Hewlett-Packard labs in Palo Alto, California, TimesTen spun out into a separate startup in 1996 and was acquired by Oracle Corporation in 2005.

Physical schema

A physical data model is a representation of a data design as implemented, or intended to be implemented, in a database management system. In the lifecycle of a project it typically derives from a logical data model, though it may be reverse-engineered from a given database implementation. A complete physical data model will include all the database artifacts required to create relationships between tables or to achieve performance goals, such as indexes, constraint definitions, linking tables, partitioned tables or clusters. Analysts can usually use a physical data model to calculate storage estimates; it may include specific storage allocation details for a given database system.

MySQL Cluster is a technology providing shared-nothing clustering and auto-sharding for the MySQL database management system. It is designed to provide high availability and high throughput with low latency, while allowing for near linear scalability. MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL.

A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure. Indexes are used to quickly locate data without having to search every row in a database table every time a database table is accessed. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random lookups and efficient access of ordered records.

Extensible Storage Engine (ESE), also known as JET Blue, is an ISAM data storage technology from Microsoft. ESE is the core of Microsoft Exchange Server, Active Directory, and Windows Search. It's also used by a number of Windows components including Windows Update client and Help and Support Center. Its purpose is to allow applications to store and retrieve data via indexed and sequential access.

High-availability clusters are groups of computers that support server applications that can be reliably utilized with a minimum amount of down-time. They operate by using high availability software to harness redundant computers in groups or clusters that provide continued service when system components fail. Without clustering, if a server running a particular application crashes, the application will be unavailable until the crashed server is fixed. HA clustering remedies this situation by detecting hardware/software faults, and immediately restarting the application on another system without requiring administrative intervention, a process known as failover. As part of this process, clustering software may configure the node before starting the application on it. For example, appropriate file systems may need to be imported and mounted, network hardware may have to be configured, and some supporting applications may need to be running as well.

In databases, change data capture (CDC) is a set of software design patterns used to determine and track the data that has changed so that action can be taken using the changed data.

In the database management systems developed by the Oracle Corporation, the System Global Area (SGA) forms the part of the system memory (RAM) shared by all the processes belonging to a single Oracle database instance. The SGA contains all information necessary for the instance operation.

Automatic Storage Management (ASM) is a feature provided by Oracle Corporation within the Oracle Database from release Oracle 10g onwards. ASM aims to simplify the management of database datafiles, control files and log files. To do so, it provides tools to manage file systems and volumes directly inside the database, allowing database administrators (DBAs) to control volumes and disks with familiar SQL statements in standard Oracle environments. Thus DBAs do not need extra skills in specific file systems or volume managers.

SAP IQ is a column-based, petabyte scale, relational database software system used for business intelligence, data warehousing, and data marts. Produced by Sybase Inc., now an SAP company, its primary function is to analyze large amounts of data in a low-cost, highly available environment. SAP IQ is often credited with pioneering the commercialization of column-store technology.

In the Oracle RDBMS environment, redo logs comprise files in a proprietary format which log a history of all changes made to the database. Each redo log file consists of redo records. A redo record, also called a redo entry, holds a group of change vectors, each of which describes or represents a change made to a single block in the database.

RDM Server

RDM Server is an embeddable, heterogeneous, client/server database management system supporting both C/C++ and SQL APIs for programming flexibility. The databases can be disk resident and/or memory resident. RDM Server implements multi-user locking, hot database backup, and a fully ACID-compliant transaction logging system with automatic crash recovery. It is currently supported on many 32- and 64-bit enterprise and embedded operating systems. The database library can optionally be run in-process with the application, eliminating client/server remote procedure calls.

A database shard, or simply a shard, is a horizontal partition of data in a database or search engine. Each shard is held on a separate database server instance, to spread load.

Log shipping is the process of automating the backup of transaction log files on a primary (production) database server, and then restoring them onto a standby server. This technique is supported by Microsoft SQL Server, 4D Server, MySQL, and PostgreSQL. Similar to replication, the primary purpose of log shipping is to increase database availability by maintaining a backup server that can replace a production server quickly. Other databases such as Adaptive Server Enterprise and Oracle Database support the technique but require the Database Administrator to write code or scripts to perform the work.

Database activity monitoring is a database security technology for monitoring and analyzing database activity. DAM may combine data from network-based monitoring and native audit information to provide a comprehensive picture of database activity. The data gathered by DAM is used to analyze and report on database activity, support breach investigations, and alert on anomalies. DAM is typically performed continuously and in real-time.

The following is provided as an overview of and topical guide to databases:

Tibero is a relational databases and database management system utility developed by TmaxSoft. TmaxSoft has been developing Tibero since 2003, and in 2008 it was the second company in the world to deliver a shared-disk-based cluster, TAC. The main products are Tibero, Tibero MMDB, Tibero ProSync, Tibero InfiniData and Tibero DataHub.

References

  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; et al. Oracle Data Guard Concepts and Administration 11g Release 2 (11.2) . Retrieved 8 Mar 2017.
  3. Tchoko, Floribert (2012). Oracle: Protect Your Data. AuthorHouse. p. 128. ISBN   9781467896214 . Retrieved 2015-03-17. [...] a new identifier DBID is assigned to the new database unless the database is a standby database. In this case it retains the same DBID as the source database.
  4. Czuprynski, Jim (January 2010). "Leveraging Logical Standby Databases in Oracle 11g Data Guard" . Retrieved 2010-07-16.
  5. 1 2 Lorentz, Diana (January 2009). "Oracle Database Options". Oracle Database Licensing Information 11g Release 1 (12c). 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.
  6. "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.
  7. 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.
  8. Carpenter, Larry; et al. (2009). Oracle Data Guard 11g Handbook. Oracle Press. McGraw Hill Professional. p. 5. ISBN   9780071621489 . Retrieved 2015-02-17. Redo records transmitted by the LNS are received at the standby database by another Data Guard process called the Remote File Server (RFS). The RFS receives the redo at the standby database and writes it to a sequential file called a standby redo log file (SRL).
  9. Oracle-Base site summary of Data Guard, retrieved 2007-09-05; Oracle Corp version 11.1 documentation links, retrieved 2007-09-05.
  10. 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.
  11. Bach, Martin (2013). Expert Consolidation in Oracle Database 12c. Expert's voice in Oracle. Apress. p. 320. ISBN   9781430244295 . Retrieved 2015-02-19. [...] with Oracle 10g, [u]sing standby redo logs on the standby database server, the redo stream arriving on the destination could be applied to the standby database immediately, without having to wait for the standby redo log to be archived and applied.
  12. Schupmann, Vivian (2008). "Oracle Data Guard Concepts and Administration, 10g Release 2 (10.2)". Oracle. Retrieved 2015-02-20. 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.
  13. "Oracle Database Online Documentation, 10g Release 2 (10.2)". docs.oracle.com. Oracle. 2015. Retrieved 2015-06-16. The Data Guard Connection process (DRCX) detected an error while transferring data from one database to another.
  14. 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.
  15. Kumar, Bipul (2005). Oracle Data Guard: Standby Database Failover Handbook. 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.
  16. "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).