US 12,423,301 B2
Diskless active data guard as cache
Yunrui Li, Los Altos, CA (US); Wei-Ming Hu, Palo Alto, CA (US); Juan R. Loaiza, Woodside, CA (US); J. William Lee, Saratoga, CA (US); Adam Y. Lee, Palo Alto, CA (US); Carlos Ruiz, Madrid (ES); Amrish Srivastava, San Ramon, CA (US); Garret F. Swart, Palo Alto, CA (US); and Mahesh Baburao Girkar, Los Altos, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Apr. 25, 2022, as Appl. No. 17/728,647.
Prior Publication US 2023/0342355 A1, Oct. 26, 2023
Int. Cl. G06F 16/2453 (2019.01); G06F 13/16 (2006.01); G06F 16/2457 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24539 (2019.01) [G06F 13/1673 (2013.01); G06F 16/24573 (2019.01); G06F 16/248 (2019.01)] 26 Claims
OG exemplary drawing
 
1. A computer-executed method comprising:
an integrated in-front database cache (IIDC) database server instance receiving a plurality of redo records for changes made to a primary database, wherein the IIDC database server does not maintain a copy of said primary database;
the IIDC database server instance automatically applying the plurality of redo records to make the changes in at least a portion of primary database data stored in a buffer cache to produce first updated database data in the buffer cache;
the IIDC database server instance executing a first query over the first updated database data comprising:
the IIDC database server instance detecting that the first updated database data in the buffer cache stores one or more first data blocks required by the first query, and
the IIDC database server instance generating results for the first query using the first updated database data stored in the buffer cache;
the IIDC database server instance executing a second query over the first updated database data comprising:
detecting that the buffer cache does not store one or more second data blocks stored in the primary database required by the second query,
responsive to detecting that the buffer cache does not store the one or more second data blocks required by the second query, fetching, into the buffer cache, the one or more second data blocks stored in the primary database from a primary database server instance that manages the primary database or from a standby server instance of the primary database to produce second updated database data in the buffer cache, and
generating results for the second query using the second updated database data stored in the buffer cache;
wherein the method is performed by one or more computing devices.