Storage integrated snapshot cloning for database

US10860237B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10860237-B2
Application numberUS-201414313926-A
CountryUS
Kind codeB2
Filing dateJun 24, 2014
Priority dateJun 24, 2014
Publication dateDec 8, 2020
Grant dateDec 8, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • G06F3/065Primary

    Replication mechanisms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10860237B2 cover?
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 creden…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 08 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).