DE69330433T2 - Verfahren zur relationsherstellung einer datenbank bei fehlern - Google Patents
Verfahren zur relationsherstellung einer datenbank bei fehlernInfo
- Publication number
- DE69330433T2 DE69330433T2 DE69330433T DE69330433T DE69330433T2 DE 69330433 T2 DE69330433 T2 DE 69330433T2 DE 69330433 T DE69330433 T DE 69330433T DE 69330433 T DE69330433 T DE 69330433T DE 69330433 T2 DE69330433 T2 DE 69330433T2
- Authority
- DE
- Germany
- Prior art keywords
- subsystem
- data
- objects
- marked
- dependent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000011084 recovery Methods 0.000 claims abstract description 48
- 230000009471 action Effects 0.000 claims abstract description 9
- 230000001419 dependent effect Effects 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000004044 response Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
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
-
- 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)
- Multi Processors (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Container Filling Or Packaging Operations (AREA)
- Debugging And Monitoring (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zur Relationsherstellung im Fall von Fehlern.
- In einem Datenbanksystem gibt es viele Maßnahmen, die gegen einen Informationsverlust vorgenommen werden können. Normalerweise werden Sicherungskopien und Log(Protokoll)- Listen zum Sichern verwendet, so dass eine Extrakopie der Datenbank vorliegt. Diese werden dann für ein Restaurieren der Datenbank im Falle eines Systemausfalls oder Hardwarefehlern verwendet.
- Eine Datenbank weist normalerweise eine Wiederherstellungsfunktion auf, die auf eine Konsistenz von in der Datenbank gespeicherte Daten reagiert, d. h. die den erwarteten Zustand mit Bezug auf unterschiedliche Aktualisierungen und ihre Gruppierung aufweisen.
- Um ein Wiederherstellen von Schreibfehlern der Datenbank aufgrund eines Ausfalls zu ermöglichen, muss eine Sicherungs(Backup)version sicher gespeichert werden. Eine Sicherung enthält alle notwendige Information, um die Datenbank wieder in den gleichen konsistenten Zustand zu bringen, der zu dem Zeitpunkt vorlag, als die Sicherung erzeugt wurde.
- Eine typische Strategie zum Wiedergewinnen einer Datenbank kann wie folgt zusammengefasst werden:
- Falls die Datenbank aufgrund eines aufgetretenen katastrophalen Fehlers inkonsistent wurde, ordnet die Wiederherstellfunktion einen Neustart mit einem Neuladen der Datenbank zur letzten Sicherungsversion an. Um eine Rückkehr in einen aktuelleren Zustand zu erlauben, wird die Datenbank dann mit Information aktualisiert, die in einem Log gespeichert ist, d. h. einer Historie früherer Betriebsvorgänge, gespeichert in einem Speicher, der durch die Wiederherstellfunktion zum Wiederherstellen der letzten erlaubten Transaktionen verwendet wird, d. h. Betriebsvorgängen bezüglich Objekten oder Datensätzen (records) in der Datenbank. Das Konzept eines Objekts umfasst hier die bekannte Bedeutung innerhalb des Standes der Technik der Datenverarbeitung. Kurzgesagt ist ein Objekt ein Informationspaket mit einer zugeordneten Beschreibung, wie die Information zu handhaben ist. Die Objekte sind, wie es auch die Datensätze sind, unterteilt in Klassen gemäss ihrem Anwendungsgebiet, und sind mittels Zeichen identifiziert. Eine detaillierte Beschreibung des Konzepts von Objekten kann beispielsweise gefunden werden in "Object-Oriented Analysis" von Peter Coad und Edward Yourdon, Yourdon Press Computing Series.
- Die Informationen und Mechanismen, die für ein Wiederherstellen der Datenbank erforderlich sind, werden durch das für ein Aktualisieren der Datenbank gewählte Verfahren bestimmt. Im Falle eines Aktualisierens eines Objektes wird eine Kopie des ursprünglichen Objektes erzeugt, eine Sperrung wird angefügt, um zu verhindern, dass andere Benutzer die Datenbank aktualisieren, und bei einer Bestätigung, d. h. bei einer Beendigung einer Transaktionsverarbeitung, verwendet durch ein Programm oder einen Bediener, die angibt, dass eine momentane Transaktion beendet ist, und dass ihre Effekte verbleiben sollen, wird die aktualisierte Kopie eingefügt und angefügte Sperren werden freigegeben.
- Im Falle, dass ein Fehler in der Datenbank nicht sofort erfasst werden kann, ist eine Datenbankkopie nicht ausreichend. In einem Bankregister kann ein Bediener zum Beispiel aus Versehen einen Kundendatensatz entfernen, trotz der Tatsache, dass immer noch zugeordnete Kontoeinträge vorhanden sind, oder er kann aus Versehen alle Zahlungsbeschwerden entfernen.
- Im ersten Fall gibt es gut bekannte Verfahren zum Sicherstellen einer Datenintegrität. Diese werden Integritätsbedingungen genannt. Solch eine Bedingung könnte es beispielsweise sein, dass Kontoeinträge einem Kundenregister zugeordnet sein müssen. Es könnte auch ein etablierter Wiederherstellungsmechanismus vorhanden sein, der vorschreibt, was passieren soll, falls eine Integritätsbedingung verletzt wird. In dem obigen Beispiel könnten einem definitiven Entfernen des Kundendatensatzes gezwungenermaßen aufeinanderfolgende Liquidierungsschritte vorangehen, die zu der Entfernung auch von Kontoeinträgen zusammen mit dem Kundendatensatz führen.
- In dem zweiten Fall, bei dem alle Zahlungsbeschwerden entfernt wurden, ist es notwendig, entfernte Datensätze aus einer Sicherungskopie wiederherstellen zu können. Auf der anderen Seite ist es notwendig, dass nicht alle Daten in der Datenbank wiederhergestellt werden, zum Beispiel zwölf Stunden alte Einträge bezüglich Banktransaktionen. Sogar wenn es möglich wäre, nur solche Datensätze aus der Sicherung zu finden und wiederherzustellen, die Zahlungsbeschwerden betreffen, während der Rest der Datenbank aktualisiert verbleibt, müssen auch alle Verletzungen von Integritätsbedingungen gefunden werden können, und entsprechende Wiederherstellungsmaßnahmen müssten genommen werden können, die erforderlich sind für ein Wiedererstellen der Integrität der Datenbank. Es kann dann jedoch schwierig sein, sicherzustellen, dass nicht noch wichtigere Daten durch diese Maßnahmen zerstört werden, zum Beispiel Banktransaktionen.
- In einem bekannten Datenbankmanagementsystem ist die Funktion implementiert, um Teilsysteme unter Verwendung von vollständig unterschiedlichen Datenbanken wiederherzustellen. Dieses umfasst, dass keine Garantien für eine Konsistenz zwischen den unterschiedlichen Wiederherstellungsteilsystem vorhanden sind, und dass keine Integritätsbedingungen (wie beispielsweise die Existenz einer Abhängigkeit) zwischen Objekten in unterschiedlichen Datenbanken und Teilsystemen erfüllt sind.
- Aus der US 4,933,848 ist ein Datenbankmanagementsystem bekannt, in dem Anforderungen an Daten angelegt werden, dass sie Referenzbedingungen aufweisen. Die Datenbank ist eine Relationsdatenbank, in der Daten in Tabellen mit Zeilen und Spalten gespeichert sind. Neue Zeilen werden gespeichert und Information bezüglich diesen und ihrer Beschränkungen werden extrahiert und sortiert. Die neuen Zeilen werden hinsichtlich Beschränkungsverletzungen überprüft, und die Verletzungen werden richtiggestellt, um die Referenzintegrität wieder zu erstellen.
- Die GB 2,252,853 bezieht sich allgemein auf ein Speichern und Wiedergewinnen von Daten in einer Relationsdatenbank.
- Es ist eine Aufgabe der Erfindung, ein Verfahren für Relationsherstellung in der Datenbank bereitzustellen, während gleichzeitig ein durchgehender Zugriff auf die Datenbank erlaubt wird, das sicherstellt, dass Daten immer in einem konsistenten Zustand sind und die Konsequenzen eines Datenausfalls im größtmöglichen Ausmaß beschränkt sind.
- Die vorliegende Erfindung ist in den beigefügten Ansprüchen definiert.
- Ausführungsbeispiele der Erfindung werden nunmehr mit engerem Bezug auf die beigefügten Zeichnungen beschrieben:
- Fig. 1 veranschaulicht schematisch eines der Probleme, die zu der vorliegenden Erfindung geführt haben,
- Fig. 2 zeigt ein Fig. 1 ähnliches Diagramm, das Ereignisabläufe in Verbindung mit einem ersten Beispiel für eine Wiederherstellung veranschaulicht,
- Fig. 3 zeigt ein Fig. 2 zugeordnetes Flussdiagramm,
- Fig. 4 zeigt ein Fig. 2 ähnliches Diagramm, das Ereignisabläufe in Verbindung mit einem zweiten Wiederherstellungsbeispiel veranschaulicht, und
- Fig. 5 zeigt ein Fig. 4 zugeordnetes Flussdiagramm.
- In der Beschreibung unterhalb wird eine Anzahl von unterschiedlichen Aktoren, Funktionen und Aktionen beschrieben. In diesem Zusammenhang ist darauf hinzuweisen, dass, falls nicht anders bemerkt, dies eine Frage einer Softwarefunktionalität ist, die durch einen Computer, nicht gezeigt, durchgeführt wird. Solche Computer und ihre Funktionsweisen können dergestalt sein, wie es dem Fachmann offensichtlich wird, beim Lesen der unterhalb aufgeführten Beschreibung, und müssen daher nicht weiter erläutert werden. Der in der Beschreibung verwendete Code ist ein Pseudocode für C++ und sollte dem Fachmann auch gut bekannt sein.
- In Übereinstimmung mit den kennzeichnenden Merkmalen der Erfindung ist die Erfindung auf der Verwendung von Wiederherstellungs-Untersystemen gegründet, zwischen denen gewisse Abhängigkeitsbezüge existieren können, die unterhalb genauer beschrieben werden. Diese Wiederherstellungs- Untersysteme werden verwendet zur Beschränkung eines Problems auf die Anwendung, die es bewirkt hat. In einer Datenbank umfasst dieses, dass Funktionen vorhanden sind, die ein Rückabwickeln (Rückspulen) von Teilen der Datenbank erlauben, ohne das Log neu zu laden, ohne die gesamte Datenbank rückabzuwickeln. Die Beispiele unterhalb basieren auf der Annahme, dass es mehrere Hierarchieebenen von Wiederherstellungs-Untersystemen gibt.
- In dem Diagramm in Fig. 1 ist die horizontale Achse eine Zeitachse. Die schneidende vertikale Achse bezeichnet den Zeitpunkt der letzten Sicherung. Die oberen und unteren Bereiche 2 bzw. 4 veranschaulichen Ereignisabfolgen in einem "oberen" und einem "unteren" Wiederherstellungs-Untersystem. Die kleinen runden nicht schraffierten Bereiche 6 und 8 in den jeweiligen "Ereignisabläufen" bezeichnen Objekte, zwischen denen eine Abhängigkeitsbeziehung existiert. Am Ende des Ereignisablaufs 2 in dem oberen Wiederherstellungs- Untersystem tritt eine Fehlersituation auf, die ein Rückabwickeln dieses Wiederherstellungsteilsystems erforderlich macht, durch einen Pfeil 10 angezeigt.
- Die Frage, angezeigt durch einen Pfeil 12, ist nun was mit der Relation zwischen dem Objekt 8 und dem Objekt 6, das nach der Rückabwicklung nicht existiert, passiert.
- Das Obige, veranschaulicht mit Bezug auf Fig. 1, ist dazu vorgesehen, eins der Probleme zu veranschaulichen, die durch die vorliegende Erfindung gelöst werden. Insbesondere ist es das Problem, sicherzustellen, dass Integritätsbedingungen, die sich über mehr als einen Datenbankdatensatz erstrecken, und mehr als über ein Wiederherstellungs-Untersystem, nach einem Rückführen eines der Untersysteme gültig sind.
- Ein Teil dieser Lösung ist es, eine Anzahl von den Objekten zugeordneten Attributen zu bestimmen, wie auch Relationsherstellungsverfahren für unterschiedliche Situationen.
- Unterhalb sind Beispiele für eine Anzahl von Attributen gegeben. Die Abkürzung DOL, unterhalb in dem Namen der Attribute verwendet, kommt von Data Object Logic (Datenobjektlogik), dessen Bedeutung offensichtlich ist.
- Dies ist ein Einbitflag, das in einem Transaktionsprotokoll enthalten ist, Transaktionslog und Backup (Sicherung). Falls gesetzt, bedeutet das Flag, dass das Objekt eine direkte Abhängigkeitsrelation zu Objekten in einem weiteren, unteren Wiederherstellungsteilsystem aufweist. Es wird gesetzt durch die Relationslogik, wenn die erste direkte Abhängigkeit eingerichtet wurde, und wird entfernt, wenn die letzte direkte Abhängigkeit entfernt wurde. Nur direkte Abhängigkeiten sind relevant, und somit keine indirekten.
- Das Flag wird verwendet durch einen Relationsgewinnungsagenten, um Objekte zu finden, die "roots" (Wurzeln) von Problemhierarchien sein können. Es kann daher geeigneterweise als ein Bit in einem Katalog von Objekten enthalten sein.
- Dieses ist ein Einbitflag, das nicht in dem Transaktionslog enthalten sein muss, und nicht rückabgewickelt werden muss.
- Jedoch muss ein Nullsetzen in dem Transaktionsprotokoll enthalten sein. Falls gesetzt bedeutet das Flag, dass das Objekt in einem Wiederherstellungs-Untersystem enthalten ist, das rückabgewickelt wurde, und die Relationen davon nicht vollständig wiederhergestellt wurden, und dass das Objekt seit einem Rückabwickeln nicht überprüft wurde.
- Das Flag ist für alle Objekte gesetzt im Falle eines Rückabwickelns und wird freigegeben für jedes Objekt, wenn es überprüft ist. Wenn der Relationswiederherstellungsagent alle Objekte mit dem gesetzten ForeignDependency Flag überprüft hat, können alle Not OK Flags gelöscht werden. Weiter wird dieses Flag geeigneterweise als ein Bit in den Objektkatalog eingefügt.
- Dieses ist eine Liste von in dem Transaktionsprotokoll, dem Transaktionslog und Backup enthaltenen Referenzen. Die Liste umfasst Referenzen zu allen Objekten mit einer direkten Abhängigkeit vom Selbst-Objekt, und werden durch die Relationslogik von DOL gehalten.
- Es wird verwendet für ein Alarmieren von abhängigen Objekten, falls das Selbst-Objekt zerstört wurde und durch die Relationswiederherstellungsfunktion wiedergewonnen wurde.
- Dieses ist eine Liste von Referenzen, die in dem Transaktionsprotokoll, dem Transaktionslog und Backup enthalten ist. Die Liste umfasst Referenzen zu Objekten, zu denen das Selbst-Objekt direkte Abhängigkeiten aufweist, und wird durch die Relationslogik von DOL gehalten.
- Es wird verwendet zum Erzeugen eines Wissensstandes bezüglich solcher Objekte, die überprüft werden müssen, bevor garantiert werden kann, dass das Selbst-Objekt korrekt ist (durch das Verfahren Verify, unterhalb beschrieben). Geeigneterweise wird das Flag mit einer solchen Aufzählung von den Referenzen des Objektes implementiert, dass solche referenztragenden Abhängigkeiten bekannt sind.
- Nur in geöffneten Objekten während der Relationswiederherstellung verwendet, muss nicht gespeichert werden, und bedeutet, ob das Selbst-Objekt
- in einem Abhängigkeitsbaum enthalten ist, der verifiziert wird (Verifying_Self) zum Vermeiden von Schleifen,
- überprüft werden muss, wenn die Verifikation vorgenommen wird (Must_Check),
- bereits rückgesetzt wurde (Reset) und somit nicht nochmals rückgesetzt werden soll;
- oder falls nichts besonderes anwendbar ist (Normal)
- Der DOL.Rec_Status wird gehalten und durch die Relationswiederherstellungsfunktionalität verwendet.
- Die obigen in Klammern aufgeführten Bezeichnungen werden unterhalb in Verbindung mit einer Beschreibung von Wiederherstellungsverfahren verwendet.
- RecDB (Recovery Data Base), enthalten in dem Namen, bedeutet Wiederherstellungsdatenbank. Es ist die Frage einer Zeitmarkierung, die anzeigt, wann das Wiederherstellungs- Untersystem und somit die Wiederherstellungsdatenbank zuletzt rückabgewickelt wurde.
- Es wird verwendet durch die Wiederherstellungsfunktionalität zum Erzeugen eines Wissenstandes von Objekten, die nicht rückabgewickelt wurden, und die daher inkompatible Daten aufweisen können. Es wird gesetzt durch einen Wiederherstellungsmanager in Verbindung mit dem Rückabwickeln.
- Zur Vereinfachung der Beschreibung wird etwas ungenau angenommen, dass Objekte sich selbst öffnen können und dass sie antworten können, dass sie nicht existieren oder dass jemand anderes sie gesperrt hat. Man vergleiche auch die Ausführungsbeispiele, die unterhalb detaillierter beschrieben werden.
- In der folgenden Beschreibung sind die Definitionen der Verfahren als Typ-des-Objekts.Name-des-Verfahrens(Typ-des- Arguments formaler_Name) dargestellt. Dies soll so verstanden werden, dass für Objekte des Typs Typ-von-Objekt, das Verfahren Name-von-Verfahren definiert ist, das ein Argument des Typs Typ-von-Argument annimmt. In den Definitionen ist das Argument mit der Bezeichnung formaler_Name bezeichnet.
- Ein Aufrufen eines Verfahrens in Übereinstimmung mit Name- von-Verfahren(Argument) soll interpretiert werden als ein Aufrufen des Verfahrens mit dem Namen Name-von-Verfahren mit dem Wert des innerhalb der Klammern bezeichneten Arguments.
- Eine Antwort von einem Verfahrensaufruf wird entweder als Antwortcode oder Antwortcode(Definition) bezeichnet, wobei der Antwortcode die Antwort mit einer Definition, falls vorhanden, innerhalb der Klammern bezeichnet.
- Falls das Objekt durch eine andere Transaktion gesperrt ist, sollte die Antwort LOCKED verwendet werden.
- Falls das Objekt ein NOT_OK (Nicht_OK) Flag aufweist, das nicht gesetzt ist, oder falls es bereits in der Transaktion TR geöffnet ist, sollte die Antwort V_Ready mit der letzten Rückabwicklungszeit des Teilsystems als ein Argument verwendet werden.
- Falls das Objekt nicht geöffnet ist und das NOT_OK Flag gesetzt ist, wird es mit einem Schreiben einer Sperre in TR geöffnet.
- Das Attribut Rec_Status ist auf Verifying_Self (Selbstverifizierung) eingestellt. Verify(TR) wird weiter (rekursiv) zu den Objekten gesendet, von denen das Selbst- Objekt abhängt. Falls eins der Objekte gesperrt ist, wird der Versuch abgebrochen und die Antwort V_locked sollte verwendet werden. Falls alle Objekte mit einer richtigen Rückabwicklungszeit antworten, und falls das Alertverfahren (Alarmverfahren) des Selbst-Objektes nicht aufgerufen wurde (d. h. Rec.Status wurde nicht auf Must_Check (Überprüfungszwang) gesetzt, vgl. unterhalb), sollte die Antwort V_ready (Rückabwicklungszeit) verwendet werden und Rec.Status soll auf Normal eingestellt werden. Andernfalls wird das Verfahren Check(TR) des Selbst-Objekts aufgerufen. Falls es erfüllt wird, ist die Antwort V_Ready (Rückabwicklungszeit).
- Die Relationsüberprüfungen des Objekts werden gestartet. Falls sie erfüllt werden, wird das Attribut Rec_Status auf Normal gesetzt.
- Falls etwas nicht in Ordnung ist, wird Reset(TR) ausgeführt und Alert (TR) (siehe unterhalb) wird für alle Objekte aufgerufen, die von dem Selbst-Objekt abhängen.
- Die Attribute des Objekts erhalten ihre Nulleinstellungswerte, oder andernfalls wird das Objekt entfernt, in Abhängigkeit dessen, was als Relationsherstellungsaktion bestimmt ist.
- Das Attribut Rec.Status ist auf Reset eingestellt.
- Es gibt vier Arten von Aktionen, die solch ein Wiederherstellungsverfahren kombinieren kann.
- - Einstellen eines Attributs. Relativ einfach wird der Status des Objekts rückgesetzt auf etwas was mit der Umgebung kompatibel ist. Die Attributeinstellung muss eine einfache Zuweisung sein, da auf der anderen Seite es nicht von anderen Objekten abhängen darf - diese sind die, die die Probleme hervorrufen - und, auf der anderen Seite, darf es nicht fehlschlagen, da es keinen "alten Wert" gibt, zu dem zurückgekehrt werden könnte.
- - Entfernen einer Referenz. Dieses ist die normale Weise, mit Referenzen zu Objekten umzugehen, die nicht existieren. Dieses ist geeignet in einem Fall, in dem optionale Referenzen verschwunden sind, kann jedoch auch in einem Fall mit Kardinalfehlern oder sogar Zustandsfehlern verwendet werden.
- - Entfernung des Objekts. Dieses kann geeignet sein im Falle einer Existenzabhängigkeit, oder möglicherweise im Falle einer Kardinalabhängigkeit. Falls das Objekt entfernt wird, gibt es keinen Grund, eine der zwei obenerwähnten Aktionen zu verwenden.
- - Sende eine Benachrichtigung zu einem Agenten. Diese Aktion kann verwendet werden, wenn es beispielsweise erwünscht ist, Betreiber oder ähnliches zu informieren.
- Falls das Objekt durch eine andere Transaktion gesperrt ist, wird LOCKED zurückgeliefert.
- Falls das Objekt nicht offen ist, wird es mit dem Schreibschutz in TR geöffnet, und falls das NOT_OK Flag gesetzt ist, bewirkt es Verify(TR) bezüglich sich selbst. Möglicherweise existierende Fehlercodes werden zurückgeliefert, andernfalls wird Check(TR) des Selbst- Objekts aufgerufen und Fehlercodes oder A_Ready werden zurückgeliefert.
- Falls das Objekt offen ist, und damit beschäftigt ist, sich selbst zu verifizieren, d. h. Rec_Status ist Verifying_Self oder Must_Check, wird Rec-Status auf Must_Check eingestellt. A_Ready wird zurückgeliefert.
- Falls das Objekt ein Rücksetzen bereits durchgeführt hat, d. h. Rec_Status ist rückgesetzt, wird A_Ready zurückgeliefert, da es nicht weiter möglich ist, das Objekt auf Null zu setzen.
- In den verbleibenden Fällen wird Check(TR) aufgerufen und die Fehlercodes oder A_Ready werden zurückgeliefert.
- Dies ist ein Zusatz zum normalen Verfahren beim Öffnen eines Objekts, das auf normale Weise vorgenommen wird, falls das Not_OK Flag gesetzt ist. In solch einem Fall wird eine neue Transaktion gestartet und Verify des Selbst-Objekts wird aufgerufen.
- Falls LOCKED (oder ein anderer Fehlercode) erhalten wird, wird in Antwort darauf die Transaktion TR unterbrochen und die Antwort wird sein "Relationen nicht voll wiederhergestellt". Das Öffnen hat fehlgeschlagen.
- Falls V_Ready(TR) als Antwort erhalten wird, wird die Transaktion ausgeführt, und das Öffnen wird wie gewöhnlich durchgeführt.
- Jedes Mal, wenn ein Objekt als ein Teil einer Transaktion geschrieben wird, wird das Not_OK Flag gelöscht, falls es gesetzt war, da die Relationslogik erfüllt ist.
- Sobald eine Abhängigkeitsrelation für ein Objekt in einer weiteren Relationsherstellungsdatenbank gesetzt ist, wird das Foreign_Dependency Flag gesetzt.
- Falls die letzte Abhängigkeit zu einem Objekt in einer anderen Relationsherstellungsdatenbank entfernt wird, wird das Foreign_Dependency Flag gelöscht.
- Das Foreign_Dependency Flag ist im Transaktionsprotokoll enthalten.
- Unterhalb wird der im Fall einer Relationsherstellung verwendete Algorithmus kurz beschrieben.
- - Der Wiederherstellungsmanager der Datenbank initiiert eine Relationsherstellung durch:
- - Not_OK (nicht ok) Markieren aller Objekte. Am geeignetsten wird dies durchgeführt, wenn der Objektkatalog sowieso wiedererstellt wird.
- - Der Relationsherstellungsmanager (vgl. unterhalb) wird gestartet. Daraufhin kann der Verkehr angeschaltet werden. Dies wird in allen Fällen benötigt, in denen nicht das gesamte Transaktionslog für die Herstellungsdatenbank gelesen wurde.
- Dieser Agent geht durch ein rückabgewickeltes Wiederherstellungs-Untersystem im Hintergrund. Es ist für die Konsistenz der Datenbank nicht notwendig, aber entfernt existierende Relationsprobleme, um so die meisten davon entfernt zu haben, bevor Objekte durch eine Anwendung geöffnet werden.
- Der Algorithmus basiert auf einem Auflösen der Problemketten "von unten". Dies wird durchgeführt, indem durch den Objektkatalog durchgegangen wird, und nach Objekten gesucht wird, bei denen sowohl das Not_OK Flag als auch das Foreign_Dependency Flag gesetzt ist. Wenn solch ein Objekt gefunden wird, wird eine Transaktion TR gestartet und Verify(TR) wird an das Objekt gesendet. Falls die Transaktion gut ausgeht, wird sie festgelegt; falls ein Sperren auftritt wird ein Abbruch durchgeführt und die Suche wird weiter fortgeführt.
- Wenn keine Objekte mit sowohl dem Not_OK Flag und dem Foreign_Dependency Flag übrig sind, wurden alle Objekte mit einer direkten Abhängigkeit zu einem anderen Untersystem rückgesetzt, und demgemäss weiter alle Objekte mit einer indirekten Abhängigkeit. Somit können nun alle Not_OK Flags gelöscht sein.
- In der obenbeschriebenen Implementierung gibt es nur ein Herstellungsverfahren für jeden Typ von Objekten - d. h. nicht einen für jede Validitätsbedingung. Der Grund dafür sind Leistungsanforderungen, im Grunde wären es jedoch sehr komplexe Abhängigkeiten zwischen unterschiedlichen Validitätsverletzungen und ihren Wiederherstellungen. Beispielsweise könnte eine Verletzung eine Wiederherstellung bedingen, die eine neue Verletzung erzeugt, die eine neue Wiederherstellung erzeugt, die wieder die erste Verletzung erzeugt. Es ist jedoch denkbar, dass eine Implementierung mehr Wiederherstellungsverfahren für jeden Typ von Objekt haben kann.
- In Fig. 2 ist eine Situation veranschaulicht, in der ein Ablauf von Ereignissen 20 aufgrund eines Fehlers unterbrochen wurde, zum Zeitpunkt BD2 in einer "oberen" Wiederherstellungsdatenbank, und die letztere wurde rückabgewickelt in Übereinstimmung mit dem Pfeil 22 zum letzten Sicherungsdatum BD1. Die Datenbank enthält die Objekte B1 und B2, die eine wechselseitige Abhängigkeit aufweisen, B1 hat jedoch auch eine Abhängigkeit von einem Objekt A1, das in einem Ereignisablauf 24 in einer "unteren" Herstellungsdatenbank enthalten ist. Nichts wurde geändert, jedoch wurden die Objekte bisher nicht überprüft.
- Falls jemand B2 öffnet, Transaktion TR1, passiert das folgende mit Bezug auf Fig. 3:
- - Beim Öffnungsaufruf entdeckt die Logik von B2, dass bei B2 das Not_OK Flag gesetzt ist. Daher wird eine neue Transaktion TR2 gestartet, die einen Verify-Aufruf an B2 durchführt.
- - Aufgrund dieses Aufrufs wird B2 geöffnet mit einem Schreibschutz und Abhängigkeiten werden untersucht. Die Abhängigkeit zu B1 wird entdeckt, und ein Verify-Aufruf wird bezüglich B1 durchgeführt.
- - Aufgrund der Tatsache, dass auch B1 Not_OK ist, wird es geöffnet mit einem Schreibschutz in TR2 und die Abhängigkeitsliste wird überprüft. Die Abhängigkeit zu A1 wird entdeckt, und ein Verify-Aufruf wird bezüglich A1 durchgeführt.
- - A1 ist OK und antwortet mit seinem letzten Rückabwicklungsdatum (BD1). Da dieses Datum nicht das gleiche ist wie von B1, ist es möglich, dass A1 mit B2 inkompatible Daten enthält.
- - B1 fährt fort mit seiner Liste von Abhängigkeiten und entdeckt die Abhängigkeit bezüglich B2 und sendet einen Verify-Aufruf.
- - B2 antwortet direkt mit seinem Datum (BD"), da es bereits offen ist, und somit bereits verifiziert hat.
- - Aufgrund der Tatsache, dass B1 die Zeitmarkierung BD1 von A1 empfangen hat, kann A1 inkompatibel sein. Daher muss sich B1 selbst überprüfen, indem es seine Relationslogik (Check) durchführt.
- - Dieses findet, dass alles in Ordnung ist; und B1 antwortet V_Ready (BD2) an B2.
- - B2 hat keinen Grund seine Auffassung zu ändern, oder sogar die Relationslogik laufen zu lassen, bedingt jedoch die Transaktion TR2.
- - Aus diesem Grund werden die Not_OK Flags von B2 und B1 (und A1, von dem bereits herausgefunden wurde, dass es OK ist) gelöscht.
- - B2 kann nun wie gewöhnlich für die Transaktion TR1 geöffnet werden.
- Im zweiten Ausführungsbeispiel, gezeigt in Fig. 4, wurde ein Ereignisablauf 30 unterbrochen zu einem Zeitpunkt BD2 in einer "oberen" Wiederherstellungsdatenbank, und die letztere wurde rückabgewickelt in Übereinstimmung mit Pfeil 32 zum letzten Sicherungsdatum BD1. Sie umfasst Objekte B1 und B2, die eine wechselseitige Abhängigkeit aufweisen, wobei B1 weiter eine Abhängigkeit von einem Objekt A1 aufweist, enthalten in einem Ereignisablauf 34 in einer "unteren" Herstellungsdatenbank. Seit der Sicherung wurden alle drei Objekte entfernt und A1 existiert immer noch nicht.
- Falls jemand B2 öffnet, Transaktion TR1, tritt das folgende mit Bezug auf Fig. 5 auf:
- - Zum Öffnungsaufruf entdeckt die Logik von B2, dass das Nicht_OK Flag von B2 gesetzt ist. Daher wird eine neue Transaktion TR2 gestartet, die einen Verify-Aufruf bezüglich B2 durchführt.
- - Aufgrund dieses Aufrufs wird B2 mit Schreibschutz geöffnet und Abhängigkeiten werden untersucht. Die Abhängigkeit von B1 wird entdeckt, und ein Verify-Aufruf wird bezüglich B1 durchgeführt.
- Aufgrund der Tatsache, dass ebenso B1 Not_OK ist, wird es mit Schreibschutz in TR2 geöffnet, und untersucht seine Abhängigkeitsliste. Die Abhängigkeit von A1 wird entdeckt, und der Verify-Aufruf liefert Not_Found (nicht gefunden) zurück.
- - B1 setzt seine Referenz bezüglich A1 auf Null und fährt fort mit seiner Abhängigkeitsliste und entdeckt die Abhängigkeit bezüglich B2 und sendet einen Verify-Aufruf:
- - B2 antwortet Verify_Ready, da es bereits Verify durchführt.
- - Aufgrund der Tatsache, dass B1 die Antwort Not_Found empfangen hat, muss es sich selbst durch Ablaufen lassen der Relationslogik (Check) überprüfen.
- - Dieses deckt auf, dass B1 "auf Null gesetzt" werden muss (Reset) aufgrund von einer Inkonsistenz. Wenn dies durchgeführt ist, müssen alle, die von B1 abhängen, informiert werden, und ein Alert-Aufruf muss bezüglich B2 durchgeführt werden.
- - Wenn B2 den Alert-Aufruf empfängt, weiß es, dass es die Relationslogik laufen lassen muss, dies wird jedoch nicht sofort durchgeführt, da nicht alle der Verify-Liste untersucht wurden. Es liefert Alert Ready zurück.
- - B1 ist nun fertig und liefert V_Ready (BD2) zurück.
- - B2 hat keine weiteren Objekte zu verifizieren, lässt jedoch die Relationslogik (Check) ablaufen.
- - Dieses stößt auf Probleme aufgrund der Tatsache, dass B1 geändert wurde, und muss rückgesetzt werden (Reset). Danach müssen alle abhängigen Objekte informiert werden, und ein Alert(Alarm)-Aufruf an B1 gesendet werden.
- - B1 weiß, dass es bereits auf Null gesetzt ist, und antwortet daher sofort mit Alert_Ready.
- - Die Transaktion TR2 wird begonnen (commited).
- - Aufgrund dessen werden die NOT_OK Flags von B2 und B1 auf Null gesetzt.
- - B2 kann nun wie gewöhnlich für die Transaktion TR1 geöffnet werden - ist jedoch auf Null gesetzt.
Claims (16)
1. Ein Verfahren zum Wiederherstellen von Relationen in
einer Datenbank im Falle von Fehlern, durchgeführt durch
einen Computer, wobei
Daten in der Datenbank strukturiert werden als Einheiten
von Daten in einer Vielzahl von
Herstellungsuntersystemen, wobei jede Einheit von Daten
nur einem Untersystem angehört,
umfassend die Schritte:
falls ein Untersystem mindestens eine Dateneinheit
enthält, die von einer anderen Dateneinheit in einem
anderen Untersystem abhängt, Markieren des Untersystems
als von dem anderen Untersystem abhängig,
falls ein erstes Untersystem als von einem zweiten
Untersystem als abhängend bezeichnet ist, wobei dieses
als von einem dritten Untersystem abhängig markiert ist,
rekursives Markieren des ersten Untersystems als von dem
dritten Untersystem abhängig,
wobei keine zwei Untersysteme als voneinander abhängig
markiert werden und
Integritätseinschränkungen zwischen einer Dateneinheit
in einem Untersystem und einer Dateneinheit in einem
anderen Untersystem zugelassen werden, vorausgesetzt,
dass eines der Untersysteme als von dem anderen abhängig
markiert ist, und
Wiederherstellen eines Untersystems, wobei nur
Dateneinheiten des Untersystems und von als von diesem
abhängig markierten Untersystemen geändert werden.
2. Ein Verfahren nach Anspruch 1, weiter den Schritt
umfassend:
Erstellen, gleichzeitig mit einem Durchführen einer
Sicherung eines Untersystems, konsistenter Kopien von
allen als von dem Untersystem abhängig markierten
Untersystemen.
3. Ein Verfahren nach Anspruch 2, weiter den Schritt
umfassend:
Wiederherstellen, im Falle einer Wiederherstellung eines
Untersystems von einer Sicherungskopie, von
Untersystemen, die als von dem von der Sicherungskopie
wiederhergestellten System abhängig markiert sind.
4. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei der Wiederherstellungsschritt nur Aktionen
umfasst, die zur Folge haben, dass das Untersystem
erneut einen konsistenten Zustand erreicht.
5. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei der Wiederherstellungsschritt nur solche
Untersysteme beeinflusst, die als von dem
wiederhergestellten Untersystem abhängig markiert sind.
6. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
wobei jedes Objekt ein Informationspaket mit einer
zugeordneten Beschreibung umfasst, wie seine Information
zu handhaben ist,
und der Wiederherstellungsschritt, wenn widersprechende
Werte zwischen Objekten in zwei unterschiedlichen
wiederherzustellenden Untersystemen auftreten, ein
Ersetzen der widersprechenden Werte mit einem Wert
umfasst, der ein vorgegebene Validitätseinschränkungen
erfüllt.
7. Ein Verfahren nach Anspruch 6, wobei Attribute der
Objekte auf einen vorgegebenen Wert rückgesetzt werden,
mittels einer einfachen Zuordnung, um nicht eine
Abhängigkeit von anderen Objekten zu erzeugen, und um
nicht fehlzuschlagen.
8. Ein Verfahren nach einem der Ansprüche 1 bis 5, wobei
Daten beschrieben und angeordnet sind in Übereinstimmung
mit einer objektorientierten Sprache und wobei jedes
Objekt ein Informationspaket mit einer zugeordneten
Beschreibung umfasst, wie seine Information zu handhaben
ist, und der Wiederherstellungsschritt, wenn
widersprechende Werte zwischen Objekten in zwei
unterschiedlichen Untersystem, die wiederhergestellt
werden, auftreten, ein Ändern des Zustands der Objekte
umfasst.
9. Ein Verfahren nach Anspruch 8, wobei der
Wiederherstellungsschritt ein Entfernen eines Bezuges
umfasst.
10. Ein Verfahren nach Anspruch 8, wobei der
Wiederherstellungsschritt ein Entfernen mindestens eines
der Objekte umfasst.
11. Ein Verfahren nach einem der vorhergehenden Ansprüche,
bei dem Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
wobei jedes Objekt ein Informationspaket mit einer
zugeordneten Beschreibung umfasst, wie dessen
Information zu handhaben ist, und der
Wiederherstellungsschritt ein Überprüfen von Relationen
umfasst, von denen das Objekt abhängt, durch Anfordern
einer Verifikation von allen Objekten, die am anderen
Ende der Relationen angeordnet sind, und ein Durchführen
von Relationssteuerungen, wenn die Gefahr eines
Auftretens von Fehlern besteht.
12. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
und wobei jedes Objekt ein Informationspaket umfasst,
mit einer zugeordneten Beschreibung, wie dessen
Information zu handhaben ist, und der
Wiederherstellungsschritt ein Durchführen von
Relationsüberprüfungen an einem Objekt umfasst, um so
ein Rücksetzen des Objekts im Falle von Fehlern zu
umfassen, und ein Informieren von Objekten mit
Abhängigkeitsrelationen zum überprüften Objekt, dass
diese Relationen von einem Objekt abhängen, das geändert
wurde.
13. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
wobei jedes Objekt ein Informationspaket umfasst, mit
einer zugeordneten Beschreibung, wie dessen Information
zu handhaben ist, und der Wiederherstellungsschritt
umfasst, im Falle einer Wiederherstellungsverarbeitung,
die ein Objekt enthält, ein Durchführen eines von
Rücksetzattributen des Objekts, Entfernen von Relationen
von dem Objekt, und Entfernen des Objekts, gemäss einer
Bestimmung durch die Objektrelationen.
14. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
wobei jedes Objekt ein Informationspaket umfasst, mit
einer zugeordneten Beschreibung, wie dessen Information
zu handhaben ist, und der Wiederherstellungsschritt
umfasst, Datenbankoperationen bezüglich überprüften
Objekten zu erlauben, bevor alle anderen Objekte
überprüft wurden.
15. Ein Verfahren nach einem der vorhergehenden Ansprüche,
wobei Daten beschrieben und angeordnet sind in
Übereinstimmung mit einer objektorientierten Sprache,
wobei jedes Objekt ein Informationspaket umfasst, mit
einer zugeordneten Beschreibung, wie dessen Information
zu handhaben ist, wobei der Computer einen
Wiederherstellungsmanager umfasst, zum Initiieren einer
Wiederherstellung von Relationen durch Markieren eines
betroffenen Objekts mit einem Flag, das anzeigt, dass
das Objekt in einem Relationsherstellungssystem
angeordnet ist, dass es rückabgewickelt wurde, und
dessen Relationen nicht vollständig wiedergewonnen
wurden, und dass das Objekt seit einem Rückabwickeln
nicht überprüft wurde, und wobei der
Wiederherstellungsschritt ein Starten des
Relationsherstellungsmanagers umfasst, und, ein Erlauben
von Datenbankbetriebsvorgängen.
16. Ein Verfahren nach Anspruch 15, wobei der
Relationsherstellungsmanager die meisten
Relationsprobleme entfernt, bevor Objekte geöffnet
werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9203690A SE508828C2 (sv) | 1992-12-08 | 1992-12-08 | System för relationsåterhämtning av databas i händelse av fel |
PCT/SE1993/001048 WO1994014126A1 (en) | 1992-12-08 | 1993-12-03 | A system for relations recovery of a data base in case of errors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69330433D1 DE69330433D1 (de) | 2001-08-16 |
DE69330433T2 true DE69330433T2 (de) | 2002-05-16 |
Family
ID=20388059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69330433T Expired - Lifetime DE69330433T2 (de) | 1992-12-08 | 1993-12-03 | Verfahren zur relationsherstellung einer datenbank bei fehlern |
Country Status (13)
Country | Link |
---|---|
US (1) | US5530800A (de) |
EP (1) | EP0673529B1 (de) |
JP (1) | JPH08504530A (de) |
KR (1) | KR100266978B1 (de) |
CN (1) | CN1036737C (de) |
AU (1) | AU674193B2 (de) |
BR (1) | BR9307607A (de) |
CA (1) | CA2151255C (de) |
DE (1) | DE69330433T2 (de) |
FI (1) | FI952792A0 (de) |
NO (1) | NO952247L (de) |
SE (1) | SE508828C2 (de) |
WO (1) | WO1994014126A1 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE515344C2 (sv) * | 1994-02-08 | 2001-07-16 | Ericsson Telefon Ab L M | Distribuerat databassystem |
US5734817A (en) * | 1995-03-01 | 1998-03-31 | Unisys Corporation | Method for making a data base available to a user program during data base recovery |
US5752247A (en) * | 1996-07-30 | 1998-05-12 | Hewlett-Packard Company | Log access interface between a network and repositories |
US6115830A (en) * | 1997-11-11 | 2000-09-05 | Compaq Computer Corporation | Failure recovery for process relationships in a single system image environment |
EP0991226A1 (de) * | 1998-09-30 | 2000-04-05 | Siemens Aktiengesellschaft | Verfahren für den Zugriff auf Daten in Netzelementen |
US6295611B1 (en) * | 1998-12-14 | 2001-09-25 | Sun Microsystems, Inc.. | Method and system for software recovery |
US7363633B1 (en) * | 2000-04-24 | 2008-04-22 | Microsoft Corporation | Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service |
KR100365891B1 (ko) * | 2000-12-13 | 2002-12-27 | 한국전자통신연구원 | 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법 |
CN100399325C (zh) * | 2002-10-25 | 2008-07-02 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN104794010B (zh) * | 2015-04-29 | 2018-02-16 | 中国人民解放军国防科学技术大学 | 一种系统内信息交互优化方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
JPS63245529A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | レジスタ退避復元装置 |
US5065311A (en) * | 1987-04-20 | 1991-11-12 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method fault recovery for the system |
US5247692A (en) * | 1988-02-08 | 1993-09-21 | Nec Corporation | Multiple file system having a plurality of file units holding the same files in which loss of data is prevented in a failure of a file unit |
US5043866A (en) * | 1988-04-08 | 1991-08-27 | International Business Machines Corporation | Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery |
US4945474A (en) * | 1988-04-08 | 1990-07-31 | Internatinal Business Machines Corporation | Method for restoring a database after I/O error employing write-ahead logging protocols |
US4933848A (en) * | 1988-07-15 | 1990-06-12 | International Business Machines Corporation | Method for enforcing referential constraints in a database management system |
US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
JPH0415840A (ja) * | 1990-05-10 | 1992-01-21 | Toshiba Corp | 分散型データベース管理装置 |
US5295256A (en) * | 1990-12-14 | 1994-03-15 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema |
GB2252853B (en) * | 1991-02-13 | 1994-06-01 | Fexco Management Services Limi | A data storage and retrieval apparatus |
US5247664A (en) * | 1991-03-28 | 1993-09-21 | Amoco Corporation | Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node |
JP3092189B2 (ja) * | 1991-04-15 | 2000-09-25 | 松下電器産業株式会社 | 無線電話装置 |
-
1992
- 1992-12-08 SE SE9203690A patent/SE508828C2/sv not_active IP Right Cessation
-
1993
- 1993-12-03 KR KR1019950702322A patent/KR100266978B1/ko not_active IP Right Cessation
- 1993-12-03 CA CA002151255A patent/CA2151255C/en not_active Expired - Lifetime
- 1993-12-03 DE DE69330433T patent/DE69330433T2/de not_active Expired - Lifetime
- 1993-12-03 EP EP94902167A patent/EP0673529B1/de not_active Expired - Lifetime
- 1993-12-03 AU AU56633/94A patent/AU674193B2/en not_active Ceased
- 1993-12-03 JP JP6514054A patent/JPH08504530A/ja active Pending
- 1993-12-03 WO PCT/SE1993/001048 patent/WO1994014126A1/en active IP Right Grant
- 1993-12-03 BR BR9307607-0A patent/BR9307607A/pt not_active Application Discontinuation
- 1993-12-08 US US08/162,763 patent/US5530800A/en not_active Expired - Lifetime
- 1993-12-08 CN CN93121135A patent/CN1036737C/zh not_active Expired - Lifetime
-
1995
- 1995-06-07 NO NO952247A patent/NO952247L/no not_active Application Discontinuation
- 1995-06-07 FI FI952792A patent/FI952792A0/fi unknown
Also Published As
Publication number | Publication date |
---|---|
FI952792A (fi) | 1995-06-07 |
AU674193B2 (en) | 1996-12-12 |
WO1994014126A1 (en) | 1994-06-23 |
DE69330433D1 (de) | 2001-08-16 |
CN1091846A (zh) | 1994-09-07 |
FI952792A0 (fi) | 1995-06-07 |
CA2151255A1 (en) | 1994-06-23 |
KR100266978B1 (ko) | 2000-09-15 |
NO952247D0 (no) | 1995-06-07 |
EP0673529A1 (de) | 1995-09-27 |
US5530800A (en) | 1996-06-25 |
EP0673529B1 (de) | 2001-07-11 |
CA2151255C (en) | 2002-02-12 |
KR950704752A (ko) | 1995-11-20 |
JPH08504530A (ja) | 1996-05-14 |
AU5663394A (en) | 1994-07-04 |
SE9203690D0 (sv) | 1992-12-08 |
SE9203690L (sv) | 1994-06-09 |
SE508828C2 (sv) | 1998-11-09 |
NO952247L (no) | 1995-08-02 |
CN1036737C (zh) | 1997-12-17 |
BR9307607A (pt) | 1999-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69623229T2 (de) | Bindungsverfahren in einer Transaktion in einer verteilten Datenbank | |
DE69325719T2 (de) | Datenbanksicherungssystem | |
DE3786956T2 (de) | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. | |
DE4216871C2 (de) | Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen | |
DE4497149B4 (de) | Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung | |
DE68927705T2 (de) | Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem | |
DE3784190T2 (de) | Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung. | |
DE69119222T2 (de) | Datensicherung und Beseitigung in einem Datenverarbeitungssystem | |
DE69802437T2 (de) | Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen | |
DE69602500T2 (de) | System und Verfahren zur Verriegelung und Reparatur eines Dateisystems für ein Rechnerbetriebssystem | |
DE3854667T2 (de) | Datenbasissystem mit einer Baumstruktur. | |
DE68927142T2 (de) | Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum | |
DE68916486T2 (de) | Verfahren zur Durchführung von Operationen in einem relationalen Datenbankverwaltungssystem. | |
DE69112694T2 (de) | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. | |
DE3688529T2 (de) | Verfahren zur Auffrischung von Mehrspaltentabellen in einer relationellen Datenbank mit Mindestinformation. | |
DE10112941B4 (de) | System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien | |
DE69222169T2 (de) | Verfahren und vorrichtung zur datenerholung in mehrstufigen datenbanksystemen | |
DE60130420T2 (de) | Vorrichtung und Verfahren zur Aufrechterhaltung einer verknüpften Liste | |
DE4435751B4 (de) | Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem | |
DE69703181T2 (de) | Registrierdateioptimierung in einem Client/Server-Rechnersystem | |
DE602005004166T2 (de) | Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen | |
DE69913375T2 (de) | Anzeige eines fehlers in einem transaktionsverarbeitungssystem | |
DE60025043T2 (de) | Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem | |
DE10040987B4 (de) | Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken | |
EP0635792B1 (de) | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |