# US 2021/0240585 A1 · Database-level automatic storage management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240585 A1
- Document ID: US20210240585A1
- Status: Published application
- Kind: A1
- Application number: 17/236,618
- Filed: 2021-04-21
- Published: 2021-08-05
- Earliest claimed: 2015-10-15
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: HANLIN D. CHIEN; PRASAD V. BAGAL; HARISH NANDYALA; ANA L. SOLIS; SANTHOSH SELVARAJ
- Web page: https://patentgrep.com/patent/US20210240585A1

## CPC

- G06F 11/2069: {Management of state, configuration or failover}
- G06F 11/2058: {using more than 2 mirrored copies}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/164: {File meta data generation}
- G06F 16/182: Distributed file systems
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F 16/21: Design, administration or maintenance of databases
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are describe herein for associating storage management properties with a group of files of a database referred to herein as a “file group”. In this system, storage management properties are defined at the database-level. Thus, multiple databases can be stored across a single disk group, gaining the benefits of having multiple block access devices working in parallel, but each respective database may be associated with a respective file group in a one-to-one relationship, so that each database can have different storage management properties.

## Claims

### Claim 1

A method comprising:
associating a plurality of block addressable storage units as a part of a disk group configured to store files for a plurality of databases, wherein the plurality of databases comprises a first database and a second database different from the first database, wherein the files for each database of the plurality of databases comprise a table and an index of the database;
storing a first file group and a second file group in the disk group, wherein files in the first file group only store data for the first database and files in the second file group only store data for the second database;
for each file group of the first file group and the second file group, storing, with said file group, storage management property values describing how to apply certain storage management operations to said file group on a file basis, wherein storage management property values for the first file group are distinct from storage management property values for the second file group; and
causing application of a storage management property value of the storage management property values stored with the first file group to one or more files in the first file group,
wherein the method is performed by one or more computing devices.

### Claim 2 (depends on 1)

The method of claim 1, wherein the storage management property values include a particular storage management property value, wherein storing storage management property values for each file group includes:
storing a first value for the particular storage management property value for the first file group;
storing a second value for the particular storage management property value for the second file group;
wherein the first value is different than the second value.

### Claim 3 (depends on 2)

The method of claim 2, wherein the particular storage management property value is redundancy, the method further comprising:
automatically, maintaining, on the block addressable storage units of the disk group, a first number of copies of a first database of the plurality of databases according to a first redundancy property representing the particular storage management property value for the first file group that has files for the first database;
automatically, maintaining, on the block addressable storage units of the disk group, a second number of copies of a second database of the plurality of databases according to a second redundancy property representing the particular storage management property value for the second file group that has files for the second database;
wherein the first number of copies and the second number of copies are different.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
striping each file of the first file group across a first subset of the plurality of block addressable storage units of the disk group;
striping each file of the second file group across a second subset of the plurality of block addressable storage units of the disk group,
wherein a first set of stripes from the files of the first file group on at least one block addressable storage unit to have different storage management properties than a second set of stripes from the files of the second file group.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
detecting a failure in at least one block addressable storage unit of the plurality of the block addressable storage units of the disk group;
automatically, restoring a first set of lost data from files in a particular file group according to a particular restoration property of the particular file group, the particular restoration property being a type of a storage management property value.

### Claim 6 (depends on 5)

The method of claim 5, wherein the particular restoration property of the particular file group is priority, the method further comprising:
based on the particular restoration property, restoring the first set of lost data from the files in the particular file group prior to restoring a second set of lost data from files in another particular file group.

### Claim 7 (depends on 6)

The method of claim 6, where the particular restoration property refers to a file type.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
detecting a failure in the first file group and the second file group of the disk group;
automatically, restoring files of the first file group before restoring files of the second file group according to a first restoration property of the first file group and a second restoration property of the second file group, the first and second restoration properties each being a type of a storage management property value.

### Claim 9 (depends on 1)

The method of claim 1, wherein a storage management property value of the storage management property values stored with the first file group or the second file group is a number of mirror-split copies created for every data file in the file group, a set of mirror-split copies supplying a base image for sparse clones of a database.

### Claim 10 (depends on 1)

The method of claim 1, wherein the one or more files in the first file group are of a common file type.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first file group includes files stored on more than one disk of the disk group.

### Claim 12 (depends on 1)

The method of claim 1, wherein a storage management property value of the storage management property values stored with the first file group is associated with one or more data definition language (DDL) statements.

### Claim 13

One or more non-transitory computer-readable media storing one or more sequences of instructions which, when executed by one or more processors, cause performing of:
associating a plurality of block addressable storage units as a part of a disk group configured to store files for a plurality of databases, wherein the plurality of databases comprises a first database and a second database different from the first database, wherein the files for each database of the plurality of databases comprise a table and an index of the database;
storing a first file group and a second file group in the disk group, wherein files in the first file group only store data for the first database and files in the second file group only store data for the second database;
for each file group of the first file group and the second file group, storing, with said file group, storage management property values describing how to apply certain storage management operations to said file group on a file basis, wherein storage management property values for the first file group are distinct from storage management property values for the second file group; and
causing application of a storage management property value of the storage management property values stored with the first file group to one or more files in the first file group.

### Claim 14 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the storage management property values include a particular storage management property value, wherein storing storage management property values for each file group includes:
storing a first value for the particular storage management property value for the first file group;
storing a second value for the particular storage management property value for the second file group;
wherein the first value is different than the second value.

### Claim 15 (depends on 14)

The one or more non-transitory computer-readable media of claim 14, wherein the particular storage management property value is redundancy, wherein the one or more non-transitory computer-readable media store instructions which, when executed by the one or more processors, further cause:
automatically, maintaining, on the block addressable storage units of the disk group, a first number of copies of a first database of the plurality of databases according to a first redundancy property representing the particular storage management property value for the first file group that has files for the first database;
automatically, maintaining, on the block addressable storage units of the disk group, a second number of copies of a second database of the plurality of databases according to a second redundancy property representing the particular storage management property value for the second file group that has files for the second database;
wherein the first number of copies and the second number of copies are different.

### Claim 16 (depends on 14)

The one or more non-transitory computer-readable media of claim 14, wherein the one or more non-transitory computer-readable media store instructions which, when executed by the one or more processors, further cause:
striping each file of the first file group across a first subset of the plurality of block addressable storage units of the disk group;
striping each file of the second file group across a second subset of the plurality of block addressable storage units of the disk group,
wherein a first set of stripes from the files of the first file group on at least one block addressable storage unit to have different storage management properties than a second set of stripes from the files of the second file group.

### Claim 17 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the one or more non-transitory computer-readable media store instructions which, when executed by the one or more processors, further cause:
detecting a failure in at least one block addressable storage unit of the plurality of the block addressable storage units of the disk group;
automatically, restoring a first set of lost data from files in a particular file group according to a particular restoration property of the particular file group, the particular restoration property being a type of a storage management property value.

### Claim 18 (depends on 17)

The one or more non-transitory computer-readable media of claim 17, wherein the particular restoration property of the particular file group is priority, wherein the one or more non-transitory computer-readable media store instructions which, when executed by the one or more processors, further cause:
based on the particular restoration property, restoring the first set of lost data from the files in the particular file group prior to restoring a second set of lost data from files in another particular file group.

### Claim 19 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the one or more non-transitory computer-readable media store instructions which, when executed by the one or more processors, further cause:
detecting a failure in the first file group and the second file group of the disk group;
automatically, restoring files of the first file group before restoring files of the second file group according to a first restoration property of the first file group and a second restoration property of the second file group, the first and second restoration properties each being a type of a storage management property value.

### Claim 20 (depends on 13)

The storage one or more non-transitory computer-readable media of claim 13, wherein a storage management property value of the storage management property values stored with the first file group or the second file group is a number of mirror-split copies created for every data file in the file group, a set of mirror-split copies supplying a base image for sparse clones of a database.
