View a markdown version of this page

Fase 2 — Fase Roll-forward (database sumber tetap online) - AWS Panduan Preskriptif

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)

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.

  2. Transfer cadangan ke sistem tujuan.

  3. Konversi cadangan ke format endian sistem tujuan.

  4. 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

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

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

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`;\

  2. Buat target DB dalam NOMOUNT status.

    sqlplus / as sysdba @xttstartupnomount.sql
  3. 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
  4. 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 PROCEDUREFUNCTION, 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 keREAD ONLY. Pada saat ini, Anda harus menyimpan objek sumber database sepertiPACKAGE,PROCEDURE, dan FUNCTION tidak berubah.

Ini adalah contoh file parameter dump yang digunakan untuk mengekspor metadata objek berbasis nonsegmen, termasukUSER,,,, 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 kecualiSYSTEM,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 kecualiSYSTEM,, SYSAUXUNDO, danTEMP. USERObjek 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.