Bermigrasi menggunakan tablespace yang dapat dipindahkan Oracle - Layanan Basis Data Relasional Amazon

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

Bermigrasi menggunakan tablespace yang dapat dipindahkan Oracle

Anda dapat menggunakan fitur tablespace yang dapat dipindahkan Oracle untuk menyalin satu set tablespace dari basis data Oracle on-premise ke instans DB RDS for Oracle. Pada tingkat fisik, Anda mentransfer file data sumber dan file metadata ke instans DB target menggunakan Amazon EFS atau Amazon S3. Fitur ruang meja yang dapat diangkut menggunakan paket. rdsadmin.rdsadmin_transport_util Untuk sintaks dan semantik paket ini, lihat. Mengangkut tablespace

Untuk posting blog yang menjelaskan cara mengangkut tablespace, lihat Memigrasi Database Oracle untuk AWS menggunakan ruang meja yang dapat diangkut dan Amazon RDS for Oracle Transportable Tablespaces menggunakan RMAN.

Ikhtisar tablespace Oracle yang dapat dipindahkan

Set tablespace yang dapat dipindahkan terdiri dari file data untuk set tablespace yang dipindahkan dan file dump ekspor yang berisi metadata tablespace. Dalam solusi migrasi fisik seperti tablespace yang dapat dipindahkan, Anda mentransfer file fisik: file data, file konfigurasi, dan file dump Data Pump.

Kelebihan dan kekurangan tablespace yang dapat dipindahkan

Penggunaan tablespace yang dapat dipindahkan disarankan saat Anda perlu memigrasikan satu atau beberapa tablespace besar ke RDS dengan waktu henti minimum. Dibanding migrasi logis, tablespace yang dapat dipindahkan memiliki kelebihan sebagai berikut:

  • Waktu henti lebih rendah dibandingkan solusi migrasi Oracle lainnya.

  • Karena fitur tablespace yang dapat dipindahkan hanya menyalin file fisik, fitur ini mencegah kesalahan integritas data dan kerusakan logis yang dapat terjadi pada migrasi logis.

  • Tidak perlu lisensi tambahan.

  • Anda bisa memigrasikan set tablespace di berbagai platform dan jenis endian, misalnya, dari platform Oracle Solaris ke Linux. Namun, pemindahan tablespace ke dan dari server Windows tidak didukung.

    catatan

    Linux sepenuhnya teruji dan didukung. Tidak semua variasi UNIX telah diuji.

Jika Anda menggunakan tablespace yang dapat dipindahkan, Anda dapat memindahkan data menggunakan Amazon S3 atau Amazon EFS:

  • Saat menggunakan EFS, cadangan Anda tetap berada di sistem file EFS selama impor. Anda dapat menghapus file sesudahnya. Dalam teknik ini, Anda tidak perlu menyediakan penyimpanan EBS untuk instans DB. Karena alasan ini, sebaiknya gunakan Amazon EFS sebagai ganti S3. Untuk informasi selengkapnya, lihat Integrasi Amazon EFS.

  • Ketika menggunakan S3, Anda mengunduh cadangan RMAN ke penyimpanan EBS yang terhubung ke instans DB Anda. File tetap berada di penyimpanan EBS Anda selama impor. Setelah impor, Anda dapat mengosongkan ruang ini, yang tetap dialokasikan untuk instans DB Anda.

Kekurangan utama dari tablespace yang dapat dipindahkan adalah perlunya pengetahuan yang cukup mendalam tentang Oracle Database. Untuk informasi selengkapnya, lihat Transporting Tablespaces Between Databases dalam Panduan Administrator Oracle Database.

Batasan tablespace yang dapat dipindahkan

Batasan Oracle Database untuk tablespace yang dapat dipindahkan berlaku ketika Anda menggunakan fitur ini di RDS for Oracle. Untuk informasi selengkapnya, lihat Limitations on Transportable Tablespaces dan General Limitations on Transporting Data dalam Panduan Administrator Oracle Database. Ketahui batasan tambahan untuk tablespace yang dapat dipindahkan di RDS for Oracle berikut:

  • Baik sumber maupun basis data target tidak dapat menggunakan Standard Edition 2 (SE2). Hanya mendukung Enterprise Edition.

  • Anda tidak dapat menggunakan basis data Oracle Database 11g sebagai sumber. Fitur tablespace lintas platform yang dapat dipindahkan RMAN bergantung pada mekanisme pemindahan RMAN, yang tidak didukung oleh Oracle Database 11g.

  • Anda tidak dapat memigrasikan data dari instans DB RDS for Oracle menggunakan tablespace yang dapat dipindahkan. Anda hanya dapat menggunakan tablespace yang dapat dipindahkan untuk memigrasikan data ke instans DB RDS for Oracle.

  • Tidak mendukung sistem operasi Windows.

  • Anda tidak dapat memindahkan tablespace ke dalam basis data pada tingkat rilis yang lebih rendah. Basis data target harus berada pada tingkat rilis yang sama atau lebih baru dengan basis data sumber. Sebagai contoh, Anda tidak dapat memindahkan tablespace dari Oracle Database 21c ke Oracle Database 19c.

  • Anda tidak dapat memindahkan tablespace administratif seperti SYSTEM dan SYSAUX.

  • Anda tidak dapat memindahkan objek non-data seperti paket PL/SQL, kelas Java, tampilan, pemicu, urutan, pengguna, peran, dan tabel sementara. Untuk memindahkan objek non-data, buat secara manual atau gunakan ekspor dan impor metadata Data Pump. Untuk informasi selengkapnya, lihat My Oracle Support Note 1454872.1.

  • Anda tidak dapat memindahkan tablespace terenkripsi atau menggunakan kolom terenkripsi.

  • Jika Anda mentransfer file menggunakan Amazon S3, ukuran file maksimum yang didukung adalah 5 TiB.

  • Jika basis data sumber menggunakan opsi Oracle seperti Spatial, Anda hanya dapat memindahkan tablespace jika basis data target mengonfigurasikan opsi yang sama.

  • Anda tidak dapat memindahkan tablespace ke instans DB RDS for Oracle dalam konfigurasi replika Oracle. Sebagai solusinya, Anda dapat menghapus semua replika, memindahkan tablespace, lalu membuat ulang replika.

Prasyarat untuk tablespace yang dapat dipindahkan

Sebelum memulai, selesaikan tugas berikut:

Tahap 1: Siapkan host sumber

Pada langkah ini, salin skrip tablespace pemindahan yang disediakan oleh Dukungan My Oracle dan siapkan file konfigurasi yang diperlukan. Pada langkah berikut, host sumber menjalankan basis data yang berisi tablespace yang akan dipindahkan ke instans target.

Untuk menyiapkan host sumber
  1. Masuk ke host sumber sebagai pemilik beranda Oracle.

  2. Pastikan variabel lingkungan ORACLE_HOME dan ORACLE_SID mengarah ke basis data sumber Anda.

  3. Masuk ke basis data sebagai administrator, dan pastikan versi zona waktu, set karakter DB, dan set karakter nasional sama dengan yang ada di basis data target.

    SELECT * FROM V$TIMEZONE_FILE; SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
  4. Siapkan utilitas tablespace yang dapat dipindahkan seperti yang dijelaskan di Oracle Support note 2471245.1.

    Penyiapan termasuk mengedit file xtt.properties di host sumber Anda. Sampel file xtt.properties berikut menetapkan pencadangan tiga tablespace di dalam direktori /dsk1/backups. Ketiganya adalah tablespace yang akan Anda pindahkan ke instans DB target. Sampel tersebut juga menentukan ID platform sumber untuk mengonversi endian secara otomatis.

    #linux system platformid=13 #list of tablespaces to transport tablespaces=TBS1,TBS2,TBS3 #location where backup will be generated src_scratch_location=/dsk1/backups #RMAN command for performing backup usermantransport=1

Tahap 2: Siapkan pencadangan tablespace penuh

Pada tahap ini, Anda mencadangkan tablespace untuk pertama kalinya, mentransfer cadangan ke host target, lalu memulihkannya menggunakan prosedur rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces. Setelah tahap ini selesai, cadangan tablespace awal berada di instans DB target Anda dan dapat diperbarui dengan cadangan inkremental.

Langkah 1: Cadangkan tablespace pada host sumber

Pada langkah ini, gunakan skrip xttdriver.pl untuk mencadangkan tablespace Anda secara keseluruhan. Output xttdriver.pl disimpan dalam variabel lingkungan TMPDIR.

Untuk mencadangkan tablespace
  1. Jika tablespace Anda dalam mode hanya baca, masuk ke basis data sumber Anda sebagai pengguna dengan hak akses ALTER TABLESPACE, dan ubah modenya menjadi baca/tulis. Jika tidak, lewati ke langkah berikutnya.

    Contoh berikut menempatkan tbs1, tbs2, dan tbs3 dalam mode baca/tulis.

    ALTER TABLESPACE tbs1 READ WRITE; ALTER TABLESPACE tbs2 READ WRITE; ALTER TABLESPACE tbs3 READ WRITE;
  2. Cadangkan tablespace Anda menggunakan skrip xttdriver.pl. Secara opsional, Anda dapat menentukan --debug untuk menjalankan skrip dalam mode debug.

    export TMPDIR=location_of_log_files cd location_of_xttdriver.pl $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup

Langkah 2: Transfer file cadangan ke instans DB target Anda

Pada langkah ini, salin file cadangan dan konfigurasi dari lokasi awal ke instans DB target. Pilih salah satu opsi berikut:

  • Jika host sumber dan target menggunakan sistem file Amazon EFS yang sama, gunakan utilitas sistem operasi seperti cp untuk menyalin file cadangan dan file res.txt dari lokasi awal ke direktori bersama. Lalu, langsung ke Langkah 3: Impor tablespace pada instans DB target Anda.

  • Jika Anda perlu melakukan pencadangan ke bucket Amazon S3, selesaikan langkah berikut.

Transfer file menggunakan Amazon S3 atau Amazon EFS.

Langkah 2.2: Unggah cadangan ke bucket Amazon S3 Anda

Unggah cadangan dan res.txt file Anda dari direktori awal ke bucket Amazon S3. Untuk informasi selengkapnya, lihat Mengunggah objek di Panduan Pengguna Amazon Simple Storage Service.

Langkah 2.3: Unduh cadangan dari bucket Amazon S3 ke instans DB target

Pada langkah ini, gunakan prosedur rdsadmin.rdsadmin_s3_tasks.download_from_s3 untuk mengunduh cadangan ke instans DB RDS for Oracle.

Untuk mengunduh cadangan dari bucket Amazon S3
  1. Mulai SQL*Plus atau Oracle SQL Developer dan masuk ke instans DB RDS for Oracle.

  2. Unduh cadangan dari bucket Amazon S3 ke instans DB target Anda menggunakan prosedur Amazon RDS rdsadmin.rdsadmin_s3_tasks.download_from_s3 untuk d. Contoh berikut ini mengunduh semua file dari bucket Amazon S3 bernama amzn-s3-demo-bucket ke direktori DATA_PUMP_DIR.

    EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'res.txt'); SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3( p_bucket_name => 'amzn-s3-demo-bucket', p_directory_name => 'DATA_PUMP_DIR') AS TASK_ID FROM DUAL;

    Pernyataan SELECT mengembalikan ID tugas dalam jenis data VARCHAR2. Untuk informasi selengkapnya, lihat Mengunduh file dari bucket Amazon S3 ke instans DB Oracle.

Langkah 3: Impor tablespace pada instans DB target Anda

Untuk mengembalikan tablespace Anda ke instans DB target Anda, gunakan prosedurrdsadmin.rdsadmin_transport_util.import_xtts_tablespaces. Prosedur ini secara otomatis mengonversi file data ke format endian yang benar.

Jika Anda mengimpor dari platform selain Linux, tentukan platform sumber menggunakan parameter p_platform_id saat Anda meneleponimport_xtts_tablespaces. Pastikan ID platform yang Anda tentukan cocok dengan yang ditentukan dalam xtt.properties file diLangkah 2: Ekspor metadata tablespace di host sumber Anda.

Impor tablespace pada instans DB target Anda
  1. Mulai klien Oracle SQL dan masuk ke instans DB RDS for Oracle target Anda sebagai pengguna utama.

  2. Jalankan prosedur rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces, tentukan tablespace yang akan diimpor dan direktori yang berisi cadangan.

    Contoh berikut mengimpor tablespacesTBS1,TBS2, dan TBS3 dari direktori. DATA_PUMP_DIR Platform sumbernya adalah Sistem berbasis AIX (64-bit), yang memiliki ID platform. 6 Anda dapat menemukan platform IDs dengan menanyakanV$TRANSPORTABLE_PLATFORM.

    VAR task_id CLOB BEGIN :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces( 'TBS1,TBS2,TBS3', 'DATA_PUMP_DIR', p_platform_id => 6); END; / PRINT task_id
  3. (Opsional) Pantau kemajuan dengan membuat kueri tabel rdsadmin.rds_xtts_operation_info. Kolom xtts_operation_state menampilkan nilai EXECUTING, COMPLETED, atau FAILED.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;
    catatan

    Untuk operasi berdurasi panjang, Anda juga dapat membuat kueri V$SESSION_LONGOPS, V$RMAN_STATUS, dan V$RMAN_OUTPUT.

  4. Lihat log impor yang telah selesai menggunakan ID tugas dari langkah sebelumnya.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));

    Pastikan impor sudah berhasil sebelum melanjutkan ke langkah berikutnya.

Tahap 3: Buat dan transfer cadangan inkremental

Pada tahap ini, buat dan transfer cadangan inkremental secara berkala saat basis data sumber aktif. Teknik ini mengurangi ukuran pencadangan akhir tablespace Anda. Jika Anda mengambil beberapa cadangan inkremental, Anda harus menyalin file res.txt setelah pencadangan inkremental terakhir sebelum menerapkannya pada instans target.

Langkahnya sama seperti pada Tahap 2: Siapkan pencadangan tablespace penuh, kecuali langkah impor yang sifatnya opsional.

Tahap 4: Pindahkan tablespace

Pada tahap ini, cadangkan tablespace hanya baca dan ekspor metadata Data Pump, transfer file ini ke host target, dan impor tablespace dan metadata.

Langkah 1: Cadangkan tablespace hanya baca Anda

Langkah ini sama dengan Langkah 1: Cadangkan tablespace pada host sumber, dengan satu perbedaan utama: tablespace Anda diubah ke mode hanya baca sebelum dicadangkan untuk terakhir kalinya.

Contoh berikut menempatkan tbs1, tbs2, dan tbs3 dalam mode hanya baca.

ALTER TABLESPACE tbs1 READ ONLY; ALTER TABLESPACE tbs2 READ ONLY; ALTER TABLESPACE tbs3 READ ONLY;

Langkah 2: Ekspor metadata tablespace di host sumber Anda

Ekspor metadata tablespace dengan menjalankan utilitas expdb di host sumber Anda. Contoh berikut mengekspor tablespacesTBS1,TBS2, dan TBS3 untuk membuang file xttdump.dmp dalam direktori. DATA_PUMP_DIR

expdp username/pwd \ dumpfile=xttdump.dmp \ directory=DATA_PUMP_DIR \ statistics=NONE \ transport_tablespaces=TBS1,TBS2,TBS3 \ transport_full_check=y \ logfile=tts_export.log

Jika DATA_PUMP_DIR merupakan direktori bersama di Amazon EFS, lewati keLangkah 4: Impor tablespace pada instans DB target Anda.

Langkah 3: (Hanya Amazon S3) Transfer file cadangan dan ekspor ke instans DB target

Jika Anda menggunakan Amazon S3 untuk melakukan pencadangan tablespace dan file ekspor Data Pump, selesaikan langkah berikut.

Langkah 3.1: Unggah cadangan dan file dump dari host sumber ke bucket Amazon S3 Anda

Unggah cadangan dan file dump dari host sumber ke bucket Amazon S3 Anda. Untuk informasi selengkapnya, lihat Mengunggah objek di Panduan Pengguna Amazon Simple Storage Service.

Langkah 3.2: Unduh cadangan dan file dump dari bucket Amazon S3 ke instans DB target Anda

Pada langkah ini, gunakan prosedur rdsadmin.rdsadmin_s3_tasks.download_from_s3 untuk mengunduh cadangan dan file dump ke instans DB RDS for Oracle. Ikuti langkah-langkahnya di Langkah 2.3: Unduh cadangan dari bucket Amazon S3 ke instans DB target.

Langkah 4: Impor tablespace pada instans DB target Anda

Gunakan prosedur rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces untuk memulihkan tablespace. Untuk sintaks dan semantik prosedur ini, lihat Mengimpor tablespace yang diangkut ke instans DB Anda

penting

Setelah impor akhir tablespace selesai, kemudian impor metadata Oracle Data Pump. Jika impor gagal, instans DB harus dikembalikan ke kondisi sebelum terjadi kegagalan. Oleh karena itu, sebaiknya buat snapshot DB untuk instans DB Anda sesuai petunjuk di Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS. Snapshot akan berisi semua tablespace yang diimpor, jadi jika impor gagal, Anda tidak perlu mengulangi proses pencadangan dan impor.

Jika instans DB target Anda mengaktifkan pencadangan otomatis, dan Amazon RDS tidak mendeteksi adanya snapshot yang valid sebelum impor metadata dilakukan, RDS akan mencoba membuat snapshot. Bergantung pada aktivitas instans Anda, snapshot ini kemungkinan dapat berhasil atau gagal. Jika tidak ada snapshot yang valid atau snapshot tidak dapat dimulai, maka impor metadata akan gagal.

Impor tablespace pada instans DB target Anda
  1. Mulai klien Oracle SQL dan masuk ke instans DB RDS for Oracle target Anda sebagai pengguna utama.

  2. Jalankan prosedur rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces, tentukan tablespace yang akan diimpor dan direktori yang berisi cadangan.

    Contoh berikut mengimpor tablespacesTBS1,TBS2, dan TBS3 dari direktori. DATA_PUMP_DIR

    BEGIN :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces('TBS1,TBS2,TBS3','DATA_PUMP_DIR'); END; / PRINT task_id
  3. (Opsional) Pantau kemajuan dengan membuat kueri tabel rdsadmin.rds_xtts_operation_info. Kolom xtts_operation_state menampilkan nilai EXECUTING, COMPLETED, atau FAILED.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;
    catatan

    Untuk operasi berdurasi panjang, Anda juga dapat membuat kueri V$SESSION_LONGOPS, V$RMAN_STATUS, dan V$RMAN_OUTPUT.

  4. Lihat log impor yang telah selesai menggunakan ID tugas dari langkah sebelumnya.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));

    Pastikan impor sudah berhasil sebelum melanjutkan ke langkah berikutnya.

  5. Ambil snapshot DB manual dengan mengikuti petunjuk di Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS.

Langkah 5: Impor metadata tablespace pada instans DB target Anda

Pada langkah ini, Anda mengimpor metadata tablespace yang dapat dipindahkan ke dalam instans DB RDS for Oracle menggunakan prosedur rdsadmin.rdsadmin_transport_util.import_xtts_metadata. Untuk sintaks dan semantik prosedur ini, lihat Mengimpor metadata tablespace yang dapat diangkut ke instans DB Anda. Selama operasi, status impor ditunjukkan pada tabel rdsadmin.rds_xtts_operation_info.

penting

Sebelum mengimpor metadata, sangat disarankan untuk memastikan bahwa snapshot DB telah berhasil dibuat setelah Anda mengimpor tablespace. Jika langkah impor gagal, pulihkan instans DB, atasi kesalahan impor, lalu coba impor kembali.

Impor metadata Data Pump ke dalam instans DB RDS for Oracle
  1. Mulai klien Oracle SQL dan masuk ke instans DB target Anda sebagai pengguna utama.

  2. Buat pengguna yang memiliki skema di tablespace yang dipindahkan, jika pengguna tersebut belum ada.

    CREATE USER tbs_owner IDENTIFIED BY password;
  3. Impor metadata, tentukan nama file dump dan lokasi direktorinya.

    BEGIN rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR'); END; /
  4. (Opsional) Kueri tabel riwayat tablespace yang dapat dipindahkan untuk melihat status impor metadata.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;

    Setelah operasi selesai, tablespace Anda berada dalam mode hanya baca.

  5. (Opsional) Lihat file log.

    Contoh berikut mencantumkan konten direktori BDUMP, kemudian membuat kueri log impor.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'BDUMP')); SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file( p_directory => 'BDUMP', p_filename => 'rds-xtts-import_xtts_metadata-2023-05-22.01-52-35.560858000.log'));

Tahap 5: Validasi tablespace yang dipindahkan

Pada langkah opsional ini, validasi tablespace yang dipindahkan menggunakan prosedur rdsadmin.rdsadmin_rman_util.validate_tablespace, lalu ubah tablespace ke mode baca/tulis.

Untuk memvalidasi data yang dipindahkan
  1. Mulai SQL*Plus atau SQL Developer dan masuk ke instans DB target Anda sebagai pengguna utama.

  2. Validasi tablespace menggunakan prosedur rdsadmin.rdsadmin_rman_util.validate_tablespace.

    SET SERVEROUTPUT ON BEGIN rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS1', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS2', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS3', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); END; /
  3. Posisikan tablespace Anda ke dalam mode baca/tulis.

    ALTER TABLESPACE TBS1 READ WRITE; ALTER TABLESPACE TBS2 READ WRITE; ALTER TABLESPACE TBS3 READ WRITE;

Tahap 6: Bersihkan file sisa

Dalam langkah opsional ini, hapus file yang tidak dibutuhkan. Gunakan prosedur rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files untuk membuat daftar file data yang tidak memiliki induk setelah impor tablespace, lalu gunakan prosedur rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files untuk menghapusnya. Untuk sintaks dan semantik prosedur ini, lihat Mencantumkan file tanpa induk setelah impor tablespace dan Menghapus file data tanpa induk setelah impor tablespace.

Untuk membersihkan file sisa
  1. Hapus cadangan lama DATA_PUMP_DIR sebagai berikut:

    1. Buat daftar file cadangan dengan menjalankan rdsadmin.rdsadmin_file_util.listdir.

      SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'DATA_PUMP_DIR'));
    2. Hapus cadangan satu per satu dengan memanggil UTL_FILE.FREMOVE.

      EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'backup_filename');
  2. Jika Anda mengimpor tablespace tetapi tidak mengimpor metadatanya, Anda dapat menghapus file data tanpa induk sebagai berikut:

    1. Buat daftar file data tanpa induk yang perlu dihapus. Contoh berikut menjalankan prosedur rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files.

      SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files); FILENAME FILESIZE -------------- --------- datafile_7.dbf 104865792 datafile_8.dbf 104865792
    2. Hapus file tanpa induk dengan menjalankan prosedur rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import.

      BEGIN rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('DATA_PUMP_DIR'); END; /

      Operasi pembersihan menghasilkan file log yang menggunakan format nama rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log dalam direktori BDUMP.

    3. Baca file log yang dihasilkan pada langkah sebelumnya. Contoh berikut membaca log rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log.

      SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file( p_directory => 'BDUMP', p_filename => 'rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log')); TEXT -------------------------------------------------------------------------------- orphan transported datafile datafile_7.dbf deleted. orphan transported datafile datafile_8.dbf deleted.
  3. Jika Anda mengimpor tablespace beserta metadatanya, tetapi terjadi kesalahan kompatibilitas atau masalah Oracle Data Pump lainnya, bersihkan file data yang dipindahkan sebagian sebagai berikut:

    1. Buat daftar tablespace yang berisi file data yang dipindahkan sebagian dengan kueri DBA_TABLESPACES.

      SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE PLUGGED_IN='YES'; TABLESPACE_NAME -------------------------------------------------------------------------------- TBS_3
    2. Hapus tabelspace dan file data yang dipindahkan sebagian.

      DROP TABLESPACE TBS_3 INCLUDING CONTENTS AND DATAFILES;