DE10112941A1 - 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 DatenbankdateienInfo
- Publication number
- DE10112941A1 DE10112941A1 DE10112941A DE10112941A DE10112941A1 DE 10112941 A1 DE10112941 A1 DE 10112941A1 DE 10112941 A DE10112941 A DE 10112941A DE 10112941 A DE10112941 A DE 10112941A DE 10112941 A1 DE10112941 A1 DE 10112941A1
- Authority
- DE
- Germany
- Prior art keywords
- database
- reading
- recovery
- updates
- records
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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)
Abstract
Die vorliegende Erfindung stellt eine Vorrichtung für ein Wiederherstellungsdienstprogramm zur Beschleunigung der Wiederherstellung während des Ausfalls einer oder mehrerer Datenbankdateien dar. Ein Dienstprogramm zur Sicherungskopiewiederherstellung liest eine oder mehrere Sicherungskopien der Datenbankdateien parallel. Gleichzeitig liest ein Änderungssammelmanager eine oder mehrere CADSs parallel. Jede CADSs, die einer oder mehreren Datenbankdateien zugeordnet ist, die wiederhergestellt werden müssen, wird nur einmal in den Speicher eingelesen. Auf diese Weise reduziert die parallele Ausführung des Leseprozesses die Wiederherstellungszeit. Um die Wiederherstellung weiter zu beschleunigen, werden Datensätze aus der CADS mit der wiederhergestellten Datenbank nach Bedarf und Verfügbarkeit gemischt, während die Sicherungskopie in die wiederhergestellte Datenbank geschrieben wird. DOLLAR A Der Änderungssammelmanager liest nur die Detaildatensätze, die festgeschrieben wurden, und ignoriert die Reservedatensätze, um die Notwendigkeit der Vervollständigung jeder unvollständigen CADS zu beseitigen. Ein Protokollmanager liest ein oder mehrere Protokolle, um die Aktualisierungen in den Reservedatensätzen, die auf einen Mischendpunkt folgen, zu gewinnen. 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 ...
Description
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.
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 IMS
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 Datenbankaktualisierungen 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.
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.
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.
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:
Fig. 1 stellt ein schematisches Blockdiagramm von einer
Ausführungsart eines Computersystems zur Implementierung des
Formatsystems der vorliegenden Erfindung dar;
Fig. 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;
Fig. 3 ist ein Blockdiagramm, das eine Ausführungsart einer
Wiederherstellungsvorrichtung zur Wiederherstellung von
einer oder mehreren Datenbankdateien gemäß einer
Ausführungsart der Erfindung veranschaulicht;
Fig. 4 stellt eine Veranschaulichung von
Protokollzeitlinien dar, die sich auf die Vorrichtung und
das Verfahren zur Wiederherstellung einer oder mehrerer
Datenbankdateien beziehen; und
Fig. 5 ist ein Flussdiagramm, das eine Ausführungsart eines
Verfahrens zur Wiederherstellung einer oder mehrerer
Datenbankdateien veranschaulicht.
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 Fig. 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 Fig. 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 Fig. 1 gemäß der vorliegenden Erfindung detaillierter
veranschaulichen.
Fig. 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 dass 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 Fig. 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 Fig. 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 Fig. 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 Fig. 3. ist eine Vielzahl ausführbarer Module, die für
den Einsatz innerhalb der Speichervorrichtungen 18 aus Fig.
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
Fig. 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 21() 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 Fig. 3 ist des Weiteren ein CADS-Dienstprogramm 306
dargestellt, das Aktualisierungen sammelt und die CADS 214
erstellt. Wie oben erörtert, liest dass 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 Fig. 4 ist ein Zeitliniendiagramm für mehrere Protokolle
204 dargestellt und allgemein mit der Ziffer 400 bezeichnet.
Die in Fig. 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 Fig. 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 Fig. 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
Fig. 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 Fig. 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.
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 (30)
1. Vorrichtung zur Wiederherstellung einer fehlerhaften
Datenbankdatei, wobei die Vorrichtung Folgendes umfasst:
eine Speichervorrichtung zum Speichern ausführbarer Module, wobei die Module Folgendes umfassen:
ein Wiederherstellungsdienstprogramm, das über ein Sicherungskopie-Wiederherstellungsdienstprogramm verfügt, welches für das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei konfiguriert ist,
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
ein Imagekopier-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.
eine Speichervorrichtung zum Speichern ausführbarer Module, wobei die Module Folgendes umfassen:
ein Wiederherstellungsdienstprogramm, das über ein Sicherungskopie-Wiederherstellungsdienstprogramm verfügt, welches für das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei konfiguriert ist,
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
ein Imagekopier-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.
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 1, bei der das
Wiederherstellungsdienstprogramm des Weiteren ein
Mischendpunktdienstprogramm umfasst, das für die
Bestimmung des Mischendpunktes, welcher eine Trennung
von Detaildatensätzen und Reservedatensätzen im
Protokoll widerspiegelt, konfiguriert ist.
5. Vorrichtung nach Anspruch 1, bei der das
Wiederherstellungsdienstprogramm des Weiteren umfasst:
einen Protokollmanager, der für das Lesen eines Protokolls konfiguriert ist, um Aktualisierungen, die auf einen Mischendpunkt folgen, zu gewinnen, und
einen Datenbankaktualisierungsmanager, der für die Anwendung der Aktualisierungen auf die wiederhergestellte Datenbankdatei konfiguriert ist.
einen Protokollmanager, der für das Lesen eines Protokolls konfiguriert ist, um Aktualisierungen, die auf einen Mischendpunkt folgen, zu gewinnen, und
einen Datenbankaktualisierungsmanager, der für die Anwendung der Aktualisierungen auf die wiederhergestellte Datenbankdatei konfiguriert ist.
6. Vorrichtung nach Anspruch 5, 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.
7. Vorrichtung nach Anspruch 5, bei der der
Datenbankaktualisierungsmanager des Weiteren für die
Anwendung der Aktualisierungen nach Wiederherstellung
der Sicherungskopie konfiguriert ist.
8. 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.
9. 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.
10. Vorrichtung nach Anspruch 9, 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
Imagekopier-Wiederherstellungsprozess konfiguriert ist,
falls der Detaildatensatz vom Änderungssammelmanager
gelesen wurde.
11. Verfahren zur Wiederherstellung einer fehlerhaften
Datenbank, wobei das Verfahren Folgendes umfasst:
das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei;
das Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; und
das Anwenden der Detaildatensätze auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um dadurch eine wiederhergestellte Datenbankdatei zu erstellen.
das Lesen und die Wiederherstellung einer Sicherungskopie der Datenbankdatei;
das Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; und
das Anwenden der Detaildatensätze auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um dadurch eine wiederhergestellte Datenbankdatei zu erstellen.
12. Verfahren nach Anspruch 11, das des Weiteren das
parallele Lesen und Wiederherstellen einer Vielzahl von
Sicherungskopien umfasst, bei dem die Sicherungskopien
den entsprechenden fehlerhaften Datenbankdateien
zugeordnet sind.
13. Verfahren nach Anspruch 11, das des Weiteren das
parallele Lesen einer Vielzahl von
Änderungssammeldateien umfasst, um Detaildatensätze zu
gewinnen.
14. Verfahren nach Anspruch 11, das des Weiteren das Lesen
eines Protokolls, um Aktualisierungen, die auf einen
Mischendpunkt folgen, zu gewinnen, und das Anwenden der
Aktualisierungen auf die wiederhergestellte
Datenbankdatei umfasst.
15. Verfahren nach Anspruch 14, bei dem das Lesen des
Protokolls und die Anwendung der Aktualisierungen nach
der Wiederherstellung der Sicherungskopie ausgeführt
werden.
16. Verfahren nach Anspruch 11, 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.
17. Verfahren nach Anspruch 11, das des Weiteren die
Bestimmung des Mischendpunktes umfasst, bei dem der
Mischendpunkt eine Trennung von Detaildatensätzen und
Reservedatensätzen im Protokoll darstellt.
18. Verfahren nach Anspruch 11, das des Weiteren das
Speichern von mindestens einem Teil der Detaildatensätze
in einem virtuellen Speicher umfasst.
19. Verfahren nach Anspruch 11, das des Weiteren das
Erzeugen einer Abfrage umfasst, um eine
Eingabeanforderung nach einem der Datenbankdatei
zugeordneten Detaildatensatz zu veranlassen.
20. Verfahren nach Anspruch 19, 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.
21. 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:
das Lesen und Wiederherstellen einer Sicherungskopie der Datenbankdatei;
das Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; und
die Anwendung der Detaildatensätze auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um auf diese Weise eine wiederhergestellte Datenbankdatei zu erstellen.
das Lesen und Wiederherstellen einer Sicherungskopie der Datenbankdatei;
das Lesen einer Änderungssammeldatei parallel zum Lesen und Wiederherstellen der Sicherungskopie, um der Datenbankdatei zugeordnete Detaildatensätze zu gewinnen; und
die Anwendung der Detaildatensätze auf die Sicherungskopie während des Lesens und Wiederherstellens der Sicherungskopie, um auf diese Weise eine wiederhergestellte Datenbankdatei zu erstellen.
22. Computerlesbares Medium nach Anspruch 21, worin das
Verfahren des Weiteren das parallele Lesen und
Wiederherstellen einer Vielzahl von Sicherungskopien
umfasst, wobei die Sicherungskopien den entsprechenden
fehlerhaften Datenbankdateien zugeordnet sind.
23. Computerlesbares Medium nach Anspruch 21, worin das
Verfahren des Weiteren das parallele Lesen einer
Vielzahl von Änderungssammeldateien zur Gewinnung von
Detaildatensätzen umfasst.
24. Computerlesbares Medium nach Anspruch 21, worin das
Verfahren des Weiteren das Lesen eines Protokolls zur
Gewinnung von Aktualisierungen, folgend auf einen
Mischendpunkt, und die Anwendung der Aktualisierungen
auf die wiederhergestellte Datenbankdatei umfasst.
25. Computerlesbares Medium nach Anspruch 24, worin das
Lesen des Protokolls und die Anwendung der
Aktualisierungen im Anschluss an die Wiederherstellung
der Sicherungskopie ausgeführt werden.
26. Computerlesbares Medium nach Anspruch 21, 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.
27. Computerlesbares Medium nach Anspruch 21, worin das
Verfahren des Weiteren die Bestimmung des
Mischendpunktes umfasst, wobei der Mischendpunkt eine
Trennung von Detaildatensätzen und Reservedatensätzen im
Protokoll darstellt.
28. Computerlesbares Medium nach Anspruch 21, worin das
Verfahren des Weiteren das Speichern mindestens eines
Teils der Detaildatensätze in einem virtuellen Speicher
umfasst.
29. Computerlesbares Medium nach. Anspruch 21, worin das
Verfahren des Weiteren die Erzeugung einer Abfrage
umfasst, um eine Eingabeanforderung nach einem der
Datenbankdatei zugeordneten Detaildatensatz zu
veranlassen.
30. Computerlesbares Medium nach Anspruch 29, 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.
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 true DE10112941A1 (de) | 2001-10-18 |
DE10112941B4 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009012841A1 (de) | 2007-07-20 | 2009-01-29 | Sew-Eurodrive Gmbh & Co. Kg | Verfahren zur herstellung eines getriebes und getriebe-baureihe |
Families Citing this family (44)
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 | 株式会社日立製作所 | 記憶システム |
EP1510933B1 (de) * | 2003-08-27 | 2007-08-01 | 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 | 삼성전자주식회사 | 지연된 로깅 방법 및 그 장치 |
TWI525680B (zh) | 2007-07-05 | 2016-03-11 | 日立化成股份有限公司 | 金屬膜用硏磨液以及硏磨方法 |
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 | 哈尔滨工程大学 | 一种针对数据丢失的数据库数据快速恢复方法 |
IL208641A0 (en) * | 2010-10-12 | 2010-12-30 | Eci Telecom Ltd | Method for accelerating start up of a computerized system |
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 | 华为技术有限公司 | 恢复数据的方法、服务器及*** |
WO2016122670A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Backup image restore |
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)
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 |
EP0981099A3 (de) * | 1998-08-17 | 2004-04-21 | Connected Place Limited | Verfahren und Vorrichtung zum Zusammenfügen einer Sequenz von Delta-Dateien |
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 |
-
2000
- 2000-04-10 US US09/545,752 patent/US7043504B1/en not_active Expired - Fee Related
-
2001
- 2001-02-07 TW TW090102680A patent/TW522320B/zh not_active IP Right Cessation
- 2001-03-17 DE DE10112941A patent/DE10112941B4/de not_active Expired - Fee Related
- 2001-04-09 CN CNB011162783A patent/CN1214323C/zh not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009012841A1 (de) | 2007-07-20 | 2009-01-29 | Sew-Eurodrive Gmbh & Co. Kg | Verfahren zur herstellung eines getriebes und getriebe-baureihe |
Also Published As
Publication number | Publication date |
---|---|
CN1317742A (zh) | 2001-10-17 |
DE10112941B4 (de) | 2009-05-20 |
CN1214323C (zh) | 2005-08-10 |
US7043504B1 (en) | 2006-05-09 |
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 | |
DE69126067T2 (de) | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung | |
DE102008015662B4 (de) | Beseitigung von Daten | |
DE60025043T2 (de) | Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem | |
DE69119222T2 (de) | Datensicherung und Beseitigung in einem Datenverarbeitungssystem | |
DE602005004166T2 (de) | Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen | |
DE602004010872T2 (de) | Systeme und Verfahren zur Dateisicherung | |
DE60224030T2 (de) | Verwaltungs- und synchronisierungsapplikation für netzwerkdateisystem | |
DE3786956T2 (de) | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. | |
DE60312746T2 (de) | Wiederherstellung nach fehlern in datenverarbeitungsanlagen | |
DE3689664T2 (de) | Verfahren und Gerät zur Verwaltung von veralteten Datenobjekten. | |
DE602004006404T2 (de) | Flashback-datenbank | |
DE69729399T2 (de) | Datenverwaltungssystem und Verfahren für replizierte Daten | |
DE69838756T2 (de) | Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system | |
EP0760130B1 (de) | Datenverwaltungssystem eines realzeitsystems | |
DE4435751B4 (de) | Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem | |
DE3908459C2 (de) | Netzwerkserver | |
DE602005002532T2 (de) | Cluster-datenbank mit ferndatenspiegelung | |
DE69214828T2 (de) | Kodeserver. | |
DE69635469T2 (de) | Synchronisierung zwischen verschiedenen Computeranbieterumgebungen | |
DE69403192T2 (de) | Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk | |
DE60113586T2 (de) | Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung | |
DE102004056216A1 (de) | Fernkopiersystem und Speichersystem | |
DE10393771T5 (de) | Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD) | |
WO2001027806A1 (de) | Integriertes datenbank-verbundsystem |
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 |