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 Oracle transportable tablespaces untuk menyalin satu set tablespace dari database Oracle lokal ke instans untuk Oracle DB. RDS 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 menggunakan tablespace yang dapat diangkut dan RDSAmazon untuk Oracle Transportable Tablespaces AWS 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

Kami menyarankan Anda menggunakan ruang meja yang dapat diangkut saat Anda perlu memigrasikan satu atau lebih ruang meja besar dengan waktu henti minimum. RDS 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 UNIX variasi telah diuji.

Jika Anda menggunakan ruang meja yang dapat diangkut, Anda dapat mengangkut data menggunakan Amazon S3 atau Amazon: EFS

  • Saat Anda menggunakanEFS, cadangan Anda tetap berada di sistem EFS file selama impor. Anda dapat menghapus file sesudahnya. Dalam teknik ini, Anda tidak perlu menyediakan EBS penyimpanan untuk instans DB Anda. Untuk alasan ini, kami sarankan menggunakan Amazon EFS alih-alih S3. Untuk informasi selengkapnya, lihat Integrasi Amazon EFS.

  • Saat Anda menggunakan S3, Anda mengunduh RMAN cadangan ke EBS penyimpanan yang dilampirkan ke instans DB Anda. File tetap berada di EBS penyimpanan 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

Keterbatasan Oracle Database untuk ruang tabel yang dapat diangkut berlaku saat Anda menggunakan fitur ini untuk Oracle. RDS Untuk informasi selengkapnya, lihat Limitations on Transportable Tablespaces dan General Limitations on Transporting Data dalam Panduan Administrator Oracle Database. Perhatikan batasan tambahan berikut untuk ruang meja yang dapat diangkut di OracleRDS:

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

  • Anda tidak dapat menggunakan basis data Oracle Database 11g sebagai sumber. Fitur ruang meja yang dapat diangkut RMAN lintas platform bergantung pada mekanisme RMAN transportasi, yang tidak didukung Oracle Database 11g.

  • Anda tidak dapat memigrasikan data dari instans RDS untuk Oracle DB menggunakan ruang tabel yang dapat diangkut. Anda hanya dapat menggunakan ruang tabel yang dapat diangkut untuk memigrasikan data ke instans RDS untuk Oracle DB.

  • 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 mengangkut objek non-data seperti SQL paket PL/, 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 mengangkut tablespace ke instans RDS for Oracle DB 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 berbagi sistem EFS file Amazon, gunakan utilitas sistem operasi seperti cp untuk menyalin file cadangan dan res.txt file dari lokasi awal Anda 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, Anda menggunakan prosedur rdsadmin.rdsadmin_s3_tasks.download_from_s3 untuk mengunduh cadangan Anda ke instans Oracle RDS DB Anda.

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

  2. Unduh cadangan dari bucket Amazon S3 ke instans DB target Anda dengan menggunakan prosedur RDS Amazon rdsadmin.rdsadmin_s3_tasks.download_from_s3 ke 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 SQL klien Oracle dan masuk ke target RDS Anda untuk instans Oracle DB 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 tablespaces TBS1, TBS2, dan TBS3 dari direktori DATA_PUMP_DIR. Platform sumbernya adalah AIX Based Systems (64-bit), yang memiliki ID platform6. 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 tablespaces TBS1, 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 adalah direktori bersama di AmazonEFS, lompat 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, Anda menggunakan prosedur rdsadmin.rdsadmin_s3_tasks.download_from_s3 untuk mengunduh cadangan dan membuang file ke instans Oracle DB AndaRDS. 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 bahwa snapshot yang valid telah dimulai sebelum Anda mengimpor metadata, RDS coba buat 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 SQL klien Oracle dan masuk ke target RDS Anda untuk instans Oracle DB 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 tablespaces TBS1, 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 diangkut ke instans Oracle DB Anda RDS 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 Pompa Data ke instans DB RDS Oracle Anda
  1. Mulai SQL klien Oracle Anda 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 isi BDUMP direktori dan kemudian query 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. Mulailah SQL *Plus atau SQL Pengembang 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 di 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;