All Products
Search
Document Center

Data Transmission Service:Migrasi data dari database Oracle yang dikelola sendiri ke database PostgreSQL yang dikelola sendiri

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari database Oracle yang dikelola sendiri ke database PostgreSQL yang dikelola sendiri dengan downtime minimal. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental—jalankan ketiganya secara bersamaan agar database Oracle tetap online selama proses migrasi.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Versi database Oracle adalah 9i, 10g, 11g, 12c, 18c, atau 19c.

  • Database Oracle berjalan dalam mode ARCHIVELOG, file log arsip dapat diakses, dan periode retensi yang sesuai telah ditetapkan—lihat Managing Archived Redo Log Files.

  • Pencatatan tambahan (supplemental logging) diaktifkan: SUPPLEMENTAL_LOG_DATA_PK dan SUPPLEMENTAL_LOG_DATA_UI keduanya diatur ke Yes—lihat Supplemental Logging.

  • Setiap tabel yang akan dimigrasikan memiliki primary key atau indeks UNIQUE NOT NULL.

  • Database PostgreSQL tujuan telah dibuat dan dapat diakses.

  • Anda telah meninjau kemampuan dan batasan DTS untuk sumber Oracle—gunakan Advanced Database & Application Migration (ADAM) untuk mengevaluasi database Anda sebelum migrasi. Lihat Prepare an Oracle database dan Overview.

Penagihan

Jenis migrasiBiaya konfigurasi tugasBiaya lalu lintas Internet
Migrasi skema dan migrasi data penuhGratisDikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Lihat Billing overview.
Migrasi data inkrementalDikenakan biaya. Lihat Billing overview.

Jenis migrasi

TipeApa yang dilakukan DTS
Migrasi skemaMemigrasikan skema objek yang dipilih ke database PostgreSQL tujuan. Jenis objek yang didukung: table, view, synonym, trigger, stored procedure, stored function, package, dan custom type. Objek bawaan yang dihasilkan otomatis oleh Oracle tidak dimigrasikan.
Catatan

DTS tidak kompatibel dengan trigger dalam skenario ini. Hapus trigger dari database sumber sebelum migrasi untuk menghindari inkonsistensi data. Lihat Configure a data synchronization task for a source database that contains a trigger.

Migrasi data penuhMemigrasikan semua data yang ada dari database Oracle ke database PostgreSQL tujuan. Jangan menjalankan operasi DDL pada objek yang dimigrasikan selama fase ini.
Migrasi data inkrementalSetelah migrasi data penuh selesai, DTS melakukan polling file redo log dari database Oracle dan mereplikasi perubahan yang sedang berlangsung ke PostgreSQL. Hal ini memungkinkan aplikasi Anda tetap berjalan di Oracle selama migrasi.

Pilih jenis migrasi Anda

  • Hanya migrasi skema + migrasi data penuh: gunakan opsi ini untuk migrasi satu kali di mana Anda dapat mematikan database sumber selama proses cutover.

  • Migrasi skema + migrasi data penuh + migrasi data inkremental: gunakan opsi ini untuk migrasi dengan downtime mendekati nol. Database Oracle tetap online selama DTS mereplikasi perubahan yang sedang berlangsung ke PostgreSQL.

Jika Anda tidak menyertakan migrasi data inkremental, hentikan penulisan ke database sumber selama migrasi untuk menghindari inkonsistensi data.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE (tidak termasuk pernyataan dengan klausa partisi, subpartisi, atau fungsi; CREATE TABLE AS SELECT tidak didukung), ALTER TABLE (ADD COLUMN, ADD INDEX, DROP COLUMN, DROP INDEX, MODIFY COLUMN, RENAME COLUMN), DROP TABLE, RENAME TABLE, TRUNCATE TABLE, CREATE INDEX

Batasan

Source database limits:

  • Server yang menghosting database sumber harus memiliki bandwidth outbound yang mencukupi; bandwidth yang tidak mencukupi mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field unik—jika tidak, database tujuan mungkin berisi catatan duplikat.

  • Jika versi Oracle adalah 12c atau lebih baru, nama tabel tidak boleh melebihi 30 byte.

  • Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom di tujuan: satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, jalankan beberapa tugas secara batch, atau migrasikan seluruh database dalam satu tugas.

  • Jika field VARCHAR2 di Oracle berisi string kosong (dianggap sebagai NULL di Oracle) dan kolom tujuan yang sesuai memiliki kendala NOT NULL, tugas migrasi gagal.

  • Jika database sumber adalah database Oracle RAC yang terhubung melalui Express Connect, Anda harus menentukan VIP untuk database saat mengonfigurasi database sumber.

  • Jika database sumber adalah database Oracle RAC yang terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, atau Cloud Enterprise Network (CEN), Anda dapat menggunakan satu VIP alih-alih alamat IP Single Client Access Name (SCAN) saat mengonfigurasi database sumber. Setelah menentukan VIP, failover node tidak didukung untuk database Oracle RAC.

Persyaratan migrasi inkremental:

  • Pencatatan redo dan pencatatan arsip harus diaktifkan.

  • Hanya migrasi inkremental: simpan redo log dan archive log selama lebih dari 24 jam.

  • Migrasi data penuh + migrasi data inkremental: simpan redo log dan archive log setidaknya selama tujuh hari. Setelah migrasi data penuh selesai, Anda dapat mengurangi retensi menjadi lebih dari 24 jam.

    Penting

    Jika DTS tidak dapat memperoleh redo log atau archive log karena retensi yang tidak mencukupi, tugas akan gagal. Dalam kasus ekstrem, inkonsistensi atau kehilangan data dapat terjadi. Retensi yang tidak mencukupi berada di luar Service Level Agreement (SLA) DTS.

Operasi yang harus dihindari pada database sumber selama migrasi:

  • Jangan menjalankan operasi DDL (perubahan skema) selama migrasi skema atau migrasi data penuh—tugas akan gagal.

  • Jangan menulis ke database sumber selama tugas migrasi data penuh saja—hal ini dapat menyebabkan inkonsistensi data.

  • Jangan memperbarui kolom LONGTEXT selama fase migrasi apa pun—tugas akan gagal.

Batasan lainnya:

  • Migrasikan data selama jam sepi. Migrasi data penuh menggunakan resource baca dan tulis pada kedua database, yang meningkatkan beban server.

  • Setelah migrasi data penuh, ruang tabel yang digunakan pada kluster tujuan lebih besar daripada database sumber karena operasi INSERT konkuren menyebabkan fragmentasi tabel.

  • DTS mencoba ulang tugas migrasi yang gagal hingga tujuh hari. Sebelum beralih beban kerja ke tujuan, hentikan atau lepas tugas yang gagal, atau cabut izin tulis DTS pada database tujuan menggunakan REVOKE. Jika tidak, tugas yang dilanjutkan dapat menimpa data di tujuan.

  • Set karakter database sumber dan tujuan harus kompatibel—set karakter yang tidak kompatibel menyebabkan inkonsistensi data atau kegagalan tugas.

  • Gunakan migrasi skema DTS untuk menghindari kegagalan tugas akibat tipe data yang tidak kompatibel.

  • Zona waktu database sumber dan tujuan harus sama.

  • Terminator null '\0' tidak dapat ditulis ke PostgreSQL. Jika data yang dimigrasikan berisi '\0', DTS akan menghapusnya, yang dapat menyebabkan inkonsistensi data.

  • Selama migrasi skema, kendala CHECK di Oracle dikonversi menjadi kendala NOT NULL di PostgreSQL.

  • Objek tipe kustom dimigrasikan; objek bawaan yang dihasilkan otomatis oleh Oracle tidak.

  • Selama migrasi skema, DTS memigrasikan foreign keys dari sumber ke tujuan.

  • Selama migrasi data penuh dan migrasi data inkremental, DTS menonaktifkan sementara pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Operasi kaskade atau penghapusan pada sumber selama fase ini dapat menyebabkan inkonsistensi data.

Berikan izin yang diperlukan

Login ke database Oracle sumber, buat akun untuk DTS, dan berikan izin yang diperlukan.

Lewati langkah ini jika Anda sudah memiliki akun dengan izin yang tercantum di bawah.
DatabaseMigrasi skemaMigrasi data penuhMigrasi data inkremental
Database Oracle yang dikelola sendiriIzin pemilik skemaIzin pemilik skemaIzin detail halus
Database PostgreSQL yang dikelola sendiriIzin pemilik skema

Untuk petunjuk membuat akun dan memberikan izin:

Buat tugas migrasi

  1. Buka halaman Tugas Migrasi Data.

    1. Login ke Konsol Data Management (DMS).

    2. Di bilah navigasi atas, klik DTS.

    3. Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.

    Langkah-langkah dapat berbeda tergantung pada tata letak konsol DMS. Lihat Simple mode dan Customize the layout and style of the DMS console. Anda juga dapat langsung membuka halaman Tugas Migrasi Data di konsol DTS baru.
  2. Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data berada.

    Di konsol DTS baru, pilih wilayah di pojok kiri atas.
  3. Klik Create Task. Di wizard, konfigurasikan database sumber dan tujuan.

    Peringatan

    Setelah mengonfigurasi database sumber dan tujuan, baca limits yang ditampilkan di bagian atas halaman sebelum melanjutkan.

    BagianParameterDeskripsi
    N/ATask NameDTS memberikan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tugas tidak perlu unik.
    Source DatabaseDatabase TypePilih Oracle.
    Connection TypePilih Self-managed Database on ECS untuk contoh ini. Untuk metode akses lainnya, siapkan lingkungan yang diperlukan terlebih dahulu. Lihat Preparation overview.
    Instance RegionWilayah tempat database Oracle sumber berada.
    ECS Instance IDID Instance Elastic Compute Service (ECS) yang menghosting database Oracle sumber.
    Port NumberPort layanan database Oracle sumber. Default: 1521.
    Oracle TypePilih arsitektur database Oracle sumber. Non-RAC Instance memerlukan parameter SID. RAC or PDB Instance memerlukan parameter Service Name.
    Database AccountAkun DTS untuk database Oracle sumber. Lihat Grant required permissions untuk izin yang diperlukan.
    Database PasswordKata sandi untuk akun database.
    Destination DatabaseDatabase TypePilih PostgreSQL.
    Connection TypePilih Self-managed Database on ECS untuk contoh ini.
    Instance RegionWilayah tempat database PostgreSQL tujuan berada.
    ECS Instance IDID instance ECS yang menghosting database PostgreSQL tujuan.
    Port NumberPort layanan database PostgreSQL tujuan. Default: 3433.
    Database NameNama database PostgreSQL tujuan.
    Database AccountAkun DTS untuk database PostgreSQL tujuan. Lihat Grant required permissions untuk izin yang diperlukan.
    Database PasswordKata sandi untuk akun database.
  4. Jika database yang dikelola sendiri memiliki daftar putih alamat IP, tambahkan blok CIDR server DTS ke dalamnya. Lalu klik Test Connectivity and Proceed.

    Peringatan

    Menambahkan blok CIDR server DTS ke daftar putih database atau aturan security group ECS menimbulkan risiko keamanan. Sebelum melanjutkan, ambil tindakan pencegahan: gunakan kredensial yang kuat, batasi port yang terbuka, autentikasi panggilan API, tinjau aturan daftar putih secara berkala, dan blokir blok CIDR yang tidak sah. Sebagai alternatif, hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghindari eksposur database ke internet publik.

  5. Konfigurasikan objek migrasi dan pengaturan lanjutan.

    ParameterDeskripsi
    Migration TypesPilih Schema Migration dan Full Data Migration untuk migrasi satu kali. Pilih ketiganya — Schema Migration, Full Data Migration, dan Incremental Data Migration — agar database sumber tetap online selama migrasi.
    Processing Mode of Conflicting TablesPrecheck and Report Errors: pemeriksaan awal gagal jika database tujuan berisi tabel dengan nama yang sama seperti tabel sumber. Jika nama tabel identik ada dan tidak dapat diganti namanya, gunakan pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan ke database tujuan. Lihat Map object names. Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel identik.
    Peringatan

    dengan opsi ini, catatan dengan primary key yang cocok tidak dimigrasikan, dan perbedaan skema dapat menyebabkan migrasi parsial atau kegagalan tugas.

    Source ObjectsPilih objek dari Source Objects dan klik ikon panah untuk memindahkannya ke Selected Objects.
    Selected ObjectsUntuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di Selected Objects. Lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Map multiple object names at a time.
    Catatan

    Mengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan klausa WHERE. Lihat Set filter conditions. Untuk mengontrol operasi SQL mana yang direplikasi secara inkremental untuk objek tertentu, klik kanan objek tersebut dan pilih operasinya.

  6. Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

    ParameterDeskripsi
    Select the dedicated cluster used to schedule the taskDTS menjadwalkan ke kluster bersama secara default. Beli kluster khusus untuk resource terisolasi. Lihat What is a DTS dedicated cluster?
    Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang jika database sumber atau tujuan tidak dapat dijangkau setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS terhubung kembali dalam jendela percobaan ulang, tugas dilanjutkan; jika tidak, tugas gagal.
    Catatan

    Jika beberapa tugas berbagi database yang sama, waktu percobaan ulang yang paling baru diatur akan berlaku. DTS mengenakan biaya untuk instans selama percobaan ulang—atur jendela percobaan ulang sesuai kebutuhan Anda dan lepaskan instans segera setelah tidak lagi diperlukan.

    The wait time before a retry when other issues occur in the source and destination databasesBerapa lama DTS mencoba ulang jika operasi DDL atau DML gagal setelah tugas dimulai. Nilai valid: 1–1440 menit. Default: 10. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10.
    Penting

    Nilai ini harus kurang dari Retry Time for Failed Connections.

    Enable Throttling for Full Data MigrationBatasi beban baca/tulis yang ditempatkan DTS pada database Anda selama migrasi data penuh. Konfigurasikan QPS to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Migration dipilih.
    Enable Throttling for Incremental Data MigrationBatasi beban selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih.
    Environment TagBeri tag instans DTS berdasarkan lingkungan (misalnya, production atau staging). Opsional.
    Actual Write CodeFormat encoding yang digunakan untuk menulis data ke database tujuan.
    Configure ETLAktifkan fitur ekstrak, transformasi, dan muat (ETL) untuk mentransformasi data saat transit. Lihat What is ETL? dan Configure ETL in a data migration or data synchronization task.
    Monitoring and AlertingKonfigurasikan peringatan agar kontak yang ditentukan diberi tahu ketika tugas gagal atau latensi migrasi melebihi ambang batas Anda. Lihat Configure monitoring and alerting for a new DTS task.
  7. Klik Next: Save Task Settings and Precheck. DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai. Jika pemeriksaan awal gagal:

    • Klik View Details di samping setiap item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.

    • Jika suatu item menampilkan peringatan yang dapat Anda abaikan dengan aman, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again.

    Untuk meninjau parameter API untuk konfigurasi ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview API Call.
  8. Tunggu hingga laju keberhasilan Pemeriksaan Awal mencapai 100%, lalu klik Next: Purchase Instance.

  9. Di halaman Purchase Instance, konfigurasikan kelas instans.

    BagianParameterDeskripsi
    New Instance ClassResource GroupKelompok sumber daya untuk instans migrasi data. Default: default resource group. Lihat What is Resource Management?
    Instance ClassKelas instans menentukan throughput migrasi. Lihat Specifications of data migration instances.
  10. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Tugas migrasi dimulai. Pantau progresnya di halaman Manajemen Tugas.