Synchronized backup and recovery of database systems
US-9575849-B2 · Feb 21, 2017 · US
US10860237B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10860237-B2 |
| Application number | US-201414313926-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 24, 2014 |
| Priority date | Jun 24, 2014 |
| Publication date | Dec 8, 2020 |
| Grant date | Dec 8, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described herein for cloning a database. According to some embodiments, a database server receives a request to clone a source database. In response to receiving the request, the database server retrieves a set of one or more storage credentials for a set of one or more respective storage systems on which a set of files of the source database are stored. The set of storage credentials grant permission to the database server to create snapshot copies on the set of storage systems. The database server generates, for a target database using the set of storage credentials, a snapshot copy of each respective file in the set of files of the source database. The snapshot copy of the respective file points to the same set of one or more data blocks as the respective file until at least one of the data blocks is modified.
Opening claim text (preview).
What is claimed is: 1. A method for cloning a database, the method comprising: receiving, at a database server, a statement specifying to create a target database as a clone of a source database; wherein a set of files included in the source database is stored on at least one storage system; wherein said source database includes a database dictionary comprising: metadata that defines database objects of said source database, said database objects of said source database including one or more tables; metadata that defines the set of files as storing data for said database objects of the source database; before receiving, at the database server, said statement specifying to create the target database as a clone of the source database, receiving a set of one or more storage credentials for the at least one storage system on which the set of files of the source database is stored, said storage credentials granting permission to create snapshot copies of files on said at least one storage system; in response to receiving the set of one or more storage credentials for the at least one storage system on which the set of files of the source database is stored, storing the set of one or more storage credentials in a keystore; in response to receiving, at the database server, said statement specifying to create the target database as a clone of the source database: retrieving the set of one or more storage credentials from the keystore; generating a plurality of snapshots to include in the target database by using the set of one or more storage credentials, wherein generating said plurality of snapshots includes generating, for each file of said set of files, a respective snapshot copy of said each file, wherein said respective snapshot copy belongs to said plurality of snapshots, wherein each respective snapshot copy points to a set of one or more data blocks in said each file until at least one data block in said set of one or more data blocks in said each file is modified; creating a target database dictionary for said target database, said target database dictionary comprising: metadata that defines database objects of said target database, said database objects of said target database including one or more tables; metadata that defines said plurality of snapshots as storing data for database objects of the target database. 2. The method of claim 1 , further comprising preventing a database user from viewing the set of one or more storage credentials that are stored in the keystore; wherein the storage credentials are stored in the keystore in an encrypted format. 3. The method of claim 1 , wherein generating the snapshot copy of each respective file in the set of files of the source database comprises: the database server sending a first command to a first storage system to generate a snapshot copy for a first subset of the set of files; the database server sending a second command to a second storage system to generate a snapshot copy for a second subset of the set of files; wherein a format of the first command is different than a format of the second command. 4. The method of claim 1 , wherein the source database is a first pluggable database that is included in a container database; wherein the target database is a second pluggable database that is added to the container database in response to receiving, at the database server, said statement specifying to create the target database as a clone of the source database. 5. The method of claim 1 , wherein the set of data blocks includes one or more data blocks from the source database at a first point-in-time, the method further comprising: receiving, at the database server, a statement specifying to create another target database as a clone of the source database; in response to receiving, at the database server, the statement specifying to create the another target database as a clone of the source database: generating, for the another target database, a second snapshot copy of each respective file in the set of files of the source database; wherein each second snapshot copy points to another set of one or more data blocks; wherein the another set of one or more data blocks includes one or more data blocks from the source database at a second point-in-time that is different than the first point-in-time; wherein the another set of one or more data blocks includes at least one data block from the one or more data blocks from the source database at the first point-in-time. 6. The method of claim 1 , further comprising: receiving, at the database server, a request to modify a particular file in at least one of the source database or the target database; in response to receiving, at the database server, the request to modify the particular file in at least one of the source database or the target database, generating a copy of at least one data block in the set of one or more data blocks for the particular file. 7. The method of claim 1 , further comprising generating a target filename for each snapshot copy in the target database based, at least in part, on a source filename of a respective source file in the source database. 8. The method of claim 1 , wherein said statement specifying to create the target database as a clone of the source database is a single database command. 9. The method of claim 8 , wherein the database command conforms to a structured query language syntax and includes a clause for specifying that a clone of the source database should be a snapshot copy. 10. One or more non-transitory computer-readable media storing instructions, which, when executed by one or more processors, cause one or more computing devices to perform: receiving, at a database server, a statement specifying to create a target database as a clone of a source database; wherein a set of files included in the source database is stored on at least one storage system; wherein said source database includes a database dictionary comprising: metadata that defines database objects of said source database, said database objects of said source database including one or more tables; metadata that defines the set of files as storing data for said database objects of the source database; before receiving, at the database server, said statement specifying to create the target database as a clone of the source database, receiving a set of one or more storage credentials for the at least one storage system on which the set of files of the source database is stored, said storage credentials granting permission to create snapshot copies of files on said at least one storage system; in response to receiving the set of one or more storage credentials for the at least one storage system on which the set of files of the source database is stored, storing the set of one or more storage credentials in a keystore; in response to receiving, at the database server, said statement specifying to create the target database as a clone of the source database: retrieving the set of one or more storage credentials from the keystore; generating a plurality of snapshots to include in the target database by using the set of one or more storage credentials, wherein generating said plurality of snapshots includes generating, for each file of said set of files, a respective snapshot copy of said each file, wherein said respective snapshot copy belongs to said plurality of snapshots, wherein each respective snapshot copy points to a set of one or more data blocks in said each file until at least one data block in said set of one or more data blocks in said each file is modified; creating a target database dictionary for said target database, said target database dictionary
Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title
Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.