Real-time Standby Database Redo Block Application

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database replication systems, there is a delay in data availability when the primary database fails because the standby database is not synchronized in real-time with the primary database, leading to inconsistencies and a gap in data availability until the standby database 'catches up' with unarchived redo log entries.

Innovation Solution

Sending redo blocks from the current online redo log file to the standby recovery process before archiving, allowing real-time application of changes to the standby database, thereby reducing the time of data inconsistency and ensuring tighter synchronization with the primary database.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redo blocks are sent to standby recovery process only after archiving the current online redo log file, then the archiving process is simplified and log file management is easier, but the standby database synchronization is delayed and data availability is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by sending redo blocks to the standby recovery process before the current online redo log file is archived. This allows the standby database to begin applying changes in advance, reducing synchronization delay while maintaining data consistency through selective application of committed changes only.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the standby recovery process waits for archived redo log files to apply changes, then the log management process is simpler and more controlled, but the time to catch up with the primary database increases

Engineering Contradiction:
Improvedata replication speedVSAvoidlog management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The standby recovery process performs preliminary actions by receiving and buffering redo blocks before archiving occurs. This enables faster data replication while managing complexity through selective processing - only applying changes from committed transactions, thereby avoiding the need to wait for archiving while maintaining log management control.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If redo blocks are transmitted to standby before archiving, then real-time synchronization is achieved, but the risk of applying uncommitted changes increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoiddata inconsistency risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements feedback mechanisms by tracking transaction commit status and using this information to control which redo blocks are applied. The standby recovery process receives feedback about which transactions are committed and selectively applies only those changes, ensuring synchronization accuracy while eliminating the risk of applying uncommitted changes.

Inventive Principle:
Principle #23Feedback

4Loss of time

If the standby database applies changes as soon as redo blocks are received, then data availability is enhanced, but the complexity of managing partial and incomplete transactions increases

Engineering Contradiction:
Improvestandby activation timeVSAvoidtransaction management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system uses feedback from transaction commit status to control change application. The standby recovery process receives continuous feedback about which transactions are committed and applies changes accordingly. This reduces standby activation time while managing transaction complexity through selective application based on commit feedback, avoiding the need to handle incomplete transactions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7996363B2Real-time apply mechanism in standby database environments
Publication Date: 2011.08.09 ORACLE INT CORP
  • US7996363B2 patent drawing
  • US7996363B2 patent drawing
  • US7996363B2 patent drawing

AI summary

A method and apparatus for applying changes to a standby database in real-time. According to one aspect, a change is applied to data contained in a standby database. The standby database functions as a replica of a primary database. The primary database has a current online redo log file to which a particular redo block was written. According to one aspect, prior to the archiving of the current online redo log file, the particular redo block is received at a process associated with the standby database. A change indicated by the particular redo block is applied to the data contained in the standby database.