[go: up one dir, main page]

DE69119222T2 - Datensicherung und Beseitigung in einem Datenverarbeitungssystem - Google Patents

Datensicherung und Beseitigung in einem Datenverarbeitungssystem

Info

Publication number
DE69119222T2
DE69119222T2 DE69119222T DE69119222T DE69119222T2 DE 69119222 T2 DE69119222 T2 DE 69119222T2 DE 69119222 T DE69119222 T DE 69119222T DE 69119222 T DE69119222 T DE 69119222T DE 69119222 T2 DE69119222 T2 DE 69119222T2
Authority
DE
Germany
Prior art keywords
data
log
time
record
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69119222T
Other languages
English (en)
Other versions
DE69119222D1 (de
Inventor
Stephen Michael Baker
Peter James Lupton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69119222D1 publication Critical patent/DE69119222D1/de
Publication of DE69119222T2 publication Critical patent/DE69119222T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

  • Die vorliegende Erfindung betrifft die Sicherung und nachfolgende Wiederherstellung von Daten in einem Datenverarbeitungssystem.
  • In einem Datenbanksystem ist es wichtig, daß Datenstruktur und Inhalt im Falle eines Systemfehlers wiederaufgebaut werden können. Aus diesem Grund werden normalerweise Mittel zum Erstellen einer Sicherungskopie eines Teils oder der gesamten Datenbank bereitgestellt. Wenn es zum Wiederherstellen des Systems nach einem schwerwiegenden Systemfehler erforderlich ist, können die in der Sicherungskopie gespeicherten Daten in die Datenbank wiedereingesetzt werden.
  • Im allgemeinen ist die Verwendung einer einzelnen Sicherungskopie nicht ausreichend, jedoch wird eine solche Kopie häufig erstellt. Dies ist im besonderen in Datenbanken der Fall, die mit Vorgang-Verarbeitungssystemen verbunden sind, worin Veränderungen oder Aktualisierungen der Daten häufig vorgenommen werden. In diesen Situationen wird ein Wiederherstellungsprotokoll unterhalten. Das Protokoll stellt eine Aufzeichnung aller inkrementalen Veränderungen bereit, die in der Datenbank seit dem Erstellen der letzten vollständigen Sicherungskopie vorgenommen wurden. Wenn ein Wiederherstellen erforderlich ist, werden die Daten aus der Sicherungskopie in die Datenbank wiedereingesetzt, und die im Wiederherstellungsprotokoll gespeicherten Aktualisierungen werden sequentiell auf diese Daten angewandt.
  • Ein Problem, das in dem Artikel "Incremental Data Base Log Image Copy" (IBM Technical Disclosure Bulletin, Band 25, Nr. 7B, Seite 3730, Dezember 4982) erläutert wird, besteht darin, daß ein Gleichgewicht gefunden werden muß zwischen dem erforderlichen Verarbeitungsaufwand für das Erstellen einer vollständigen Sicherungskopie der Datenbank und der Verarbeitungszeit, die zum Wiederaufbau der Daten entsprechend dem Wiederherstellungsprotokoll im Fall eines verhängnisvollen Fehlers benötigt wird. Während dieser Zeitspanne des Wiederaufbaus, welche eindeutig von der Häufigkeit abhängig ist, mit der Sicherungskopien erstellt werden, ist das System außer Betrieb. Die in dem oben genannten Artikel angebotene Lösung besteht darin, häufig Kopien von kleinen Teilen der Datenbank zu erstellen.
  • In Vorgang-Organisationssystemen wie beispielsweise bei dem System IBM CICS/ESA (IBM und CICS/ESA sind Markenzeichen der International Business Machines Corporation) kann ein "Datensatz" durch eine Anzahl alternative Dateinamen logisch adressiert werden. Der Datensatz muß "geöffnet" sein, wenn ein Anwendungsprogramm einen Aktualisierungszugriff auf eine beliebige durch diese Dateinamen gekennzeichnete Datei anfordert. Wenn ein Datensatz in dem Stand der Technik entsprechenden Systemen geöffnet ist, kann keine Sicherungskopie erstellt werden, weil zu jedem beliebigen Zeitpunkt eine Große Anzahl teilweise abgeschlossener Aktualisierungen ablaufen können. Anders ausgedrückt, es kann kein in sich einheitliher Zustand des Datensatzes identifiziert werden.
  • Die Verwendung von weltweiten Netzwerken von Datenprozessoren, die Datenstrukturen bearbeiten, bedeutet, daß für einen einzelnen Datensatz zu einer beliebigen Tageszeit eine Anforderung nach einer Aktualisierung anstehen kann. Es ist deshalb vorzuziehen, den Datensatz kontinuierlich über einen so lang wie möglichen Zeitabschnitt offenzuhalten, der vielleicht mehrere Tage oder Wochen umfassen kann. In den oben beschriebenen, dem Stand der Technik entsprechenden Systemen würde dies bedeuten, daß Sicherungskopien nur selten erstellt werden könnten, und eine Wiederherstellung im Fall eines verhängnisvollen Fehlers würde es erforderlich machen, daß alle inkrementalen Aktualisierungen, die in dem Wiederherstellungsprotokoll über eine möglicherweise lange Zeitspanne gespeichert worden sind, auf die Daten angewandt werden müssen. Das Wiederherstellungsprotokoll würde ebenfalls groß und schwerfällig werden.
  • In der EP-336 546-A wird ein Vorwärts-Wiederherstellungsprotokoll, das im Fall eines verhängnisvollen Fehlers ein Wiederherstellen ermöglicht, zusammen mit Mitteln zum Kennzeichnen und Verhindern nachfolgender Zugriffe auf Dateien, die durch die Systemhavarie hervorgerufene Fehler enthalten, beschrieben.
  • In der EP-295 424-A wird ein System offenbart, das modifizierte Datenseiten als "schmutzige Seiten" kennzeichnet, um den Verarbeitungsaufwand für das Wiederherstellen der Daten nach einem verhängnisvollen Fehler zu minimieren.
  • Die WO-86 01 018-A offenbart eine Zwei-Phasen-Abtastung des Speichers, von dem eine Sicherungskopie erstellt werden soll. Bei der ersten Abtastung werden, während eine vollständige Sicherungskopie erstellt wird, Aktualisierungen zugelassen. Während der zweiten Abtastung wird der Speicher, von dem die Sicherungskopie erstellt wird, geschlossen (das heißt, Aktualisierungen sind nicht erlaubt), damit alle Aktualisierungen, die während der ersten Abtastung stattgefunden haben, zur Sicherungskopie hinzugefügt werden können. Dieses System stellt keine kontinuierliche Verfügbarkeit der Dateien bereit.
  • Der Artikel "Checkpoint Copy of Active/Interactive Data with Imprecise Checkpoint Time" (IBM Technical Disclosure Bulletin, Band 26, Nr. 3A, Seite 1291, August 1983) beschreibt ein Sicherungsverfahren, das das Erstellen mehrerer Kopien von Datensätzen und die Verwendung von Protokollen nach dem Erstellen einer Sicherungskopie umfaßt. Das Wiederherstellen des Datensatzes würde aus dem Zurückschreiben der Kopie, die vor der Ausführung einer Aktualisierung abgeschlossen wurde, und dem Anwenden aller Protokollaktivitäten seit dem Zeitpunkt der letzten Sicherungskopie bestehen. Dieses Verfahren stellt eine kontinuierliche Verfügbarkeit der Datensätze bereit, jedoch auf Kosten des Verarbeitungsaufwandes für das Erstellen der Vielzahl der Kopien und für das Aktivieren von Protokollen nach dem Erstellen einer Kopie.
  • Ein Sicherungsverfahren, das eine kontinuierliche Verfügbarkeit der Datenbank gewährleistet, wird in dem Artikel von R. A. Crus "Data Recovery in IBM Database 2", IBM SYSTEM JOURNAL, Band 23, Nr. 2, Seiten 178 bis 188, 1984 offenbart. Das beschriebene Protokollieren erfordert zwei Informationstypen, nämlich Widerrufund Wiederholinformationen; wobei diese Informationen während eines Systemneustarts durch einen ziemlich komplexen Prozeß zum Vorwärts- und Rückwärtslesen des Protokolls zwecks Wiederholen und Widerrufen von Aktualisierungen benutzt werden.
  • Es besteht ein Bedarf nach einem geeigneten Verfahren, das eine kontinuierliche Verfügbarkeit der Datensätze gewährleistet, ohne daß die oben beschriebenen Probleme auftreten.
  • Dementsprechend stellt die vorliegende Erfindung in Übereinstimmung mit den Ansprüchen eine Datenverarbeitungsvorrichtung bereit, umfassend: Mittel zum Verarbeiten gespeicherter Daten als Folge logischer Arbeitsschritte (LUW) mit Aktualisierungen der gespeicherten Daten während jedes LUW, die an einem COMMIT-Punkt für den Arbeitsschritt festgeschrieben werden; Mittel zum V- erwalten eines Protokolls der Aktualisierungen, die mit den gespeicherten Daten durchgeführt worden sind; Mittel zum Erstellen einer Sicherungskopie von mindestens einem Teil der gespeicherten Daten; Mittel zum Wiederherstellen der gespeicherten Daten. durch Wiedereinsetzen der Sicherungskopie und Anwendung der Aktualisierungen, die in den Protokolleinträgen enthalten sind;
  • gekennzeichnet dadurch, daß die Mittel zum Erstellen einer Sicherungskopie von mindestens einem Teil der gespeicherten Daten berechtigt sind, diese Kopie zu erstellen, während dieser Teil der Daten zum Aktualisieren geöffnet ist; sowie durch Mittel zur Bestimmung des Zeitpunktes der ältesten nicht festgeschriebenen Aktualisierung, die mit den gespeicherten Daten durchgeführt wurde; Mittel zum Berechnen eines Wiederherstellungspunktes, von dem aus ein Wiederherstellen der Datenbank zuverlässig stattfinden kann, wobei der Wiederherstellungspunkt nicht älter als die älteste nicht festgeschriebene Aktualisierung ist und wobei die Mittel zum Wiederherstellen der gespeicherten Daten so aufgebaut sind, daß die in den Protokolleinträgen enthaltenen Aktualisierungen, die nach dem Wiederherstellungspunkt vorgenommen wurden, angewandt werden.
  • Unter einem zweiten Gesichtspunkt betrachtet, stellt die Erfindung ein Verfahren für den Betrieb eines Datenprozessors bereit, das die folgenden Schritte umfaßt: Verarbeiten von gespeicherten Daten als Folge logischer Arbeitsschritte (LUW) mit Aktualisierungen der gespeicherten Daten während jedes LUW, die an einem COMMIT-Punkt für den Arbeitsschritt festgeschrieben werden; Verwalten eines Protokolls der Aktualisierungen, die mit den gespeicherten Daten durchgeführt worden sind; Erstellen einer Sicherungskopie von mindestens einem Teil der gespeicherten Daten; wenn erforderlich, Wiederherstellen der gespeicherten Daten durch Wiedereinsetzen der Sicherungskopie und Anwendung der Aktualisierungen, die in den Protokolleinträgen enthalten sind; gekennzeichnet durch die Schritte Erteilen einer Berechtigung zum Erstellen einer Sicherungskopie von mindestens einem Teil der gespeicherten Daten, während dieser Teil der Daten zum Aktualisieren geöffnet ist; Bestimmen des Zeitpunktes der ältesten nicht festgeschriebenen Aktualisierung, die mit den gespeicherten Daten durchgeführt wurde; Berechnen eines Wiederherstellungspunktes, von dem aus ein Wiederherstellen der Datenbasis zuverlässig stattfinden kann, wobei der Wiederherstellungspunkt nicht älter als die älteste nicht festgeschriebene Aktualisierung ist; wobei während des Wiederherstellungsschrittes die in den Protokolleinträgen enthaltenen Aktualisierungen, die nach dem Wiederherstellungspunkt vorgenommen wurden, angewandt werden.
  • Die vorliegende Erfindung stellt desweiteren ein Vorgangsverwaltungssystem einschließlich der oben beschriebenen Datenverarbeitungsvorrichtung bereit.
  • Unter einem vierten Gesichtspunkt betrachtet, stellt die vorhegende Erfindung ein Vorgangsverwaltungsprogramm für die Zusammenarbeit mit derselben Datenverarbeitungsvorrichtung bereit.
  • Unter einem fünften Gesichtspunkt betrachtet, stellt die Erfindung eine Vorrichtung bereit, die mit einer solchen Datenverarbeitungsvorrichtung zusammenarbeiten kann.
  • Aus den verschiedenen Gesichtspunkten betrachtet, behandelt die Erfindung die früher miteinander in Konflikt stehenden Bedürfnisse nach der Bereitstellung einer kontinuierlichen Verfügbarkeit der Daten, nach Bereitstellung eines Sicherungsmechanismus, welcher die Datenunversehrtheit nach einem Systemfehler schützt, und nach einer Minimierung des Verarbeitungsaufwandes, der durch einen solchen Mechanismus hervorgerufen wird.
  • Eine Sicherungskopie von mindestens einem Teil der gespeicherten Daten kann erstellt werden, ohne daß dieser Teil für Aktualisierungen geschlossen werden muß. Es kann garantiert werden, daß jede festgeschriebene Modifikation in einer Sicherungskopie vorhanden ist, und daß alle sich zum Zeitpunkt der Erstellung der Sicherungskopie im Ablauf befindenden Modifikationen einen Wiederherstellungspunkt berechnen können, welcher generell vor dem Zeitpunkt der Sicherungskopie liegt, und von dem aus ein Wiederherstellen unter Verwendung des Wiederherstellungsprotokolls ausgeführt wird. Der Wiederherstellungspunkt hängt zumindest teilweise vom Startzeitpunkt der ältesten sich in Ablauf befindenden Dateiaktualisierung ab.
  • Der Wiederherstellungspunkt kann von Zeit zu Zeit neu berechnet werden, und neben anderen Verwendungen des Protokolls können Protokolleinträge, die vor dem Wiederherstellungspunkt, der einer Sicherungskopie entspricht, vorgenommen wurden, gelöscht werden.
  • Weil ein Aktualisierungszugriff auf den Teil der gespeicherten Daten, die gesichert werden sollen, nicht verhindert werden muß, können Sicherungskopien jederzeit erstellt werden.
  • In einer einfachen Ausführungsform beinhaltet die Berechnung des Wiederherstellungspunktes nur das Setzen des Wiederherstellungspunktes gleich dem Zeitpunkt der ältesten nicht festgeschriebenen Aktualisierung und kann zu dem Zeitpunkt ausgeführt werden, zu dem die Sicherungskopie, die diesem Wiederherstellungspunkt zugeordnet wird, erstellt wird. Es werden jedoch unten raffiniertere Ausführungsformen beschrieben.
  • Die älteste, nicht festgeschriebene Aktualisierung kann beispielsweise durch Erkennen des Startzeitpunktes jedes in Ablauf befindlichen LUWs oder durch Erkennen des frühesten Zeitpunktes, zu dem ein nicht beendeter LUW eine Aktualisierung vorgenommen hat, bestimmt werden. Er wird jedoch vorzugsweise folgendermaßen erkannt: Erkennen des ersten Protokolleintrags, der einer Aktualisierung entspricht, die durch jeden LUW durchgeführt wurde; Speichern des Zeitpunktes dieses ersten Protokolleintrags; Erkennen des frühesten Protokolleintrags aus mindestens einem Teilsatz gespeicherter Zeitpunkte erster Protokolleinträge; und Löschen des ersten Protokolleintrags-Zeitpunktes, der einem beendeten LUW entspricht. Die auf diese Weise ausgeführte Erkennung stellt eine aktuelle Sammlung erster Protokolleintragszeiten bereit, welche, wann immer es erforderlich ist, den frühe sten ersten Protokolleintrag zu bestimmen, abgetastet werden kann, und zweitens ein Ergebnis liefert, welches, weil es sich auf einen speziellen Protokolleintrag bezieht, leicht dazu verwendet werden kann, um innerhalb des Protokolls eine Position für Wiederherstellungszwecke zu lokalisieren.
  • Einige LUW können keine Einträge vornehmen, die Dateiaktualisierungen entsprechen. Diese LUW werden durch das oben beschriebene, bevorzugte Verfahren einfach ignoriert.
  • Die Erfindung ist im besonderen, aber nicht ausschließlich, auf ein System anwendbar, in welchem gespeicherte Daten in einer Vielzahl von Datensätzen organisiert sind, wobei jeder Datensatz mittels eines oder mehrerer alternativer Dateinamen adressierbar ist. In einem solche System stellt ein Katalog zum Speichern von Verwaltungsdaten, die jedem Datensatz zugeordnet sind, ein nützliches Mittel zum Speichern des dem Datensatz entsprechenden Wiederherstellungspunktes bereit. Eine Folge dessen ist, daß der Wiederherstellungspunkt immer dann berechnet werden kann, wenn es passend erscheint (vorzugsweise periodisch), und in den Katalog geschrieben wird. Zu den Sicherungszeitpunkten kann dann die Sicherungskopie des Datensatzes eine Kopie des Datensatzkataloges zum Zeitpunkt der Erstellung der Sicherungskopie enthalten, und enthält deshalb den zuletzt berechneten Wiederherstellungspunkt von dem Zeitpunkt, zu dem die Sicherungskopie erstellt wurde. Genauso wird, wenn ein Wiederherstellen erforderlich wird, die Sicherungskopie des Datensatzes zusammen mit dessen Katalog wiedereingesetzt, und der Wiederherstellungspunkt, der für diese Sicherungskopie zutreffend ist, und von dem aus die inkrementalen Aktualisierungen, die in dem Protokoll gespeichert sind, angewandt werden sollen, kann aus dem wiederhergestellten Katalog erhalten werden.
  • Der Unterschied zwischen Datenbasis und Datensatz wird häufig verwischt. Dementsprechend soll die hierin gebrauchte Verwendung des Terms "Datensatz" nicht dazu verwendet werden, um ähnliche Datenstrukturen, die unter anderen Begriffen bekannt sind, auszuschließen.
  • Vorzugsweise wird jedem Datensatz ein Datenelement oder eine Markierung zugeordnet, das anzeigt, ob der Datensatz für die Aktualisierung geeignet ist, während er für Aktualisierungen verfügbar ist. Diese Markierung kann dazu verwendet werden, um anderen Teilen des Systems, wie beispielsweise einer Wiederherstellungseinrichtung oder einer Sicherungseinrichtung anzuzeigen, daß die normalen Regeln, die eine Sicherung oder das Ausführen anderer Operationen mit einem geöffneten Datensatz verhindern, überschrieben werden sollten. In dem Fall, in dem Wiederherstellungspunkte, die für solche wählbare Datensätze geeignet sind, periodisch berechnet werden, kann die Markierung verwendet werden, um die Berechnung, die für nicht wählbare Datensätze stattfinden soll, zu verhindern und damit den Verarbeitungsaufwand zu reduzieren.
  • Wenn einem Datensatz ein neuer Dateiname zugeordnet wird, wird vorzugsweise eine Verknüpfungsaufzeichnung (TUR) in das Protokoll geschrieben, wobei die TUR zumindest die Verbindung zwischen dem Dateinamen und dem Datensatz definiert. Zum Wiederherstellungszeitpunkt, wenn die Protokolleinträge wieder angewandt werden, trifft man somit im Protokoll vor irgendeinem Aktuahsierungseintrag, der sich auf den in der TUR definierten Dateinamen beziehen könnte, auf eine TUR
  • Um sicherzustellen, daß die Wiederherstellungseinrichtung nicht das gesamte Protokoll vom Zeitpunkt des ersten Schreibens einer TUR (der beträchtlich vor dem Zeitpunkt des Fehlers liegen kann) durchsuchen muß, wird vorzugsweise ein Satz TURs, die zumindest einigen der Datensätze entsprechen, periodisch in das Protokoll geschrieben. In diesem Satz könnten die TURs für alle geöffneten Datensätze enthalten sein, welche zum Sichern ausgewählt werden können, während sie geöffnet sind. Das bedeutet, daß zu jedem Zeitpunkt nur ein relativ kleiner Abschnitt des Protokolls abgetastet werden muß, um alle zu diesem Zeitpunkt relevanten TURs zu finden.
  • Deshalb wird der Wiederherstellungspunkt vorzugsweise als Startzeitpunkt des Schreibens eines vorhergehenden Satz TURs definiert, für den das Schreiben beendet war, bevor die älteste nicht festgeschriebene Aktualisierung erstellt wurde. Anders ausgedrückt, der Abschnitt des Protokolls, welcher zum Zeitpunkt des Wiederherstellens angewandt werden muß, enthält dann alle relevanten TURs sowie alle Einträge, die sich auf Aktualisierungen beziehen, welche zum Zeitpunkt der Berechnung des Wiederherstellungspunktes nicht festgeschrieben waren. Die Verwendung eines in der oben beschriebenen Form berechneten Wiederherstellungspunktes stellt sicher, daß alle Aktualisierungen, die zum Zeitpunkt der Erstellung des Protokolls möglicherweise noch nicht festgeschrieben waren, in diesem Teil des Protokolls enthalten sind. Ein geeigneter Zeitpunkt zur Berechnung eines Wiederherstellungspunktes ist dann, wenn ein Satz TURs in das Protokoll geschrieben worden ist. Es könnte jedoch irgendein anderer geeigneter Zeitpunkt verwendet werden, wie beispielsweise der Zeitpunkt des Erstellens der Sicherungskopie, auf die sich der Wiederherstellungspunkt bezieht. Wenn der Wiederherstellungspunkt zu einem anderen Zeitpunkt als zum Zeitpunkt des Sicherns berechnet wird, kann er einfach im Katalog des Datensatzes gespeichert werden. Dieser gespeicherte Wiederherstellungszeitpunkt kann immer dann aktualisiert werden, wenn ein berichtigter Wert berechnet wird, wobei der zuletzt berechnete Wert zusammen mit dem Datensatz gesichert wird.
  • Obwohl das Berechnen des Wiederherstellungspunktes zum Zeitpunkt des Erstellens der Sicherungskopie funktionieren würde, wird vorzugsweise das Sichern von der Berechnung des Wiederherstellungspunktes getrennt. Dies ergibt sich daraus, daß das Erstel len der Sicherungskopie möglicherweise eine Aufgabe des Betriebssystems ist (das Betriebssystem hat nicht notwendigerweise Kenntnis darüber, welche LUWs zu einem speziellen Zeitpunkt ablaufen), wogegen die Berechnung des Wiederherstellungspunktes eine Aufgabe des Datenbank- oder Vorgangsverwaltungsprogramms ist.
  • Damit die Erfindung vollständig verstanden werden kann, wird im folgenden eine bevorzugte Ausführungsform derselben beschrieben, jedoch nur zu Beispielszwecken, wobei auf die begleitenden Zeichnungen Bezug genommen wird, in welchen:
  • Figur 1 einen typischen Datenprozessor zum Verwalten einer Datenstruktur zeigt;
  • Figur 2 die logische Unterteilung eines Speicherbereiches in Datensätze zeigt;
  • Figur 3 eine Datenaktualisierung zeigt, die durch einen einzelnen Arbeitsschritt (LUW) ausgeführt wird;
  • Figur 4 die dem Stand der Technik entsprechende Sicherung eines Datensatzes zeigt, wobei sich der Datensatz im Wartezustand befindet;
  • Figur 5 einen typischen Eintrag eines Vorwärtswiederherstellungsprotokolls zeigt;
  • Figur 6 eine Sicherung eines Datensatzes gemäß der Erfindung zeigt;
  • Figur 7 eine Anzahl Sätze Verknüpfungsaufzeichnungen (TURs) zeigt, die in die Protokolldatei geschrieben werden;
  • Figur 8 eine einzelne TUR zeigt; und
  • Figur 9 das Sichern eines Datensatzes zeigt, wobei die TURs bei der Berechnung des Wiederherstellungspunktes verwendet werden.
  • Jetzt bezugnehmend auf Figur 1 wird ein Beispiel für ein Datenverarbeitungssystem 110 zum Verwalten gespeicherter Daten gezeigt. Das System umfaßt eine zentrale Verarbeitungseinheit (CPU) 120, welche über Verbindungen 130 logisch und elektrisch mit einer Anzahl peripherer Geräte, wie beispielsweise Plattenspeichern 140, Datenerfassungsstationen (wie beispielsweise VDUs, EFTPOS-Terminals usw.) 150, einem Drucker 160 und einem Magnetbandspeicher 170, verbunden ist.
  • Die Daten werden in organisierter Form zum Beispiel im Plattenspeicher 140 gespeichert. In einem vorgangsorientierten System können Aktualisierungen der auf diese Weise gespeicherten Daten auf eine von verschiedenen möglichen Arten, wie beispielsweise durch Benutzereingabe über eine Datenstation 150, durch einen Systemverwaltungsprozeß oder durch eine ablaufende Stapelverarbeitung eingeleitet werden. In einem kommerziellen System ist es normal, daß Daten auf diese Weise häufig aktualisiert werden.
  • Der in Figur 1 dargestellte Datenprozessor kann über ein elektronisches Netzwerk mit anderen Datenprozessoren verbunden sein und tatsächlich Zugriff auf Daten haben, die an entfernten Orten gespeichert werden.
  • Figur 2 zeigt, wie die Daten im Speicher 140 ängeordnet sein können. Ein Speicherbereich 200 enthält logisch eine Anzahl Datensätze 210, 220, 230. Der Speicher für sich wird durch das Betriebssystem des Datenprozessors verwaltet, während die Erhaltung der Datensatzstruktur und der Daten selbst durch ein Datenbank- oder Vorgangsverwaltungsprogramm gewährleistet wird, das unter dem Betriebssystem läuft. Ein Katalog 240, der Betriebssystem-Verwaltungsinformationen enthält, ist jedem Da tensatz zugeordnet. Datensätze werden typischerweise durch logische Dateinamen oder Alternativnamen aus dem Anwendungsprogramm heraus adressiert, das unter der Vorgangsverwaltung läuft.
  • In dieser Ausführungsform enthält der Katalog ebenfalls eine 'Markierung', die BWO-Markierung 250, welche unter Steuerung des Vorgangsverwaltungsprogramms gesetzt werden kann, um anzuzeigen, ob Sicherungskopien des Datensatzes erstellt werden können, während der Datensatz für Aktualisierungen geöffnet ist. Der Zweck dieses Merkmals wird unten detaillierter beschrieben.
  • Aktualisierungen von einem oder mehreren Datensätzen werden in logische Arbeitsschritte (LUWs) unterteilt. Eine vereinfachte schematische Darstellung eines einzelnen LUWs 300 wird in Figur 3 gezeigt. Dieser LUW 300 umfaßt fünf Hauptschritte: der Beginn des LUWs 310; der Schritt des Lesens der Daten aus einem oder mehreren Datensätzen 320; der Schritt des Modifizierens der Daten auf eine bestimmte Art und Weise 330; der Schritt des Zurückschreibens der Daten in den Datensatz (bzw. die Datensätze) 340 und den COMMIT-Punkt 350.
  • Aktualisierungen können während des gesamten LUWs durchgeführt werden, werden aber nur an einem einzelnen COMMIT-Punkt oder Synchronisationspunkt im Speicher festgeschrieben. Dieser COMMIT-Punkt 350 liegt am Ende des LUWs. Die Situation wird jedoch noch dadurch verkompliziert, daß, wenn während des LUWs eine Aktualisierung der Datenbank durchgeführt wird, die Frage, ob die Aktualisierung festgeschrieben werden kann, von Verwaltungsprogrammen anderer Systemressourcen abhängig sein kann, die anzeigen, in einer Position zu sein, in der gleichzeitige Aktualisierungen desselben LUWs, die mit diesen anderen Ressourcen durchgeführt wurden, festgeschrieben werden müssen. Wenn eine andere Ressource sich in einer Position befindet, in der nicht festgeschrieben werden kann, wird der LUW abgebrochen, und alle Aktualisierungen dieses LUWs werden zurückgenommen oder ungültig gemacht. Wenn der COMMIT-Punkt erfolgreich erreicht wird, werden alle Aktualisierungen, die zu diesem LUW gehören, festgeschneben.
  • In einem kommerziellen System können die Daten, die gespeichert und aktualisiert werden, einen sehr hohen Geschäftswert haben. Zum Beispiel können sich die Daten auf finanzielle Vorgänge oder Produktbestellungen beziehen. Es ist deshalb wichtig, daß keine Daten verlorengehen, wenn ein verhängnisvoller Systemfehler oder ein Bedienerfehler bewirkt, daß die primäre Kopie (Arbeitskopie) des Datensatzes zerstört wird. Figur 4 verdeutlicht ein dem Stand der Technik entsprechendes System, das einen Mechanismus zum Wiederaufbau eines Datensatzes im Falle eines solchen Fehlers bereitstellt.
  • Das Schema von Figur 4 beruht auf der Verwendung einer Sicherungskopie 410 des Datensatzes 420, die zu einem speziellen Zeitpunkt erstellt wurde, zusammen mit einem Wiederherstellungsprotokoll 430, in welchem Details aller Aktualisierungen enthalten sind, die mit dem Datensatz 420 seit dem Aufzeichnen der Sicherungskopie 410 durchgeführt worden sind. Der grundlegende Ablauf besteht darin, daß der Zugriff auf den Datensatz zum Zeitpunkt 440 beendet wird, was es gestattet oder bewirkt, daß alle LUWs, die sich auf den Datensatz beziehen und noch in Ablauf befindlich sind, einen COMMIT-Punkt erreichen. Der Datensatz ist dann in einem selbst-konsistenten Zustand, wobei kein Zweifel besteht, daß alle mit dem Zeitpunkt 440 begonnenen Aktualisierungen im Speicher festgeschrieben sind. Dann wird eine Sicherungskopie des Datensatzes erstellt. Es kann eine beträchtliche Zeit erforderlich sein, um einen großen Datensatz zu sichern, im besonderen in einer Mehr-Task-Umgebung, worin Sicherungskopien nicht die am höchsten priorisierte Aufgabe sein können. Eine Sicherungskopie 450 des mit dem Datensatz verbundenen Kataloges 240 kann ebenfalls erstellt werden.
  • Der Datensatz wird für Aktualisierungszugriffe neu geöffnet, wenn die Sicherungskopie zum Zeitpunkt 460 fertiggestellt ist. Dieser Zeitpunkt kann als Teil der Katalogdaten 470 aufgezeichnet werden.
  • Immer wenn ein LUW nach Beendigung der Sicherungskopie eine Aktualisierung des Datensatzes 420 einleitet, wird in dem Wiederherstellungsprotokoll 430 ein Eintrag 480 vorgenommen, der die Details der Aktualisierung enthält. Sollte die primäre Kopie des Datensatzes aus irgendeinem Grund verlorengehen, kann der Zustand des Datensatzes vom Zeitpunkt des Verlustes wiederhergestellt werden, indem die Sicherungskopie zum Bereitstellen einer neuen Arbeitskopie zurückkopiert wird, wobei der Zeitpunkt A60 der Sicherung aus dem Zeitpunkt 470 erhalten wird, der in der Sicherungskopie 450 des Kataloges steht, und wobei dann alle relevanten Aktualisierungen angewandt werden, die nach dem Zeitpunkt 460 im Wiederherstellungsprotokoll gespeichert worden sind. Es sollte beachtet werden, daß der Zeitpunkt 460 in einigen Fällen tatsächlich dem Startzeitpunkt des Protokolls entsprechen kann. Bezüglich nicht festgeschriebener LUWs, die zum Zeitpunkt des Fehlers in Ablauf befindlich waren, müssen ebenfalls einige Nachstellungen vorgenommen werden; es gibt jedoch Zurücksetztechniken für Kopien, die hier nicht beschrieben werden.
  • Es können auch andere Protokolleinträge eingeschrieben werden, welche in Figur 4 nur als leere Flächen 490 dargestellt sind. Diese Flächen repräsentieren Einträge, welche nicht mit der Vorwärtswiederherstellung verbunden sind und zum Beispiel Systemsynchronisations- und Anlaufinformationen enthalten können, oder Einträge in Verbindung mit einer temporären Datenspeicherung.
  • Figur 5 zeigt einen einzelnen Eintrag 480 des Wiederherstellungsprotokolls 430. Der Eintrag enthält eine Anzahl Informationsteile 510 bis 590, die sich auf eine einzelne Aktualisie- rung einer einzelnen Datei beziehen. Die im Eintrag 480 gespeicherte Information ist folgende:
  • 510: Die Länge des Protokolleintrags in Byte;
  • 520: eine Kennzeichnung des Typs des Protokolleintrags (z.B. Hinzufügen, Löschen, Modifizieren usw.);
  • 530: eine Zeitmarke, die das Systemdatum und die Zeit anzeigt, zu der der Protokolleintrag vorgenommen wurde;
  • 540: eine Kennzeichnung des Rechenprozesses oder Programms, das den Protokolleintrag bewirkt hat;
  • 550: den Benutzeranschluß (wenn vorhanden), der dem Rechenprozeß zugeordnet ist;
  • 560: der Name der Datei, auf die sich der Eintrag bezieht;
  • 570: Hilfssteuer- und Auffüllbytes;
  • 580: die Aufzeichnungsnummer oder Adreßverschiebung, die in der durch den Dateinamen gekennzeichneten Datei angewandt werden soll; und
  • 590: die Daten, die in die Datei geschrieben werden sollen (wenn anwendbar).
  • Wenn die Dateiaktion ausgeführt wird, befragt die Vorgangsverwaltung eine interne, dynamisch unterhaltene Abbildungstabelle, um zu bestimmen, welcher Datensatz dem spezifizierten Dateinamen entspricht.
  • Das in den Figuren 4 und 5 dargestellte Sicherungsschema gibt Sicherheit, daß keine Aktualisierungen verlorengehen, während die Sicherungskopie erstellt wird, hat aber den Nachteil, daß der Datensatz während des tatsächlichen Erstellens der Sicherungskopie geschlossen werden muß. Dieses Schließen kann sehr unangenehm sein, wenn der Datensatz 24 Stunden am Tag verfügbar sein soll. Die einfache Alternative, Sicherungskopien selten zu erstellen und sich auf die Fähigkeit zu verlassen, den Datensatz aus der zuletzt erstellten Sicherungskopie und dem Wiederherstellungsprotokoll wiederherzustellen, hat den Nachteil, daß, sollte ein Fehler auftreten, das Wiederherstellen eine ziemlich lange Zeit dauern kann. Auch der reine Informationsumfang, der in dem Protokoll gespeichert werden müßte, würde das Protokoll sehr groß und schwerfällig machen.
  • Jetzt wird bezugnehmend auf Figur 6 eine Ausführungsform eines Sicherungsschernas gemäß der Erfindung dargestellt. Wie oben wird ein Wiederherstellungsprotokoll 430 verwendet, um Einträge 480 zu speichern, wovon jeder Informationen enthält, die nach einem Systemfehler das Wiederanwenden einer einzelnen Dateiaktualisierung gestatten.
  • Entsprechend Figur 6 wird eine Sicherungskopie 610 des Datensatzes 600 ohne ein Schließen des Datensatzes erstellt, das heißt, während weiterhin Aktualisierungszugriffe auf den Datensatz gestattet sind. Es kann sein, daß das serviceprogramm, das verwendet wird, um diese Sicherungskopie zu erstellen, es normalerweise verbietet, einen geöffneten Datensatz zu sichern. In diesen Fällen kann die 'BWO'-Markierung 250 im Datensatzkatalog 240 verwendet werden, um dem Serviceprogramm anzuzeigen, daß diese allgemeine Regel übergangen werden soll.
  • Eine Sicherungskopie 620 des Datensatzkataloges 240 wird ebenfalls erstellt. Weil jedoch der Datensatz nicht geschlossen ist, während er gesichert wird, kann eine beliebige Anzahl LUWs nicht festgeschriebene Aktualisierungen 625 entweder vor oder während der Sicherung vornehmen. Wenn dann ein Wiederherstellen unter Verwendung nur der Protokolleinträge erfolgen sollte, die nach Beendigung der Sicherung vorgenommen wurden (wie in Figur 4), können Probleme bezüglich der Datenunversehrtheit auftreten, die mit Aktualisierungen verbunden sind, welche um den Zeitpunkt des Erstellens der Sicherungskopie herum vorgenommen wurden. Wenn zum Beispiel eine Aktualisierung einbezogen ist, die ein Datenelement vom Anfang an das Ende des Datensatzes verschiebt, könnte das Element durch das Fortschreiten des Erstellens der Sicherungskopie durch den Datensatz zweimal gesichert werden. Genauso könnte ein Datenelement, das vorn Ende an den Anfang verschoben wird, vollkommen verlorengehen, wenn der Zielbereich vor und der Quellbereich nach der Aktualisierung gesichert wird. Desweiteren kann eine Aktualisierung, die vor dem Beginn des Sicherns gemacht wurde, aber während des Sicherns abgebrochen wurde, zu verlorenen oder doppelt vorhandenen Daten in der Sicherungskopie führen.
  • Es ist oben gezeigt worden, daß ein Wiederherstellen ohne Verlust der Datenuversehrtheit nicht nur unter Verwendung solcher Protokolleinträge durchgeführt werden kann, die nach Beendigung der Sicherungskopie vorgenommen wurden, wenn die Sicherungskopie erstellt wird, während der Datensatz für Aktualisierungen geöffnet ist. Es kann jedoch eine frühere Position im Protokoll (der 'Wiederherstellungspunkt') definiert werden, von welcher Position oder von welchem Zeitpunkt aus ein Wiederherstellen zuverlässig stattfinden kann.
  • Es wird eine Aufzeichnung 630 des Zeitpunktes vorgenommen, an dem von jedem LUW der erste Protokolleintrag gemacht wird, der einer Dateiaktualisierung entspricht. Diese Aufzeichnung wird in einem Speicherbereich gespeichert, welcher dem LUW zugeordnet wird, wenn der LUW zum ersten Mal einen Aktualisierungseintrag in das Wiederherstellungsprotokoll schreibt, und gelöscht wird, wenn dieser LUW beendet wird (das heißt, wenn der LUW festgeschrieben oder abgebrochen wird). Aus diesen Aufzeichnungen kann der Zeitpunkt 640 der ältesten nicht festgeschriebenen Aktualisierung der in Ablauf befindlichen LUWs jederzeit bestimmt werden.
  • Der Zeitpunkt, zu dem der LUW mit dem Protokollieren von Aktualisierungen begonnen hat, wird aufgezeichnet, so daß alle Aktualisierungen, die von einem LUW ausgeführt werden, identifiziert werden können. Diese Aktualisierungen werden auf LUW-Basis festgeschrieben, und somit würden während nachfolgender Datenwiederherstellungen alle Aktualisierungen, die von jedem wiederher zustellenden LUW gemacht wurden, verwenden werden müssen. Obwohl der Zeitpunkt, zu dem der LUW ein erstes Mal eine Aktualisierung durchgeführt hat, oder zu dem der LUW gestartet wurde, aufge-. zeichnet werden könnte, sind diese Alternativen weniger vorteilhaft als das bevorzugte Verfahren. Im vorhergehenden Fall könnte der aufgezeichnete Zeitpunkt schlecht auf eine definierte Position im Protokoll abgebildet werden, und im letzteren Fall würde dies bedeuten, daß irrelevante LUWs (solche, die sich nicht auf Dateiaktualisierungen beziehen) in der unten zu beschreibenden Verarbeitung enthalten wären.
  • Im vorliegenden Fall wird der Beginn des ältesten nicht festgeschriebenen ablaufenden LUWs entweder zu Beginn 650 der Sicherung oder periodisch bestimmt. Dieser Zeitpunkt 660 (der Wiederherstellungspunkt) wird im Datensatzkatalog 240 gespeichert, welcher 620 zum selben Zeitpunkt wie der Datensatz gesichert wird. Wenn ein Wiederherstellen erforderlich ist, wird auch der Zeitpunkt 660 wiederhergestellt und in eine entsprechende Position 670 im Protokoll 430 umgewandelt. Das Wiederherstellen kann dann ausgeführt werden, indem die Sicherungskopie 610 des Datensatzes zum Bereitstellen einer Arbeitskopie wiedereingesetzt wird und indem dann die Aktualisierungen angewandt werden, die durch Protokolleinträge repräsentiert werden, welche nach dem Zeitpunkt 660 (das heißt, nach der Position 670 im Protokoll) vorgenommen wurden.
  • Weil der Zeitpunkt 660 den Startzeitpunkt der ältesten ablaufenden oder nicht festgeschriebenen Aktualisierung zum Zeitpunkt des Erstellens der Sicherungskopie repräsentiert, ist bekannt, daß jede Aktualisierung, die vor dem Zeitpunkt 660 begonnen hat, vor dem Beginn der Sicherung zum Zeitpunkt 650 einen COMMIT- Punkt erreicht hat. Somit ist in dieser Ausführungsform das Protokoll vor dem Wiederherstellungspunkt 670 für Wiederherstellungszwecke nicht länger von Bedeutung und kann gelöscht werden.
  • Weil es üblich ist, Datensätze durch lange 'Namen' oder Speicheradressen zu kennzeichnen, werden in den Protokolleinträgen viel kürzere logische Dateinamen verwendet, um die Beziehungen zu den Datensätzen herzustellen. Dies erfolgt, um das Schreiben des vollen Datensatznamens in jeden Eintrag des Protokolls zu sparen. Deshalb kann möglicherweise ein Problem entstehen, wenn eine Vielzahl von LUWs Aktualisierungen in einer Vielzahl von Datensätzen vornimmt. In einem solchen Fall, wenn das Wiederherstellen mit dem Wiederherstellungspunkt 670 beginnen soll, würde das Wiederherstellungsprogramm oder die Einrichtung nicht wissen, welche Dateinamen welchen Datensätzen entsprechen. Um dieses Problem zu behandeln, werden jetzt weitere Verfeinerungen der vorliegenden Ausführungsform beschrieben.
  • Immer wenn eine Datei zur Aktualisierung geöffnet wird, wird ein Protokolleintrag, bezeichnet als Verknüpfungsaufzeichnung (TUR), in das Wiederherstellungsprotokoll geschrieben. Die TUR stellt eine vollständige Spezifikation des Zusammenhangs zwischen dem neuen Dateinamen und dem entsprechenden Datensatz und ebenfalls von beliebigen verwendeten Zwischen-Alternativnamen bereit. Das öffnen eines Datensatzes zur Aktualisierung und das Schreiben einer TUR wird in unten stehender Beschreibung als das Erzeugen einer Dateiname/Datensatz-Verbindung bezeichnet.
  • Bezugnehmend auf Figur 7 besteht die Grundlage der Verfeinerungen der Ausführungsform darin, daß ein vollständiger Satz von Verknüpfungsaufzeichnungen (TURs) 700 von Zeit zu Zeit in das Protokoll geschrieben wird. Das Schreiben der TURs kann als Teil eines geeigneten periodischen Systemprozesses oder als spezifisches auf dem Datenprozessor laufendes Hintergrundprogramm erfolgen. Um den mit dem TUR-Schreiben verbundenen Verarbeitungsaufwand zu verringern, wird eine minimale Zeitspanne 740 zwischen den Startzeitpunkten jedes TUR-Satzes im Protokoll beispielsweise auf eine halbe Stunde eingestellt werden.
  • Der vollständige Satz aus TURs umfaßt eine TUR für jeden Dateinamen, der mit jedem geöffneten Datensatz verbunden ist, welcher, während er geöffnet ist, für das Erstellen einer Sicherungskopie ausgewählt werden kann, und wird zwischen den Zeitpunkten 710 und 720 in das Protokoll geschrieben. Ob ein Datensatz ausgewählt werden kann, kann wie oben beschrieben durch Untersuchen der 'BWO'-Markierung 250 im Datensatzkatalog festgestellt werden. Wenn jedoch die 'BWO'-Markierung 250 nicht implementiert ist, könnte ein voreingestelltes Verfahren benutzt werden, in welchem alle Datensätze als geeignet betrachtet werden. Diese Auswahl, welche TURs in dem vollständigen Satz enthalten sein sollten, wird wiederum ausgeführt, um den beim Schreiben des Satzes benötigten Verarbeitungsaufwand zu verringern.
  • Wenn eine neue Dateiname/Daßensatz-Verbindung zwischen den Zeitpunkt 720 und 730 (das heißt, zwischen dem Ende des einen TUR- Satzes und dem Beginn des nächsten) gebildet wird, wird eine einzelne TUR 750, die dieser Zuordnung entspricht, in das Protokoll geschrieben.
  • Weil keine Datensätze geschlossen werden müssen, um den vollständigen Satz aus TURs 700 zu schreiben, ist es sehr wahrscheinlich, daß der Satz 700 mit normalen Protokolleinträgen 480 durchsetzt ist, die sich auf einfache Dateiaktualisierungen beziehen, mit anderen Protokolleinträge 490, die keine Verbindung zur Datenwiederherstellung haben oder mit einzelnen TURs 750, die sich auf neue Dateiname/Datensatz-Verbindungen beziehen, welche während des Schreibens des Satzes 700 initialisiert worden sind. Diese neuen TURs, die erzeugt wurden, nachdem die Teile des TUR-Satzes bestimmt worden sind, würden nicht im TUR-Satz enthalten sein. Sie können jedoch noch zum selben Zeitpunkt wie der TUR-Satz in das Protokoll geschrieben werden, weil die TUR- Satz-Verarbeitung und das Öffnen von Datensätzen unabhängig voneinander erfolgen kann und das TUR-Schreiben asynchron stattfindet. In der Figur wird der TUR-Satz, für den das Schreiben zum Zeitpunkt 730 beginnt, zum Zeitpunkt 760 beendet. Die Startzeitpunkte 710, 730 und die Endzeitpunkte 720, 760 des TUR- Schreibens werden für nachfolgende Bezüge gespeichert.
  • Figur 8 zeigt detaillierter eine einzelne TUR. In Analogie zu oben beschriebener Figur 5 enthält dieser Eintrag eine Anzahl Informationselemente 810 bis 890, die sich auf eine einzelne Verbindung zwischen einem Dateinamen und einem Datensatz beziehen. Die in dem Eintrag 800 gespeicherte Information ist folgende:
  • 810: Die Länge des TUR-Eintrags in Byte;
  • 820: eine Identifikation, daß dieser Eintrag sich auf eine TUR bezieht;
  • 830: eine Zeitmarke, die Systemdatum und Zeit anzeigt, zu der die TUR in das Protokoll geschrieben wurde;
  • 840: eine Kennzeichnung des Rechenprozesses oder Programms, das das Schreiben der TUR in das Protokoll bewirkt hat;
  • 850: den Benutzeranschluß (wenn vorhanden), der dem Rechenprozeß zugeordnet ist;
  • 860: der Name der Datei, auf die sich diese TUR bezieht;
  • 870: Hilfssteuer- und Auffüllbytes;
  • 880: einen Zwischen-Alternativnamen, der verwendet wird, um sich auf den Datensatznamen zu beziehen;
  • 890: der Name des Datensatzes, der mit dem Dateinamen verbunden ist.
  • Die Art und Weise, in welcher die TUR-Aufzeichnungen im Rahmen des Wiederherstellungsvorgangs verwendet werden, wird im folgenden mit Bezug auf Figur 9 beschrieben.
  • Wie oben beschrieben, wird ein vollständiger Satz TURs periodisch in das Protokoll geschrieben. Infolge dieser Verarbeitung besteht der erste vorzugsweise auszuführende Schritt darin, den Zeitpunkt 640 des ältesten ersten Aktualisierungs-Protokolleintrags aller ablaufenden (nicht festgeschriebenen) LUWs zu bestimmen. Die Position 670 im Protokoll, die dem Zeitpunkt 640 entspricht, kann jetzt nicht als Wiederherstellungspunkt verwendet werden, weil die Wiederherstellungseinrichtung die Verbindung zwischen den Dateinamen, auf die sich die folgenden Protokolleinträge beziehen, und den entsprechenden Datensätzen nicht kennen würde. Deshalb wird der Wiederherstellungspunkt 900 als Startzeitpunkt des Schreibens des letzten TUR-Satzes bestimmt, für den das Schreiben des vollständigen Satzes vor der Position 670 beendet war.
  • Der Wiederherstellungspunkt 900 wird für alle Datensätze, die für Aktualisierungen geöffnet sind ünd während des geöffneten Zustandes zum Sichern ausgewählt werden können, in den Datensatzkatalog 240 geschrieben. Nachdem jeweils ein Satz TURs 700 in das Protokoll geschrieben worden ist, wird ein neuer Wiederherstellungspunkt berechnet und gespeichert, so daß der Wert 900 im Katalog immer der zuletzt berechnete Wiederherstellungspunkt ist. Der Katalog 240 wird dann zum selben Zeitpunkt wie der Datensatz gesichert. Wie oben beschrieben, wird, wenn ein Wiederherstellen erforderlich ist, die Sicherungskopie des Datensatzes zusammen mit dem Katalog 240 und dem darin gespeicherten Wiederherstellungspunkt wiedereingesetzt, um eine Arbeitskopie bereitzustellen, und es werden alle im Protokoll ab dem Punkt 900 stehenden Aktualisierungen wieder angewandt.
  • Der Wiederherstellungspunkt wird im allgemeinen vor dem Zeitpunkt liegen, zu dem mit dem Erstellen der Sicherungskopie begonnen wurde. Das bedeutet, daß wenn ein Wiederherstellen ausgeführt wird, Aktualisierungen, die im Protokoll aufgezeichnet sind und durch die Wiederherstellungseinrichtung angewandt werden, schon in der wiedereingesetzten Arbeitskopie des Datensatzes enthalten sein können. Dies muß jedoch keine Probleme hervorrufen. Bekannte Wiederherstellungseinrichtungen stellen Mechanismen für die Behandlung solcher Doppelungen bereit, welche im allgemeinen eine Fehlerbedingung hervorrufen. Wenn in dieser Situation ein Fehler erzeugt werden würde, kann die 'BWO'-Markierung 250 (welche aus der gesicherten Kopie des Datensatzkatabgs 240 wiederhergestellt wird) verwendet werden, um der Wiederherstellungseinrichtung anzuzeigen, daß diese Fehlerbedingungen ignoriert werden sollten.
  • Eine Alternative zu der oben beschriebenen periodischen Berechnung besteht darin, den Wiederherstellungspunkt zu dem Zeitpunkt zu berechnen, wenn die Sicherungskopie erstellt wird. Obwohl dies funktionieren würde, wird vorzugsweise das Sichern von der Berechnung des Wiederherstellungspunktes getrennt. Dies ergibt sich daraus, daß das Erstellen der Sicherungskopie möglicherweise eine Aufgabe des Betriebssystems ist (das Betriebssystem hat nicht notwendigerweise Kenntnis darüber, welche LUWs zu einem speziellen Zeitpunkt ablaufen), wogegen die Berechnung des Wiederherstellungspunktes eine Aufgabe des Datenbank- oder Vorgangsverwaltungsprogramms ist.
  • Es wird offensichtlich sein, daß, weil die Hinzufügungen zum Protokoll in chronologischer Reihenfolge durchgeführt werden, auch beliebige Bezüge auf das Speichern oder die Verwendung des Zeitpunktes eines speziellen Protokolleintrags ebenfalls angewandt werden könnten, um die Position oder die Protokolladresse dieses Eintrags zu speichern oder zu verwenden.
  • Wenn ein Datensatz geöffnet wird, kann der Wiederherstellungspunkt 900 dieses Datensatzes mit Sicherheit auf den Zeitpunkt des Öffnens gesetzt werden. Dies folgt daraus, daß alle Aktualisierungen beendet worden waren, bevor der Datensatz im vorher-, gehend geschlossen wurde. Der Wiederherstellungspunkt 900 kann in den Datensatzkatalog geschrieben werden, und die 'BWO'-Mar-. kierung 250 kann in diesem Zustand gesetzt werden.
  • Genauso wird, wenn die letzte logische Datei geschlossen wird, die einem Datensatz zugeordnet ist, der Datensatz selbst geschlossen. Alle Aktualisierungen sind beendet, und der Wiederherstellungspunkt 900, der im Katalog gespeichert sein kann, kann auf den momentanen Zeitpunkt gesetzt werden, und die 'BWO'- Markierung 250 kann zum Zeitpunkt des Schließens zurückgesetzt werden.

Claims (19)

1. Datenverarbeitungsvorrichtung umfassend:
Mittel zum Verarbeiten gespeicherter Daten (600) als Folge logischer Arbeitsschritte (LUW) mit Aktualisierungen der gespeicherten Daten während jedes LUW, die an einem COMMIT- Punkt für den Arbeitsschritt festgeschrieben werden;
Mittel zum Verwalten eines Protokolls (430) der Aktualisierungen, die mit den gespeicherten Daten (600) durchgeführt worden sind;
Mittel zum Erstellen einer Sicherungskopie (610) von mindestens einem Teil der gespeicherten Daten (600);
Mittel zum Wiederherstellen der gespeicherten Daten durch Wiedereinsetzen der Sicherungskopie (610) und Anwendung der Aktualisierungen, die in den Protokolleinträgen (480) enthalten sind;
gekennzeichnet
dadurch, daß die Mittel zum Erstellen einer Sicherungskopie (610) von mindestens einem Teil der gespeicherten Daten (600) berechtigt sind, diese Kopie zu erstellen, während dieser Teil der Daten zum Aktualisieren geöffnet ist;
sowie durch
Mittel zur Bestimmung des Zeitpunktes der ältesten nicht festgeschriebenen Aktualisierung (640), die mit den gespeicherten Daten (600) durchgeführt wurde;
Mittel zum Berechnen eines Wiederherstellungspunktes (660), von dem aus ein Wiederherstellen der Datenbasis zuverlässig stattfinden kann, wobei der Wiederherstellungspunkt (660) nicht älter als die älteste nicht festgeschriebene Aktualisierung (640) ist und wobei die Mittel zum Wiederherstellen der gespeicherten Daten so aufgebaut sind, daß die in den Protokolleinträgen enthaltenen Aktualisierungen, die nach dem Wiederherstellungspunkt (660) vorgenommen wurden, angewandt werden.
2. Datenverarbeitungsvorrichtung gemäß Anspruch 1, in welcher die Mittel zum Bestimmen des Zeitpunktes der ältesten nicht festgeschriebenen Aktualisierung (640) enthalten:
Mittel (630) zum Erkennen des ersten Protokolleintrags, der einer Aktualisierung entspricht, die durch jeden LUW durchgeführt wird;
Mittel zum Speichern des Zeitpunktes dieses ersten Protokolleintrags;
Mittel zum Erkennen des frühesten Protokolleintrags aus mindestens einem Untersatz gespeicherter Zeitpunkte erster Protokolleinträge; und
Mittel zum Löschen des ersten Protokolleintrag-Zeitpunktes, der einem beendeten LUW entspricht.
3. Datenverarbeitungsvorrichtung gemäß einem der vorhergehenden Ansprüche, in welcher
die gespeicherten Daten (600) in Form einer Vielzahl von Datensätzen (210 bis 230) organisiert sind, wobei jeder Datensatz (210 bis 230) mittels eines oder mehrerer zugeordneter Dateinamen adressierbar ist.
4. Datenverarbeitungsvorrichtung gemäß Anspruch 3, in welcher:
jeder Datensatz (210 bis 230) einen zugeordneten Katalog (240) zum Speichern von Systemverwaltungsdaten besitzt; und
der zu einem Datensatz gehörende Wiederherstellungspunkt (660) in den Katalog (240) des Datensatzes geschrieben wird; und
die Sicherungskopie (610) eines Datensatzes (210 bis 230) eine Kopie (620) des Datensatzkataloges zum Zeitpunkt der Erstellung der Sicherungskopie enthält.
5. Datenverarbeitungsvorrichtung gemäß einem der Ansprüche 3 oder 4, desweiteren umfassend:
Mittel zum Verbinden eines Datensatzes (210 bis 230) mit einem Datenelement (250), welches kennzeichnet, ob der Datensatz (210 bis 230) zum Sichern ausgewählt werden kann, während er für die Aktualisierung verfügbar ist.
6. Datenverarbeitungsvorrichtung gemäß einem der Ansprüche 3 bis 5, desweiteren umfassend:
Mittel zum Schreiben einer Verknüpfungsaufzeichnung (TUR) (800) in das Protokoll (430), wenn ein Dateiname einem Datensatz (210 bis 230) zugeordnet wird, wobei die TUR (800) zumindest die Verbindung zwischen dem Dateinamen (860) und dem Datensatz (890) definiert.
7. Datenverarbeitungsvorrichtung gemäß Anspruch 6, desweiteren umfassend:
Mittel zum periodischen Schreiben eines Satzes von TURs (700) für mindestens einige der Datensätze (210 bis 230) in das Protokoll (430).
8. Datenverarbeitungsvorrichtung gemäß Anspruch 7, in welcher:
der Satz TURs (700) diejenigen TURs umfaßt, die Dateinamen zugeordnet sind, welche mit geöffneten Datensätzen verbunden sind, die, während sie geöffnet sind, zum Sichern ausgewählt werden können.
9. Datenverarbeitungsvorrichtung gemäß Anspruch 7 oder Anspruch 8, in welcher:
der Wiederherstellungspunkt definiert wird als der Startzeitpunkt (900) des Schreibens eines vorhergehenden Satzes TURs (700), für den das Schreiben beendet wurde, bevor die älteste nicht festgeschriebenen Aktualisierung (640) durchgeführt wurde.
10. Datenverarbeitungsvorrichtung nach einem der Ansprüche 7 bis 9, in welcher:
ein Wiederherstellungspunkt (900) berechnet wird, wenn ein Satz TURs (700) in das Prötokoll (430) geschrieben worden ist.
11. Datenverarbeitungsvorrichtung gemäß einem der Ansprüche 1 bis 9, in welcher:
der Wiederherstellungspunkt, der einer Sicherungskopie entspricht, zu dem Zeitpunkt berechnet wird, an dem die Sicherungskopie erstellt wird.
12. Datenverarbeitungsvorrichtung gemäß einem der Ansprüche 1 bis 8, in welcher der Wiederherstellungspunkt, der einer Sicherungskopie entspricht, gleich dem Startzeitpunkt der ältesten nicht festgeschriebenen Aktualisierung zum Zeitpunkt des Erstellens des Sicherungskopie ist.
13. Verfahren zum Betrieb eines Datenprozessors, die folgenden Schritte umfassend:
Verarbeiten von gespeicherten Daten (600) als Folge logischer Arbeitsschritte (LUW) mit Aktualisierungen der gespeicherten Daten während jedes LUW, die an einem COMMTT- Punkt für den Arbeitsschritt festgeschrieben werden;
Verwalten eines Protokolls (430) der Aktualisierungen, die mit den gespeicherten Daten (600) durchgeführt worden sind;
Erstellen einer Sicherungskopie (610) von mindestens einem Teil der gespeicherten Daten (600);
wenn erforderlich, Wiederherstellen der gespeicherten Daten durch Wiedereinsetzen der Sicherungskopie (610) und Anwendung der Aktualisierungen, die in den Protokolleinträgen (480) enthalten sind;
gekennzeichnet durch die Schritte
Erteilen einer Berechtigung zum Erstellen einer Sicherungskopie (610) von mindestens einem Teil der gespeicherten Daten, während dieser Teil der Daten zum Aktualisieren geöffnet ist;
Bestimmen des Zeitpunktes der ältesten nicht festgeschnebenen Aktualisierung (640), die mit den gespeicherten Daten (600) durchgeführt wurde;
Berechnen eines Wiederherstellungspunktes (660), von dem aus ein Wiederherstellen der Datenbasis zuverlässig stattfinden kann, wobei der Wiederherstellungspunkt (660) nicht älter als die älteste nicht festgeschriebene Aktualisierung (640) ist;
wobei während des Wiederherstellungsschrittes die in den Protokolleinträgen enthaltenen Aktualisierungen, die nach dem Wiederherstellungspunkt (660) vorgenommen wurden, angewandt werden.
14. Verfahren gemäß Anspruch 13, in welchem die Bestimmung des Zeitpunktes der ältesten nicht festgeschriebenen Aktualisierung (640) umfaßt:
Erkennen des ersten Protokolleintrags, der einer Aktualisierung entspricht, die durch jeden LUW durchgeführt wird;
Speichern des Zeitpunktes dieses ersten Protokolleintrags;
Erkennen des frühesten Protokolleintrags aus mindestens einen Untersatz gespeicherter Zeitpunkte erster Protokolleinträge; und
Löschen des ersten Protokolleintrags-Zeitpunktes, der einem beendeten LUW entspricht.
15. Verfahren gemäß einem der Ansprüche 13 und 14, in welchem:
die gespeicherten Daten (600) in Form einer Vielzahl von Datensätzen (210 bis 230) organisiert sind, wobei jeder Datensatz (210 bis 230) mittels eines oder mehrerer zugeordneter Dateinamen adressierbar ist, und
jeder Datensatz (210 bis 230) einen zugeordneten Katalog (240) zum Speichern von Systemverwaltungsdaten besitzt; wobei das Verfahren desweiteren die folgenden Schritte umfaßt:
Schreiben des zu einem Datensatz gehörenden Wiederherstellungspunktes (660) in den Datensatzkatalog (240) und
Einschließen einer Kopie (620) des Datensatzkataloges zum Zeitpunkt der Erstellung der Sicherungskopie in die Sicherungskopie (610) des Datensatzes.
16. Verfahren gemäß Anspruch, 15, desweiteren den folgenden Schritt enthaltend:
Schreiben einer Verknüpfungsaufzeichnung (TUR) (800) in das Protokoll (430), wenn ein Dateiname einem Datensatz (210 bis 23Q) zugeordnet wird, wobei die TUR (800) zumindest die Verbindung zwischen dem Dateinamen (860) und dem Datensatz (890) definiert.
17. Verfahren gemäß Anspruch 16, desweiteren den folgenden Schritt enthaltend:
periodisches Schreiben eines Satzes von TURs (700) für zumindest einige der Datensätze (210 bis 230) in das Protokoll (430).
18. Verfahren gemäß Anspruch 17, in welchem:
ein Wiederherstellungspunkt (900) berechnet wird, wenn ein Satz TURs (700) in das Protokoll (430) geschrieben worden ist.
19. Verfahren gemäß einem der Ansprüche 13 bis 18, in welchem:
der Wiederherstellungspunkt, der einer Sicherungskopie entspricht, zu dem Zeitpunkt berechnet wird, an dem die Sicherungskopie erstellt wird.
DE69119222T 1991-06-04 1991-06-04 Datensicherung und Beseitigung in einem Datenverarbeitungssystem Expired - Lifetime DE69119222T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP91305043A EP0516900B1 (de) 1991-06-04 1991-06-04 Datensicherung und Beseitigung in einem Datenverarbeitungssystem

Publications (2)

Publication Number Publication Date
DE69119222D1 DE69119222D1 (de) 1996-06-05
DE69119222T2 true DE69119222T2 (de) 1996-11-21

Family

ID=8208299

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69119222T Expired - Lifetime DE69119222T2 (de) 1991-06-04 1991-06-04 Datensicherung und Beseitigung in einem Datenverarbeitungssystem

Country Status (4)

Country Link
US (1) US5381545A (de)
EP (1) EP0516900B1 (de)
JP (1) JP2531894B2 (de)
DE (1) DE69119222T2 (de)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0554854A3 (en) * 1992-02-04 1996-02-28 Digital Equipment Corp System and method for executing, tracking and recovering long running computations
US5504883A (en) * 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
DE69429686T2 (de) * 1993-02-25 2003-04-30 Sun Microsystems, Inc. Transaktionsverwaltung in objektorientiertem System
US5675725A (en) * 1993-07-19 1997-10-07 Cheyenne Advanced Technology Limited Computer backup system operable with open files
EP0710375B1 (de) * 1993-07-19 1999-02-17 Cheyenne Advanced Technology Limited Dateisicherungssystem
JPH07152627A (ja) * 1993-11-29 1995-06-16 Nec Corp ファイルリカバリシステム
JPH07175700A (ja) * 1993-12-20 1995-07-14 Fujitsu Ltd データベース管理方式
JPH07210429A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ダンプ取得方法および制御装置および情報処理システム
JP2708386B2 (ja) 1994-03-18 1998-02-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
JPH07319738A (ja) * 1994-05-23 1995-12-08 Nec Commun Syst Ltd 差分記録方式
EP0694838A1 (de) * 1994-07-25 1996-01-31 International Business Machines Corporation Stufenweises Transaktionsrücksetzverfahren
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
GB2301205A (en) * 1995-05-24 1996-11-27 Ibm Data set backup in a shared environment
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
US5768582A (en) * 1995-06-07 1998-06-16 International Business Machines Corporation Computer program product for domained incremental changes storage and retrieval
US5680621A (en) * 1995-06-07 1997-10-21 International Business Machines Corporation System and method for domained incremental changes storage and retrieval
SE506534C2 (sv) * 1995-06-15 1998-01-12 Ericsson Telefon Ab L M Sätt att bestämma innehåll i restaureringslogg
US6061769A (en) * 1995-09-27 2000-05-09 International Business Machines Corporation Data set backup in a shared environment
US5778165A (en) * 1995-10-20 1998-07-07 Digital Equipment Corporation Variable-level backup scheduling method and apparatus
US5754782A (en) * 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
US5953638A (en) * 1995-12-29 1999-09-14 Mci Communications Corporation Method and system for affinity termination of calls
US5644698A (en) * 1996-05-30 1997-07-01 International Business Machines Corporation Configurable reuse delay criterion for storage volumes
US5832222A (en) * 1996-06-19 1998-11-03 Ncr Corporation Apparatus for providing a single image of an I/O subsystem in a geographically dispersed computer system
US5842222A (en) * 1996-10-04 1998-11-24 Taiwan Semiconductor Manufacturing Company, Ltd. Production information system enhanced for availability
JPH10207754A (ja) * 1997-01-16 1998-08-07 Fujitsu Ltd 更新系データベースの複製方式
JPH10333948A (ja) * 1997-04-01 1998-12-18 Kokusai Zunou Sangyo Kk 仮想データベース空間システムおよびデータベースプログラムを記録したコンピュータ読み取り可能な記録媒体
US6016553A (en) 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
US6023709A (en) * 1997-12-15 2000-02-08 International Business Machines Corporation Automated file error classification and correction in a hierarchical storage management system
US5931955A (en) * 1997-12-15 1999-08-03 At&T Corp Method and generic automatic database recovery
US6732123B1 (en) * 1998-02-23 2004-05-04 International Business Machines Corporation Database recovery to any point in time in an online environment utilizing disaster recovery technology
US6205527B1 (en) * 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
US6732293B1 (en) 1998-03-16 2004-05-04 Symantec Corporation Method, software and apparatus for recovering and recycling data in conjunction with an operating system
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6092086A (en) * 1998-03-31 2000-07-18 Bmc Software System and method for handling backout processing during capture of changed data in an enterprise computer system
US6366986B1 (en) 1998-06-30 2002-04-02 Emc Corporation Method and apparatus for differential backup in a computer storage system
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6230282B1 (en) * 1998-07-03 2001-05-08 Hewlett-Packard Company Checkpoint computer system utilizing a FIFO buffer to re-synchronize the memory systems on the detection of an error
US6195695B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Data processing system and method for recovering from system crashes
US7055055B1 (en) 1999-04-23 2006-05-30 Symantec Corporation Write cache flushing method for reducing data corruption
US7051055B1 (en) 1999-07-09 2006-05-23 Symantec Corporation Optimized disk storage defragmentation with swapping capabilities
WO2001004801A1 (en) * 1999-07-09 2001-01-18 Wild File, Inc. Optimized disk storage defragmentation with swapping capabilities
US6324548B1 (en) * 1999-07-22 2001-11-27 Unisys Corporation Database backup and recovery using separate history files for database backup and audit backup
US6553509B1 (en) * 1999-07-28 2003-04-22 Hewlett Packard Development Company, L.P. Log record parsing for a distributed log on a disk array data storage system
JP4237354B2 (ja) * 1999-09-29 2009-03-11 株式会社東芝 トランザクション処理方法及びトランザクション処理システム
US7051173B2 (en) * 2000-02-04 2006-05-23 Fujitsu Limited Backup system and method thereof in disk shared file system
US6636928B1 (en) * 2000-02-18 2003-10-21 Hewlett-Packard Development Company, L.P. Write posting with global ordering in multi-path systems
US6754842B2 (en) * 2000-02-22 2004-06-22 International Business Machines Corporation Facilitating a restart operation within a data processing system
GB2361780A (en) * 2000-04-26 2001-10-31 Ibm A recovery log to enable a restart of a computer system
US6810489B1 (en) * 2000-09-06 2004-10-26 Hewlett-Packard Development Company, L.P. Checkpoint computer system utilizing a FIFO buffer to re-synchronize and recover the system on the detection of an error
US7107292B1 (en) 2000-10-13 2006-09-12 International Business Machines Corporation Fast system level recovery
US6668262B1 (en) * 2000-11-09 2003-12-23 Cisco Technology, Inc. Methods and apparatus for modifying a database
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
US7310743B1 (en) 2001-06-12 2007-12-18 Emc Corporation Data recovery method and apparatus
US6742138B1 (en) 2001-06-12 2004-05-25 Emc Corporation Data recovery method and apparatus
KR20030056540A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US7725428B1 (en) * 2002-03-14 2010-05-25 Novell, Inc. System and method for restoring a database in a distributed database system
US6931405B2 (en) * 2002-04-15 2005-08-16 Microsoft Corporation Flexible subscription-based event notification
US7028153B1 (en) * 2002-06-19 2006-04-11 Veritas Operating Corporation Backup and retrieval of data storage using catalog data
US7844577B2 (en) 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
JP4166056B2 (ja) * 2002-08-16 2008-10-15 富士通株式会社 データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム
WO2004038700A2 (en) * 2002-10-23 2004-05-06 Onaro Method and system for validating logical end-to-end access paths in storage area networks
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
EP1486886A1 (de) * 2003-06-12 2004-12-15 Hewlett-Packard Development Company, L.P. Systeme, Protokolle und Verbreitungsmechanismen zur Verwaltung von Informationen in einer Netzwerkumgebung
US7827216B1 (en) * 2003-07-23 2010-11-02 Novell, Inc. Method for coordinating relationships between multiple physical entities
EP1510933B1 (de) * 2003-08-27 2007-08-01 Sap Ag Weiterleiten von Änderungen in einer Datenbank
US7239581B2 (en) * 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7287133B2 (en) * 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7730222B2 (en) * 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7631120B2 (en) * 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US7213103B2 (en) * 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US7464124B2 (en) * 2004-11-19 2008-12-09 International Business Machines Corporation Method for autonomic data caching and copying on a storage area network aware file system using copy services
US7383406B2 (en) * 2004-11-19 2008-06-03 International Business Machines Corporation Application transparent autonomic availability on a storage area network aware file system
US7457930B2 (en) * 2004-11-19 2008-11-25 International Business Machines Corporation Method for application transparent autonomic data replication improving access performance for a storage area network aware file system
US7949665B1 (en) 2004-11-19 2011-05-24 Symantec Corporation Rapidly traversing disc volumes during file content examination
US8214353B2 (en) * 2005-02-18 2012-07-03 International Business Machines Corporation Support for schema evolution in a multi-node peer-to-peer replication environment
US8037056B2 (en) * 2005-02-18 2011-10-11 International Business Machines Corporation Online repair of a replicated table
US7376675B2 (en) * 2005-02-18 2008-05-20 International Business Machines Corporation Simulating multi-user activity while maintaining original linear request order for asynchronous transactional events
US9286346B2 (en) * 2005-02-18 2016-03-15 International Business Machines Corporation Replication-only triggers
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US7784098B1 (en) * 2005-07-14 2010-08-24 Trend Micro, Inc. Snapshot and restore technique for computer system recovery
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
JP5060485B2 (ja) 2005-09-27 2012-10-31 オナロ インコーポレイテッド 複製データの可用性及び最新性を検証するための方法及びシステム。
CN101313279A (zh) * 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
JP4839091B2 (ja) * 2006-01-27 2011-12-14 株式会社日立製作所 データベース回復方法及び計算機システム
US7797670B2 (en) * 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7725764B2 (en) 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US20080059469A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation Replication Token Based Synchronization
JP4696043B2 (ja) * 2006-10-13 2011-06-08 日本電信電話株式会社 データベース負荷分散装置,データベース負荷分散方法及びその方法を実装したデータベース負荷分散プログラム
US7653664B2 (en) * 2006-11-03 2010-01-26 Microsoft Corporation Anchor for database synchronization excluding uncommitted transaction modifications
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US8332860B1 (en) 2006-12-30 2012-12-11 Netapp, Inc. Systems and methods for path-based tier-aware dynamic capacity management in storage network environments
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US9042263B1 (en) 2007-04-06 2015-05-26 Netapp, Inc. Systems and methods for comparative load analysis in storage networks
US8671076B2 (en) * 2007-05-08 2014-03-11 Bmc Software, Inc. Database recovery using logs applied to consistent copies
JP4598817B2 (ja) * 2007-12-18 2010-12-15 株式会社日立製作所 計算機システム及びデータ消失回避方法
US20090171839A1 (en) * 2007-12-28 2009-07-02 Rosano Sharon A Systems and methods for processing recurring payment transactions
US7937383B2 (en) * 2008-02-01 2011-05-03 Microsoft Corporation Generating anonymous log entries
JP5039891B2 (ja) * 2009-10-19 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースの複製を生成する装置及び方法
US9767181B2 (en) * 2009-11-30 2017-09-19 Bmc Software, Inc. Extending a database recovery point at a disaster recovery site
FI20105808A7 (fi) * 2010-07-16 2012-01-17 Idesco Oy Tietokannan hallintamenetelmä ja rfid-järjestelmä
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US8983915B2 (en) 2011-08-01 2015-03-17 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance
CN102455954A (zh) * 2011-10-17 2012-05-16 中标软件有限公司 一种Linux系统防掉电的升级方法
CN104769555A (zh) 2012-06-18 2015-07-08 艾克特菲欧有限公司 增强型数据管理虚拟化系统
CN102914964B (zh) * 2012-09-07 2015-05-13 三一重工股份有限公司 工程机械及其控制器、主机和数据备份系统
AU2014265979A1 (en) 2013-05-14 2015-12-10 Actifio, Inc. Efficient data replication and garbage collection predictions
US8683262B1 (en) 2013-06-21 2014-03-25 Terracotta Inc. Systems and/or methods for rapid recovery from write-ahead logs
US9904603B2 (en) 2013-11-18 2018-02-27 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance
US9665307B1 (en) * 2013-12-19 2017-05-30 EMC IP Holding Company LLC Incremental continuous data protection
US10318386B1 (en) * 2014-02-10 2019-06-11 Veritas Technologies Llc Systems and methods for maintaining remote backups of reverse-incremental backup datasets
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
US9772916B2 (en) 2014-06-17 2017-09-26 Actifio, Inc. Resiliency director
US10248510B2 (en) 2014-09-16 2019-04-02 Actifio, Inc. Guardrails for copy data storage
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
US9619506B2 (en) * 2014-11-25 2017-04-11 Sap Se Method and system to avoid deadlocks during a log recovery
WO2016094819A1 (en) 2014-12-12 2016-06-16 Actifio, Inc. Searching and indexing of backup data sets
US10055300B2 (en) 2015-01-12 2018-08-21 Actifio, Inc. Disk group based backup
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
CN106095623A (zh) * 2016-06-27 2016-11-09 乐视控股(北京)有限公司 终端控制方法及装置
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
US10572184B2 (en) * 2018-01-11 2020-02-25 International Business Machines Corporation Garbage collection in data storage systems
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
CN115114301B (zh) * 2021-03-18 2025-07-25 腾讯科技(深圳)有限公司 数据处理方法、装置与电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
JPS63307551A (ja) * 1987-06-08 1988-12-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols

Also Published As

Publication number Publication date
EP0516900B1 (de) 1996-05-01
EP0516900A1 (de) 1992-12-09
DE69119222D1 (de) 1996-06-05
US5381545A (en) 1995-01-10
JP2531894B2 (ja) 1996-09-04
JPH05108448A (ja) 1993-04-30

Similar Documents

Publication Publication Date Title
DE69119222T2 (de) Datensicherung und Beseitigung in einem Datenverarbeitungssystem
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE69126066T2 (de) Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
DE3788444T2 (de) Verfahren zum Wiederanlauf einer langlaufenden fehlertoleranten Operation in einem transaktionsorientierten Datenbasissystem.
DE68927142T2 (de) Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE69126067T2 (de) Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
DE69516538T2 (de) Speicherung von rechnerdaten
DE69322549T2 (de) Verteilte Transaktionsverarbeitung mit einem Zwei-Phasen-Bindungsprotokoll mit erwarteter Bindung ohne Aufzeichnungspflicht
DE68926693T2 (de) System und Verfahren zur einem Systemfehler nachfolgenden Datenerholung in einer Datenbank eines Rechnersystems
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE69425658T2 (de) Anordnung eines dateisystems zum beschreiben beliebiger bereiche
DE69601850T2 (de) Transaktionsgerättreiberverfahren für ein Dateiensystem mit Logging-Möglichkeit
DE69621841T2 (de) Rechnersicherungssystem mit offenen Dateien
DE102008015662B4 (de) Beseitigung von Daten
DE69703181T2 (de) Registrierdateioptimierung in einem Client/Server-Rechnersystem
DE69604882T2 (de) Einzeltransaktionsverfahren für ein Dateiensystem mit Logging-Möglichkeit in einem Rechnerbetriebssytem
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE10112941B4 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE68927705T2 (de) Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem
DE69221259T2 (de) Verwaltung von Datenbankwiederherstellung nach Fehler
DE3689664T2 (de) Verfahren und Gerät zur Verwaltung von veralteten Datenobjekten.
DE69025507T2 (de) Gerät zur Sicherung und Wiederherstellung für Digitalrechner
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE69128367T2 (de) System und Verfahren zur Transaktionsbearbeitung mit verminderter Verriegelung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7