

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Fase 2 — Fase Roll-forward (database sumber tetap online)
<a name="phase2"></a>

Anda dapat mengulangi fase roll-forward sebanyak yang diperlukan untuk menangkap file data tujuan hingga database sumber.

Fase roll-forward terdiri dari langkah-langkah berikut.

1. Buat cadangan tambahan dari database sumber.

1. Transfer cadangan ke sistem tujuan.

1. Konversi cadangan ke format endian sistem tujuan.

1. Terapkan cadangan ke salinan file data tujuan yang dikonversi untuk menggulungnya ke depan.

Setiap pencadangan inkremental berturut-turut harus memakan waktu lebih sedikit dan akan membawa salinan file data tujuan lebih terkini dengan basis data sumber.

## Langkah 1: Ambil backup inkremental secara paralel
<a name="phase2-step1"></a>

Ambil cadangan tambahan dari grup tablespace yang diangkut pada sistem sumber secara paralel.

Langkah ini membuat backup tambahan untuk semua tablespaces= yang tercantum dalam file. `xtt.properties`

Jika Anda dapat mengaktifkan fitur **BLOCK CHANGE TRACKING** pada sistem sumber, Anda dapat sangat mengurangi waktu pencadangan tambahan.

Perintah berikut mengenali SCN berikutnya setelah pencadangan penuh secara otomatis.

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

## Langkah 2: Transfer backup tambahan dan file res.txt ke sistem tujuan
<a name="phase2-step2"></a>

Jika Anda memiliki bandwidth yang cukup, Anda dapat mengurangi durasi transfer dengan menggunakan Direct Connect.

Transfer cadangan tambahan antara dan. `src_scratch_location` `dest_scratch_location` Transfer `res.txt` file antara `$TMPDIR` pada sistem sumber dan `$TMPDIR` pada sistem tujuan.

Jika Anda mengambil beberapa cadangan tambahan, `res.txt` file harus disalin setelah pencadangan tambahan terakhir sebelum dapat diterapkan pada sistem tujuan.

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

## Langkah 3: Konversi dan terapkan cadangan tambahan
<a name="phase2-step3"></a>

Ubah cadangan tambahan ke format endian sistem tujuan dan terapkan pencadangan tambahan ke salinan file data tujuan pada sistem tujuan.

Dalam panduan ini, anggaplah bahwa kelompok tablespace adalah empat. Jalankan setiap `xttdriver.pl` perintah dengan `--restore` opsi untuk setiap grup tablespace.

Pada langkah ini, utilitas Oracle XTTS mengambil database target untuk dimulai ulang. Untuk menjalankan perintah secara paralel, Anda harus menggunakan kustomisasi berikut dalam skrip Perl,`xttdriver.pl`.

****

1. Komentari baris berikut:
   + Baris 4867: ` my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttstartupnomount.sql`;`
   + Baris 4868: ` checkError ("Error in executing xttstartupnomount.sql", $outputstart);`
   + Baris 4992: ` my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttdbopen.sql`;\`

1. Buat target DB dalam `NOMOUNT` status.

   ```
   sqlplus / as sysdba @xttstartupnomount.sql
   ```

1. Lakukan roll forward dari incremental backup secara parallel.

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

1. Setelah memajukan semua cadangan tambahan, atur status DB target. `OPEN`

   ```
   sqlplus / as sysdba @xttdbopen.sql
   ```

Pada titik ini, Anda dapat mengulangi fase 2 hingga database sumber dan tujuan cukup dekat. SCNs Anda harus memutuskan apakah maju ke fase 3 atau mengulang fase 2, tergantung pada target downtime yang diberikan.

Untuk mengurangi waktu henti selama fase 3 (fase transportasi), Anda dapat mengekspor dan mengimpor metadata objek berbasis nonsegmen, seperti,,, dan `USER` `PACKAGE` `PROCEDURE``FUNCTION`, sebelum Anda mengatur database sumber sebagai. `READ ONLY`

Jika jumlah objek database dalam database sumber sangat besar (ratusan ribu), mengekspor dan mengimpor metadata akan memakan waktu beberapa jam. Dalam hal ini, pertimbangkan untuk mengekspor metadata.

Mengekspor objek berbasis nonsegmen dijalankan read/write pada sistem sumber. Maka Anda harus mengimpor objek ke sistem tujuan sebelum sistem sumber diatur ke`READ ONLY`. Pada saat ini, Anda harus menyimpan objek sumber database seperti`PACKAGE`,`PROCEDURE`, dan `FUNCTION` tidak berubah.

Ini adalah contoh file parameter dump yang digunakan untuk mengekspor metadata objek berbasis nonsegmen, termasuk`USER`,,,, dan. `PACKAGE_SPEC` `PACKAGE_BODY` `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
```

Gunakan perintah berikut untuk mengekspor metadata.

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

Ini adalah contoh file parameter dump untuk mengimpor metadata objek nonsegmen.

```
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,
…..
```

Pada saat ini, tidak ada tablespace kecuali`SYSTEM`,`SYSAUX`,`UNDO`, dan `TEMP` pada sistem tujuan. Jadi, Anda harus memetakan ulang semua objek yang akan diimpor ke `SYSTEM` tablespace.

Gunakan perintah berikut untuk mengimpor metadata.

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

Sekarang Anda dapat melihat objek yang dibuat pada database tujuan.

```
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
…..
```

Tidak ada ruang meja kecuali`SYSTEM`,, `SYSAUX``UNDO`, dan`TEMP`. `USER`Objek dibuat dengan `USERS` sebagai tablespace default. Selama fase 3, tablespace yang dapat diangkut akan dibuat, dan kemudian objek USER akan diubah dengan tablespaces default asli.