IP Library Granted Patent US 12699708
Granted Patent B2
US 12699708 · App. 17/444,047 · Granted Aug 4, 2026

Method, system, and computer program product for implementing a standby database with real-time secure subsetting

Inventors: John Kati (Foster City, CA); Sachin Vijaykumar Sonawane (Foster City, CA)
Assignee: Oracle International Corporation
G06F16/27G06F16/2358G06F16/24573
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12699708
App. No.
17/444,047
Granted
Aug 4, 2026
Kind
B2
Abstract

Disclosed are methods, systems, and articles of manufacture for implementing a standby database with a secure subsetting technique. One or more sensitivity criteria for a change may be determined in a primary database. A tagged redo record may be determined for the change, wherein the tagged redo record pertains to sensitive information in the change and the one or more sensitivity criteria. The change may be constructed on a standby database with data subsetting based at least in part upon the tagged redo record and a replication mode of the standby database.

Claims (41)

1 . A computer implemented method, comprising:

determining one or more sensitivity criteria for a change in a primary database;

tagging a redo record to generate a tagged redo record for the change at least by adding or updating metadata in the tagged redo record to indicate presence or absence of sensitive information in the redo record, based at least in part upon the one or more sensitivity criteria; and

reconstructing the change on a standby database at least by checking the metadata in the tagged redo record, based at least in part upon a replication mode of the standby database and whether the standby database is logical or physical, wherein

when the standby database is logical, and the metadata indicates the presence of the sensitive information, discarding the tagged redo record, and

when the standby database is physical, and the metadata indicates the absence of the sensitive information, modifying the tagged redo record into a modified redo record where the modified redo record is stored in a set of one or more standby redo log files for the standby database, and data subsetting is performed for reconstructing the change on the standby database at least by applying the modified redo record to the standby database, wherein the sensitive information is discarded, nullified, redacted, or replaced, and the data subsetting is performed for reconstructing the change on the standby database at least by updating one or more standby data blocks for the standby database with a copy of one or more primary data blocks for the primary database based at least in part upon the modified redo record.

2 . The computer implemented method of claim 1 , further comprising determining the replication mode for the standby database, wherein the replication mode comprises at least one of a normal replication mode or a secure replication mode, and the one or more sensitivity criteria are overridden in the normal replication mode.

3 . The computer implemented method of claim 1 , further comprising:

detecting whether the tagged redo record includes the sensitive information based at least in part upon the one or more sensitivity criteria; and

transforming the tagged redo record or data pertaining to the one or more sensitivity criteria in the tagged redo record into the modified redo record based at least in part upon a replication mode of the standby database and the one or more sensitivity criteria.

4 . The computer implemented method of claim 1 , reconstructing the change comprising transforming the tagged redo record into one or more structured query language (SQL) statements that are applied to the standby database, wherein the standby database comprises a logical standby database, and one or more structured query language (SQL) statements are formed from the tagged redo record such that the sensitive information is discarded, nullified, redacted, or replaced.

5 . The computer implemented method of claim 4 , further comprising performing the data subsetting for reconstructing the change on the standby database at least by executing the one or more SQL statements on the standby database, wherein the metadata for the change comprises a metadata portion and a redo portion, the metadata portion includes first information indicating the presence of the sensitive information, and the redo portion comprises change data pertaining to the change.

6 . The computer implemented method of claim 1 , wherein the standby database is physical and remains identical to the primary database and further comprises a structured query language layer that ignores the sensitive information in the tagged redo record for one or more subsequent queries on the sensitive information.

7 . A computer program product comprising a non-transitory computer accessible medium storing thereupon a sequence of instructions which, when executed by a processor, causes the processor to perform a set of acts, the set of acts comprising:

determining one or more sensitivity criteria for a change in a primary database;

tagging a redo record to generate a tagged redo record for the change at least by adding or updating metadata in the tagged redo record to indicate presence or absence of sensitive information in the redo record, based at least in part upon the one or more sensitivity criteria; and

reconstructing the change on a standby database at least by checking the metadata in the tagged redo record, based at least in part upon a replication mode of the standby database and whether the standby database is logical or physical, wherein

when the standby database is logical, and the metadata indicates the presence of the sensitive information, discarding the tagged redo record, and

when the standby database is physical, and the metadata indicates the absence of the sensitive information, modifying the tagged redo record into a modified redo record where the modified redo record is stored in a set of one or more standby redo log files for the standby database, and data subsetting is performed for reconstructing the change on the standby database at least by applying the modified redo record to the standby database, wherein the sensitive information is discarded, nullified, redacted, or replaced, and the data subsetting is performed for reconstructing the change on the standby database at least by updating one or more standby data blocks for the standby database with a copy of one or more primary data blocks for the primary database based at least in part upon the modified redo record.

8 . The computer program product of claim 7 , the set of acts further comprising determining the replication mode for the standby database, wherein the replication mode comprises at least one of a normal replication mode or a secure replication mode, and the one or more sensitivity criteria are overridden in the normal replication mode.

9 . The computer program product of claim 7 , the set of acts further comprising:

detecting whether the tagged redo record includes the sensitive information based at least in part upon the one or more sensitivity criteria; and

transforming the tagged redo record or data pertaining to the one or more sensitivity criteria in the tagged redo record into the modified redo record based at least in part upon a replication mode of the standby database and the one or more sensitivity criteria.

10 . The computer program product of claim 7 , the set of acts comprising reconstructing the change further comprising transforming the tagged redo record into one or more structured query language (SQL) statements that are applied to the standby database, wherein the standby database comprises a logical standby database, and one or more structured query language (SQL) statements are formed from the tagged redo record such that the sensitive information is discarded, nullified, redacted, or replaced.

11 . The computer program product of claim 10 , the set of acts further comprising performing the data subsetting for reconstructing the change on the standby database at least by executing the one or more SQL statements on the standby database, wherein the metadata for the change comprises a metadata portion and a redo portion, the metadata portion includes first information indicating the presence of the sensitive information, and the redo portion comprises change data pertaining to the change.

12 . The computer program product of claim 7 , wherein standby database is physical and remains identical to the primary database and further comprises a structured query language layer that ignores sensitive information in the tagged redo record for one or more subsequent queries on the sensitive information the change comprises a metadata portion and a redo portion, the metadata portion includes first information pertaining to the one or more sensitivity criteria, and the redo portion comprises change data pertaining to the change.

13 . A system for implementing a standby database, comprising:

a processor;

a memory having stored thereupon a sequence of instructions of program code, which when executed by the processor, causes the processor to execute a set of acts, the set of acts comprising:

determining one or more sensitivity criteria for a change in a primary database;

tagging a redo record to generate a tagged redo record for the change at least by adding or updating metadata in the tagged redo record to indicate presence or absence of sensitive information in the redo record, based at least in part upon the one or more sensitivity criteria; and

reconstructing the change on a standby database at least by checking the metadata in the tagged redo record, based at least in part upon a replication mode of the standby database and whether the standby database is logical or physical, wherein

when the standby database is logical, and the metadata indicates the presence of the sensitive information, discarding the tagged redo record, and

when the standby database is physical, and the metadata indicates the absence of the sensitive information, modifying the tagged redo record into a modified redo record where the modified redo record is stored in a set of one or more standby redo log files for the standby database, and data subsetting is performed for reconstructing the change on the standby database at least by applying the modified redo record to the standby database, wherein the sensitive information is discarded, nullified, redacted, or replaced, and the data subsetting is performed for reconstructing the change on the standby database at least by updating one or more standby data blocks for the standby database with a copy of one or more primary data blocks for the primary database based at least in part upon the modified redo record.

14 . The system of claim 13 , the set of acts further comprising determining the replication mode for the standby database, wherein the replication mode comprises at least one of a normal replication mode or a secure replication mode, and the one or more sensitivity criteria are overridden in the normal replication mode.

15 . The system of claim 13 , the set of acts further comprising:

detecting whether the tagged redo record includes the sensitive information based at least in part upon the one or more sensitivity criteria; and

transforming the tagged redo record or data pertaining to the one or more sensitivity criteria in the tagged redo record into the modified redo record based at least in part upon a replication mode of the standby database and the one or more sensitivity criteria.

16 . The system of claim 13 , the set of acts comprising reconstructing the change further comprising transforming the tagged redo record into one or more structured query language (SQL) statements that are applied to the standby database, wherein the standby database comprises a logical standby database, and one or more structured query language (SQL) statements are formed from the tagged redo record such that the sensitive information is discarded, nullified, redacted, or replaced.

17 . The system of claim 16 , the set of acts further comprising performing the data subsetting for reconstructing the change on the standby database at least by executing the one or more SQL statements on the standby database, wherein the metadata for the change comprises a metadata portion and a redo portion, the metadata portion includes first information indicating the presence of the sensitive information, and the redo portion comprises change data pertaining to the change.

18 . The system of claim 13 , wherein the standby database is physical and remains identical to the primary database and further comprises a structured query language layer that ignores the sensitive information in the tagged redo record for one or more subsequent queries on the sensitive information the tagged redo record for one or more subsequent queries on the sensitive information.