## Schatteninstanz als aktive Instanz in Betrieb nehmen

### Verwendung

Sie können die Schatteninstanz sowohl mit dem aktuellen Datenbestand der Originalinstanz in Betrieb nehmen als auch mit dem Datenbestand der Originalinstanz zu einem bestimmten Zeitpunkt in der Vergangenheit.

Um die Schatteninstanz mit dem aktuellen Datenbestand der Originalinstanz in Betrieb zu nehmen, stoppen Sie die Originalinstanz, führen eine letzte Log-Sicherung in der Originalinstanz durch, lesen diese Log-Sicherung in die Schatteninstanz ein und starten anschließend die Schatteninstanz.

Sie können die Schatteninstanz mit dem Datenbestand der Originalinstanz nur dann zu einem bestimmten Zeitpunkt in der Vergangenheit in Betrieb nehmen, wenn bisher nur Log-Sicherungen in die Schatteninstanz eingelesen wurden, deren Inhalt vor diesem gewünschten Zeitpunkt liegt.

Sie geben dazu beim Einlesen der Log-Sicherungen den gewünschten Zeitpunkt an, bis zu dem das System die Log-Einträge einlesen soll. Wenn Sie die Log-Sicherungen aus der Originalinstanz automatisch in die Schatteninstanz einlesen lassen, brechen Sie zunächst das automatische Einlesen ab. Anschließend starten Sie das Einlesen der Log-Sicherungen erneut und geben dabei den gewünschten Zeitpunkt an, bis zu dem das System die Log-Einträge einlesen soll.

Das System liest die Log-Einträge ein und fordert Sie auf, den jeweils nächsten Datenträger anzugeben, bis es zu jenen Log-Einträgen gelangt, die zum angegeben Zeitpunkt geschrieben wurden. Hier bricht es das Einlesen der Log-Einträge endgültig ab und überführt die Datenbankinstanz in den Betriebszustand ONLINE.

Wenn es nach einem Problem mit der Originalinstanz nicht mehr möglich ist, eine letzte Log-Sicherung der Originalinstanz durchzuführen, die Log-Volumes der Originalinstanz jedoch unbeschädigt sind, dann können Sie deren Inhalt auch mit Betriebssystemkommandos in die Log-Volumes der Schatteninstanz kopieren.

Zu den Voraussetzungen siehe Database Manager CLI, recover_cancel, recover_start, recover_replace

Siehe auch:

Schatteninstanz einrichten und aktualisieren

Log-Volumes mit Betriebssystemmitteln kopieren

Konzepte des Datenbanksystems, Schattendatenbank

### Szenario

Sie verfügen auf Ihrem lokalen Rechner über eine Schatteninstanz mit dem Namen TESTDB für die Datenbankinstanz DEMODB auf dem Rechner GENUA. Über ein Skript werden die von DEMODB erstellten Log-Sicherungen mit einer definierten Zeitverzögerung automatisch in TESTDB eingelesen.

Am 02. Februar 2006 um 16:36:10 gab es in DEMODB einen Hardwarefehler im Datenbereich. Sie beschließen deshalb, die Schatteninstanz TESTDB bis zum Zeitpunkt 02. Februar 2006 um 16:36:00 Uhr wiederherzustellen und in Betrieb zu nehmen.

### Vorgehensweise

In den nachfolgenden Erläuterungen sind die relevanten Interpretationen in die Ausgabe eingefügt, fett formatiert und als Kommentare gekennzeichnet (#)

...

1. Der erste Schritt hängt davon ab, ob Sie die Log-Sicherungen bisher automatisch oder manuell in TESTDB einlesen.

○ Wenn Sie die Log-Sicherungen aus der Originalinstanz DEMODB automatisch in die Schatteninstanz TESTDB einlesen lassen, dann brechen Sie diesen Vorgang jetzt ab:
dbmcli on TESTDB>recover_cancel

OK

Returncode 0

Date

Time

Server

Database

Kernel Version

Pages Transferred 0

Pages Left 0

Volumes

Medianame

Location

Errortext

Label

Is Consistent

First LOG Page

Last LOG Page

DB Stamp 1 Date

DB Stamp 1 Time

DB Stamp 2 Date

DB Stamp 2 Time

Page Count 0

Devices Used

Database ID

Max Used Data Page

----

dbmcli on TESTDB>

Anschließend überführen Sie TESTDB in den Betriebszustand ADMIN:

dbmcli on TESTDB>db_admin

OK

○ Wenn Sie die Log-Sicherungen von DEMODB manuell in TESTDB eingelesen haben, rufen Sie zunächst den Database Manager CLI im Sitzungsmodus auf, melden sich als Benutzer DBM mit dem Kennwort DBM an und stellen die Verbindung zur Schattensinstanz TESTDB her:

>dbmcli –u DBM,DBM –d TESTDB

dbmcli on TESTDB>

2. Eröffnen Sie eine Datenbanksitzung:

dbmcli on TESTDB>db_connect

OK

3. Starten Sie das Einlesen der noch fehlenden Log-Sicherungen bis zu dem gewünschten Zeitpunkt:

dbmcli on TESTDB>recover_start LogSave LOG 009 UNTIL 20060202 163600

OK

Returncode -8020

# Der angegebene Datenträger wurde eingelesen. Der Rückgabewert -8020 fordert sie auf, den nächstfolgenden Datenträger anzugeben.

Date 20060203

Time 00134353

Server GENUA

Database DEMODB

Kernel Version Kernel 7.6.00 Build 016-123-109-428

Pages Transferred 1168

Pages Left 0

Volumes 1

Medianame LogBackupFile

Location \\GENUA\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackupFeb.009

Errortext

Label LOG_000000009

Is Consistent

First LOG Page 17187

Last LOG Page 18452

DB Stamp 1 Date 20060202

DB Stamp 1 Time 00093758

DB Stamp 2 Date 20060202

DB Stamp 2 Time 00093819

Page Count 1265

Devices Used 1

Database ID GENUA:DEMODB_20060125_165646

Max Used Data Page

--

dbmcli on TESTDB>recover_replace LogBackupFile "C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackupFeb" 010

OK

Returncode -8020

# Der angegebene Datenträger wurde eingelesen. Der Rückgabewert -8020 fordert sie auf, den nächstfolgenden Datenträger anzugeben.

Date 20060203

Time 00134353

Server GENUA

Database DEMODB

Kernel Version Kernel 7.6.00 Build 016-123-109-428

Pages Transferred 2032

Pages Left 0

Volumes 1

Medianame LogBackupFile

Location \\GENUA\\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackupFeb.010

Errortext

Label LOG_000000010

Is Consistent

First LOG Page 18453

Last LOG Page 20670

DB Stamp 1 Date 20060202

DB Stamp 1 Time 00163233

DB Stamp 2 Date 20060202

DB Stamp 2 Time 00163447

Page Count 2217

Devices Used 1

Database ID GENUA:DEMODB_20060125_165646

Max Used Data Page

---

dbmcli on TESTDB>recover_replace LogBackupFile "\\GENUA\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackupFeb" 011

OK

Returncode 0

# Der angegebene Datenträger wurde eingelesen. Der Rückgabewert 0 weist aus, dass alle Log-Einträge, die bis zum angegebenen Zeitpunkt geschrieben worden waren, eingelesen wurden.

Date 20060203

Time 00134353

Server GENUA

Database DEMODB

Kernel Version Kernel 7.6.00 Build 016-123-109-428

Pages Transferred 1280

Pages Left 0

Volumes 1

Medianame LogBackupFile

Location \\GENUA\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups.011

Errortext

Label LOG_000000011

Is Consistent

First LOG Page 20671

Last LOG Page 23024

DB Stamp 1 Date 20060202

DB Stamp 1 Time 00163601

DB Stamp 2 Date 20060202

DB Stamp 2 Time 00163604

Page Count 2353

Devices Used 1

Database ID GENUA:DEMODB_20060125_165646

Max Used Data Page

---

dbmcli on TESTDB>

### Ergebnis

Das System hat die Log-Sicherungen bis zum angegebenen Zeitpunkt eingelesen und anschließend die Datenbankinstanz in den Betriebszustand ONLINE überführt.

Sie können die Schatteninstanz nun als aktive Instanz verwenden.