Automated Self-Healing Database System for Oracle Data Guard Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Oracle Data Guard technology does not guarantee automatic provisioning of a new standby database after a primary database failure due to hardware or storage subsystem failures, leading to potential downtime and data loss in cloud-based computing environments.

Innovation Solution

An automated self-healing database system with a self-healing module that monitors and manages database configurations, automatically detects primary database unavailability, and initiates a failover process to assign a standby database as the new primary, ensuring minimal downtime and data loss by using API interactions with replication and failover technologies like Oracle Data Guard and AWS snapshot technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Oracle Data Guard technology is used to maintain standby databases, then database availability is improved through failover capability, but automatic provisioning of new standby databases after primary database failure is not guaranteed, leading to potential downtime

Engineering Contradiction:
Improvedatabase availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements automated self-healing functionality where the database system automatically detects primary database failures, provisions new standby databases, and executes failover procedures without requiring manual administrator intervention. This self-service approach resolves the contradiction by maintaining high reliability through automatic failover while eliminating downtime delays associated with manual recovery operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by pre-configuring automated failure detection mechanisms, standby database provisioning templates, and failover procedures before failures occur. When a primary database failure is detected, the system immediately executes pre-prepared recovery actions, ensuring continuous availability while minimizing downtime through advance preparation of recovery infrastructure.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If manual administrator intervention is required for database failover, then system complexity is reduced, but productivity and response time to failures decrease

Engineering Contradiction:
Improvefailover response speedVSAvoidautomation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements comprehensive automation that handles failure detection, standby database provisioning, and failover execution without human intervention. This self-service capability dramatically improves productivity by enabling immediate response to failures, while the automation complexity is managed through integration with existing Oracle Data Guard infrastructure and standardized provisioning processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The automated system performs multiple functions including failure detection, standby database creation, role assignment, and failover execution within a single integrated framework. This multi-functionality improves overall productivity by coordinating all failover activities automatically, while the universal design leverages existing Oracle Data Guard capabilities to avoid duplicating complex database management functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If automated self-healing functionality is implemented, then database availability and productivity are improved, but system complexity increases

Engineering Contradiction:
Improvedatabase availabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The automated self-healing system improves reliability by continuously monitoring database health and automatically executing failover procedures when failures are detected. The system complexity is managed by building upon existing Oracle Data Guard standby database infrastructure rather than creating entirely new redundancy mechanisms, thereby achieving high reliability with minimal additional architectural complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an automated provisioning and failover management layer that acts as an intermediary between the primary database, standby databases, and administrators. This intermediary handles complex automation tasks including failure detection, resource provisioning, and role management, thereby improving reliability while containing complexity within a dedicated management interface rather than dispersing it throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11093356B2Automated self-healing database system and method for implementing the same
Publication Date: 2021.08.17 SALESFORCE INC
  • US11093356B2 patent drawing
  • US11093356B2 patent drawing
  • US11093356B2 patent drawing

AI summary

An automated self-healing database system is provided that includes a primary database, an application server that writes data to the primary database and reads data from the primary database when it is available, a standby database that is a replica of the primary database, and a self-healing module (SHM). The SHM can automatically detect unavailability of the primary database, and if the standby database is available, the SHM can automatically enable the standby database as readable and writable, assign the standby database the role of primary database at the primary site to start replicating data to other standby databases, and use a pre-established connection between the application server and the standby database to allow the application server to read data from the standby database and to write data to the standby database resulting in the standby database assuming role of the primary database at the primary site.