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 |
1. A system for restoring archived database data, the system comprising:
one or more computing devices comprising computer hardware configured to:
process a database file residing on one or more storage devices to identify a subset of data in the database file for archiving, the database file generated by a database application executing on the one or more computing devices;
copy the subset of the data from the database file to a volume, wherein the volume is organized as a plurality of volume blocks having a volume block size;
delete the subset of the data from the database file;
create a snapshot of the volume comprising the copied subset of data; and
divide the snapshot into a plurality of blocks having a common size;
transmit the plurality of blocks over a network connection to a secondary storage subsystem,
wherein the plurality of blocks are copied to create a secondary copy of the plurality of blocks,
wherein mapping between the plurality of blocks and corresponding locations in the secondary storage subsystem are stored in a table;
intercept a read operation by the database application to access one or more database blocks that have been removed;
determine an offset of the one or more database blocks accessed by the read operation;
identify a database block that corresponds to the offset;
initiate a request to restore the database block from the secondary storage subsystem; and
receive and restore the database block from the secondary storage subsystem,
wherein, the database block was retrieved from the secondary storage subsystem using location information stored in the table.
|