View a markdown version of this page

Phase 2 — Roll-Forward-Phase (Quelldatenbank bleibt online) - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Phase 2 — Roll-Forward-Phase (Quelldatenbank bleibt online)

Sie können die Roll-Forward-Phase so oft wie nötig wiederholen, um die Zieldatendatei in der Quelldatenbank abzufangen.

Die Roll-Forward-Phase besteht aus den folgenden Schritten.

  1. Erstellen Sie ein inkrementelles Backup aus der Quelldatenbank.

  2. Übertragen Sie das Backup auf das Zielsystem.

  3. Konvertiert das Backup in das Endian-Format des Zielsystems.

  4. Wenden Sie das Backup auf die konvertierten Zieldatendateikopien an, um sie weiterzuleiten.

Jede aufeinanderfolgende inkrementelle Sicherung sollte weniger Zeit in Anspruch nehmen und die Kopien der Zieldatendatei mit der Quelldatenbank auf den neuesten Stand bringen.

Schritt 1: Inkrementelle Backups parallel durchführen

Erstellen Sie inkrementelle Backups der Tablespace-Gruppen, die parallel auf dem Quellsystem transportiert werden.

Dieser Schritt erstellt inkrementelle Backups für alle Tablespaces=, die in der Datei aufgeführt sind. xtt.properties

Wenn Sie die Funktion BLOCK CHANGE TRACKING auf dem Quellsystem aktivieren können, können Sie die Zeit für das inkrementelle Backup erheblich reduzieren.

Der folgende Befehl erkennt den nächsten SCN nach der vollständigen Sicherung automatisch.

cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup --debug 3

Schritt 2: Übertragen Sie die inkrementellen Backups und die Datei res.txt auf das Zielsystem

Wenn Sie über genügend Bandbreite verfügen, können Sie die Übertragungsdauer reduzieren, indem Sie Direct Connect

Übertragen Sie die inkrementellen Backups zwischen src_scratch_location unddest_scratch_location. Übertragen Sie die res.txt Datei zwischen $TMPDIR dem Quellsystem und $TMPDIR dem Zielsystem.

Wenn Sie mehrere inkrementelle Backups erstellen, muss die res.txt Datei nach der letzten inkrementellen Sicherung kopiert werden, bevor sie auf das Zielsystem angewendet werden kann.

[source]$ scp $TMPDIR/res.txt oracle@[dest]:/u01/oracle/expimp/out/out<nn> [source]$ scp <src_scratch_location>/* oracle@[dest]:<dest_scratch_location>

Schritt 3: Inkrementelle Backups konvertieren und anwenden

Konvertiert inkrementelle Backups in das Endian-Format des Zielsystems und wendet inkrementelle Backups auf die Kopien der Zieldatendateien auf dem Zielsystem an.

Nehmen wir in diesem Handbuch an, dass es sich bei den Tablespace-Gruppen um vier Gruppen handelt. Führen Sie jeden xttdriver.pl Befehl mit der --restore Option für jede Tablespace-Gruppe aus.

In diesem Schritt veranlasst das Oracle XTTS-Hilfsprogramm, die Zieldatenbank neu zu starten. Um den Befehl parallel auszuführen, müssen Sie die folgende Anpassung im Perl-Skript verwenden,xttdriver.pl.

  1. Kommentieren Sie die folgenden Zeilen aus:

    • Zeile 4867: my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttstartupnomount.sql`;

    • Zeile 4868: checkError ("Error in executing xttstartupnomount.sql", $outputstart);

    • Zeile 4992: my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttdbopen.sql`;\

  2. Setzen Sie die Ziel-DB in NOMOUNT den Status.

    sqlplus / as sysdba @xttstartupnomount.sql
  3. Führen Sie parallel einen Rollforward der inkrementellen Backups durch.

    cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore --debug 3
  4. Nachdem Sie alle inkrementellen Backups weitergeleitet haben, setzen Sie die Ziel-DB in OPEN den Status.

    sqlplus / as sysdba @xttdbopen.sql

An diesem Punkt können Sie Phase 2 wiederholen, bis sich die SCNs Quell- und Zieldatenbanken nahe genug sind. Abhängig von der gewünschten Ausfallzeit müssen Sie entscheiden, ob Sie mit Phase 3 fortfahren oder Phase 2 wiederholen möchten.

Um die Ausfallzeit während Phase 3 (der Transportphase) zu reduzieren, können Sie die Metadaten nicht segmentbasierter Objekte wie,, und exportieren und importieren USER PACKAGE PROCEDUREFUNCTION, bevor Sie die Quelldatenbank als festlegen. READ ONLY

Wenn die Anzahl der Datenbankobjekte in der Quelldatenbank extrem groß ist (Hunderttausende), dauert der Export und Import der Metadaten mehrere Stunden. In diesem Fall sollten Sie den Export von Metadaten in Betracht ziehen.

Das Exportieren von Objekten, die nicht auf Segmenten basieren, wird im read/write Quellsystem ausgeführt. Anschließend müssen Sie die Objekte in das Zielsystem importieren, bevor das Quellsystem auf eingestellt ist. READ ONLY Zu diesem Zeitpunkt müssen Sie die Datenbankquellobjekte wiePACKAGE,PROCEDURE, FUNCTION unverändert lassen.

Dies ist ein Beispiel für die Dump-Parameterdatei, die zum Exportieren von Metadaten von Objekten verwendet wird, die nicht auf Segmenten basieren, einschließlich, USERPACKAGE_SPEC, PACKAGE_BODY und. PROCEDURE FUNCTION

directory=dmpdir dumpfile=xttsmsc%U.dmp full=y filesize=1048576000 logfile=expmsc.log metrics=y exclude=TABLE,INDEX,CONSTRAINT,COMMENT, MATERIALIZED_VIEW,MATERIALIZED_VIEW_LOG,SCHEMA_CALLOUT

Verwenden Sie den folgenden Befehl, um Metadaten zu exportieren.

SQL> create directory dmpdir as <location>; expdp system/<system password> parfile=<parameter file>

Dies ist ein Beispiel für die Dump-Parameterdatei zum Importieren von Metadaten von Objekten, die keine Segmente sind.

directory=dmpdir dumpfile=xttsmsc%U.dmp full=y logfile=impmsc1.log EXCLUDE=TABLESPACE, PROCOBJ, RLS_CONTEXT, RLS_GROUP, RLS_POLICY, TABLESPACE_QUOTA metrics=y remap_tablespace= APPS_TS_ARCHIVE:SYSTEM, APPS_TS_INTERFACE:SYSTEM, APPS_TS_SEED:SYSTEM, APPS_TS_SUMMARY:SYSTEM, …..

Derzeit gibt es keine Tablespaces außerSYSTEM, SYSAUXUNDO, und TEMP auf dem Zielsystem. Sie müssen also alle Objekte, die in den Tablespace importiert werden sollen, neu zuordnen. SYSTEM

Verwenden Sie den folgenden Befehl, um Metadaten zu importieren.

SQL> create directory dmpdir as <location>; impdp system/<system password> parfile=<parameter file>

Jetzt können Sie die erstellten Objekte in der Zieldatenbank sehen.

SQL> select object_type, count(*) from dba_objects group by object_type order by count(*) desc; OBJECT_TYPE COUNT(*) ------------------------------- ---------- SYNONYM 89327 PACKAGE 55670 PACKAGE BODY 54447 VIEW 41378 JAVA CLASS 31978 SEQUENCE 12766 …..

Es gibt keine Tablespaces außerSYSTEM, SYSAUXUNDO, und. TEMP Das USER Objekt wird USERS als Standard-Tablespace erstellt. In Phase 3 werden die transportierbaren Tablespaces erstellt, und dann werden die USER-Objekte mit den ursprünglichen Standard-Tablespaces geändert.