-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
Erfindung betrifft ein Verfahren zum Kopieren von Daten zwischen
einem DB-System, das im Allgemeinen in einem Computersystem, insbesondere
einem eine Datenbank betreibenden Computersystem (nachfolgend als "DB-System" bezeichnet), (nachfolgend
als "aktuell verwendetes
System" bezeichnet)
betrieben wird, und einem Computersystem, in das Daten des aktuell
verwendeten Systems kopiert werden und dort verwendet werden (nachfolgend
als "Bereitschaftssystem" bezeichnet), sowie ein
Verfahren zur Datenrückgewinnung
im Bereitschaftssystem.
-
Beschreibung der einschlägigen Technik
-
Bei
einem DB-System, in dem eine Datenbank (nachfolgend auch als "DB" bezeichnet) erstellt ist
und diese betrieben wird, existiert als Verfahren zum Erstellen
einer Sicherungskopie von die DB bildenden Daten (nachfolgend als "DB-Daten" bezeichnet), eine
Technik zum Erstellen eines DB-Systems, das über dieselbe Struktur wie ein
aktuell verwendetes System verfügt,
als Bereitschaftssystem, wobei DB-Daten des aktuell verwendeten
Systems in das DB-System
kopiert werden.
-
Wenn
das oben angegebene Verfahren verwendet wird und das aktuell verwendete
System aus irgendeinem Grund den Betrieb einstellt, wird die Verfügbarkeit
des Gesamtsystems dadurch verbessert, dass dafür gesorgt wird, dass das Bereitschaftssystem
arbeitet. Außerdem
wird es durch Aufbauen des aktuell verwendeten Systems und des Bereitschaftssystems
an körperlich
getrennten jewei ligen Orten selbst dann, wenn eine Naturkatastrophe
wie ein Erdbeben am Ort, an dem das aktuell verwendete System aufgebaut
ist, eingetreten ist, möglich,
die DB-Daten im Bereitschaftssystem wiederzugewinnen. Ein System
mit einem derartigen aktuell verwendeten System und einem Bereitschaftssystem
wird nachfolgend als Katastrophenwiedergewinnungs (DR = disaster
recovery) system bezeichnet.
-
Beim
DR-System kann eine Datenübermittlung
zwischen dem aktuell verwendeten System und dem Bereitschaftssystem
zwischen Speichervorrichtungen ausgeführt werden, die die DB-Daten
speichern. Eine derartige Datenübermittlung
zwischen Speichervorrichtungen wird nachfolgend als Fernkopieren
bezeichnet.
-
Als
Verfahren zum Fernkopieren existieren zwei Arten, nämlich synchrones
und asynchrones Fernkopieren. Beim synchronen Fernkopieren, ist,
da eine Aktualisierung der DB-Daten zwischen der Speichervorrichtung
des aktuell verwendeten Systems und derjenigen des Bereitschaftssystems
synchronisiert wird (die Identität
der Inhalte der DB-Daten ist garantiert), die Zuverlässigkeit
der an das Bereitschaftssystem übermittelten
Daten hoch. Andererseits muss, um die DB-Daten zu synchronisieren,
das aktuell verwendete System auf einen Abschlussbericht zur Verarbeitung
warten, während
die DB-Daten an das Bereitschaftssystem übermittelt werden, und es ist
das Funktionsvermögen
des aktuell verwendeten Systems verringert.
-
Andererseits
ist beim asynchronen Fernkopieren, da Daten ohne Synchronisieren
der DB-Daten zwischen der Speichervorrichtung des aktuell verwendeten
Systems und derjenigen des Bereitschaftssystems übermittelt werden, im Gegensatz zum
synchronen Fernkopieren zwar das Funktionsvermögen des aktuell verwendeten
Systems nicht all zu sehr verringert, jedoch ist die Zuverlässigkeit
(oder Aktualität)
der an das Bereitschaftssystem übermittelten
Daten verringert.
-
JP-A-2003-6016
offenbart ein Verfahren, um jeder von mehreren Gruppen logischer
Datenträger eine
Priorität
zu verleihen und ein asynchrones Fernkopieren entsprechend den Prioritäten zwischen Speichervorrichtungen
eines aktuell verwendeten Systems und eines Bereitschaftssystems
auszuführen.
Außerdem
offenbart die offengelegte Patentanmeldung (als ein Beispiel des
Verfahrens), dass eine Priorität
eines logischen Datenträgers,
auf dem ein Protokoll einer DB gespeichert ist, hoch eingestellt wird
und das Protokoll im Vergleich mit anderen DB-Daten bevorzugt an
die Speichervorrichtung des Bereitschaftssystems übermittelt
wird.
-
Synchrone
und asynchrone Fernkopiervorgänge
zwischen Datenspeichersystemen sind auch in US 2003/0229764 A1 offenbart.
-
Ein
Computersystem, von dem der Oberbegriff des Anspruchs 1 ausgeht,
ist in US 2003/0115433 A1 offenbart. Bei diesem System werden Prioritäten Speicherbereichen
zugewiesen, die einem Fernkopiervorgang unterzogen werden. Dann werden
Daten mit höheren
Prioritäten
vor solchen mit niedrigeren Prioritäten kopiert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Beim
Aufbauen des oben angegebenen DR-Systems kann die für die Wiedergewinnung
von DB-Daten im Bereitschaftssystem aufgewandte Zeit für jede Art
von DB-Daten verschieden sein. Jedoch berücksichtigt die herkömmliche
Technik diesen Unterschied bei der Wiedergewinnungszeit nicht, und es
wird ein DR-System
erstellt, das eine Wiedergewinnungsverarbeitung aller DB-Daten innerhalb
der Wiedergewinnungszeit für
DB-Daten ausführt,
die der Wiedergewinnungsverarbeitung am Bevorzugtesten unterzogen
werden sollten. Jedoch ist es bei dieser Technik hoch wahrscheinlich,
dass das DR-System mit Überhang
konzipiert wird, und es ist keine optimale Systemkonfiguration realisiert.
-
Daher
ist es eine Aufgabe der Erfindung, ein Computersystem für verbesserte
Effizienz bei der Wiedergewinnung von Daten zu schaffen.
-
Diese
Aufgabe ist durch ein Computersystem gemäß dem Anspruch 1 gelöst.
-
Die
abhängigen
Ansprüche
betreffen bevorzugte Ausführungsformen
der Erfindung.
-
Wenn
Daten von einem Primärstandort
an einen Sekundärstandort
fernkopiert werden, werden sie am Primärstandort entsprechend der
Wiedergewinnungszeit für
am Sekundärstandort
benötigte
Daten vorab unterschieden (einer Gruppeneinteilung unterzogen),
entsprechend der Unterscheidung wird eine Reihenfolge für die Übermittlung
der Daten bestimmt, und der Primärstandort
führt das
Fernkopieren aus. Danach, wenn am Primärstandort ein Fehler aufgetreten
ist, erfolgt eine Wiedergewinnung der Daten am Sekundärstandort
auf Grundlage der Gruppen.
-
Bei
der Gruppeneinteilung der Daten, am Sekundärstandort, werden die Daten
einer Gruppeneinteilung in der Reihenfolge der Kürze der Zeit, die zur Datenwiedergewinnung
erforderlich ist, gruppiert, der Primärstandort überträgt die Daten auf Grundlage der
Gruppen, und am Sekundärstandort
erfolgt eine Wiedergewinnung der Daten in der Reihenfolge der Gruppen,
die weniger Zeit zur Datenwiedergewinnung benötigen.
-
Darüber hinaus
können,
unabhängig
von der zur Datenwiedergewinnung erforderlichen Zeitdauer, Protokolldaten
in einer Datenbank am Bevorzugtesten an den Sekundärstandort übermittelt
werden. In diesem Fall können
die Protokolldaten unter Verwendung eines synchronen Fernkopierens
an den Sekundärstandort übermittelt
werden.
-
Außerdem ist
es beim Wiedergewinnen der Daten am Sekundärstandort auch möglich, das
alle Daten auf einmal gesperrt werden, und die Sperrung mit der
Einheit wiedergewonnener Gruppen aufgehoben wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
In
den beigefügten
Zeichnungen ist Folgendes dargestellt:
-
1 ist
ein Diagramm, das ein Beispiel einer Systemkonfiguration eines Computersystems zeigt;
-
2A bis 2C sind
Diagramme, die ein Beispiel der Struktur von Steuerungsinformation 140 zeigen;
-
3 ist
ein Diagramm, das ein Beispiel von Vorrichtungs-Rohinformation 300 zeigt;
-
4A bis 4C sind
Diagramme, die ein Beispiel der Struktur eines DBMS 122 zeigen;
-
5A und 5B sind
Diagramme, die ein Beispiel der Struktur eines Datenbereichs zeigen;
-
6 ist
ein Diagramm, das schematisch das Fernkopieren von einem Primärstandort 100 an einen
Sekundärstandort 102 zeigt;
-
7 ist
ein Diagramm, das schematisch ein Fernkopieren zeigt;
-
8 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur für eine Zuordnungsverarbeitung
für Speicherbereich
zeigt;
-
9 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur einer Erstellverarbeitung
für eine DB
zeigt;
-
10 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Gruppenerzeugungsverarbeitung
zeigt;
-
11 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Datenaktualisierungsverarbeitung
zeigt;
-
12 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur einer Fernkopierverarbeitung zeigt;
-
13 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Katastrophenüberwachungsverarbeitung
gemäß einem
Betriebsverwaltungsprogramm 120 am Sekundärstandort 102 zeigt; und
-
14 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur einer DB-Wiedergewinnungsverarbeitung
gemäß dem DBMS 122 am
Sekundärstandort 102 zeigt.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Nachfolgend
wird eine Ausführungsform
der Erfindung unter Bezugnahme auf die 1 bis 14 beschrieben.
Es ist zu beachten, dass die Erfindung nicht durch die Ausführungsform
begrenzt ist.
-
Die 1 ist
ein Diagramm, das ein Beispiel einer Ausführungsform eines Computersystems zeigt,
bei dem die Erfindung angewandt ist.
-
Das
Computersystem weist Folgendes auf: einen als aktuell verwendetes
System verwendeten Primärstandort 100;
einen als Bereitschaftssystem dienenden Sekundärstandort 102; ein
Netzwerk 172, das den Primärstandort 100 und
den Sekundärstandort 102 verbindet;
und einen Systemverwaltungsserver 150, der zum Verwalten
des Primärstandort 100 und
des Sekundärstandorts 102 verwendet
wird.
-
Der
Primärstandort 100 und
der Sekundärstandort 102 weisen
Folgendes auf: DB-Server 110, in
denen ein Datenbankverwaltungssystem (nachfolgend als DBMS bezeichnet)
arbeitet; Speichervorrichtungen 130, die DB-Daten speichern;
und Netzwerke 170, die die DB-Server 110 und die
Speichervorrichtungen 130 miteinander verbinden. In der nachfolgenden
Beschreibung ist angenommen, dass die Vorrichtungsstrukturen des
Primärstandorts 100 und
des Sekundärstandorts 102 gleich
sind. Jedoch müssen
die Strukturen nicht gleich sein. Es reicht aus, dass die beiden
Standorte über
DB-Server und Speichervorrichtungen verfügen.
-
Der
DB-Server 110 ist ein üblicher
Computer, der Folgendes aufweist: eine I/F (A) 112, die
eine Schnittstelle zu einem von einem Benutzer verwendeten Computer
oder einem Netzwerk, an das der Computer angeschlossen ist, ist;
eine Steuerungsvorrichtung (Steuerungsprozessor) 114; eine
Eingabe/Ausgabe-Vorrichtung 116;
ein Speicher 118; und eine I/F (B) 124, die eine
Schnittstelle zum Netzwerk 170 ist. Außerdem sind ein Betriebsverwaltungsprogramm 120 und
ein Programm zum Ausführen
des DBMS (nachfolgend als "DBMS" abgekürzt) 122 im Speicher 118 gespeichert.
-
Die
Speichervorrichtung 130 weist Folgendes auf: eine I/F 132,
die eine Schnittstelle zum Netzwerk 170 ist; eine Steuerungsvorrichtung
(Steuerungsprozessor) 134; einen Speicher 136 und
eine Platte 144. Außerdem
sind ein Steuerungsprogramm 138, ein Programm zum Ausführen eines
Fernkopiervorgangs (nachfolgend als "RC" bezeichnet) 140 und Steuerungsinformation 142 im
Speicher 136 gespeichert. Es sei darauf hingewiesen, dass
die Platte 144 ein Speichermedium ist, das eine Festplatte
oder eine optische Platte sein kann. Außerdem kann die Speichervorrichtung 130 über mehrere
Platten 144 mit Rate-Konfiguration
verfügen.
-
Ein
Administrator des Computersystems führt eine Einstellung und Verwaltung
desselben unter Verwendung des Systemverwaltungsservers 150 aus,
der mit dem Netzwerk 170 am Primärstandort 100 verbunden
ist.
-
Der
Systemverwaltungsserver 150 ist ein üblicher Computer, der Folgendes
aufweist: eine Steuerungsvorrichtung (Steuerungsprozessor) 152,
eine Eingabe/Ausgabe-Vorrichtung 154; einen Speicher 158 und
eine I/F 160, die eine Schnittstelle zum Netzwerk 170 am
Primärstandort
ist. Es sei darauf hingewiesen, dass auch eine Struktur möglich ist,
bei der der Systemverwaltungsserver 150 und der DB-Server 110 des
Primärstandorts
integriert sind. In diesem Fall wird das Verwaltungsprogramm 158 im
DB-Server 110 ausgeführt.
-
Außerdem werden
die oben angegebenen verschiedenen Programme an einem jeweiligen Standort
unter Verwendung eines Speichermediums wie einer optischen Platte
oder einer Diskette installiert, oder sie werden in den jeweiligen
Vorrichtungen am jeweiligen Standort über die Netzwerke installiert. In
der folgenden Beschreibung handelt es sich, wenn ein Programm Gegenstand
eines Satzes ist, der die Ausführung
einer Verarbeitung beschreibt, tatsächlich um eine Steuerungsvorrichtung
zum Ausführen des
Programms, die die Verarbeitung ausführt.
-
Die 2A ist
ein Diagramm, das ein Beispiel der Struktur von durch die Speichervorrichtung 130 abgespeicherter
Steuerungsinformation 142 zeigt.
-
Die
Steuerungsinformation 142 verfügt über LU-Information 200,
wobei es sich um Information betreffend die Einstellung eines logischen
Speicherbereichs (logische Einheit: LU) handelt, wie sie durch die
Speichervorrichtung 130 abgespeichert ist, sowie Gruppeninformation 202,
die Information zu Gruppen ist, die für jede Priorität von Daten
einer Gruppeneinteilung zu unterziehen sind. Es sei darauf hingewiesen,
dass eine LU durch eine oder mehrere Platten 144 gebildet
wird.
-
Die 2B ist
ein Diagramm, das ein Beispiel der Struktur der LU-Information 200 zeigt.
Die LU-Information 200 verfügt über jeweiligen LUs entsprechende
Einträge.
Jeder der Einträge
beinhaltet Folgendes: ein Feld 210, in dem eine LUN registriert ist,
bei der es sich um eine Zahl zum Identifizieren einer dem Eintrag
entsprechenden LU handelt; ein Feld 212, in dem eine Blocknummer
registriert ist, die die Anzahl der Blöcke kennzeichnet, die der entsprechenden
LU zugeordnet sind; und ein Feld 214, in dem eine Server-ID zum Registrieren
des DB-Servers 110, dem die entsprechende LU zugeordnet
ist, registriert ist. Es sei darauf hingewiesen, dass ein Block
eine Einheit beim Handhaben eines Speicherbereichs kennzeichnet,
die im Allgemeinen 215 kB beträgt.
-
Die 2C ist
ein Diagramm, das ein Beispiel der Struktur der Gruppeninformation 202 zeigt. Die
Gruppeninformation 202 verfügt über Einträge, die jeder der Gruppen von
Prioritäten
entsprechen. Jeder der Einträge
beinhaltet Folgendes: ein Feld 220, in dem eine Gruppen-ID
zum Identifizieren einer dem Eintrag entsprechenden Gruppe registriert
ist; ein Feld 222, in dem eine Datenpriorität registriert
ist, die die Priorität
von Daten in einer entsprechenden Gruppe kennzeichnet; und ein Feld 222,
in dem eine LUN registriert ist, die eine zur entsprechenden Gruppe
gehörende
LU kennzeichnet.
-
Die 3 ist
ein Diagramm, das ein Beispiel von durch das Betriebsverwaltungsprogramm 120 registrierter
Vorrichtungs-Rohinformation zeigt. Diese Vorrichtungs-Rohinformation 300 ist
im Speicher 118 des DB-Servers 110 gespeichert.
-
Die
Vorrichtungs-Rohinformation 300 beinhaltet Einträge, die
jeder von im DB 100 zu registrierenden Rohvorrichtungen
entsprechen. Hierbei ist eine Rohvorrichtung eine virtuelle, externe
Vorrichtung, die in einem im DB-Server 100 ausgeführten Betriebssystem,
insbesondere einem Dateisystem, erkannt wird. Das Dateisystem repräsentiert
diese Rohvorrichtung als eine Datei, und es betreibt diese Rohvorrichtung.
Dies wird als Rohvorrichtungsdatei bezeichnet.
-
Jeder
der Einträge
beinhaltet Folgendes: ein Feld 302, in dem der Dateiname
einer dem Eintrag entsprechenden Rohvorrichtungsdatei registriert
ist; ein Feld 304, in dem eine Kennung der Speichervorrichtung 130 mit
einer LU, die einer durch die Rohvorrichtungsdatei repräsentierten
Rohvorrichtung zugeordnet ist, registriert ist; und ein Feld 306,
in dem eine LUN einer der Rohvorrichtung entsprechenden LU registriert
ist.
-
Die 4A ist
ein Diagramm, das ein Beispiel der Struktur des DBMS 122 zeigt.
-
Das
DBMS 122 weist Folgendes auf: ein DBMS-Ausführungsprogramm 400;
einen DB-Puffer 402,
der DB-Daten beim Auslesen oder Schreiben derselben zwischenspeichert,
einen Protokollpuffer 404, der ein Protokoll zwischenspeichert,
das entsprechend der Aktualisierung der DB-Daten ergänzt wird;
Datenbereich-Einstellinformation 406,
bei der es sich um Einstellinformation für einen Datenbereich handelt,
in dem Systeminformation und ein Protokoll des DBMS 122,
die DB-Daten und dergleichen abgespeichert sind; und DB-Planinformation 408,
bei der es sich um Planinformation des DBMS 122 wie eine Tabelle
und einen Index handelt.
-
Die 4B ist
ein Diagramm, das ein Beispiel der Struktur der Datenbereich-Einstellinformation 406 zeigt.
Diese Datenbereich-Einstellinformation 406 beinhaltet Einträge, die
jedem der Datenbereiche entsprechen. Jeder der Einträge beinhaltet
Folgendes: ein Feld 410, in dem eine Datenbereich-ID zum
Kennzeichnen eines dem Eintrag entsprechenden Datenbereichs registriert
ist; ein Feld 412, in dem ein den Namen des entsprechenden
Datenbereichs kennzeichnender Datenbereichsname registriert ist; ein
Feld 414, in dem der Dateiname einer Rohvorrichtungsdatei,
in der der entsprechende Datenbereich erzeugt ist, registriert ist;
ein Feld 416, in dem ein Datentyp registriert ist, der
den Typ der im entsprechenden Datenbereich zu speichernden Daten kennzeichnet;
ein Feld 418, in dem eine Bereichsgröße registriert ist, die die
Größe des entsprechenden Datenbereichs
kennzeichnet; und ein Feld 420, in dem eine Datenpriorität registriert
ist, die die Priorität der
im entsprechenden Datenbereich zu speichernden Daten kennzeichnet.
-
Die 4C ist
ein Diagramm, das ein Beispiel der Struktur der DB-Planinformation 408 zeigt. Die
DB-Planinformation 908 beinhaltet Einträge, wie sie jedem von DB-Plänen entsprechen.
Jeder der Einträge
beinhaltet Folgendes: ein Feld 413, in dem eine Plan-ID
zum Kennzeichnen eines DB-Plans entsprechend dem Eintrag registriert
ist; ein Feld 422, in dem der Planname registriert ist,
der den Namen des entsprechenden DB-Plans kennzeichnet; ein Feld 434,
in dem der Schematyp registriert ist, der dem Typ des entsprechenden
DB-Plans kennzeichnet; ein Feld 436, in dem eine Datenbereich-ID
zum Identifizieren des Datenbereichs, in dem der entsprechende DB-Plan
erzeugt wird, registriert ist; und ein Feld 438, in dem
eine Plangröße registriert
ist, die die Datengröße eines
Datenbereichs kennzeichnet, der dem entsprechenden DB-Plan zugeordnet
ist.
-
Es
sei darauf hingewiesen, dass dann, wenn der Plantyp "TABELLE" ist, im Plan Tabellendaten
einer DB registriert sind. Wenn der Plantyp "INDEX" ist, sind Indexdaten der DB im Plan
gespeichert.
-
Die 5A und 5B sind
Diagramme, die ein Beispiel der Struktur eines Datenbereichs zeigen,
wie er durch das DBMS 122 in der Speichervorrichtung 130 erzeugt
wird. Wie oben beschrieben, wird der Datenbereich jeder durch die
Speichervorrichtung 130 aufrecht erhaltenen LU über einen
Vorrichtungsdateinamen zugeordnet.
-
Ein
Datenbereich 500 verfügt über einen
Datenbereich-Verwaltungsbereich 502, in dem Verwaltungsinformation
eines Datenbereichs gespeichert ist, und einen Datenspeicherbereich 504,
in dem Daten eines aktuellen DB-Plans gespeichert sind. Der Datenbereich-Verwaltungsbereich 502 verfügt über einen
Bereich, in dem eine Datenbereich-ID 510 zum Kennzeichnen
des Datenbereichs abgespeichert ist.
-
Die 5A ist
ein Diagramm, das ein Beispiel zeigt, gemäß dem Protokolldaten im Datenbereich 500 gespeichert
sind. Die Protokolldaten sind im Datenspeicherbereich 504 gespeichert.
In einem Bereich 520, in dem die Protokolldaten gespeichert sind,
sind mehrere Protokolleinträge
abgespeichert. Ein Bereich für
einen Protokolleintrag beinhaltet Folgendes: einen Bereich 530,
in dem eine Protokollsequenznummer (nachfolgend als LSN bezeichnet)
abgespeichert ist, die vergeben wird, um einen entsprechenden Protokolleintrag
zu kennzeichnen; ein Bereich 532, in dem ein Protokolltyp
zum Kennzeichnen des Typs eines entsprechenden Protokolls gespeichert
ist; einen Bereich 534, in dem eine Datenbereich-ID gespeichert
ist, die einen Datenbereich kennzeichnet, in dem hinzugefügte oder
aktualisierte Daten gespeichert sind; einen Bereich 536,
in dem die Adresse eines dem Protokolleintrag entsprechenden Datenwerts
gespeichert ist; und ein Bereich 538, in dem hinzugefügter oder
aktualisierter Dateninhalt gespeichert ist.
-
Jeder
Eintrag dieser Protokolldaten wird automatisch durch das DBMS 122 erzeugt,
wenn Daten in einer DB hinzugefügt
oder aktualisiert werden oder eine DB festgelegt wird. Nachdem dieser
Protokolleintrag erzeugt wurde, wird er einmal im Kontrollpuffer 404 eingetragen.
Wenn dann die Speicherkapazität
des Protokollpuffers 404 unzureichend geworden ist oder
wenn eine vorbestimmte Zeit verstrichen ist, schreibt das DBMS 122 die
in ihm gespeicherten Protokolldaten in den Datenbereich 500 der
Speichervorrichtung 130.
-
Die 5B zeigt
einen Fall, bei dem DB-Daten in einem Datenbereich gespeichert sind.
Die DB-Daten sind im Datenspeicherbereich 504 abgespeichert.
Wenn das DBMS 122 DB-Daten hinzugefügt oder aktualisiert hat, werden
diese hinzugefügten
oder aktualisierten DB-Daten einmal im DB-Puffer 402 aufgenommen.
Wenn dann die Speicherkapazität
des DB-Puffers unzureichend wurde oder wenn eine vorbestimmte Zeit
verstrichen ist, schreibt das DBMS 122 die im DB-Puffer 402 aufgenommenen
DB-Daten in den Datenbereich der Speichervorrichtung 130.
-
Außerdem enthält der Datenbereich-Verwaltungsbereich 502 einen
Bereich 512, in dem eine LSN von Daten abgespeichert ist,
die im Datenbereich zuletzt aktualisiert wurden. Wenn z.B. eine
LSN von Protokolldaten, wie sie erzeugt wurden, als Daten eines
bestimmten Datenbereichs aktualisiert wurden, 10 ist, wird der Wert
10 im Bereich 512 abgespeichert. Dadurch wird es möglich, dass
der DB-Server 110 beurteilt, dass sich Protokolldaten bis zur
LSN 10 im Datenbereich widerspiegeln.
-
Die 6 und 7 sind
Diagramme, die schematisch eine Datenübermittlung vom Primärstandort 100 zum
Sekundärstandort 102 im
Computersystem zeigen.
-
Die
Speichervorrichtung 130 führt das RC-Programm 140 aus,
und sie kopiert Daten vom Primärstandort 100 an
den Sekundärstandort 102. Dieses
Fernkopieren erfolgt in der Reihenfolge von Prioritäten mit
einer Gruppe als Einheit. Außerdem werden
Daten einer Gruppe, für
die eine Priorität (auch
als "Datenpriorität" bezeichnet) 0 ist
(Protokolldaten bei dieser Ausführungsform)
mit synchronem Fernkopieren übermittelt,
und Daten einer Gruppe, für
die die Datenpriorität
nicht 0 ist (DB-Daten bei dieser Ausführungsform) wird mit asynchronem
Fernkopieren übermittelt.
-
Gemäß der 6 übermittelt,
da die Datenpriorität
einer Gruppe 0 (600) am Primärstandort 100 0 ist,
jedesmal dann, wenn Daten in einer zu dieser Gruppe 0 (600)
gehörenden
LU aktualisiert werden, die Speichervorrichtung 130 Daten
durch synchrones Fernkopieren an die Speichervorrichtung 130 am
Sekundärstandort 102 (Pfeil 610).
-
Andererseits
sind in der 6 Datenprioritäten einer
Gruppe 1 (602), einer Gruppe 2 (609) und einer
Gruppe 3 (606) 1, 5 bzw. 3. Daher führt, wenn Daten in LUs, die
zu diesen Gruppen gehören,
an den Sekundärstandort 102 kopiert
werden, die Speichervorrichtung 130 am Primärstandort 100 eine
Datenübermittlung
an die Speichervorrichtung 130 am Sekundärstandort 102 durch
asynchrones Fernkopieren (Pfeile 612, 614 und 616)
in der Reihenfolge der Daten der zur Gruppe 1 (602) gehörenden LUs, der
Daten der zur Gruppe 603 (606) gehörenden LUs und
der Daten der zur Gruppe 2 (604) gehörenden LUs aus.
-
Die 7 ist
ein Diagramm, das schematisch die Datenübermittlung zwischen dem Primärstandort
und dem Sekundärstandort
von einem Datenbereich aus gesehen zeigt. In der folgenden Beschreibung
ist davon ausgegangen, dass Datenbereiche 700, 702 und 704,
die den Gruppen 1, 2 und 3 entsprechen, in den Speichervorrichtungen 130 am Primärstandort
und am Sekundärstandort
ausgebildet sind. Es sei darauf hingewiesen, dass davon ausgegangen
wird, dass die Datenbereiche 700 spezielle Beispiele des
Datenbereichs 500 sind. Außerdem besteht eine Gruppe
aus LUs, die zur selben Priorität gehören.
-
Wenn
eine Datenaktualisierung durch das DBMS 122 in der Reihenfolge
von Daten A im Datenbereich 700, Daten B im Datenbereich 702,
Daten C im Datenbereich 704, Daten D im Datenbereich 700, Daten
E im Datenbereich 702 und Daten F im Datenbereich 704 ausgeführt wird,
wird ein Protokoll erzeugt, wie es in den Protokolldaten 710 (Typ
des Datenbereichs 500) der 7 dargestellt
ist.
-
Ein
Datenbereich, in dem die Protokolldaten 710 gespeichert
sind, ist in einer LU geschaffen, die zur Gruppe gehört, für die die
Datenpriorität
0 ist. Demgemäß werden
die Daten jedesmal dann, wenn sie an den Sekundärstandort 102 geschrieben
werden, durch synchrones Fernkopieren übermittelt (Pfeil 610).
-
Der
Datenbereich 700, der Datenbereich 702 und der
Datenbereich 704 sind in LUs erzeugt, die zur Gruppe 1
(602), zur Gruppe 2 (604) bzw. zur Gruppe 3 (606)
gehören.
So werden Daten durch asynchrones Fernkopieren in der Reihenfolge
der Daten A und D im Datenbereich 700, der Daten B und E
im Datenbereich 704 sowie der Daten C und F im Datenbereich 705 entsprechend
Datenprioritäten vom
Primärstandort 100 an
den Sekundärstandort 102 übermittelt.
Außerdem
wird, wenn die Daten vom Primärstandort 100 an
den Sekundärstandort 102 kopiert
werden, auch eine LSN eines den Daten entsprechenden Protokolls an
die LSN 512 des Datenbereich-Verwaltungsbereichs 502 am
Sekundärstandort 102 übermittelt.
-
Die 8 bis 14 sind
Flussdiagramme, die ein Beispiel einer Reihe von Verarbeitungsprozeduren
von einer Einstellverarbeitung für
Speicherbereiche bis zu einer Systemwiederherstellungsverarbeitung
aufgrund des Auftretens eines Katastrophenfalls im Computersystem
veranschaulichen.
-
Nun
werden die Verarbeitungsprozeduren kurz beschrieben. Als Erstes
führt ein
Administrator oder dergleichen des Computersystems eine Einstellung
von Speicherbereichen, die das Computersystem verwendet, aus. In
diesem Fall bestimmt der Administrator oder dergleichen Prioritäten der
Speicherbereiche auf Grundlage der Reihenfolge von Prioritäten, die
sich auf die Wiedergewinnungszeit von Daten an einem Sekundärstandort
stützen,
und er registriert Information zu den Prioritäten in einer primärseitigen
Speichervorrichtung und am Sekundärstandort. Danach führen der
Primärstandort
und der Sekundärstandort
ein Fernkopieren der Daten auf Grundlage der eingestellten Prioritäten aus.
-
Wenn
am Primärstandort
eine Katastrophe auftrat, versucht der Administrator, das System
am Sekundärstandort
wiederherzustellen. In diesem Fall führt das Computersystem am Sekundärstandort eine
Wiederherstellverarbeitung für
Daten in der vorab eingestellten Reihenfolge der Prioritäten aus.
In diesem Fall sperrt eine Speichervorrichtung am Sekundärstandort
einmal die Verwendung aller Speicherbereiche, und dann hebt sie
die Verwendungssperre der Reihe nach für einen jeweiligen Speicherbereich
auf, für
den eine Wiedergewinnung abgeschlossen wurde. Nun werden Verarbeitungsprozeduren
in jedem Schritt detailliert beschrieben.
-
Die 8 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Zuordnungsverarbeitung für Speicherbereiche
zeigt.
-
Beim
Errichten des Computersystems startet der Administrator desselben
als Erstes ein Verwaltungsprogramm 158 des Systemverwaltungsservers 150,
und er stellt eine LU in der Speichervorrichtung 130 am
Primärstandort 100 ein.
Der hier eingestellte Inhalt wird über das Netzwerk in der von
der Speichervorrichtung 130 registrierten LU-Information 200 abgespeichert.
Genauer gesagt, zeigt beispielsweise ein Eintrag 216 der
LU-Information 200 an, dass der Administrator einen Block
20971520 einer LU mit der LUN 0 zugeordnet hat und er die LUN mit
der LUN 0 dem DB-Server 110 mit der Server-ID 0 zugeordnet hat
(Schritt 802).
-
Anschließend stellt
der Systemadministrator eine Rohvorrichtung im DB-Server 110 am
Primärstandort 100 ein.
Der hier eingestellte Inhalt wird in der durch den DB-Server 110 registrierten
Rohvorrichtungsinformation über
das Netzwerk gespeichert. Genauer gesagt, zeigt beispielsweise ein
Eintrag 308 der Rohvorrichtungsinformation 300 an,
dass der Administrator eine LU mit der LUN 0, die durch die Speichervorrichtung 130 mit
der Speichervorrichtungs-ID 0 registriert ist, einer Rohvorrichtung
mit dem Dateinamen "/dev/rdsk/c0t0d1s6" zugeordnet hat (nachfolgend
als "Abbilden" bezeichnet). Es
sei darauf hingewiesen, dass eine LU, die auf die Rohvorrichtung abgebildet
werden, die im Schritt 802 eingestellte LU ist (Schritt 804).
-
Anschließend stellt
der Administrator in der Speichervorrichtung 130 am Sekundärstandort 102 eine
LU ein. Es sei darauf hingewiesen, dass der Einstellungsinhalt derselbe
wie der im Schritt 802 eingestellte Inhalt sein muss, jedoch
mit Ausnahme der Server-ID. Dies dient zum Gewährleisten der Übereinstimmung
zwischen dem Primärstandort
und dem Sekundärstandort
beim Fernkopieren (Schritt 806).
-
Anschließend stellt
der Administrator eine Rohvorrichtung des DB-Servers 110 am
Sekundärstandort 102 an.
Der Einstellinhalt muss derselbe wie der im Schritt 804 eingestellte
Inhalt sein, jedoch mit Ausnahme einer Speichervorrichtungs-ID.
Auch dies dient dazu, für Übereinstimmung
zwischen dem Primärstandort
und dem Sekundärstandort
zu sorgen (Schritt 806).
-
Die 9 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur für eine Errichtungsverarbeitung
für ein
DB-System in einem Computersystem zeigt. Diese Verarbeitung wird
nach der Zuordnungsverarbeitung für einen Speicherbereich ausgeführt.
-
Ein
DB-Design oder dergleichen, der eine DB errichtet, startet das DBMS 122 am
Primärstandort 100,
und er gibt über
die Eingabe/Ausgabe-Vorrichtung 116 eine Abfrage ein, die
den Namen eines Datenbereichs, einen Rohvorrichtungs-Dateinamen einer
Rohvorrichtung, für
die ein Datenbereich erzeugt wird, den Typ der im Datenbereich zu
speichernden Daten, die Größe des Datenbereichs und die
Priorität
der abzuspeichernden spezifiziert, um den Datenbereich zu erzeugen.
-
Genauer
gesagt, werden Prioritäten
der Daten so bestimmt, wie es unten beschrieben ist. Als Erstes
wird, da Protokolldaten für
die Datenwiedergewinnung am Sekundärstandort 102 unabdingbar sind,
die Datenpriorität
des Datenbereichs, in dem die Protokolldaten gespeichert sind, am
höchsten eingestellt.
Für andere
DB-Daten werden Datenprioritäten
in der Reihenfolge der gewünschten
Wiedergewinnung am Sekundärstandort 102 dann,
wenn ein Fehler aufgetreten ist, entsprechend der Bedeutung der
Daten und des Inhalts der DB-Verarbeitung bestimmt.
Da beispielsweise DD eines Onlinesystems, bei dem dauernd eine Aktualisierungsverarbeitung
ausgeführt
wird, sobald wie möglich
wiedergewonnen werden müssen,
um den Betrieb wieder aufzunehmen, wird die Datenpriorität der DD
am höchsten
eingestellt. Da DD eines Chargensystems, das bei Nacht oder dergleichen
kollektiv abgearbeitet wird, zu einem bestimmten Zeitpunkt verarbeitet
werden, wird die Priorität
dieser DB-Daten in der Mitte eingestellt. Da bei DB-Daten eines
Archivsystems eine Abruf-/Aktualisierungsverarbeitung
nicht häufig ausgeführt wird,
wird die Priorität
für solche
DB-Daten niedrig eingestellt.
-
Zum
Zeitpunkt, zu dem der Datenbereich erzeugt wird, ordnet das DBMS 122 demselben
automatisch eine Kennung (ID) zu. Der hier vorliegende Inhalt wird
in der Datenbereich-Einstellinformation 406 im DBMS 122 gespeichert.
Genauer gesagt, zeigt beispielsweise ein Eintrag 422 der
Datenbereich-Einstellinformation 406 an,
dass der Bereichsname eines Datenbereichs, dessen Datenbereichs-ID
0 zugeordnet ist "LOG" ist, und dieser
Datenbereich wird in einer Rohvorrichtungsdatei "/dev/rdsk/c0t0d1s6" erzeugt. Außerdem zeigt der Eintrag 422 auch
an, dass in diesem Datenbereich zu speichernde Daten Protokolldaten
des DBMS 122 sind, dass die Größe des Bereichs 4 GB beträgt und dass
die Priorität
der Daten 0 ist (Schritt 902).
-
Nachdem
im Schritt 902 der Datenbereich erzeugt wurde, liefert
der DB-Server die Rohvorrichtungsinformation 300 und die
Datenbereich-Einstellinformation 406 gemeinsam mit einer
Abschlussmitteilung betreffend die Einstellung des Datenbereichs an
die Speichervorrichtung 130. Nachdem die Datenbereich 130 die
Abschlussmitteilung zur Einstellung des Datenbereichs, die Rohvorrichtungsinformation 300 und
die Datenbereich-Einstellinformation 906 vom DB-Server 110 empfangen
hat, führt
sie eine Gruppenerzeugungsverarbeitung 1000 des Steuerungsprogramms 138 aus.
Die Gruppenerzeugungsverarbeitung 1000 wird später beschrieben
(Schritt 904).
-
Anschließend weist
der DB-Designer das DBMS 122 dazu an, einen DB-Plan zu
erzeugen, wozu er den Namen und den Typ desselben, die ID eines
Datenbereichs, in dem dieser DB-Plan erzeugt ist, und die Größe desselben
im im Schritt 902 erzeugten Datenbereich spezifiziert.
Zum Zeitpunkt, zu dem der DB-Plan erzeugt wird, ordnet das DBMS 122 diesem
automatisch eine Plan-ID zu. Der hier eingestellte Inhalt wird in
der DB-Planinformation 408 im DBMS 122 gespeichert.
-
Genauer
gesagt, zeigt beispielsweise ein Eintrag 440 der DB-Planinformation 408 an,
dass der Planname mit der DB-Plan-ID 0 "LOG1" ist,
und der DB-Plan wird in einem Datenbereich mit der Datenbereichs-ID
0 erzeugt. Außerdem
zeigt der Eintrag 440 auch an, dass dieser DB-Plan ein
solcher Plan ist, in dem Protokolldaten eines DBMS gespeichert, und
dass die Größe des Plans
2 GB beträgt.
-
Es
sei darauf hingewiesen, dass dann, wenn mehrere Protokolle durch
ein DBMS 122 erzeugt werden, beispielsweise dann, wenn
es zwei oder mehr Protokolle durch Umschalten derselben verwendet,
mehrere Datenbereiche für
Protokolle erzeugt werden, um diesen Fall zu meistern (Schritt 906).
-
Anschließend startet
der DB-Designer das DBMS 122 am Sekundärstandort 102, und
er erzeugt einen Datenbereich, der derselbe wie der im Schritt 902 erzeugte
Datenbereich ist, am Sekundärstandort 102 (Schritt 908).
-
Nachdem
der Datenbereich im Schritt 908 am Sekundärstandort 102 erzeugt
wurde, führt
die Datenbereich 130 am Sekundärstandort 102 die Gruppenerzeugungsverarbeitung 1000 des
Steuerungsprogramms 138 aus. Diese Gruppenerzeugungsverarbeitung 1000 wird
später
beschrieben (Schritt 910).
-
Anschließend erzeugt
der DB-Designer einen DB-Plan, der derselbe wie der im Schritt 906 erzeugte
DB-Plan ist, im im Schritt 908 erzeugten Datenbereich.
Es sei darauf hingewiesen, dass, anstatt dass die Verarbeitung wiederholt
wird, die dieselbe wie diejenige am Primärstandort 100 vom
Schritt 908 bis zu diesem Schritt ist, die Datenbereich-Einstellinformation 406 und
die DB-Planinformation 408 des Primärstandorts 100 an
den Sekundärstandort 102 ko piert
werden können,
um am Sekundärstandort 102 eine
DB zu erstellen, die dieselbe wie diejenige am Sekundärstandort 100 ist
(Schritt 912).
-
Danach
wird ein Betrieb des DBMS 122 am Primärstandort 100 gestartet
(Schritt 914). Die 10 ist
ein Flussdiagramm, das ein Beispiel einer Verarbeitungsprozedur
für die
Gruppenerzeugungsverarbeitung 1000 durch das Steuerungsprogramm 138 zeigt.
Es sei darauf hingewiesen, dass, wie es oben beschrieben ist, diese
Verarbeitung dann ausgeführt
wird, wenn ein Datenbereich erzeugt wird.
-
Die
Speichervorrichtung 130 führt das Steuerungsprogramm 138 aus,
sie erfasst aus der Rohvorrichtungsinformation 300 und
der Datenbereich-Einstellinformation 106 des
DB-Servers 110 Information zur Datenpriorität des erzeugten
Datenbereichs sowie die LUN der LU, zu der der Datenbereich gehört, und
sie bestimmt die Datenpriorität
der der LUN entsprechenden LU (Schritt 1002).
-
Anschließend durchsucht
die Speichervorrichtung 130 die Gruppeninformation 202,
um herauszufinden, ob eine Gruppe mit einer Datenpriorität existiert,
die dieselbe wie die im Schritt 1002 erfasste ist (Schritt 1004).
-
Wenn
im Schritt 1009 eine Gruppe mit derselben Datenpriorität aufgefunden
wird, fügt
die Speichervorrichtung 130 die im Schritt 1002 erfasste
LUN zur Gruppe mit derselben Datenpriorität hinzu, und sie aktualisiert
die Gruppeninformation 202 (Schritt 1006).
-
Andererseits
fügt die
Speichervorrichtung 130, wenn im Schritt 1005 keine
Gruppe mit derselben Datenpriorität aufgefunden wird, einen neuen Eintrag
zur Gruppeninformation 202 hinzu, um eine neue Gruppe zu
erzeugen, und sie fügt
die im Schritt 1002 erfasste LUN zu einem Feld 244 des
Eintrags hinzu (Schritt 1008).
-
Die
Gruppeninformation 202 wird durch die oben genannten Schritte
aktualisiert. Genauer gesagt, zeigt beispielsweise ein Eintrag 226 der
Gruppeninformation 202 an, dass die Datenpriorität in der Gruppe
mit der Gruppen-ID 0 den Wert 0 hat, und dass eine LU mit der LUN
0 zu dieser Gruppe gehört.
-
Die 11 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Datenaktualisierungsverarbeitung
durch das DBMS 122 zeigt.
-
Das
DBMS 122 am Primärstandort 100 liest zu
aktualisierende Daten aus der Speichervorrichtung 130 in
den DB-Puffer 402 aus und aktualisiert diese Daten (Schritt 1102)
auf eine Anforderung des Benutzers hin, die DB zu verarbeiten (Datenaktualisierung).
-
Anschließend schreibt
das DBMS 122 eine LSN, die zum Identifizieren der Datenaktualisierung vergeben
hat, den Protokolltyp, eine Datenbereichs-ID für die aktualisierten Daten,
die Adresse der Daten und die aktualisierten Daten im Kontrollpuffer 404 als
ein Protokoll (Schritt 1104).
-
Anschließend beurteilt
das DBMS 122, ob der Platz im Speicherbereich des Protokollpuffers 404 vollständig genutzt
ist (Schritt 1106). Wenn kein Platz im Speicherbereich
des Protokollpuffers 409 vorhanden ist, schreibt das DBMS 122 Protokolldaten
in diesem in einen Datenbereich, der zur Protokollspeicherung geschaffen
ist, des Datenbereichs 500 (Schritt 1108).
-
In
diesem Fall führt,
da die Datenpriorität
zur Protokollspeicherung 0 ist, die Speichervorrichtung 130 das
RC-Programm 140 aus, um die PD durch synchrones Fernkopieren
an den Sekundärstandort 102 zu
kopieren. Es sei darauf hingewiesen, dass die Fernkopierverarbeitung 1200 später beschrieben wird
(Schritt 1110).
-
Anschließend beurteilt
das DBMS 122, ob Platz im Speicherbereich des DB-Puffers 402 vorhanden
ist oder nicht (Schritt 1112). Wenn der Platz im DB-Puffer 402 vollständig verwendet
ist, schreibt das DBMS 122 die aktualisierten Daten in
diesem an einen Ort, der durch eine vorbestimmte Adresse eines entsprechenden
Datenbereichs gekennzeichnet ist (Schritt 1119). Außerdem speichert
das DBMS 122 eine LSN eines Protokolls, das den an den
Ort geschriebenen aktualisierten Daten entspricht, in die LSN 512 des
Datenbereich-Verwaltungsbereichs 502 ein
(Schritt 1116).
-
Es
sei darauf hingewiesen, dass eine Gelegenheit zum Schreiben von
Protokolldaten und DB-Daten in einen Datenbereich als Zeitpunkt
angegeben wird, zu dem der Platz im Speicherbereich des Protokollpuffers 404 und
des DB-Puffers 402 vollständig genutzt ist. Jedoch kann
das DBMS 122 Protokolldaten und DB-Daten entsprechend einer
anderen Gelegenheit, wie mit jeweils einer festen Periode, statt
dem Vorliegen oder Fehlen von Platz in den jeweiligen Puffern, in
einen Datenbereich schreiben.
-
Die 12 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur für die Fernkopierverarbeitung 1200 gemäß dem RC-Programm 140 zeigt.
-
Wenn
Daten einer LU, die zu einer Gruppe mit der Datenpriorität 0 gehört, aktualisiert
wurden (Schritt 1202), liefert das RC-Programm 140 am
Primärstandort 100 die
Aktualisierten Daten an den Sekundärstandort 102 (Schritt 1204),
und es wartet auf eine Antwort von diesem (Schritt 1206).
Das RC-Programm 140 am Primärstandort 100 empfängt die
Antwort vom Sekundärstandort 102,
um zur nächsten Verarbeitung überzugehen.
-
Wenn
dagegen die Datenaktualisierung am Primärstandort 100 eine
andere als eine solche mit der Datenpriorität 0 ist, oder wenn keine Datenaktualisierung
vorliegt, wartet das RC-Programm 140 am Primärstandort 100 auf
das Verstreichen einer vorbestimmten, festen Zeit (Schritt 1208).
Nachdem die feste Zeit verstrichen ist, durchsucht das RC-Programm 140 am
Primärstandort 100 die
Datenaktualisierung, die in Bezug auf eine LU in einer Gruppe mit einer
anderen Datenpriorität
als 0 ausgeführt
wurde, und es liefert die aktualisierten Daten mit der Reihenfolge
der Datenprioritäten
der Gruppen an den Sekundärstandort 102 (Schritt 1210).
-
Die 13 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur Katastrophenüberwachungsverarbeitung
gemäß dem Betriebsverwaltungsprogramm 120 am
Sekundärstandort 102 zeigt.
-
Das
Betriebsverwaltungsprogramm 120 am Sekundärstandort 102 führt periodisch
in Bezug auf das Betriebsverwaltungsprogramm 120 an der
Primärstandort 100 eine
Am-Leben-Kommunikation aus. Die Am-Leben-Kommunikation ist eine
solche Kommunikation, die durch Programme ausgeführt wird, um einander zu überwachen.
Im allgemeine wird ein Herzschlagsignal oder dergleichen verwendet
(Schritt 1302).
-
Wenn
vom Primärstandort 100 eine
Antwort auf die Am-Leben-Kommunikation im Schritt 1302 zurückgeliefert
wird, beurteilt der Sekundärstandort 102,
dass der Primärstandort 100 normal
arbeitet, und er wiederholt nach einer festen Periode die Verarbeitung
ab dem Schritt 1302.
-
Andererseits
beurteilt dann, wenn keine Antwort vom Primärstandort 100 vorliegt,
der Sekundärstandort 102,
dass am Primärstandort 100 ein
Ausfall oder eine Katastrophe auftrat. Dann startet das Betriebsverwaltungsprogramm 120 am
Sekundärstandort 102 das
DBMS 122 an ihm, um den Betrieb zu starten (Schritt 1306),
und das DBMS 122 führt
die DB-Wiederherstellverarbeitung 1400 aus. Es sei darauf
hingewiesen, dass in diesem Fall das DBMS 122 jeweilige
Datenbereiche, in denen DB-Daten abgespeichert sind, in einen gesperrten
Zustand versetzt und die Datenbereiche sequenziell ausgehend von einem
Datenbereich öffnet,
für den
die Wiedergewinnung von Daten abgeschlossen wurde. Hierbei bedeutet
ein "gesperrter
Zustand" einen solchen
Zustand, in dem ein Anwendungsprogramm oder dergleichen des DB-Server 110 nicht
auf Daten eines Datenbereichs zugreifen kann. Außerdem bedeutet "Öffnen", dass der gesperrte Zustand aufgehoben wird,
um in einen Zustand geändert
zu werden, in dem die Daten des Datenbereichs durch das Anwendungsprogramm
oder dergleichen verwendbar sind (Schritt 1308).
-
Die 14 ist
ein Flussdiagramm, das ein Beispiel einer Prozedur zur DB-Wiederherstellverarbeitung 1400 durch
das DBMS 122 am Sekundärstandort 102 zeigt.
-
Das
DBMS 122 am Sekundärstandort 102 führt eine
Wiedergewinnung von Daten aus einem Datenbereich mit hoher Datenpriorität unter
Bezugnahme auf die Datenbereich-Einstellinformation 406 aus
(Schritt 1402), und wenn die Wiedergewinnung der Daten
abgeschlossen ist, öffnet
es den Datenbereich, um diesen in einen nutzbaren Zustand zu bringen
(Schritt 1404).
-
Nachfolgend
wird eine Prozedur für
ein Verfahren zur Wiedergewinnung beschrieben. Als Erstes greift
das DBMS 122 auf die LSN des Bereichs 512 im Datenbereich-Verwaltungsbereich 502 des
Datenbereichs zu und spezifiziert ein Protokoll von Daten, die zuletzt
im Datenbereich aktualisiert wurden. Dann aktualisiert das DBMS 122,
wenn unter Protokollen nach dem durch die LSN spezifizierten Protokoll
aus den beim synchronen Fernkopieren kopierten Protokolldaten ein
Protokoll vorliegt, das anzeigt, dass die Daten des Datenbereichs
aktualisiert wurden, die DB-Daten unter Verwendung der in einem
Eintrag des Protokolls gespeicherten aktualisierten Daten.
-
Wenn
beispielsweise eine Datenwiedergewinnung aus einem Zustand heraus
ausgeführt
wird, in dem die Daten A, D und C in den jeweiligen Datenbereich
am Sekundärstandort 102 in
der 7 kopiert sind, ist die LSN des Datenbereichs 700 mit
der höchsten
Datenpriorität "13", und es existiert
kein Protokoll, das eine Datenaktualisierung des Datenbereichs 700 innerhalb
der Protokolldaten 710 mit der LSN "13" und
anschließenden
Nummern anzeigen würde.
So öffnet
das DBMS 122 den Datenbereich 700 in unveränderter
Weise und bringt ihn in einen nutzbaren Zustand.
-
Als
Nächstes
ist die LSN des Datenbereichs 704 mit der nächsthöchsten Datenpriorität "12", und ein Protokoll
mit der LSN "15" der Protokolldaten 710 mit
der LSN "12" oder anschließenden Nummern zeigt
eine Aktualisierung des Datenbereichs 704 an. Daher schreibt
das DBMS 122 die durch das Protokoll mit der LSN "15" registrierten aktualisierten
Daten F in den Datenbereich 704 ein, und nach dem Aktualisieren
der LSN des Bereichs 512 auf "15" öffnet es
den Datenbereich 704, um ihn in einen nutzbaren Zustand
zu bringen.
-
Schließlich ist
die LSN 512 des Datenbereichs 702 mit der niedrigsten
Datenpriorität "9", und ein Protokoll mit den LSNs "11" und "19" der Protokolldaten 710 mit
der LSN "9" oder anschließenden Nummern
zeigt eine Aktualisierung des Datenbereichs 702 an. Daher
schreibt das DBMS 122 aktualisierte Daten B, die durch
das Protokoll mit der LSN "11" registriert sind,
und aktualisierte Daten E, die durch das Protokoll mit der LSN "14" registriert sind, in
den Datenbereich 702, und nach dem Aktualisieren der LSN
des Bereichs 512 auf "14", öffnet es
den Datenbereich 702, um ihn in einen nutzbaren Zustand
zu bringen.
-
Nun
wird unter Bezugnahme auf die 7 ein Unterschied
bei der Verarbeitung zur Datenwiedergewinnung bei der herkömmlichen
Technik und der Erfindung beschrieben.
-
Gemäß der 7 werden,
wenn die aktualisierten Daten A bis F vom Primärstandort durch ein Fernkopieren
an einen Sekundärstandort
kopiert werden, diese Daten bei der herkömmlichen Technik in der Reihenfolge
ihrer Aktualisierung an den Sekundärstandort kopiert. Dagegen
werden bei der Erfindung die Daten in der Reihenfolge der Prioritäten der Datenbereich,
in die sie eingeschrieben sind, kopiert. Anders gesagt, werden die
Daten in der Reihenfolge der Daten A und D der Gruppe 1 mit der
höchsten
Priorität,
der Daten C und F der Gruppe 3 mit der nächsthöchsten Priorität sowie
der Daten B und E der Gruppe 2 mit der niedrigsten Priorität, statt
der Reihenfolge der Daten A bis F, an den zweiten Sekundärstandort
kopiert.
-
Nun
sei angenommen, dass beim Kopieren der vierten Daten am Primärstandort
ein Fehler aufgetreten ist und am Sekundärstandort eine Wiedergewinnung
einer DB versucht wird. Bei der herkömmlichen Technik wird die Wiedergewinnung
ausgehend von einem Zustand versucht, in dem die Daten A, B und
C an den Sekundärstandort
kopiert sind und die Daten D, E und F aus den Protokolldaten 710 wiedergewonnen
werden. Anders gesagt ist es wahrscheinlich, dass eine Wiedergewinnung
benötigende
Daten in jedem beliebigen Datenbereich existieren, und die Wiedergewinnungszeit
für die
DB-Daten ist verlängert.
-
Andererseits
wird bei der Erfindung, um eine Wiedergewinnung in der Reihenfolge
von Datenbereichen zu versuchen, die zu Gruppen mit höheren Prioritäten gehören, wobei
von einem Zustand ausgegangen wird, in dem die Daten A, D und C
an den Sekundärstandort
kopiert sind, die Wiedergewinnung der Daten in der Reihenfolge eines
zur Gruppe 1 gehörenden
Datenbereichs, eines zur Gruppe 3 gehörenden Datenbereichs und eines
zur Gruppe 2 gehörenden
Datenbereichs ausgeführt.
-
Hierbei
muss bei der Erfindung, da die Daten A und D des zur Gruppe 1 gehörenden Datenbereich 700 bereits
kopiert wurden, eine DBMS seitens des Sekundärstandorts die DB-Daten aus
dem Protokolldaten 710 nicht wiedergewinnen, und es kann
den zur Gruppe 1 gehörenden
Datenbereich unverändert öffnen, um
ihn in einen nutzbaren Zustand zu bringen. Außerdem sorgt, da die Daten
C des zur Gruppe 3 gehörenden
Datenbereichs 704 bereits kopiert wurden, das DBMS seitens
der Sekundärstandort
nur eine Wiedergewinnung der Daten F aus den Protokolldaten 710 aus,
und dann öffnet
es den zur Gruppe 3 gehörenden
Datenbereich, um ihn in einen nutzbaren Zustand zu bringen. Andererseits
führt,
da die Daten B und E des zur Gruppe 2 gehörenden Datenbereichs 702 noch
nicht kopiert wurden, das DBMS seitens des Sekundärstandorts
eine Wiedergewinnung der Daten B und E aus den Protokolldaten 710 aus,
und dann öffnet
es den zur Gruppe 2 gehörenden
Datenbereich, um ihn in einen nutzbaren Zustand zu bringen. Gemäß der oben
beschriebenen Prozedur wird es, bei der Erfindung, möglich, die Wiedergewinnungszeit
für die
Datenbereiche mit höheren
Prioritäten
zu verkürzen.
-
Wie
oben beschrieben, werden bei der Erfindung Daten von Datenbereichen,
für das
Prioritäten hoch
eingestellt sind, bevorzugt an den Sekundärstandort kopiert, und eine
Wiedergewinnung wird ausgehend von den Daten der Datenbereiche mit
höheren
Prioritäten
versucht, wenn der Versuch vorliegt, eine Wiedergewinnung einer
DB am Sekundärstandort
aufgrund eines Ausfalls oder dergleichen vorzunehmen, wodurch die
Wiedergewinnungszeit für
die Daten der Datenbereiche mit höheren Prioritäten verkürzt werden
kann.
-
Anders
gesagt, sind bei der Erfindung, wenn zu einem bestimmten Zeitpunkt
am Primärstandort ein
Ausfall auftrat und am Sekundärstandort
eine DB-Wiedergewinnung
ausgeführt
wird, Daten mit hoher Wiedergewinnungspriorität mit hoher Wahrscheinlichkeit
im Vergleich zu Daten mit niedriger Wiedergewinnungspriorität an den
Sekundärstandort kopiert.
Demgemäß ist die
Wiedergewinnungszeit verkürzt,
da es überflüssig ist,
eine Datenwiedergewinnung in diesem Fall aus einem Protokoll auszuführen.
-
Gemäß der Erfindung
wird es möglich,
ein optimales DR-System aufzubauen, während die Wiedergewinnungszeit
für Daten
mit höheren
Prioritäten in
einem Bereitschaftssystem verkürzt
ist. Außerdem kann
ein System mit einem hohen Nutzen/Preis-Verhältnis erstellt werden, während die
Wiedergewinnungszeit für
Daten, die am Bevorzugtesten wiedergewonnen werden sollen, beispielsweise
DB-Daten, im Bereitschaftssystem
kurz ist.