IP Library › Granted Patent US 11,467,927
Granted Patent B2
US 11,467,927 · App. 16/852,310 · Granted Oct 11, 2022

Methods and systems for protecting multitenant databases in networked storage systems

Inventors: Amarnath Rachapudi (Bangalore, IN); Vasantha Prabhu (Bangalore, IN); Karkala Pallavi Puranik (Bangalore, IN); Kumar Dawani (Indore, IN)
Assignee: NETAPP, INC.
G06F11/1469G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,467,927
App. No.
16/852,310
Granted
Oct 11, 2022
Kind
B2
Abstract

Methods and systems for restoring a tenant database of a multitenant database system with multiple tenant databases is provided. In response to a request to restore a first tenant database, a system verifies that the first tenant database is present in the multitenant system database system with a same identifier when a backup of the first tenant database was taken during a backup operation and when the restore request was received. A restore method is selected based on a storage type used for storing the first tenant database. The selected restore method is executed for restoring the first tenant database utilizing an internal file associated with the first tenant database, while processing requests for other tenant databases.

Claims (30)

1. A method, comprising:

verifying, by a processor, in response to a restore request to restore a first tenant database from a plurality of tenant databases of a multitenant database instance that the first tenant database is present in the multitenant system database instance with a same identifier when a backup of the first tenant database was taken during a backup operation, prior to receiving the restore request, and when the restore request was received, wherein the multitenant database instance is configured as a logical container to present the plurality tenant databases;

selecting, by the processor, a restore method for restoring the first tenant database, the restore method based on whether the first tenant database is stored using a storage area network (SAN) or a non-SAN based storage system; and

executing, by the processor, the selected restore method for restoring the first tenant database utilizing an internal file associated with the first tenant database, while processing requests for other tenant databases of the plurality of tenant databases, wherein the internal file is generated by a database application to capture a state of the multitenant database instance and a state of the first tenant database when the backup was taken, and a location of the internal file is stored with metadata of the backup by a storage system and provided to the database application by a plugin for restoring the first tenant database.

2. The method of claim 1 , further comprising: creating, by the processor, a clone of the backup, in response to the SAN based storage storing the first tenant database; and mapping, by the processor, the clone to a computing system hosting the multitenant database instance for selectively copying files of the first tenant database.

3. The method of claim 2 , further comprising: restoring, by the processor, the first tenant database using the selectively copied files and the internal file.

4. The method of claim 2 , further comprising: deleting, by the processor, the clone after the first tenant database is restored.

5. The method of claim 1 , further comprising: prior to a quiesce request issued to the database application, retrieving by the plugin, information regarding data files corresponding to the plurality of tenant databases and mapping each tenant database to a corresponding data file with a file path indicating a storage location of where each data file is stored.

6. The method of claim 5 , further comprising: utilizing the mapping of each tenant database to the corresponding data file by a storage system interface to retrieve a storage layout for each tenant database, based on which the backup is generated.

7. The method of claim 1 , further comprising: executing, by the processor, a file-based restore method for restoring the first tenant database, in response to the first tenant database being stored at the non-SAN based storage.

8. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:

verify, in response to a restore request to restore a first tenant database from a plurality of tenant databases of a multitenant database instance that the first tenant database is present in the multitenant system database instance with a same identifier when a backup of the first tenant database was taken during a backup operation, prior to receiving the restore request, and when the restore request was received, wherein the multitenant database instance is configured as a logical container to present the plurality tenant databases;

select a restore method for restoring the first tenant database, the restore method based on whether the first tenant database is stored using a storage area network (SAN) or a non-SAN based storage system; and

execute the selected restore method for restoring the first tenant database utilizing an internal file associated with the first tenant database, while processing requests for other tenant databases of the plurality of tenant databases, wherein the internal file is generated by a database application to capture a state of the multitenant database instance and a state of the first tenant database when the backup was taken, and a location of the internal file is stored with metadata of the backup by a storage system and provided to the database application by a plugin for restoring the first tenant database.

9. The non-transitory machine readable storage medium of claim 8 , wherein the machine executable code further causes the machine to: during the backup operation, generate the internal file by the database application upon receiving a quiesce request from the plugin.

10. The non-transitory machine readable storage medium of claim 8 , wherein the machine executable code further causes the machine to: create a clone of the backup, in response to the SAN based storage storing the first tenant database; and map the clone to a computing system hosting the multitenant database instance for selectively copying files of the first tenant database.

11. The non-transitory machine readable storage medium of claim 10 , wherein the machine executable code further causes the machine to: restore the first tenant database using the selectively copied files and the internal file.

12. The non-transitory machine readable storage medium of claim 10 , wherein the machine executable code further causes the machine to: delete the clone after the first tenant database is restored.

13. The non-transitory machine readable storage medium of claim 9 , wherein the machine executable code further causes the machine to: prior to a quiesce request, retrieve by the plugin, information regarding data files corresponding to the plurality of tenant databases and map each tenant database to a corresponding data file with a file path indicating a storage location of where each data file is stored.

14. The non-transitory machine readable storage medium of claim 8 , wherein the machine executable code further causes the machine to: execute a file-based restore method for restoring the first tenant database, in response to the first tenant database being stored at the non-SAN based storage.

15. A system, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and a processor coupled to the memory, the processor configured to execute the machine executable code to:

verify, in response to a restore request to restore a first tenant database from a plurality of tenant databases of a multitenant database instance that the first tenant database is present in the multitenant system database instance with a same identifier when a backup of the first tenant database was taken during a backup operation, prior to receiving the restore request, and when the restore request was received, wherein the multitenant database instance is configured as a logical container to present the plurality tenant databases

select a restore method for restoring the first tenant database, the restore method based on whether the first tenant database is stored using a storage area network (SAN) or a non-SAN based storage system; and

execute the selected restore method for restoring the first tenant database utilizing an internal file associated with the first tenant database, while processing requests for other tenant databases of the plurality of tenant databases, wherein the internal file is generated by a database application to capture a state of the multitenant database instance and a state of the first tenant database when the backup was taken, and a location of the internal file is stored with metadata of the backup by a storage system and provided to the database application by a plugin for restoring the first tenant database.

16. The system of claim 15 , wherein the processor further causes the machine executable code to: during the backup operation, generate the internal file by the database application upon receiving a quiesce request from the plugin.

17. The system of claim 15 , wherein the processor further causes the machine executable code to: create a clone of the backup, in response to the SAN based storage storing the first tenant database; and map the clone to a computing system hosting the multitenant database instance for selectively copying files of the first tenant database.

18. The system of claim 17 , wherein the processor further causes the machine executable code to: restore the first tenant database using the selectively copied files and the internal file.

19. The system of claim 17 , wherein the processor further causes the machine executable code to: delete the clone after the first tenant database is restored.

20. The system of claim 16 , wherein the processor further causes the machine executable code to: prior to the quiesce request, retrieve by the plugin, information regarding data files corresponding to the plurality of tenant databases and map each tenant database to a corresponding data file with a file path indicating a storage location of where each data file is stored.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2020
From: RACHAPUDI, AMARNATH; PRABHU, VASANTHA; PURANIK, KARKALA PALLAVI; DAWANI, KUMAR
To: NETAPP, INC.
Reel/Frame 052433/0652 →
Continuity (1)
Related Publication 20210326218A1 · Oct 21, 2021
Cited By (1)
US 12,346,341