IP Library › Granted Patent US 12,124,474
Granted Patent B2
US 12,124,474 · App. 16/163,171 · Granted Oct 22, 2024

Real-time masking in a standby database

Inventors: Sachin Sonawane (Foster City, CA); Mahesh Girkar (Cupertino, CA)
Assignee: Oracle International Corporation
G06F16/27G06F16/2358
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 12,124,474
App. No.
16/163,171
Granted
Oct 22, 2024
Kind
B2
Abstract

Disclosed is a system, method, and computer program product that generates masked data from within a database infrastructure. Instead of requiring an external tool to generate masked data, a database generates masked data using its internal processing mechanisms.

Claims (38)

1. A method for implementing a masked database, comprising:

identifying a change to a primary database comprising a relational database table, wherein the change modifies an entry in the relational database table;

generating a redo record for the change, wherein the redo record comprises a masked version of the change to the primary database;

copying the redo record to a standby database; and

generating a masked version of the standby database at least by applying the masked version of the change in the redo record to the standby database.

2. The method of claim 1 , wherein the redo record comprises both the masked portion and an un-masked portion.

3. The method of claim 1 , wherein the redo record comprises two separate redo portions, where a first redo portion corresponds to a masked redo and a second redo portion corresponds to an unmasked redo.

4. The method of claim 1 , wherein the redo record further comprises an un-masked portion, and the un-masked portion of the redo record is removed before the redo record is copied to the standby database.

5. The method of claim 1 , wherein a masking criterion is applied to un-masked data for the change to generate the redo record having the masked portion.

6. The method of claim 5 , wherein the masking criterion includes a masking expression that is directed to one or more columns of the relational database table, the masking expression corresponding to a regular expression.

7. The method of claim 1 , wherein both an un-masked version of the standby database and the masked version of the standby database are maintained, the un-masked version of the standby database generated by applying one or more redo records having one or more corresponding un-masked versions of one or more changes, and the masked version of the standby database generated by applying the redo record having the masked version of the change in the redo record.

8. The method of claim 1 , wherein physical replication is performed between the primary database and the standby database such that the redo record for the change is applied to the standby database on a block-by-block basis.

9. A system for implementing a masked database, comprising:

a processor; and

a memory for holding programmable code, wherein the programmable code includes instructions which, when executed by the processor, cause the processor to perform a set of acts that comprises:

identifying a change to a primary database, comprising a relational database table, wherein the change modifies an entry in the relational database table;

generating a redo record for the change, wherein the redo record comprises a masked version of the change to the primary database;

copying the redo record to a standby database; and

generating a masked version of the standby database at least by applying the masked version of the change in the redo record to the standby database.

10. The system of claim 9 , wherein the redo record comprises both the masked portion and an un-masked portion.

11. The system of claim 9 , wherein the redo record comprises two separate redo portions, where a first redo portion corresponds to a masked redo and a second redo portion corresponds to an unmasked redo.

12. The system of claim 9 , wherein the redo record further comprises an un-mask portion, and the un-masked portion of the redo record is removed before the redo record is copied to the standby database.

13. The system of claim 9 , wherein a masking criterion is applied to un-masked data for the change record to generate the redo record having the masked portion.

14. The system of claim 13 , wherein the masking criterion includes a masking expression that is directed to one or more columns of the relational database table, the masking expression corresponding to a regular expression.

15. The system of claim 9 , wherein both an un-masked version of the standby database and the masked version of the standby database are maintained, the un-masked version of the standby database generated by applying one or more redo records having one or more corresponding un-masked versions of one or more changes, and the masked version of the standby database generated by applying the redo record having the masked version of the change in the redo record.

16. The system of claim 9 , wherein physical replication is performed between the primary database and the standby database such that the redo record for the change is applied to the standby data base on a block-by-block basis.

17. A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to perform a set of acts for implementing a masked database, the set of acts comprising:

identifying a change to a primary database-comprising a relational database table, wherein the change modifies an entry in the relational database table;

generating a redo record for the change, wherein the redo record comprises a masked version of the change to the primary database;

copying the redo record to a standby database; and

generating a masked version of the standby database at least by applying the masked version of the change in the redo record to the standby database.

18. The computer program product of claim 17 , wherein the redo record comprises both the masked portion and an un-masked portion.

19. The computer program product of claim 17 , wherein the redo record comprises two separate redo portions, where a first redo portion corresponds to a masked redo and a second redo portion corresponds to an unmasked redo.

20. The computer program product of claim 17 , wherein the redo record further comprises an un-masked portion, and the un-masked portion of the redo record is removed before the redo record is copied to the standby database.

21. The computer program product of claim 17 , wherein a masking criterion is applied to un-masked data for the change to generate the redo record having the masked portion.

22. The computer program product of claim 21 , wherein the masking criterion includes a masking expression that is directed to one or more columns of the relational database table, the masking expression corresponding to a regular expression.

23. The computer program product of claim 17 , wherein both an un-masked version of the standby version of the database and the masked version of the standby database are maintained, the un-masked version of the standby database generated by applying one or more redo records having one or more corresponding un-masked versions of one or more change, and the masked version of the standby database generated by applying the redo record having the masked version of the change in the redo record.

24. The computer program product of claim 17 , wherein physical replication is performed between the primary database and the standby database such that the redo record for the change is applied to the standby database on a block-by-block basis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2018
From: SONAWANE, SACHIN; GIRKAR, MAHESH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 047694/0021 →
Continuity (1)
Related Publication 20200125667A1 · Apr 23, 2020
Cited By (1)
US 12,468,681