DE10112941B4 - System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien - Google Patents

System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien Download PDF

Info

Publication number
DE10112941B4
DE10112941B4 DE10112941A DE10112941A DE10112941B4 DE 10112941 B4 DE10112941 B4 DE 10112941B4 DE 10112941 A DE10112941 A DE 10112941A DE 10112941 A DE10112941 A DE 10112941A DE 10112941 B4 DE10112941 B4 DE 10112941B4
Authority
DE
Germany
Prior art keywords
database
reading
backup
records
updates
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 - Fee Related
Application number
DE10112941A
Other languages
English (en)
Other versions
DE10112941A1 (de
Inventor
David W. Morgan Hill Moore
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
Publication of DE10112941A1 publication Critical patent/DE10112941A1/de
Application granted granted Critical
Publication of DE10112941B4 publication Critical patent/DE10112941B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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

Abstract

Vorrichtung zur Wiederherstellung einer fehlerhaften Datenbankdatei in einer von mehreren Datenbankverwaltungssystemen gemeinsam benutzten Datenbank, wobei von einer Sicherungskopie der Datenbankdatei ausgegangen wird, wobei die Vorrichtung Folgendes umfasst:
eine Speichervorrichtung zum Speichern ausführbarer Module, wobei die Module Folgendes umfassen:
a) ein Wiederherstellungsdienstprogramm, das über ein Sicherungskopie-Wiederherstellungsdienstprogramm verfügt, welches für das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei konfiguriert ist,
b) ein Mischendpunktdienstprogramm umfasst, das für die Bestimmung des Mischendpunktes, welcher eine Trennung von Detaildatensätzen und Reservedatensätzen im Protokoll widerspiegelt, konfiguriert ist,
c) einen Änderungssammelmanager, der so konfiguriert ist, dass er eine Sammeldatei für Änderungen parallel zum Lesen und Wiederherstellen der Sicherungskopie liest, um Detaildatensätze abzuleiten und
d) ein Imagekopie-Wiederherstellungsdienstprogramm, das für die Anwendung der Detaildatensätze auf die Sicherungskopie während des Lesens und der Wiederherstellung der Sicherungskopie konfiguriert ist, um auf diese Weise eine wiederhergestellte Datenbankdatei zu erstellen,
e) einen Protokollmanager, der für das Lesen...

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf die Datenbankwiederherstellung unter Benutzung von Sicherungskopien und Sammeldateien für Änderungen. Im Besonderen bezieht sich die Erfindung auf die Wiederherstellung von Datenbanken unter Verwendung vollständiger und unvollständiger Änderungssammeldateien.
  • Relevante Technologie
  • Die Verwaltung umfangreicher Datenbanken ist für die heutige Gesellschaft von herausragender Bedeutung, da diese auf die zuverlässige Speicherung von Daten, welche entscheidende Informationen darstellen, angewiesen ist. Datenbanken müssen üblicherweise fortwährend betriebsbereit und den Benutzern zugänglich sein. Moderne Datenbanksysteme sind im Wesentlichen zuverlässig, sodass sie nur selten ausfallen. Wenn trotzdem ein Ausfall auftritt, muss die Wiederherstellung der Datenbank effizient und akkurat erfolgen, um den Datenverlust für die Benutzer zu minimieren. Daher hat die Datenbankwiederherstellung schnell zu erfolgen, um die Ausfallzeit für die Benutzer zu begrenzen. Fällt eine Datenbank für längere Zeit aus, so kann dies schnell zu einer wirtschaftlichen Katastrophe führen.
  • Datenbanken werden von komplexen Datenbankverwaltungssystemen verwaltet. Ein Beispiel für ein Datenbankverwaltungssystem stellt das Information Management System (IMS) der IBM Corp., Armonk, New York, dar. Das INS wird heute zur Verwaltung einer enormen Zahl von Datenbanken eingesetzt und gestattet den Zugriff auf eine oder mehrere Datenbanken, damit Benutzer mit den in der Datenbank verwalteten Daten interagieren können. Die Mehrzahl der Benutzerzugriffe schließt Transaktionsoperationen ein.
  • Während die Benutzer die Datenbankdateien in der Datenbank aktualisieren, zeichnet das Datenbankverwaltungssystem die Aktualisierungen in einer Protokolldatei auf. Die Protokolldatei ist eine Datenmenge, die eine Reihe von Datenbankaktualisierungen widerspiegelt. Protokolldateien werden in sequenziellen Datensätzen mit definierten Öffnungs- und Schließpunkten aufgezeichnet.
  • Die Benutzer können regelmäßig Sicherungskopien oder Sicherungskopiereihen von der Datenbank erstellen, um die Datenbankwiederherstellung zu unterstützen. Diese Sicherungskopien können mit Hilfe von Bandverwaltungssystemen in Bandarchiven aufgezeichnet werden. Die Sicherungskopie dient als Grundlage für die Wiederherstellung der Datenbank zu ihrem Zustand vor Auftreten eines Datenbankausfalls. Bei der Wiederherstellung kommen aufeinander folgende Datenbank-aktualisierungen aus den Datensätzen der Protokolldateien zur Anwendung. Des Weiteren müssen für eine Wiederherstellung Datenbank- und Sicherungsattribute gespeichert werden. Datenbankverwaltungssysteme beinhalten häufig eine Datei zur Steuerung der Wiederherstellung, die verschiedene Datenbank- und Sicherungskopie-Attribute umfasst. Datenbankverwaltungssysteme bedienen sich irgendeiner Form von in dieser Datei aufgezeichneten Wiederherstellungssteuerinformationen, die sich auf die Datenbank und die Sicherungskopie beziehen, um die Wiederherstellung zu unterstützen.
  • Datenbankverwaltungssysteme enthalten eine Wiederherstellungsfunktion, die auf einen Datenbankausfall reagiert. Tritt ein Datenbankausfall auf, erstellt die Wiederherstellungsfunktion eine neue Datenbank und schreibt die Sicherungskopie in die neue Datenbank. Das Wiederherstellungsdienstprogramm wendet des Weiteren alle Aktualisierungen – vom Zeitpunkt der Erstellung der Sicherungskopie an – auf die Datenbank an. Die für die Wiederherstellung der neuen Datenbank aus dem aktuellen Stand der Sicherungskopie verwendeten Informationen können aus den Protokolldateien und den Steuerinformationen zur Wiederherstellung bezogen werden.
  • Um die Datenbankwiederherstellung zu unterstützen, sammelt ein Dienstprogramm, in diesem Dokument als Dienstprogramm zum Sammeln von Änderungen bezeichnet, Aktualisierungen und legt sie in einer Änderungssammeldatei (change accumulation data set, CADS) ab. Die CADS besteht aus einer Sammlung von Änderungen in den Protokolldatensätzen, die die neue Datenbank betreffen und als Eingabe während der Datenbankwiederherstellung dienen. Die CADS kann Aktualisierungen für mehrere Datenbanken widerspiegeln. Ein typischer Datenbankdatensatz wird schrittweise aktualisiert, und da dabei sich überlappende Aktualisierungen auftreten können, spielt die Reihenfolge der Wiederherstellung eine wichtige Rolle. Die CADS empfängt die sich überlappenden Aktualisierungen, spiegelt jedoch, nach allen Änderungen, nur die zum Schluss vorgenommenen Änderungen wieder.
  • Um die CADS zu erstellen, liest das Änderungssammeldienstprogramm Protokolle sequenziell, also eins nach dem anderen. Üblicherweise ordnen die Benutzer ihre mehreren Datenbanken in Änderungssammelgruppen an, damit das Dienstprogramm zum Sammeln von Änderungen so effizient wie möglich arbeitet. Ein Benutzer kann den Sammelprozess für Änderungen auf eine Änderungssammelgruppe anwenden und eine optionale sekundäre Ausgabe – den Satz an Protokolldatensätzen, der nicht in die CADS geschrieben wurde – als Dateneingabe in das Änderungssammeldienstprogramm für die Bearbeitung der nachfolgenden Änderungssammelgruppe verwenden. Dies kann für jede Änderungssammelgruppe durchgeführt werden, bei der der aktuelle Änderungssammellauf auf die sekundäre Ausgabe des vorangegangenen Änderungssammellaufes zurückgreift. Dieser serielle Prozess wird unmittelbar durch den Benutzer verwaltet. Benutzer führen die Änderungssammlung gewöhnlich regelmäßig durch, sodass die für die Ausführung eines abschließenden Änderungssammeljobs und des nachfolgenden Datenbankwiederherstellungsjobs erforderliche Zeit minimiert wird, wenn eine Datenbankdatei in einer Änderungssammelgruppe wiederhergestellt werden muss. Wie zu erwarten, ist dieser sequenzielle Wiederherstellungsprozess sehr komplex.
  • Das Wiederherstellungsdienstprogramm liest die vollständige CADS in den Speicher ein und bringt den für die Wiederherstellung der Datenbank relevanten Teil der CADS zur Anwendung. Jeder Datensatz verfügt über eine sequenzielle Kennzeichnung und die Wiederherstellung der Datenbankdateien erfolgt in sequenzieller Reihenfolge. Das Wiederherstellungsdienstprogramm adressiert jeden Datensatz in der CADS, um zu überprüfen, ob eine Datenänderung für diesen Datensatz vorliegt. Ist dies der Fall, greift es auf die CADS zu und der relevante Datensatz wird mit der neuen Datenbank gemischt.
  • Während des Normalbetriebs werden vom Datenbankverwaltungssystem regelmäßig Datenbank- und Protokolldateiaktualisierungen erzeugt, wobei mit der Zeit mehrere Aktualisierungen erstellt werden. Wenn die Aktualisierungen nicht physisch in die Datenbank geschrieben werden, werden sie jedoch nicht dauerhaft in der Datenbank gespeichert. Im Allgemeinen basiert die Datenbankaktivität darauf, das „Festschreiben" von Aktualisierungen in einer Datenbank zu ermöglichen. Ein COMMIT-Punkt ist ein Zeitpunkt, zu dem Aktualisierungen permanenter Bestandteil der Datenbank werden. Die Zeitspanne zwischen den COMMIT-Punkten wird als „COMMIT-Bereich" oder „Wiederherstellungseinheit" (unit of recovery, UOR) bezeichnet. Tritt ein Fehler auf, zum Beispiel ein Fehler beim Schreiben in die Datenbank, und die Aktualisierungen können nicht durchgeführt werden, werden alle seit dem letzten COMMIT-Punkt erzeugten Aktualisierungen „entfernt", so als ob sie nie erstellt worden wären.
  • Ein Verfahren zur Implementierung von Datenbankaktualisierungen und COMMIT-Punkt-Verarbeitungen besteht darin, dass der Datenbankmanager die Datenbankänderungen verwaltet und die Änderungen nicht vor dem Erreichen des COMMIT-Punktes auf die Datenbank anwendet. Die geänderten Datenbankdaten werden während der Erstellung der Aktualisierung im Protokoll als Kopie abgelegt. Wenn der COMMIT-Punkt erreicht ist und alle Operationen erwartungsgemäß abgelaufen sind, werden die Aktualisierungen in die Datenbank geschrieben. Trat ein Fehler auf, wird der Speicher, der die Datenbankaktualisierungen enthält, freigegeben.
  • Eine normale Datenbankaktualisierung ist eine Transaktion, die eine logische Arbeitseinheit darstellt, die die Ausführung verschiedener Vorgänge umfassen kann. Auf der einfachsten Ebene kann eine Transaktion das Belasten eines Kontos und das Gutschreiben eines anderen umfassen. Die Transaktionsvorgänge können über einen ersten COMMIT-Punkt hinausgehen und werden nicht vor dem Erreichen eines nachfolgenden COMMIT-Punkts zu permanenten Festschreibungen. Das Änderungssammeldienstprogramm erstellt die CADS, indem es Protokolldateien, die bis zu einem bestimmten COMMIT-Punkt festgeschrieben wurden, miteinander verknüpft. Die festgeschriebenen Protokolldateien sind während der Wiederherstellung leicht auf die neue Datenbank anzuwenden, da sie permanent sind. Aktualisierungen, die nach dem zuletzt aufgezeichneten COMMIT-Punkt auftreten, können nicht leicht auf die neue Datenbank angewendet werden, da keine Garantie dafür besteht, dass die Aktualisierungen zu einem späteren COMMIT-Punkt festgeschrieben werden. Ein Fehler bei einem COMMIT-Punkt führt dazu, dass die Aktualisierung und alle damit verbundenen Transaktionen abgebrochen werden. Müssen die Aktualisierungen abgebrochen werden, wird der Protokolldatensatz abgerufen und die Kopien der unveränderten Datenbankdaten kommen zur Anwendung, was dazu führt, dass die Änderungen zurückgesetzt werden. Daher werden Aktualisierungen, die nach dem COMMIT-Punkt auftreten, nicht notwendigerweise in der Datenbank festgeschrieben.
  • Jede CADS enthält einen Detaildatensatz, der einen Datensatz festgeschriebener Aktualisierungen eines oder mehrerer Protokolle darstellt. Jeder Detaildatensatz besteht aus einer Reihe zusammenhängender Bytes, die die Sicherungskopie eines physischen Datenbankdatensatzes überschreiben können. Das Anwenden aller Detaildatensätze der CADS entspricht einer wiederholten Ausführung aller Transaktionen auf die Datenbank, die seit Erstellen einer Sicherungskopie bis zu einem „Mischendpunkt" (merge-end point) eingegeben wurden. Der Mischendpunkt ist ein Zeitpunkt, zu dem Aktualisierungen nicht mehr mit der neuen Datenbank gemischt werden können, weil nicht alle Änderungsdatensätze für diese Aktualisierungen zur Verfügung stehen. Daher besteht für die Festschreibung der Aktualisierungen keine Garantie.
  • Diejenigen Aktualisierungen, die nicht mit der neuen Datenbank gemischt werden können, werden in als „Reservedatensätze" (spill records) bezeichnete Datensätze geschrieben. Eine vollständige CADS umfasst ausschließlich Detaildatensätze, wohingegen eine unvollständige CADS sowohl Detaildatensätze als auch Reservedatensätze umfasst. Die Erstellung einer unvollständigen CADS erfolgt, wenn mehrere Datenbankverwaltungssysteme eine Datenbank gemeinsam benutzen. Die Mehrzahl der Datenbankverwaltungssysteme laufen in einer gemeinsamen Sitzung, um die Nutzung der Datenbank zu maximieren. Während einer gemeinsamen Sitzung entstehen unvollständige Protokolldateien, die Aktualisierungen für Zeiträume enthalten, in denen nicht alle Protokolldatensätze zur Verfügung stehen. In einer gemeinsamen Sitzung von mehreren Datenbankverwaltungssystemen ist es unmöglich, eine vollständige CADS zu haben, ohne die Datenbank offline zu nehmen und die Protokolldateien zu überprüfen.
  • Aktualisierungsdatensätze von unvollständigen Protokolldateien können aufgrund der nicht verfügbaren Protokolldatensätze vom Änderungssammeldienstprogramm nicht aufgelöst werden. Das Änderungssammeldienstprogramm ist nicht in der Lage, diese Aktualisierungsdatensätze aufzulösen und „weiß" nicht, ob die Aktualisierungen zur Anwendung kommen sollen oder nicht. Diese Aktualisierungsdatensätze werden in die Reservedatensätze geschrieben. Wenn die relevanten Protokolldatensätze verfügbar werden, können die Aktualisierungsdatensätze der Reservedatensätze in einem anschließenden Änderungssammelprozess gelesen und mit anderen Aktualisierungen gemischt werden. Die Änderungsdatensätze sind während der gemeinsamen Sitzung unvollständig, weil während des Ablaufs des Änderungssammeldienstprogramms die Aktualisierungen durchgeführt werden und einige der Änderungsdatensätze nicht zur Verfügung stehen.
  • Bei einem Datenbankausfall werden alle noch anstehenden Aktualisierungen und Transaktionen beendet. Sind die Aktualisierungen zum Zeitpunkt des Datenbankausfalls nicht festgeschrieben, werden die damit zusammenhängenden Transaktionen abgebrochen. Aktualisierungen werden nicht dauerhaft auf die Datenbank angewendet, bis sie festgeschrieben wurden. Während der Wiederherstellung bestimmt das Wiederherstellungsdienstprogramm, ob eine Aktualisierung mit einer Festschreibung oder einem Abbruch endet. Endet die Aktualisierung mit einer Festschreibung, dann wird die Aktualisierung auf die neue Datenbank angewendet; endet sie mit einem Abbruch, dann hebt das Wiederherstellungsdienstprogramm die Aktualisierung auf.
  • Die Wiederherstellung einer gemeinsamen Datenbank geschieht in einem zweistufigen Prozess. Zuerst muss das Wiederherstellungsdienstprogramm einen Änderungssammelprozess ausführen, um die relevanten Protokolldatensätze und die unvollständige CADS zu lesen, um eine vollständige CADS zu erstellen. Dieser Schritt ist erforderlich, weil das Wiederherstellungsdienstprogramm die in einer unvollständigen CADS enthaltenen Daten mit der neuen Datenbank nicht mischen kann. Nach dem Stand der Technik sind somit Wiederherstellungsdienstprogramme nicht in der Lage, Wiederherstellungen direkt mit einer unvollständigen CADS auszuführen. Die unvollständige CADS muss zuvor vervollständigt werden. Im zweiten Schritt wendet das Wiederherstellungsdienstprogramm die Sicherungskopie, die vollständige CADS und die Protokolldateien an und mischt diese Komponenten, um die neue Datenbank zu erstellen.
  • Die Vervollständigung einer unvollständigen CADS während des Wiederherstellungsprozesses kann sehr lange dauern, da sie das Lesen aller Protokolldateien, die Aktualisierungen aufweisen, erfordert. Außerdem erfordert der Wiederherstellungsprozess das Lesen der vollständigen CADSs, das Mischen ihrer Daten mit den Protokollaktualisierungen und die Wiederherstellung auf der Grundlage einer Sicherungskopie und, möglicherweise, jeglicher zusätzlicher Protokolldateien, die in vervollständigten CADSs nicht enthalten sind. Der Wiederherstellungsprozess kann ein sehr langwieriger Prozess sein und für Benutzer, die auf eine wiederhergestellte Datenbank dringend angewiesen sind, zu sehr negativen Konsequenzen führen. Wenn ein Benutzer über eine Reihe von Datenbanken verfügt und mehrere dieser Datenbanken wiederhergestellt werden müssen, können außerdem mehrere unvollständige CADSs vorliegen, die vervollständigt werden müssen. Die Vervollständigung mehrerer unvollständiger CADSs macht das Lesen mehrerer Protokolldateien erforderlich. Normalerweise wird für jede unvollständige CADS die entsprechende Protokolldatei sequenziell gelesen. Somit müssen während des Wiederherstellungsprozesses, der ein relativ langwieriger Prozess sein kann, riesige Datenmengen gelesen werden.
  • Eine Datenbankwiederherstellung erfordert es, dass jede Sicherungskopie und jede CADS sequenziell gelesen werden. Daher erfordert der Ausfall einer einzigen Datenbank die Zeit, jede Sicherungskopie und jede CADS zu lesen, zuzüglich der Zeit, die Sicherungskopien zu schreiben und die CADSs mit der wiederhergestellten Datenbank zu mischen. Diese Lesezeit fällt zusätzlich zu der Zeit an, die für die Vervollständigung jeder unvollständigen CADS erforderlich ist. Wenn mehrere Datenbanken, die alle auf Daten in einer einzigen CADS zugreifen, wiederhergestellt werden müssen, liest darüber hinaus das Wiederherstellungsdienstprogramm die CADS für die Wiederherstellung jeder Datenbank jeweils einmal. Das kann potenziell dazu führen, dass die gleiche CADS mehrfach gelesen werden muss.
  • Die Veröffentlichung "Write optimized obect-oriented database systems," von Kjetil Norvag und Kjell Bratbergsengen, 17th International Conference of the Chilean Computer Science Society (SCCC '97), 1997, S.164 ff., beschreibt Datenstrukturen und Algorithmen zur Realisierung eines objektorientierten Datenbanksystems, bei dem Schreiboperationen optimiert sind.
  • Das Buch "Recovery Mechanisms in Database Systems" von Vijay Kumar und Meichun Hsu, Prentice Hall, 1998, ISBN: 0-13-614215-X, Kapitel 7 bis 9.6, Seiten 125–239 offenbart Wiederherstellungs-Mechanismen (recovery) und Protokollierverfahren (logging) in Datenbanksystemen mit mehreren Ebenen (multi-level) von Datensperren (locks) zur Erhöhung der Nebenläufigkeit (concurrency) von Transaktionen. Weiterhin wird ein Wiederherstellungsmechanismus (recovery) von Transaktionen beschrieben, der Datensperren (locks) feiner Granularität und teilweises Zurückrollen von Transaktionen (rollback) unterstützt, indem er eine vorausschreibende (write-ahead) Protokollierung (logging) verwendet. Darüber hinaus geht das Buch auf die Leistung (performance) von Wiederherstellungsmechanismen bei zentralisierten Datenbank-Management-Systemen ein.
  • Deshalb würde es einen Fortschritt in der Technik darstellen, eine vereinfachte Datenbankwiederherstellungsvorrichtung und ein Verfahren bereitzustellen, welche die Wiederherstellungszeit nach einem Datenbankausfall wesentlich verringern. Das Verfahren und die Vorrichtung sollten mehrere Datenbankdateien gleichzeitig wiederherstellen. Ein weiterer technischer Fortschritt bestünde darin, einen Datenbankwiederherstellungsprozess bereitzustellen, der die Durchführung eines Änderungssammelprozesses zur Vervollständigung einer unvollständigen CADS überflüssig macht, um so die Wiederherstellungszeit zu reduzieren. Ein weiterer technischer Fortschritt bestünde in der Beseitigung der Notwendigkeit, jede Sicherungskopie und jede CADS für jede CADS, die einer wiederherzustellenden Datenbank zugeordnet ist, sequenziell zu lesen.
  • Im vorliegenden Dokument wird ein solcher Fortschritt beschrieben und Anspruch darauf erhoben.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung stellt eine Vorrichtung mit Wiederherstellungsdienstprogramm zur Beschleunigung der Wiederherstellung bei einem Ausfall von einer oder mehreren Datenbankdateien bereit. Die Erfindung beinhaltet ein Sicherungskopie-Wiederherstellungsdienstprogramm zum Lesen und Wiederherstellen einer Sicherungskopie einer wiederherzustellenden Datenbankdatei. Die Vorrichtung mit Wiederherstellungsdienstprogramm beinhaltet des Weiteren einen Änderungssammelmanager zum Lesen von Detaildatensätzen in einer oder mehreren CADSs. Des Weiteren umfasst die Erfindung einen Protokollmanager zum Lesen eines oder mehrerer Protokolle, die der fehlerhaften Datenbankdatei zugeordnet sind. Ein Imagekopier-Wiederherstellungs-Dienstprogramm wendet die Detaildatensätze und Aktualisierungen auf die Sicherungskopien an, um so eine wiederhergestellte Datenbankdatei zu erstellen. Das Sicherungskopie-Wiederherstellungsdienstprogramm liest eine oder mehrere Sicherungskopien der Datenbankdateien parallel. Gleichzeitig liest der Änderungssammelmanager eine oder mehrere CADSs parallel. Jede einer oder mehreren wiederherzustellenden Datenbankdateien zugeordnete CADS wird nur einmal in den Speicher eingelesen. Auf diese Weise wird die Wiederherstellungszeit durch paralleles Ausführen des Leseprozesses reduziert. Um den Wiederherstellungsprozess weiter zu beschleunigen, werden – während die Sicherungskopie in die wiederhergestellte Datenbank eingeschrieben wird – Datensätze aus der CADS mit der wiederhergestellten Datenbank je nach Bedarf und Verfügbarkeit gemischt.
  • In einer gemeinsamen Umgebung ist jede CADS eine unvollständige CADS und enthält somit Detaildatensätze und Reservedatensätze. Der Änderungssammelmanager liest lediglich die Detaildatensätze, die festgeschrieben wurden, und ignoriert die Reservedatensätze. Dies macht den oft zeitintensiven Prozess der Vervollständigung jeder unvollständigen CADS zur Wiederherstellung überflüssig.
  • Der Protokollmanager liest ein oder mehrere Protokolle, um die Aktualisierungen in den Reservedatensätzen abzuleiten. Diese Aktualisierungen erfolgen im Anschluss an den Mischendpunkt. Das Lesen der Protokolle bestätigt, welche Aktualisierungen der Reservedatensätze festgeschrieben wurden und mit der wiederhergestellten Datenbank gemischt werden können. Die Protokolle werden parallel gelesen, um die Lesezeit zu verkürzen, und werden mit der wiederhergestellten Datenbank vor Beendigung des Lesevorgangs gemischt.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine parallele Ausführung von Leseprozessen für Sicherungskopien, CADSs und Protokolle zur Verfügung zu stellen.
  • Es ist eine weitere Aufgabe der Erfindung, gleichzeitiges Verarbeiten und Mischen von Daten während der Leseprozesse zu ermöglichen.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, das Lesen einer CADS, die Daten mehrerer Datenbankdateien enthält, in einem einzigen Vorgang zu ermöglichen.
  • Eine weitere Aufgabe der Erfindung ist es, die Wiederherstellung einer Datenbankdatei direkt aus einer oder mehreren unvollständigen CADSs, ohne Ausführung eines zusätzlichen Änderungssammeldienstprogramms, zu bewerkstelligen.
  • Diese und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der nachfolgenden Beschreibung und der angehängten Ansprüche deutlicher herausgestellt bzw. werden anhand der praktischen Anwendung der Erfindung, wie nachfolgend dargelegt, verständlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Um leichter verständlich zu machen, wie die oben erwähnten und weitere Vorteile und Aufgaben der Erfindung erreicht werden, folgt eine detailliertere Beschreibung der oben kurz beschriebenen Erfindung unter Bezugnahme auf spezielle, durch die angehängten Zeichnungen illustrierte Ausführungsarten der Erfindung. Die Erfindung wird durch Verwendung der beiliegenden Zeichnungen mit zusätzlicher Spezifität und Details beschrieben und erklärt, wobei verstanden werden sollte, dass diese Zeichnungen lediglich typische Ausführungsarten der Erfindung darstellen und daher nicht als Einschränkungen ihres Geltungsbereichs anzusehen sind:
  • 1 stellt ein schematisches Blockdiagramm von einer Ausführungsart eines Computersystems zur Implementierung des Formatsystems der vorliegenden Erfindung dar;
  • 2 stellt ein Blockdiagramm der Hardware- und Softwarekomponenten dar, das die für die Wiederherstellung einer oder mehrerer Datenbankdateien erforderlichen Übertragungen und Verbindungen zwischen den Komponenten gemäß einer Ausführungsart der Erfindung veranschaulicht;
  • 3 ist ein Blockdiagramm, das eine Ausführungsart einer Wiederherstellungsvorrichtung zur Wiederherstellung von einer oder mehreren Datenbankdateien gemäß einer Ausführungsart der Erfindung veranschaulicht;
  • 4 stellt eine Veranschaulichung von Protokollzeitlinien dar, die sich auf die Vorrichtung und das Verfahren zur Wiederherstellung einer oder mehrerer Datenbankdateien beziehen; und
  • 5 ist ein Flussdiagramm, das eine Ausführungsart eines Verfahrens zur Wiederherstellung einer oder mehrerer Datenbankdateien veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSARTEN
  • Die derzeit bevorzugten Ausführungsarten der vorliegenden Erfindung können am besten unter Bezugnahme auf die Zeichnungen, in denen gleiche Teile durchweg mit gleichen Nummern bezeichnet werden, verstanden werden. Es ist leicht verständlich, dass die Komponenten der vorliegenden Erfindung, die anhand der Figuren des vorliegenden Dokumentes allgemein beschrieben und veranschaulicht werden, in einer Vielzahl verschiedener Konfigurationen konstruiert und angeordnet werden können. Daher ist die nachfolgende detailliertere Beschreibung der Ausführungsarten von Vorrichtung, System und Verfahren der vorliegenden Erfindung, wie in den 1 bis 5 dargelegt, nicht dazu bestimmt, den Geltungsbereich der Erfindung gemäß der Patentansprüche zu begrenzen, sondern stellt lediglich derzeit bevorzugte Ausführungsarten der Erfindung dar.
  • Die 1 bis 5 sind schematische Blockdiagramme und ein Flussdiagramm, die bestimmte Ausführungsarten von Hardware- und Softwaremodulen für den Betrieb in einem Computersystem aus 1 gemäß der vorliegenden Erfindung detaillierter veranschaulichen.
  • 1 stellt ein schematisches Blockdiagramm eines Computersystems 10 dar, in dem Ausführungsbefehle und Anwendungen, die gemäß der vorliegenden Erfindung ablaufen, auf einer oder mehreren Computerstationen 12 als Wirtsrechner in einem Netz 14 laufen können. Das Netz 14 kann ein Weitverkehrsnetz (wide area network, WAN) und ebenso ein System aus miteinander verbundenen Netzen, wie zum Beispiel das Internet und das von Letzterem unterstützte World Wide Web, umfassen.
  • Eine typische Computerstation 12 kann eine logische Vorrichtung 16 beinhalten und kann als Zentraleinheit (central processing unit, CPU), Mikroprozessor, programmierbare Mehrzweckvorrichtung, anwendungsspezifische Hardware, Statusmaschine (state machine) oder als eine andere Verarbeitungsmaschine ausgeführt sein. Die logische Vorrichtung 16 kann betriebsfähig mit einer oder mehreren Speichervorrichtungen 18 verbunden sein. Die Speichervorrichtungen 18 beinhalten in der Darstellung eine permanente Speichervorrichtung 20, wie zum Beispiel ein Festplattenlaufwerk, ein CD-ROM-Laufwerk, ein Bandlaufwerk oder eine andere geeignete Speichervorrichtung. Die Speichervorrichtungen 18 umfassen des Weiteren einen Nur-Lese-Speicher (read-only memory, ROM) 22 und einen flüchtigen Arbeitsspeicher (random access memory, RAM) 24. Der RAM 24 kann dazu dienen, ausführbare Befehle der logischen Vorrichtung 16 während der Ausführung zu speichern. Die Speichervorrichtungen 18 können des Weiteren einen virtuellen Speicher 25 enthalten, der in einer Ausführungsart Teil des permanenten Speichers 20 ist, der dazu dient, den RAM 24 zu erweitern.
  • Das Computersystem 10 kann ebenfalls über eine Eingabevorrichtung 26 verfügen, über die Benutzereingaben oder Eingaben einer anderen Vorrichtung erfolgen können. Ebenso kann eine Ausgabevorrichtung 28 Bestandteil des Computersystems 10 sein oder von diesem aus zugänglich sein. Ein Netz-Port, wie zum Beispiel eine Netzschnittstellenkarte 30, kann für die Verbindung mit systemfremden Vorrichtungen über das Netz 14 zur Verfügung stehen. Ist das Netz 14 von der Computerstation entfernt, kann die Netzschnittstellenkarte 30 ein Modem umfassen und die Verbindung zum Netz 14 mit Hilfe einer lokalen Anschlussleitung, wie zum Beispiel einer Telefonleitung, herstellen.
  • Systemintern kann ein Systembus 32 die logische Vorrichtung 16, die Speichervorrichtungen 18, die Eingabevorrichtungen 26, die Ausgabevorrichtungen 28, die Netzkarte 30 und einen oder mehrere zusätzliche Ports 34 betriebsfähig miteinander verbinden. Den Systembus 32 kann man sich als Datenträger vorstellen. Der Systembus 32 an sich kann in zahlreichen Konfigurationen ausgeführt werden. Kabelleitungen, Lichtwellenleiter, drahtlose elektromagnetische Übertragung durch das sichtbare Licht, Infrarotstrahlen und Funkfrequenzen können, wenn geeignet, ebenso für den Systembus 32 implementiert werden.
  • Im Allgemeinen kann das Netz 14 ein einziges lokales Netz, ein Weitverkehrsnetz, mehrere angrenzende Netze, ein Intranet oder ein System miteinander verbundener Netze, wie das Internet, umfassen. Die einzelnen Stationen 12 des Netzes 14 können unterschiedliche Grade und verschiedene Arten von Übertragungsleistung und logischer Leistungsfähigkeit aufweisen. Verschiedene Übertragungsprotokolle, wie zum Beispiel ISO/OSI, IPX, TCP/IP, können im Netz zur Anwendung gelangen, im Fall des Internets ermöglicht jedoch ein einziges Schichten-Übertragungsprotokoll (TCP/IP) die Übertragung zwischen verschiedenartigen Netzen 14 und Stationen 12.
  • Das Netz 14 kann eine Zentralverbindung 36 einschließen, die die Stationen 12 miteinander verbindet. Die Zentralverbindung 36 kann in jeder der zahlreichen Konfigurationen, auf die im Zusammenhang mit dem Systembus 32 verwiesen wurde, ausgeführt werden. Ein Router 38 kann auch die Verbindung zu einem oder mehreren Netzen, einschließlich des Internet 40, herstellen.
  • Die Stationen 12 kommunizieren untereinander über die Zentralverbindung 36 und/oder über das Internet 40. Die Stationen 12 können einen Anwendungsserver 42 und/oder Peripheriegeräte 44, wie zum Beispiel Drucker, Scanner oder Faxgerät, umfassen. Daher kann generell zu allen Stationen 12 eine Kommunikationsverbindung bestehen.
  • Ein Aspekt der Erfindung betrifft eine Vorrichtung zur Wiederherstellung einer oder mehrerer Datenbanken oder Datenbankdateien in einer gemeinsamen oder nicht gemeinsamen Umgebung. In der Erörterung der verschiedenen Ausführungsarten soll die Bezugnahme auf einzelne oder mehrere Bauteile die Erfindung nicht ausschließlich auf die dargelegte Konfiguration beschränken.
  • In 2 veranschaulicht ein Blockdiagramm ein Datenbanksystem 200, das aus verschiedenen Komponenten besteht. Das Datenbanksystem 200 kann ein oder mehrere Datenbankverwaltungssysteme 202 umfassen. Die Datenbankverwaltungssysteme 202 werden als DBMS1 bis DBMSn bezeichnet, um einen Unterschied der Datenbankverwaltungssysteme 202 innerhalb des Datenbanksystems 200 anzuzeigen. Das Datenbankverwaltungssystem 202 kann in eine Station 12 integriert sein, die in 1 dargestellt ist. Ein Beispiel für ein im Zusammenhang mit der Erfindung einsetzbares Datenbankverwaltungssystem ist das IMS.
  • Jedes Datenbankverwaltungssystem 202 kann ein Protokoll 204 mit Protokolldatensätzen beinhalten, um Aktualisierungen der Daten im Speicher 18 oder in einer Datenbank 206 zu protokollieren. Das Protokoll 204 dient als Referenz, um Datenänderungen und andere vom jeweiligen Datenbankverwaltungssystem 202 ausgeführte Ereignisse zu protokollieren. Änderungen und andere Ereignisse werden im Protokoll 204 als Protokolldatensätze gespeichert. Das Protokoll 204 kann in einer oder mehreren Speichervorrichtungen 18 der Station 12 gespeichert werden.
  • Das Datenbanksystem 200 umfasst darüber hinaus eine oder mehrere Datenbanken 206 mit einer oder mehreren Datenbankdateien. Die Datenbanken 206 werden als DB1 bis DBn bezeichnet, um einen Unterschied in der Anzahl der Datenbanken 206 in einem System 200 darzustellen. Die Datenbanken 206 können eine hierarchisch strukturierte Datenbank darstellen, wie eine IMS-Datenbank, sie können in einer alternativen Ausführungsart jedoch eine relationale Datenbank umfassen. Innerhalb der Anmeldung ist der Bezug auf Datenbanken und auf Datenbankdateien austauschbar.
  • Jedes Datenbankverwaltungssystem 202 kann den Zugriff auf eine oder mehrere Datenbanken 206 gestatten, damit Benutzer mit allen in den Datenbanken 206 verwalteten Daten einen Dialog führen können. Ein oder mehrere Datenbankverwaltungssysteme 202 können auch eine einzige Datenbank 206 bedienen. Dies ist allgemein üblich, da der Umfang von Datenbanken 206 zur effizienten Verwaltung der Transaktionen oft den Einsatz mehrerer Datenbankverwaltungssysteme 202 erforderlich macht. Eine gemeinsame Sitzung liegt vor, wenn eine Vielzahl von Datenbankverwaltungssystemen 202 gleichzeitig auf eine Datenbank 206 zugreift.
  • Die Verbindung der Datenbankverwaltungssysteme 202 und Datenbanken 206 wird durch eine elektrische Datenübertragung 208 gekennzeichnet. Die elektrische Datenübertragung 208 kann als Datenträger angesehen werden und als eine Netzzentralverbindung 36 ausgeführt sein. Elektrische Datenübertragung 208 erfordert nicht, dass die Komponenten physisch miteinander verbunden sind. Die elektrische Datenübertragung kann elektromagnetisch, durch Infrarot-Strahlung oder andere drahtlose Übertragungen erfolgen. Des Weiteren dient 2 ausschließlich Veranschaulichungszwecken, da sich Datenbanksysteme 200 in ihrer Implementierung unterscheiden und nicht jedes System 200 über mehrere Datenbankverwaltungssysteme 202 verfügt, die mit mehreren Datenbanken kommunizieren. Für den Zweck der Erfindung ist es ausreichend, dass ein Datenbankverwaltungssystem 202 mit einer Datenbank 206 in elektrischer Datenübertragung 208 steht.
  • Datenbankwiederherstellungsverfahren erfordern, dass eine Datenbank 206 über eine entsprechende Sicherungskopie 210 verfügt, die als physische oder als logische Kopie vorliegen kann. In einer Ausführungsart wird die Sicherungskopie 210 auf einem Magnetbandlaufwerk gespeichert, obgleich auch andere Speichermittel zum Einsatz kommen können. Die Sicherungskopie 210 stellt den Inhalt der Datenbank 206 bis zu einem bestimmten Zeitpunkt dar und dient als Ausgangspunkt für den Datenbankwiederherstellungsprozess. Die Sicherungskopie 210 stellt jedoch kein vollständiges Daten-Repository der Datenbank 206 dar und zur Datenbankwiederherstellung werden, wie unten ausgeführt, zusätzliche Daten benötigt. Die Sicherungskopie 210 kann, je nachdem wie es für die Wiederherstellung erforderlich ist, mit anderen Komponenten des Systems 200 in einer elektrischen Datenübertragung 208 stehen.
  • Das Datenbanksystem 200 beinhaltet des Weiteren ein Repository 212 von wiederherstellungsbezogenen Informationen. Das Repository 212 dient dem Speichern von Informationen, die beim Auftreten eines Datenträgerausfalls oder eines anderen unbeabsichtigten Fehlers zur Wiederherstellung verlorener Daten erforderlich sind. So kann zum Beispiel die Hardware innerhalb eines Systems unerwartet ausfallen oder ein Benutzer kann unbeabsichtigt fehlerhafte Daten oder Befehle eingegeben haben, die zur Inkonsistenz einer oder mehrerer Datenbanken 206 führten. Das Repository 212 umfasst Dateien mit Informationen, die sich auf die Datenbankwiederherstellung beziehen und die für jede im System 200 verwendete Datenbank 206 spezifisch sein können. Das Repository 212 steht mit den anderen Komponenten des Systems 200 in einer elektrischen Datenübertragung 208, wie es die Aktualisierung der Dateien im Repository 212 und der Zugriff auf sie erfordert. Wiederherzustellende Datenbanken 206 können in einer Wiederherstellungsliste angegeben sein, indem eine oder mehrere Datenbankdateien, ganze Datenbanken 206 oder Gruppen, wie im Repository 212 definiert, für die Wiederherstellung gekennzeichnet werden. Diese Gruppen können zum Beispiel Datenbankdateiengruppen oder andere Arten von Datenbankgruppen umfassen.
  • Das Datenbanksystem 200 umfasst eine oder mehrere CADSs 214, die als CADS1 bis CADSn bezeichnet werden, um einen Unterschied in der Anzahl der CADSs 214 innerhalb des Systems 200 anzuzeigen. Die CADS 214 enthält Datensätze, die Änderungsdaten aus einem oder mehreren Protokollen 204 für einen bestimmten Zeitraum darstellen. Eine einzelne CADS 214 kann darüber hinaus Aktualisierungen einer oder mehrerer Datenbanken 206 darstellen. Die CADS 214 kann in elektrischer Datenübertragung 208 mit weiteren Komponenten stehen, je nachdem wie es für die Wiederherstellung einer oder mehrerer Datenbanken 206 erforderlich ist.
  • In 3. ist eine Vielzahl ausführbarer Module, die für den Einsatz innerhalb der Speichervorrichtungen 18 aus 1 geeignet sind, zu sehen. Natürlich können die Speichervorrichtungen 18, in denen sich die Module der vorliegenden Erfindung befinden, auch über lokale und ferne Computerstationen 12 verteilt sein. Eine logische Konfiguration zur Datenbankwiederherstellung wird in vorliegendem Dokument als Datenbank-Wiederherstellungsdienstprogramm 300 bezeichnet. Das Datenbank-Wiederherstellungsdienstprogramm 300 kann, wie in 1 gezeigt, in eine Station 12 oder in den Server 42 integriert sein. Die Diskussion einer Implementierung des Datenbank-Wiederherstellungsdienstprogramms 300 in Bezug auf eine Station 12 oder den Server 42 ist nicht als Einschränkung gedacht. Das Datenbank-Wiederherstellungsdienstprogramm 300 kann in verschiedenen Gerätekonfigurationen implementiert sein, wovon Station 12 und Server 42 lediglich Beispiele darstellen.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 kann in eine Datenbank oder in mehrere Datenbanken 206 integriert sein und verwaltet die physische Wiederherstellung der Datenbanken 206. Das Datenbank-Wiederherstellungsdienstprogramm 300 umfasst ein Sicherungskopie-Wiederherstellungsdienstprogramm 302 zum Lesen und Wiederherstellen einer oder mehrerer Sicherungskopien 210. In einer Ausführungsart liest das Sicherungskopie-Wiederherstellungsdienstprogramm 302 eine Sicherungskopie 210 von einem Magnetbandlaufwerk. Eine Sicherungskopie 210 kann Sicherungskopiedateien für mehr als eine Datenbank 206 enthalten. Alternativ kann eine Vielzahl von Sicherungskopien 210 für eine einzige Datenbank 206 bestehen. Bei der Wiederherstellung von mehreren Datenbanken 206 gibt es möglicherweise mehrere Sicherungskopien 210. Wird mehr als eine Sicherungskopie 210 benötigt, so liest das Sicherungskopie-Wiederherstellungsdienstprogramm 302 diese Sicherungskopien 210 vorzugsweise eher parallel als sequenziell, um die Lesezeit zu verkürzen.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 umfasst des Weiteren einen CADS-Manager 304, um die für die Wiederherstellung erforderlichen CADSs zu lesen. Die CADSs 214 werden ebenso wie die Sicherungskopien 210 parallel gelesen, um die Lesezeit zu verkürzen. Der CADS-Manager 304 liest die CADSs 214 vorzugsweise parallel, während die Sicherungskopien 210 von dem Sicherungskopie-Wiederherstellungsdienstprogramm 302 gelesen werden. Die CADSs 214 werden in den Speicher 18 eingelesen und bei Bedarf auf die Sicherungskopien 210 angewandt, während die Sicherungskopien 210 gelesen und wiederhergestellt werden.
  • Die Fähigkeit, Sicherungskopien 210 oder CADS 214 parallel zu lesen, kann von den zur Verfügung stehenden Hardware-Komponenten abhängen. Wie zuvor erwähnt, kann jede Sicherungskopie 210 oder jede CADS 214 in einem Speicher, wie zum Beispiel einem Bandlaufwerk, gespeichert sein. Steht für jede gelesene Sicherungskopie 210 und für jede gelesene CADS 214 ein Bandlaufwerk zur Verfügung, so ist die Lesezeit die Zeitspanne, die zum Lesen der umfangreichsten Sicherungskopie 210 oder der umfangreichsten CADS 214 benötigt wird. Stehen weniger Laufwerke zur Verfügung als es Sicherungskopien 210 oder CADSs 214 gibt, so kann sich die Lesezeit beträchtlich erhöhen, da ein teilweise sequenzielles Lesen erforderlich wird.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 umfasst des Weiteren ein Wiederherstellungssteuermodul 305, das die Datenbankdateien im Repository 212, die der Wiederherstellungsliste hinzugefügt werden sollen, prüft. Das Wiederherstellungssteuermodul 305 bestimmt die Protokolle 204, die Sicherungskopien 210 und die CADS 214, die die zur Wiederherstellung erforderlichen Daten enthalten. Diese Bestimmung basiert auf Daten im Repository 212. Der Benutzer hat sicherzustellen, dass die Wiederherstellung nicht gestartet wird, solange nicht alle Datenbanken 206, die wiederhergestellt werden, von den Datenbankverwaltungssystemen 202 offline sind. Datenbanken 206 in der Wiederherstellungsliste, die aktiven Datenbankverwaltungssystemen 202 zugeordnet sind, werden nicht wiederhergestellt. Das Wiederherstellungsdienstprogramm 300 kann den Benutzer einer Datenbank 206, die nicht wiederhergestellt werden kann, benachrichtigen.
  • In 3 ist des Weiteren ein CADS-Dienstprogramm 306 dargestellt, das Aktualisierungen sammelt und die CADS 214 erstellt. Wie oben erörtert, liest das CADS-Dienstprogramm 306 Protokolldateien sequenziell in den Protokollen 204, um eine oder mehrere CADSs zu erstellen.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 umfasst des Weiteren einen Protokollmanager 308, der die erforderlichen Protokolldateien der Protokolle 204 liest. Der Protokollmanager 308 erzeugt einen Wiederherstellungsdatenstrom, der aus einem Satz Protokolldatensätzen besteht, die für die Wiederherstellung einer bestimmten Gruppe von Datenbanken 206 erforderlich sind. Datensätze im Wiederherstellungsdatenstrom werden in der Reihenfolge ihres Erstellungszeitpunkts gemischt.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 enthält auch ein Mischendpunktdienstprogramm 310, das einen Mischendpunkt in jedem vom Protokollmanager 308 gelesenen Protokoll bestimmt. Der Mischendpunkt kennzeichnet einen Zeitpunkt in einem unvollständigen Protokoll, zu dem keine weiteren Protokolldatensätze mit einer wiederhergestellten Datenbank gemischt werden dürfen sondern in Reservedatensätze eingeschrieben werden müssen. Somit markiert der Mischendpunkt den Punkt, an dem Protokolldatensätze von Detaildatensätzen in Reservedatensätze übergehen. Die Bestimmung des Mischendpunktes ist für die Erfindung von Nutzen, wie nachfolgend erklärt wird. Das Mischendpunktdienstprogramm 310 kann dem CADS-Dienstprogramm 306 den Mischendpunkt liefern, um die Position des Mischendpunktes in einer CADS 214 festzustellen.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 kann einen Protokolldatensatz-Router 312 einschließen, der die Protokolldatensätze des Wiederherstellungsdatenstroms verarbeitet und an einen Datenbankaktualisierungsmanager 314 übergibt. Der Datenbankaktualisierungsmanager 314 aktualisiert Datenbankdateien, auf die die Protokolldatensätze verweisen.
  • Das Datenbank-Wiederherstellungsdienstprogramm 300 umfasst außerdem ein Imagekopier-und-Wiederherstellungsdienstprogramm 316, das der Erstellung der wiederhergestellten Datenbanken 318 dient. Das Imagekopier-und-Wiederherstellungsdienstprogramm 316 erhält die Sicherungskopie 210 vom Sicherungskopie-Wiederherstellungsdienstprogramm 302 und verwendet die Sicherungskopie 210 als Grundlage für die Erstellung einer oder mehrerer wiederhergestellter Datenbanken 318. Das Imagekopier-und-Wiederherstellungsdienstprogramm 316 erhält außerdem Dateien vom CADS-Manager 304. Das Imagekopier-und-Wiederherstellungsdienstprogramm 316 koordiniert die Anwendung der Dateien aus der CADS 214 in einer geeigneten sequenziellen Reihenfolge, um eine wiederhergestellte Datenbank 318 zu erstellen. Nachdem das Imagekopier-und-Wiederherstellungsdienstprogramm 316 die wiederhergestellten Datenbanken 318 erstellt und Daten dort eingeschrieben hat, fügt der Datenbankaktualisierungsmanager 314 die Protokolldateien an geeigneter Position in die wiederhergestellten Datenbanken 318 ein.
  • In 4 ist ein Zeitliniendiagramm für mehrere Protokolle 204 dargestellt und allgemein mit der Ziffer 400 bezeichnet. Die in 4 dargestellten Protokolle 204 befinden sich in einer gemeinsamen Umgebung, in der zwei oder mehr Datenbankverwaltungssysteme 202 auf eine einzige Datenbank 206 zugreifen. Die Protokolle 204 erstrecken sich über den Zeitraum bis zu einem Datenbankausfall 401. Jedes Protokoll 204 enthält eine Reihe von Aktualisierungen 402, die auf der Zeitlinie angezeigt und vom entsprechenden Datenbankverwaltungssystem 202 durchgeführt werden. Den Protokollen 204 stehen aufgrund der gemeinsamen Umgebung nicht alle Protokolldatensätze zur Verfügung, deshalb handelt es sich um unvollständige Protokolldateien. Daher ist es nicht bekannt, ob bestimmte Aktualisierungen 402 abgebrochen oder festgeschrieben wurden.
  • Der Mischendpunkt ist mit 404 beziffert und bezeichnet den Zeitpunkt, der die Detaildatensätze 406, die gemischt werden können, von den Reservedatensätzen 408, die nicht gemischt werden dürfen, trennt. Wie in 4 dargestellt, handelt es sich bei allen Protokolldatensätzen auf der linken Seite des Mischendpunktes 404 um Detaildatensätze 406, während es sich bei allen Protokolldatensätzen der rechten Seite um Reservedatensätze 408 handelt. Am Mischendpunkt 404 stoppt der Änderungssammelprozess mit dem Schreiben der Protokolldatensätze in Detaildatensätze 406 und muss danach die Protokolldatensätze in Reservedatensätze 408 schreiben.
  • Zu einem bestimmten Zeitpunkt wird ein Änderungssammelprozess 410 ausgeführt, um eine CADS 214 zu erstellen. Aktualisierungen 402, die als festgeschrieben bestätigt wurden, werden in Detaildatensätze 406 in der CADS 214 geschrieben. Bestimmte Aktualisierungen 402 sind jedoch nicht als festgeschrieben bestätigt und dürfen nicht mit anderen Datensätzen gemischt werden. Der Änderungssammelprozess 410 kann für die unvollständigen Protokollsätze durchgeführt werden, aber die nicht bestätigten Aktualisierungen 402 werden in Reservedatensätze 408 geschrieben und sind Bestandteile einer unvollständigen CADS 214. Wie nach dem Stand der Technik bekannt, ist es möglich, Reservedatensätze 408 in einem nachfolgenden Änderungssammelprozess zu lesen und sie mit den anderen Datensätzen zu mischen, falls die relevanten Protokolldatensätze verfügbar werden.
  • In 5 ist eine Folge von Verfahrensschritten 500 dargestellt, um eine Ausführungsart des Verfahrens der vorliegenden Erfindung zu veranschaulichen. Vor dem Start des vorliegenden Verfahrens sind eine oder mehrere Datenbanken 206 ausgefallen. Das Wiederherstellungsverfahren setzt bei Schritt 502 ein. Das Starten kann die Betriebsvorbereitung des Datenbank-Wiederherstellungsdienstprogramms einschließen, indem zum Beispiel ein separater Adressraum für die Verwaltung von Sicherungsdateien, CADSs und Protokolldateien angelegt wird, interne Systemprüfungen durchgeführt werden, Speicher und Vorrichtungen benötigter Adressen, etc., initialisiert werden. Befehle zur Wiederherstellungsimplementierung können vom in 3 dargestellten Datenbank-Wiederherstellungsdienstprogramm 300 ausgeführt werden. Nachdem der Initiierungsschritt 502 gestartet wurde, werden die restlichen Verfahrensschritte 500 automatisch ohne Eingreifen des Benutzers durchgeführt, wobei das Laden von Sicherungskopien 210 und CADSs 214 in die Eingabevorrichtungen 26, wie unten erläutert, eine Ausnahme darstellt.
  • In Schritt 504 erstellt das Wiederherstellungsdienstprogramm 300 eine Wiederherstellungsliste, die eine Sammlung von wiederherzustellenden Datenbanken 206 darstellt. In einer Ausführungsart wird die Wiederherstellungsliste bei Erstellung in Schritt 504 einem logischen Terminal, welches den Wiederherstellungsbefehl ausgab, zugeordnet.
  • Die Wiederherstellung wird mit Schritt 506 fortgeführt, wenn das Wiederherstellungsdienstprogramm 300 einen Befehl zum Starten der Wiederherstellung erhält. Das Wiederherstellungsdienstprogramm 300 führt eine Überprüfung durch um festzustellen, ob die Wiederherstellung gerade vollzogen wird oder ob eine benötigte Wiederherstellungsliste nicht auffindbar ist. Ist Letzteres der Fall, so wird eine Fehlermeldung ausgegeben und die Wiederherstellung abgebrochen. Ansonsten wird die Wiederherstellung fortgeführt. Das Wiederherstellungsdienstprogramm 300 wertet die Wiederherstellungsliste aus, indem es sicherstellt, dass sich jede Datenbank 206 in einem Status befindet, der eine Wiederherstellung zulässt, und sie bestimmt auch die für die Wiederherstellung dieser ausgewerteten Einträge erforderlichen Betriebsmittel.
  • In Schritt 508 werden die erforderlichen Sicherungskopien 210 vom Sicherungskopie-Wiederherstellungsdienstprogramm 302 parallel gelesen. Der CADS-Manager 304 liest gleichzeitig die erforderlichen CADSs 214 parallel. Das parallele Lesen der Sicherungskopien 210 und der CADSs 214 hängt von der Anzahl der zur Verfügung stehenden Eingabevorrichtungen 26, wie zum Beispiel Bandlaufwerke, ab. In einer Ausführungsart kann der Benutzer die Anzahl der zu benutzenden Eingabevorrichtungen 26 angeben.
  • Bei der Wiederherstellung von mehreren Datenbanken 210 mit Datensätzen in einer einzigen CADS 214 wird die CADS 214 nur einmal in den Speicher 18 eingelesen. Datensätze, die zur Wiederherstellung einer bestimmten Datenbank 210 erforderlich sind, werden dann aus dem Speicher 18 abgerufen. Damit erübrigt sich der Schritt des wiederholten Lesens einer einzigen CADS 214 für jede Datenbank 210.
  • In einer gemeinsamen Umgebung ist die CADS 214 unvollständig und enthält Reservedatensätze 408, die nicht mischbar sind. Um die Wiederherstellung zu beschleunigen, liest der CADS-Manager 304 nur die Detaildatensätze 406 und ignoriert die Reservedatensätze 408. So ist für die Wiederherstellung die Ausführung eines Änderungssammelprozesses zur Vervollständigung der CADS überflüssig, da lediglich die Detaildatensätze 406 gelesen werden. Die Detaildatensätze 404 stellen die Aktualisierungen 402 bis zum Mischendpunkt 404 dar und werden in den Speicher 18 eingelesen.
  • In Schritt 510 wird die Sicherungskopie 210 vom Imagekopier-und-Wiederherstellungsdienstprogramm 316 in die entsprechende wiederhergestellte Datenbank 318 geschrieben. Auf diese Art dient die Sicherungskopie 210 als Ausgangspunkt für die Erstellung der wiederhergestellten Datenbank 318. Während die Sicherungskopie 210 vom Imagekopier-und-Wiederherstellungsdienstprogramm 316 geschrieben wird, bestimmt das Imagekopier-und-Wiederherstellungsdienstprogramm 316 die Position des nächsten Detaildatensatzes 404 der CADS 214 in der wiederhergestellten Datenbank 318. Jeder Detaildatensatz 404 der CADS 214 besitzt eine Identifikation für die sequenzielle Anordnung in der wiederhergestellten Datenbank 318. Das Imagekopier-und-Wiederherstellungsdienstprogramm 316 schreibt die Sicherungskopie 210 sequenziell in die wiederhergestellte Datenbank 318, bis der nächste Detaildatensatz 404 aus der CADS 214 benötigt wird. Nach dem Mischen des Detaildatensatzes 404 in die wiederhergestellte Datenbank 318 bestimmt das Imagekopier-und-Wiederherstellungsdienstprogramm 316 die Position des nächsten Detaildatensatzes 404.
  • In Schritt 512 fragt das Imagekopier-und-Wiederherstellungsdienstprogramm 316 den CADS-Manager 304 ab, ob ein bestimmter, für die wiederhergestellte Datenbank 318 erforderlicher Detaildatensatz 404 schon gelesen wurde. Während Detaildatensätze 406 vom CADS-Manager 304 in den Speicher 18 eingelesen werden, werden die Datensätze 404 auf Anforderung an das Imagekopier-und-Wiederherstellungsdienstprogramm 316 weitergeleitet. Tritt eine Anforderungsverzögerung bezüglich der Detaildatensätze 406 auf, so können einige oder alle Detaildatensätze 406 zur Langzeitspeicherung im virtuellen Speicher 25 gespeichert werden.
  • In Schritt 516 wird der angeforderte Detaildatensatz 404, wenn er gelesen wurde, an das Imagekopier-und-Wiederherstellungsdienstprogramm 316 gesendet und mit der wiederhergestellten Datenbank 318 in zeitlicher Reihenfolge gemischt.
  • In Schritt 514 wird, wenn der angeforderte Detaildatensatz 404 noch nicht gelesen wurde, die Abfrage im Speicher 18 gespeichert. Wenn der CADS-Manager 304 den Detaildatensatz 404 liest, wird die Abfrage aufgezeichnet und die Detaildatensätze 406 werden an das Imagekopier-und-Wiederherstellungsdienstprogramm 316 gesendet, um mit der wiederhergestellten Datenbank 318 gemischt zu werden.
  • Es sollte zur Kenntnis genommen werden, dass – obgleich das Verfahren 500 in Bezug auf das Flussdiagramm der 5 linear dargestellt wurde – die Schritte 508, 510, 512, 514 und 516 gleichzeitig ausgeführt werden können. Somit können die Detaildatensätze 406, während die Sicherungskopie 210 in die wiederhergestellte Datenbank 318 geschrieben wird, gelesen und mit der wiederhergestellten Datenbank gemischt werden.
  • In Schritt 518 wird das Mischen der Sicherungskopie 210 und der CADS 214 mit der wiederhergestellten Datenbank 318 abgeschlossen. Der Protokollmanager 308 liest ein oder mehrere Protokolle 204 in den Speicher 18 ein und das Mischendpunktdienstprogramm 310 bestimmt die Position des Mischendpunktes 404 in den Protokollen 204. In einer gemeinsamen Umgebung wird wahrscheinlich mehr als ein Protokoll 204 zu lesen sein. Die Protokolle 204 werden parallel gelesen, um die Lesezeit zu verkürzen. Wiederum kann das parallele Lesen der Protokolle 204 von der Anzahl der zur Verfügung stehenden Eingabevorrichtungen 26 abhängen. Somit kann die Protokoll-Lesezeit genauso lang sein, wie die Zeit, die zum Lesen des längsten Protokolls 204 erforderlich ist.
  • Der Protokollmanager 308 leitet die auf den Mischendpunkt 404 folgenden Aktualisierungen 402 ab und diese Aktualisierungen 402 werden in den Reservedatensätzen 408 widergespiegelt. Der Protokollmanager 308 kann bestimmen, welche Aktualisierungen 402 in den Reservedatensätzen 408, basierend auf dem Lesen der Protokolle 204, festgeschrieben wurden. Die Aktualisierungen 402 werden in einem Wiederherstellungsdatenstrom an den Router 312 und anschließend an den Datenbankaktualisierungsmanager 314 gesendet.
  • In Schritt 520 wird der Datenbankaktualisierungsmanager 314 vom Protokolldatensatz-Router 312 beim Mischen der Aktualisierungen 402 in zeitlicher Reihenfolge mit der wiederhergestellten Datenbank 318 gesteuert. Das Datenbank-Wiederherstellungsdienstprogramm 300 aktiviert den Betrieb des Datenbankaktualisierungsmanagers 314 erst, nachdem das Imagekopier-und-Wiederherstellungsdienstprogramm 316 mit dem Schreiben in die wiederhergestellte Datenbank 318 fertig ist. Jede nach dem Mischendpunkt 404 festgeschriebene Aktualisierung wird identifiziert und mit der wiederhergestellten Datenbank 318 gemischt. Aktualisierungen 402 aus dem Reservedatensatz 408 können gleichzeitig während des Lesens der Protokolle 204 mit der wiederhergestellten Datenbank 318 gemischt werden, damit der Wiederherstellungsprozess weiter beschleunigt wird. Daher werden Aktualisierungen 402, sobald sie als festgeschrieben bestätigt wurden, sofort mit der wiederhergestellten Datenbank 318 gemischt, während nachfolgende Aktualisierungen 402 aus den Protokollen 204 gelesen werden. Somit stellt die wiederhergestellte Datenbank 318 eine genaue Entsprechung der Datenbank 206 zum Zeitpunkt kurz vor dem Ausfall dar.
  • Mit Schritt 522 endet das Verfahren 500.
  • Ein wesentlicher Vorteil der vorliegenden Erfindung besteht darin, dass verschiedene Prozesse parallel ausgeführt werden. Sicherungskopien 210 und CADSs 214 werden zur gleichzeitigen Verarbeitung parallel in den Speicher eingelesen. Daher können die Detaildatensätze 406 sofort und gleichzeitig mit dem Einschreiben der Sicherungskopie 210 in die wiederhergestellte Datenbank 318 verfügbar sein. Sollten Detaildatensätze 406 nicht sofort erforderlich sein, können sie in einen Langzeitspeicher verschoben werden. Außerdem wird jede CADS 214, die zur Datenbankwiederherstellung erforderlich ist, einmal in den Speicher eingelesen, unabhängig davon, wie viele Datenbanken 206 Datensätze in der CADS 214 aufweisen. Protokolle 204 werden ebenfalls eher parallel als sequenziell gelesen, um die Lesezeit bei den Protokollen zu reduzieren. Daher beinhaltet die abgelaufene Zeit bei der Wiederherstellung einer oder mehrerer Datenbanken Folgendes:
    die Lesezeit für die größte CADS 214 oder für die größte Sicherungskopie 210;
    zuzüglich der Einschreibezeit in die größte wiederhergestellte Datenbank 318;
    abzüglich der Überlappungszeit für das Lesen der CADSs 214 und der Sicherungskopien 210 bei gleichzeitigem Einschreiben in die größte wiederhergestellte Datenbank 318;
    zuzüglich der Lesezeit für das größte Protokoll;
    zuzüglich der Zeit für das Mischen der Aktualisierungen 402 aus dem Protokoll 204 mit den wiederhergestellten Datenbanken 318; und
    abzüglich der Überlappungszeit für das Lesen der Protokolle 204 und für das Mischen der Aktualisierungen 402.
  • Ein weiterer wesentlicher Vorteil der Erfindung besteht darin, dass die Datenbankwiederherstellung direkt anhand unvollständiger CADSs 214 durchgeführt wird. Indem die Reservedatensätze in der CADS 214 ignoriert werden und nachfolgende Lesevorgänge der Protokolle 204 als Basis dienen, werden alle festgeschriebenen Aktualisierungen 402 mit der wiederhergestellten Datenbank 318 gemischt. Die zeitintensive Notwendigkeit, einen Änderungssammelprozess durchzuführen, um jede unvollständige CADS zu vervollständigen, wird dadurch überflüssig. Somit kann die Wiederherstellung einer Datenbank 206 in einer gemeinsamen Umgebung erheblich beschleunigt werden.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Sinn oder ihren wesentlichen Eigenschaften abzuweichen. Die beschriebenen Ausführungsarten sind in jeder Hinsicht ausschließlich als Veranschaulichungen und nicht als Einschränkungen aufzufassen. Der Geltungsbereich der Erfindung wird daher vielmehr durch die angefügten Ansprüche als durch die vorangegangene Beschreibung gekennzeichnet. Alle Änderungen, die sich im Rahmen des Sinns und der Gleichwertigkeit der Ansprüche bewegen, werden von deren Geltungsbereich erfasst.

Claims (25)

  1. Vorrichtung zur Wiederherstellung einer fehlerhaften Datenbankdatei in einer von mehreren Datenbankverwaltungssystemen gemeinsam benutzten Datenbank, wobei von einer Sicherungskopie der Datenbankdatei ausgegangen wird, wobei die Vorrichtung Folgendes umfasst: eine Speichervorrichtung zum Speichern ausführbarer Module, wobei die Module Folgendes umfassen: a) ein Wiederherstellungsdienstprogramm, das über ein Sicherungskopie-Wiederherstellungsdienstprogramm verfügt, welches für das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei konfiguriert ist, b) ein Mischendpunktdienstprogramm umfasst, das für die Bestimmung des Mischendpunktes, welcher eine Trennung von Detaildatensätzen und Reservedatensätzen im Protokoll widerspiegelt, konfiguriert ist, c) einen Änderungssammelmanager, der so konfiguriert ist, dass er eine Sammeldatei für Änderungen parallel zum Lesen und Wiederherstellen der Sicherungskopie liest, um Detaildatensätze abzuleiten und d) ein Imagekopie-Wiederherstellungsdienstprogramm, das für die Anwendung der Detaildatensätze auf die Sicherungskopie während des Lesens und der Wiederherstellung der Sicherungskopie konfiguriert ist, um auf diese Weise eine wiederhergestellte Datenbankdatei zu erstellen, e) einen Protokollmanager, der für das Lesen eines Protokolls konfiguriert ist, um Aktualisierungen, die auf einen Mischendpunkt folgen, zu gewinnen, und f) einen Datenbankaktualisierungsmanager, der für die Anwendung der Aktualisierungen auf die wiederhergestellte Datenbankdatei konfiguriert ist.
  2. Vorrichtung nach Anspruch 1, bei der das Sicherungskopie-Wiederherstellungsdienstprogramm des Weiteren für das parallele Lesen und Wiederherstellen einer Vielzahl von Sicherungskopien konfiguriert ist.
  3. Vorrichtung nach Anspruch 1, bei der der Änderungssammelmanager des Weiteren für das parallele Lesen einer Vielzahl von Änderungssammeldateien konfiguriert ist, um Detaildatensätze zu gewinnen.
  4. Vorrichtung nach Anspruch 3, bei der der Protokollmanager des Weiteren für das parallele Lesen einer Vielzahl von Protokollen konfiguriert ist, um Aktualisierungen, die auf den Mischendpunkt folgen, zu gewinnen.
  5. Vorrichtung nach Anspruch 3, bei der der Datenbankaktualisierungsmanager des Weiteren für die Anwendung der Aktualisierungen nach Wiederherstellung der Sicherungskopie konfiguriert ist.
  6. Vorrichtung nach Anspruch 1, die des Weiteren einen virtuellen Speicher umfasst und bei der der Änderungssammelmanager darüber hinaus für die Speicherung von mindestens einem Teil der Detaildatensätze im virtuellen Speicher konfiguriert ist.
  7. Vorrichtung nach Anspruch 1, bei der das Sicherungskopie-Wiederherstellungsdienstprogramm für das Senden einer Abfrage nach einem der Datenbankdatei zugeordneten Detaildatensatz an den Änderungssammelmanager während des Lesens und Wiederherstellens der Sicherungskopie konfiguriert ist.
  8. Vorrichtung nach Anspruch 7, bei der der Änderungssammelmanager für das Speichern der Abfrage konfiguriert ist, falls der Detaildatensatz noch nicht vom Änderungssammelmanager gelesen wurde, und des Weiteren für das Senden des Detaildatensatzes an den Imagekopie-Wiederherstellungsprozess konfiguriert ist, falls der Detaildatensatz vom Änderungssammelmanager gelesen wurde.
  9. Verfahren zur Wiederherstellung einer fehlerhaften Datenbankdatei in einer von mehreren Datenbankverwaltungssystemen gemeinsam benutzten Datenbank, wobei von einer Sicherungskopie der Datenbankdatei ausgegangen wird, wobei das Verfahren Folgendes umfasst: a) Bereitstellen eines Imagekopie-Wiederherstellungsdienstprogramms, b) Bereitstellen eines Protokollmanagers, c) Lesen und Wiederherstellung einer Sicherungskopie der Datenbankdatei; d) Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; e) Anwenden der Detaildatensätze durch das Imagekopie – Wiederherstellungsdienstprogramms auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um dadurch eine wiederhergestellte Datenbankdatei zu erstellen, f) Bestimmen eines Mischendpunkts innerhalb eines Protokolls, Lesen des Protokolls durch den Protokollmanager, um nach dem Mischendpunkt liegende Aktualisierungen abzuleiten, und g) Anwenden der abgeleiteten Aktualisierungen auf die wiederhergestellte Datenbankdatei.
  10. Verfahren nach Anspruch 9, das des Weiteren das parallele Lesen und Wiederherstellen einer Vielzahl von Sicherungskopien umfasst, bei dem die Sicherungskopien den entsprechenden fehlerhaften Datenbankdateien zugeordnet sind.
  11. Verfahren nach Anspruch 9, das des Weiteren das parallele Lesen einer Vielzahl von Änderungssammeldateien umfasst, um Detaildatensätze zu gewinnen.
  12. Verfahren nach Anspruch 9, das des Weiteren das parallele Lesen einer Vielzahl von Protokollen umfasst, um Aktualisierungen, die auf einen Mischendpunkt folgen, zu gewinnen, sowie die Anwendung der Aktualisierungen auf die wiederhergestellten Datenbanken.
  13. Verfahren nach Anspruch 9, das des Weiteren die Bestimmung des Mischendpunktes umfasst, bei dem der Mischendpunkt eine Trennung von Detaildatensätzen und Reservedatensätzen im Protokoll darstellt.
  14. Verfahren nach Anspruch 9, das des Weiteren das Speichern von mindestens einem Teil der Detaildatensätze in einem virtuellen Speicher umfasst.
  15. Verfahren nach Anspruch 9, das des Weiteren das Erzeugen einer Abfrage umfasst, um eine Eingabeanforderung nach einem der Datenbankdatei zugeordneten Detaildatensatz zu veranlassen.
  16. Verfahren nach Anspruch 15, das des Weiteren das Speichern der Abfrage umfasst, falls der Detaildatensatz noch nicht gelesen wurde, und die Beantwortung der Abfrage durch die Anwendung des Detaildatensatzes auf die Sicherungskopie, falls der Detaildatensatz gelesen wurde.
  17. Computerlesbares Medium, auf dem vom Computer ausführbare Anweisungen für die Durchführung eines Verfahrens zur Wiederherstellung fehlerhafter Datenbankdaten gespeichert sind, wobei das Verfahren Folgendes umfasst: a) Bereitstellen eines Imagekopie-Wiederherstellungsdienstprogramms, b) Bereitstellen eines Protokollmanagers, c) Lesen und Wiederherstellung einer Sicherungskopie der Datenbankdatei; d) Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; e) Anwenden der Detaildatensätze durch das Imagekopie – Wiederherstellungsdienstprogramms auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um dadurch eine wiederhergestellte Datenbankdatei zu erstellen, f) Bestimmen eines Mischendpunkts innerhalb eines Protokolls, Lesen des Protokolls durch den Protokollmanager, um nach dem Mischendpunkt liegende Aktualisierungen abzuleiten, und g) Anwenden der abgeleiteten Aktualisierungen auf die wiederhergestellte Datenbankdatei.
  18. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren das parallele Lesen und Wiederherstellen einer Vielzahl von Sicherungskopien umfasst, wobei die Sicherungskopien den entsprechenden fehlerhaften Datenbankdateien zugeordnet sind.
  19. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren das parallele Lesen einer Vielzahl von Änderungssammeldateien zur Gewinnung von Detaildatensätzen umfasst.
  20. Computerlesbares Medium nach Anspruch 19, worin das Lesen des Protokolls und die Anwendung der Aktualisierungen im Anschluss an die Wiederherstellung der Sicherungskopie ausgeführt werden.
  21. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren das parallele Lesen einer Vielzahl von Protokollen zur Gewinnung von Aktualisierungen, folgend auf den Mischendpunkt, und die Anwendung der Aktualisierungen auf die wiederhergestellte Datenbankdatei umfasst.
  22. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren die Bestimmung des Mischendpunktes umfasst, wobei der Mischendpunkt eine Trennung von Detaildatensätzen und Reservedatensätzen im Protokoll darstellt.
  23. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren das Speichern mindestens eines Teils der Detaildatensätze in einem virtuellen Speicher umfasst.
  24. Computerlesbares Medium nach Anspruch 17, worin das Verfahren des Weiteren die Erzeugung einer Abfrage umfasst, um eine Eingabeanforderung nach einem der Datenbankdatei zugeordneten Detaildatensatz zu veranlassen.
  25. Computerlesbares Medium nach Anspruch 24, worin das Verfahren des Weiteren das Speichern der Abfrage umfasst, falls der Detaildatensatz noch nicht gelesen wurde, und die Beantwortung der Abfrage durch die Anwendung des Detaildatensatzes auf die Sicherungskopie, falls der Detaildatensatz gelesen wurde.
DE10112941A 2000-04-10 2001-03-17 System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien Expired - Fee Related DE10112941B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/545,752 2000-04-10
US09/545,752 US7043504B1 (en) 2000-04-10 2000-04-10 System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets

Publications (2)

Publication Number Publication Date
DE10112941A1 DE10112941A1 (de) 2001-10-18
DE10112941B4 true DE10112941B4 (de) 2009-05-20

Family

ID=24177409

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10112941A Expired - Fee Related DE10112941B4 (de) 2000-04-10 2001-03-17 System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien

Country Status (4)

Country Link
US (1) US7043504B1 (de)
CN (1) CN1214323C (de)
DE (1) DE10112941B4 (de)
TW (1) TW522320B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089716A1 (en) * 2010-10-12 2012-04-12 Igor Katz Method for accelerating start up of a computerized system

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399325C (zh) * 2002-10-25 2008-07-02 联想(北京)有限公司 一种嵌入式数据库的数据备份和恢复方法
CN100373385C (zh) * 2003-01-17 2008-03-05 中兴通讯股分有限公司 一种备份和恢复重要数据的方法
GB0308264D0 (en) * 2003-04-10 2003-05-14 Ibm Recovery from failures within data processing systems
US7181476B2 (en) * 2003-04-30 2007-02-20 Oracle International Corporation Flashback database
US7085886B2 (en) * 2003-05-28 2006-08-01 International Buisness Machines Corporation Autonomic power loss recovery for a multi-cluster storage sub-system
TWI251157B (en) 2003-06-20 2006-03-11 Hon Hai Prec Ind Co Ltd Event logging system and method
JP4124348B2 (ja) * 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
ATE368901T1 (de) * 2003-08-27 2007-08-15 Sap Ag Weiterleiten von änderungen in einer datenbank
JP2006221487A (ja) * 2005-02-14 2006-08-24 Hitachi Ltd リモートコピーシステム
US20050149554A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. One-way data mirror using write logging
US7246258B2 (en) * 2004-04-28 2007-07-17 Lenovo (Singapore) Pte. Ltd. Minimizing resynchronization time after backup system failures in an appliance-based business continuance architecture
US7650356B2 (en) * 2004-08-24 2010-01-19 Microsoft Corporation Generating an optimized restore plan
CN1299203C (zh) * 2004-09-14 2007-02-07 中国人民解放军上海警备区司令部指挥自动化工作站 数据容灾备份控制系统
CN100372302C (zh) * 2004-09-23 2008-02-27 华为技术有限公司 一种远程容灾系统及方法
CN1329829C (zh) * 2004-11-29 2007-08-01 中兴通讯股份有限公司 一种用户数据库的备份恢复方法
US7487386B2 (en) * 2005-03-30 2009-02-03 International Business Machines Corporation Method for increasing file system availability via block replication
US8335768B1 (en) 2005-05-25 2012-12-18 Emc Corporation Selecting data in backup data sets for grooming and transferring
US7506203B2 (en) * 2005-11-10 2009-03-17 International Business Machines Corporation Extracting log and trace buffers in the event of system crashes
US7496796B2 (en) * 2006-01-23 2009-02-24 International Business Machines Corporation Apparatus, system, and method for predicting storage device failure
ATE532313T1 (de) * 2006-02-15 2011-11-15 Software Ag Ausfallsicheres system zum verwalten von client- server-kommunikation
JP4842703B2 (ja) * 2006-05-18 2011-12-21 株式会社日立製作所 ストレージシステム及びそのリカバリボリューム作成方法
US8112396B2 (en) * 2006-06-07 2012-02-07 Emc Corporation Backup and recovery of integrated linked databases
US7685460B1 (en) * 2006-09-28 2010-03-23 Emc Corporation Multiple concurrent restore using same user interface
KR100862661B1 (ko) * 2006-11-16 2008-10-10 삼성전자주식회사 지연된 로깅 방법 및 그 장치
CN101689494B (zh) 2007-07-05 2013-09-25 日立化成株式会社 金属膜用研磨液及研磨方法
DE102007034449B4 (de) 2007-07-20 2010-09-30 Sew-Eurodrive Gmbh & Co. Kg Getriebe-Baureihe und Verfahren zur Herstellung eines Getriebes
US7996365B2 (en) * 2008-07-07 2011-08-09 International Business Machines Corporation Record level fuzzy backup
CN101908021B (zh) * 2009-06-03 2015-06-17 康佳集团股份有限公司 一种闪存擦写方法及闪存存储器
CN101625655B (zh) * 2009-08-20 2011-05-25 华中科技大学 一种内存数据库的并行恢复方法
CN101651580B (zh) * 2009-09-08 2012-09-05 中兴通讯股份有限公司 一种触发双机切换的方法及装置
TWI464412B (zh) * 2010-04-21 2014-12-11 Hon Hai Prec Ind Co Ltd 訊號檢測系統及方法
CN101908064A (zh) * 2010-07-20 2010-12-08 中兴通讯股份有限公司 数据库备份恢复方法和装置
CN101923573A (zh) * 2010-08-09 2010-12-22 哈尔滨工程大学 一种针对数据丢失的数据库数据快速恢复方法
JP5475702B2 (ja) * 2011-02-14 2014-04-16 株式会社日立製作所 メール保存バックアップシステムおよびバックアップ方法
CN103034636A (zh) * 2011-09-29 2013-04-10 盛乐信息技术(上海)有限公司 一种非关系型数据库的回滚方法、装置及系统
TWI478048B (zh) * 2012-02-23 2015-03-21 Univ Nat Taiwan 儲存系統與其存取方法
US9256526B2 (en) 2012-02-23 2016-02-09 National Taiwan University Flash memory storage system and access method
CN103020243A (zh) * 2012-12-18 2013-04-03 新浪网技术(中国)有限公司 一种数据库主从复制结构更换方法及装置
CN103761161B (zh) * 2013-12-31 2017-01-04 华为技术有限公司 恢复数据的方法、服务器及系统
CN107209683B (zh) * 2015-01-30 2021-01-22 惠普发展公司有限责任合伙企业 备份映像恢复
CN106202075B (zh) * 2015-04-29 2021-02-19 中兴通讯股份有限公司 一种数据库主备切换的方法及装置
US10394483B2 (en) * 2016-11-28 2019-08-27 International Business Machines Corporation Target volume shadow copy
US11435930B2 (en) * 2020-09-17 2022-09-06 EMC IP Holding Company LLC Intelligent recovery from multiple clouds copies
CN116541407B (zh) * 2023-07-07 2023-10-10 之江实验室 一种数据处理的方法、装置、存储介质及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043871A (en) 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
US5412801A (en) 1990-01-17 1995-05-02 E-Net Gap recovery for off-site data storage and recovery systems
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5280611A (en) 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type
US5404508A (en) 1992-12-03 1995-04-04 Unisys Corporation Data base backup and recovery system and method
US5581750A (en) 1993-03-15 1996-12-03 International Business Machines Corporation System and method for improving data recovery performance
US5561795A (en) 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US5721918A (en) 1996-02-06 1998-02-24 Telefonaktiebolaget Lm Ericsson Method and system for fast recovery of a primary store database using selective recovery by data type
US5907848A (en) 1997-03-14 1999-05-25 Lakeview Technology, Inc. Method and system for defining transactions from a database log
US6052692A (en) * 1998-01-30 2000-04-18 Flashpoint Technology, Inc. Method and system for managing image related events without compromising image processing
GB2343768A (en) * 1998-08-17 2000-05-17 Connected Place Limited Merging a sequence of delta files
US6282535B1 (en) * 1998-11-13 2001-08-28 Unisys Corporation Digital signaturing method and system for wrapping multiple files into a container for open network transport and for burning onto CD-ROM.
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6343301B1 (en) * 1999-02-24 2002-01-29 Navigation Technologies Corp. Method and system for collecting data for updating a geographic database
US6526417B1 (en) 2000-01-25 2003-02-25 International Business Machines Corporation System and method for change accumulation unmerged update reduction
US6594676B1 (en) * 2000-04-10 2003-07-15 International Business Machines Corporation System and method for recovery of multiple shared database data sets using multiple change accumulation data sets as inputs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KUMAR,Vijay, HSU,Meichun: "Recovery Mechanisms in Database Systems", 1998, ISBN: 0-13-614215-X, Kapitel 7-9.6, S.125-239 *
NøRVÅG,Kjetil, BRATBERGSENGEN,Kjell: "Write optimi zed Object- Oriented Database Systems", 1997, 17th International Conference of the Chilean Computer Science Society (SCCC'97), S.164; KUMAR,Vijay, HSU ,Meichun: "Recovery Mechanisms in Database Systems ", 1998, ISBN: 0-13-614215-X, Kapitel 7-9.6, S.125 -239
NøRVÅG,Kjetil, BRATBERGSENGEN,Kjell: "Write optimized Object- Oriented Database Systems", 1997, 17th International Conference of the Chilean Computer Science Society (SCCC'97), S.164 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089716A1 (en) * 2010-10-12 2012-04-12 Igor Katz Method for accelerating start up of a computerized system
US9110850B2 (en) * 2010-10-12 2015-08-18 Eci Telecom Ltd. Method for accelerating start up of a computerized system

Also Published As

Publication number Publication date
CN1317742A (zh) 2001-10-17
CN1214323C (zh) 2005-08-10
US7043504B1 (en) 2006-05-09
DE10112941A1 (de) 2001-10-18
TW522320B (en) 2003-03-01

Similar Documents

Publication Publication Date Title
DE10112941B4 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE60025043T2 (de) Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem
DE602005002532T2 (de) Cluster-datenbank mit ferndatenspiegelung
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE602004010872T9 (de) Systeme und Verfahren zur Dateisicherung
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE102008015662B4 (de) Beseitigung von Daten
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE602004006404T2 (de) Flashback-datenbank
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE3908459C2 (de) Netzwerkserver
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE19708021C1 (de) Verfahren zur Regelung eines Zugriffs von Rechnern auf Daten eines zentralen Rechners
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE19628168A1 (de) Vernetztes multimediales Netz
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
WO2001027806A1 (de) Integriertes datenbank-verbundsystem
DE4435751A1 (de) Dateiname-Erfassungsverfahren zur Verwendung mit einem Betriebssystem
AT1751U1 (de) Koordinations-system
DE60313468T2 (de) Speicherdienste und -systeme
EP1190324B1 (de) Verfahren zum gesicherten schreiben eines zeigers für einen ringspeicher
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
WO2003029906A1 (de) Dynamischer zugriff auf automatisierungsressourcen
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE69927223T2 (de) Ausfallsicherheit eines Mehrrechnersystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016270000