PDB-Specific DLM Domains for Isolated Forceful Closure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In consolidated databases, forceful closure of a pluggable database (PDB) is challenging as it requires terminating the entire database server instance, leading to unnecessary downtime of other functioning PDBs, and traditional recovery methods are inadequate for maintaining availability and recovering lost changes.
Innovation Solution
Implementing a distributed lock manager (DLM) domain for each PDB allows for forceful closure without affecting other PDBs, enabling separate management of locks and buffers, and automatic recovery through redo logs, allowing the database server instance to maintain availability and recover lost changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire database server instance is terminated to forcefully close a failed PDB, then the failed PDB can be closed, but all other functioning PDBs served by the instance become unavailable
Solution Approach 1:
The patent segments the instance-level DLM domain into PDB-specific DLM domains. Each PDB now has its own isolated DLM domain for managing locks and buffers, allowing independent forceful closure of failed PDBs without affecting other PDBs served by the same instance. This segmentation enables selective termination of only the failed PDB's resources while keeping the instance and other PDBs operational.
2Device complexity
If traditional instance-level lock management is used, then lock management is simplified, but forceful closure of individual PDBs requires terminating the entire instance
Solution Approach 1:
The patent divides the monolithic instance-level DLM domain into multiple PDB-specific DLM domains. Each domain independently manages locks and buffers for its associated PDB, enabling granular control over forceful closure operations. This segmentation allows the system to close individual failed PDBs without terminating the entire instance, improving operational flexibility.
Solution Approach 2:
The patent introduces PDB-specific DLM domains as intermediary layers between the instance and individual PDBs. These intermediary domains handle lock and buffer management specifically for each PDB, acting as a mediator that isolates PDB-specific failures and enables selective forceful closure without affecting the broader instance or other PDBs.
3Productivity
If dirty buffers are discarded during forceful closure, then closure can proceed without disk access, but data changes are lost and logical inconsistency occurs
Solution Approach 1:
The patent implements automatic recovery mechanisms within the PDB-specific DLM domain that enable the system to self-recover from forceful closure events. When a PDB is forcefully closed, the system automatically detects the closure, identifies lost data changes through buffer tracking, and initiates recovery operations to restore data integrity without requiring manual intervention.
Solution Approach 2:
The patent employs feedback mechanisms where the PDB-specific DLM domain continuously monitors buffer states and tracks data changes. When forceful closure occurs, the system uses this feedback information to identify which buffers contain uncommitted changes, enabling targeted recovery operations that restore only the affected PDB while maintaining overall system consistency.
Data Source
AI summary
Embodiment provide that each pluggable database (PDB) in a container database is associated with a distinct distributed lock manager (DLM) domain. Thus, in order to access a PDB, a database server instance joins the DLM domain for the PDB. To perform actions on the PDB, the instance secures locks that belong to the DLM domain for the particular PDB. As such, buffers storing data for the PDB may be managed separately from buffers storing data for other PDBs using the PDB-specific DLM domains. An instance forcefully closing a particular PDB marks the DLM domain of the PDB as invalid, which allows detection of the forceful closure by a recovery instance. Detection of an invalid DLM domain by an instance causes the instance to automatically recover the PDB by accessing pertinent ranges of redo logs and replaying changes made to data blocks for the PDB indicated in the logs.


