US 10,891,199 B2
Object-level database restore
Paramasivam Kumarasamy, Morganville, NJ (US); Rahul S. Pawar, Marlboro, NJ (US); Henry Wallace Dornemann, Eatontown, NJ (US); Jun H. Ahn, Manalapan, NJ (US); Brahmaiah Vallabhaneni, Marlboro, NJ (US); and Girish Ramohalli Gopala Rao, Eatontown, NJ (US)
Assigned to Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed by Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed on Dec. 28, 2018, as Appl. No. 16/234,996.
Application 16/234,996 is a continuation of application No. 14/717,816, filed on May 20, 2015, granted, now 10,223,211.
Claims priority of provisional application 62/106,109, filed on Jan. 21, 2015.
Prior Publication US 2019/0196916 A1, Jun. 27, 2019
Int. Cl. G06F 16/00 (2019.01); G06F 11/14 (2006.01); G06F 16/27 (2019.01); G06F 16/11 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/17 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 3/06 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01)
CPC G06F 11/1464 (2013.01) [G06F 3/061 (2013.01); G06F 3/064 (2013.01); G06F 3/065 (2013.01); G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0643 (2013.01); G06F 11/14 (2013.01); G06F 11/1448 (2013.01); G06F 11/1451 (2013.01); G06F 11/1458 (2013.01); G06F 11/1469 (2013.01); G06F 11/3034 (2013.01); G06F 11/3476 (2013.01); G06F 16/113 (2019.01); G06F 16/1727 (2019.01); G06F 16/184 (2019.01); G06F 16/1827 (2019.01); G06F 16/214 (2019.01); G06F 16/2282 (2019.01); G06F 16/2358 (2019.01); G06F 16/27 (2019.01); G06F 16/275 (2019.01); G06F 2201/80 (2013.01); G06F 2201/84 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system for backing up and restoring database data, the system comprising:
a computing device comprising computer hardware, the computing device having a data agent executing thereon configured to:
intercept a first request from a database application executing on the computing device to read a portion of a database file,
wherein a secondary copy of the database file resides on one or more secondary storage devices in a secondary storage subsystem and is organized on the one or more secondary storage devices as a plurality of first blocks,
wherein the database file is organized by the database application as a plurality of application-level blocks, and each block of the plurality of first blocks includes multiple application-level blocks,
wherein the portion corresponds to a subset of one or more database objects of a plurality of database objects represented by the database file;
determine a subset of first blocks of the plurality of first blocks corresponding to portion of a database file included in the first request; and
issue a second request to restore the subset of first blocks from the one or more secondary storage devices; and
one or more secondary storage controller computers comprising computer hardware configured to:
in response to the second request:
access a table that maps the plurality of first blocks to one or more storage locations on the one or more secondary storage devices;
using the table, locate the subset of first blocks on the one or more secondary storage devices identified by the second request and retrieve the subset of first blocks from the one or more secondary storage devices;
forward the retrieved subset of first blocks for storage in one or more primary storage devices associated with the computing device;
extract application-level blocks corresponding to the requested portion from the retrieved subset of first blocks; and
forward the extracted application-level blocks to the database application.