Cross-application database restore
First Claim
1. A system for converting database data from one database application format to another database application format, the system comprising:
- a first computing device comprising computer hardware and configured to;
in response to a request to access at least one first database object of a plurality of database objects represented by a database file generated by a first database application, the database file including a plurality of data blocks in a first format usable by the first database application, the plurality of data blocks includes multiple application-level blocks, the first database application residing on a computing device within a primary storage subsystem, identify a subset of the plurality of data blocks which correspond to the first database object by consulting an index associated with the first database application that provides a mapping between the plurality of database objects and corresponding application-level blocks,wherein the request includes one or more offsets in the database file corresponding to the at least one first database object; and
issue a request to retrieve the subset of data blocks from one or more secondary storage devices which reside in a secondary storage subsystem and which store a secondary copy of the database file, the secondary copy of the database file including secondary copies of the plurality of data blocks;
a second computing device comprising computer hardware;
a staging memory associated with the second computing device; and
one or more secondary storage controller computers comprising computer hardware configured to;
receive the request to retrieve the subset of data blocks;
access a stored table that provides a mapping between the secondary copies of the plurality of data blocks and corresponding locations of the secondary copies of the plurality of data blocks in the one or more secondary storage devices;
retrieve the subset of data blocks from the one or more secondary storage devices; and
forward the retrieved subset of data blocks to the second computing device;
the second computing device configured to;
receive each of the requested data blocks, the received data blocks retrieved from the one or more secondary storage devices;
store the requested data blocks, at least some of the requested data blocks are accessed from the staging memory for conversion before others of the requested data blocks are received and stored by the staging memory;
convert the received data blocks to a second format different than the first format, wherein the second format is usable by a second database application different than the first database application; and
forward the converted data blocks for use by an instance of the second database application.
2 Assignments
0 Petitions
Accused Products
Abstract
According to certain aspects, a system may include a first computing device configured to: in response to a request to access at least one first database object of a plurality of database objects represented by a database file generated by a first database application, the database file including a plurality of data blocks, identify a subset of the plurality of data blocks corresponding to the first database object; a secondary storage controller computer(s) configured to: access a stored table providing a mapping between the secondary copies of the plurality of data blocks and corresponding locations of the secondary copies in a secondary storage device(s); retrieve and forward the subset of data blocks from the secondary storage device(s); and a second computing device configured to: receive the requested data blocks retrieved from the secondary storage device(s); and convert the received data blocks to a format usable by a second database application.
-
Citations
16 Claims
-
1. A system for converting database data from one database application format to another database application format, the system comprising:
-
a first computing device comprising computer hardware and configured to; in response to a request to access at least one first database object of a plurality of database objects represented by a database file generated by a first database application, the database file including a plurality of data blocks in a first format usable by the first database application, the plurality of data blocks includes multiple application-level blocks, the first database application residing on a computing device within a primary storage subsystem, identify a subset of the plurality of data blocks which correspond to the first database object by consulting an index associated with the first database application that provides a mapping between the plurality of database objects and corresponding application-level blocks, wherein the request includes one or more offsets in the database file corresponding to the at least one first database object; and issue a request to retrieve the subset of data blocks from one or more secondary storage devices which reside in a secondary storage subsystem and which store a secondary copy of the database file, the secondary copy of the database file including secondary copies of the plurality of data blocks; a second computing device comprising computer hardware; a staging memory associated with the second computing device; and one or more secondary storage controller computers comprising computer hardware configured to; receive the request to retrieve the subset of data blocks; access a stored table that provides a mapping between the secondary copies of the plurality of data blocks and corresponding locations of the secondary copies of the plurality of data blocks in the one or more secondary storage devices; retrieve the subset of data blocks from the one or more secondary storage devices; and forward the retrieved subset of data blocks to the second computing device; the second computing device configured to; receive each of the requested data blocks, the received data blocks retrieved from the one or more secondary storage devices; store the requested data blocks, at least some of the requested data blocks are accessed from the staging memory for conversion before others of the requested data blocks are received and stored by the staging memory; convert the received data blocks to a second format different than the first format, wherein the second format is usable by a second database application different than the first database application; and forward the converted data blocks for use by an instance of the second database application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of converting database data from one database application format to another database application format, the method comprising:
-
using a first computing device comprising computer hardware; in response to a request to access at least one first database object of a plurality of database objects represented by a database file generated by a first database application, the database file including a plurality of data blocks in a first format usable by the first database application, the plurality of data blocks includes multiple application-level blocks, the first database application residing on a computing device within a primary storage subsystem, identifying a subset of the plurality of data blocks which correspond to the first database object by consulting an index associated with the first database application that provides a mapping between the plurality of database objects and corresponding application-level blocks, wherein the request includes one or more offsets in the database file corresponding to the at least one first database object; and issuing a request to retrieve the subset of data blocks from one or more secondary storage devices which reside in a secondary storage subsystem and which store a secondary copy of the database file, the secondary copy of the database file including secondary copies of the plurality of data blocks; and using one or more secondary storage controller computers comprising computer hardware; receiving the request to retrieve the subset of data blocks; accessing a stored table that provides a mapping between the secondary copies of the plurality of data blocks and corresponding locations of the secondary copies of the plurality of data blocks in the one or more secondary storage devices; retrieving the subset of data blocks from the one or more secondary storage devices; and forwarding the retrieved subset of data blocks to a second computing device comprising computer hardware; and using the second computing device; receiving each of the requested data blocks, the received data blocks retrieved from the one or more secondary storage devices; storing the requested data blocks, at least some of the requested data blocks are accessed from a staging memory for conversion before others of the requested data blocks are received and stored by the staging memory; converting the received data blocks to a second format different than the first format, wherein the second format is usable by a second database application different than the first database application; and forwarding the converted data blocks for use by an instance of the second database application. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for converting structured data from one software application format to another software application format, the system comprising:
-
a first computing device comprising computer hardware and configured to; in response to a request to access at least one first object of a plurality of objects represented by a structured file generated by a first software application, the structured file including a plurality of data blocks, the plurality of data blocks includes multiple application-level blocks, the first software application residing on a computing device within a first storage subsystem, identify a subset of the plurality of data blocks which correspond to the first object by consulting an index associated with the first database application that provides a mapping between the plurality of database objects and corresponding application-level blocks, wherein the request includes one or more offsets in the database file corresponding to the at least one first database object; and issue a request to retrieve the subset of data blocks from one or more storage devices which reside in a second storage subsystem and which store a secondary copy of the structured file, the secondary copy of the structured file including secondary copies of the plurality of data blocks; a second computing device comprising computer hardware; a staging memory associated with the second computing device; and one or more secondary storage controller computers comprising computer hardware configured to; receive the request to retrieve the subset of data blocks; access a stored table that provides a mapping between the secondary copies of the plurality of data blocks and corresponding locations of the secondary copies of the plurality of data blocks in the one or more storage devices; retrieve the subset of data blocks from the one or more storage devices; and forward the retrieved subset of data blocks to the second computing device; and the second computing device configured to; receive each of the requested data blocks, the received data blocks retrieved from the one or more storage devices; store the requested data blocks, at least some of the requested data blocks are accessed from the staging memory for conversion before others of the requested data blocks are received and stored by the staging memory; convert the received data blocks to a format usable by a second software application different than the first software application; and forward the converted data blocks for use by an instance of the second software application.
-
Specification