Page recovery using volume snapshots and logs
First Claim
1. A system that facilitates page-level data restore in a database, comprising computer readable memory having stored thereon the following components:
- a monitoring component that automatically detects one or more corrupt data values in a data page by a classifier automatically detecting according to predetermined criteria when to initiate a page restore;
a backup component that generates backup copies of a data page, the data page being approximately 8 kilobytes of data in size and wherein the backup copies of the data page are created by backing up 2 kilobyte sections of the data page so that page level or partial page level restores can be accomplished thereby facilitating database restores accomplished without taking the database offline, in a memory upon a modification to the data page and generates update logs that store information related to page updates between backup copies, and restores a corrupt data page in the data base with a most recent uncorrupted backup copy of the data page by reading backup snapshots in a reverse chronological order from the corrupting event until the most recent uncorrupted backup copy is identified, replacing the corrupt page in the database with the most-recent uncorrupted backup copy, and modifying the most-recent uncorrupted backup copy to restore the database, the most-recent uncorrupted copy is modified according to update information obtained by traversing in a forward direction a log that records update events for the most recent uncorrupted copy subsequent to generation of the copy but prior to a next back up copy up until a point at which corruption occurred, wherein the backup component generates a first backup copy of the data page upon an indication that an update to the page is imminent, and wherein the first backup copy is generated before the modification;
an update log that records page modification events; and
wherein the backup component generates subsequent backup copies of the data page at predetermined intervals and truncates the update log upon generation of a subsequent backup copy and resumes the log to generate a new log segment that is associated with the subsequent backup copy.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed that facilitate providing page-level database restore functionality upon detection of a corruption event. Updates to a data page in a database can trigger generation of a snapshot of the data page, and an update log can be maintained that stores information related to page updates. Subsequent snapshots can be generated at predetermined intervals and can trigger truncation of a log segment and initiation of a new log segment. Upon detection of page corruption, a most-recent uncorrupt snapshot of the corrupt page can be identified, copied to the location of the corrupt page in the database, and modified according to the log segment associated with the uncorrupt snapshot to make the page current as of the corrupting event, all of which can be performed to restore the database without having to take the database offline.
-
Citations
4 Claims
-
1. A system that facilitates page-level data restore in a database, comprising computer readable memory having stored thereon the following components:
-
a monitoring component that automatically detects one or more corrupt data values in a data page by a classifier automatically detecting according to predetermined criteria when to initiate a page restore; a backup component that generates backup copies of a data page, the data page being approximately 8 kilobytes of data in size and wherein the backup copies of the data page are created by backing up 2 kilobyte sections of the data page so that page level or partial page level restores can be accomplished thereby facilitating database restores accomplished without taking the database offline, in a memory upon a modification to the data page and generates update logs that store information related to page updates between backup copies, and restores a corrupt data page in the data base with a most recent uncorrupted backup copy of the data page by reading backup snapshots in a reverse chronological order from the corrupting event until the most recent uncorrupted backup copy is identified, replacing the corrupt page in the database with the most-recent uncorrupted backup copy, and modifying the most-recent uncorrupted backup copy to restore the database, the most-recent uncorrupted copy is modified according to update information obtained by traversing in a forward direction a log that records update events for the most recent uncorrupted copy subsequent to generation of the copy but prior to a next back up copy up until a point at which corruption occurred, wherein the backup component generates a first backup copy of the data page upon an indication that an update to the page is imminent, and wherein the first backup copy is generated before the modification; an update log that records page modification events; and wherein the backup component generates subsequent backup copies of the data page at predetermined intervals and truncates the update log upon generation of a subsequent backup copy and resumes the log to generate a new log segment that is associated with the subsequent backup copy. - View Dependent Claims (2)
-
-
3. A method of backing up data in a database at a page level, comprising:
-
detecting a modification to a data page in the database; generating a pre-modification backup copy of the data page, the data page being approximately 8 kilobytes of data in size and wherein the backup copy of the data page is created by backing up 2 kilobyte sections of the data page so that page level or partial page level restores can be accomplished thereby facilitating database restores accomplished without taking the database offline; generating an update log that records update events to the data page subsequent to generation of the pre-modification copy; generating subsequent backup copies of the data page at predetermined intervals, each subsequent backup copy triggers a current log segment to be truncated and a new log segment to be generated; monitoring data pages and automatically detecting corrupted data pages by a classifier automatically deciding according to predetermined criteria to initiate a page restore, including at least one of performing a checksum on the data page at regular intervals, or performing a checksum on the data page upon updates; assessing backup copies of a corrupt data page in reverse-chronological order starting with a most-recent backup copy for the selection; selecting a most-recent uncorrupted backup copy of the data page if the data page is corrupt; replacing the corrupt data page with the selected backup copy of the data page;
reading a log associated with the selected backup copy forward from the time of generation of the backup copy to evaluate update events recorded therein;modifying the selected backup copy to be current to a point immediately prior to the occurrence of a corruption event that caused the corruption of the data page as indicated by update event information stored in the update log for the selected backup copy to generate a replacement page for the database; and replacing the corrupt page with the modified back up copy while maintaining the database online. - View Dependent Claims (4)
-
Specification