All Products
Search
Document Center

Data Transmission Service:Migrasi\ data\ dari\ kluster\ PolarDB\ for\ PostgreSQL\ \(Kompatibel\ dengan\ Oracle\)\ ke\ database\ Oracle\ yang\ dikelola\ sendiri

Last Updated:Mar 29, 2026

Layanan Transmisi Data (DTS) mendukung migrasi data dari kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) ke database Oracle yang dikelola sendiri, mencakup migrasi data penuh untuk mentransfer data historis serta migrasi data inkremental untuk mereplikasi perubahan berkelanjutan dengan waktu henti layanan minimal.

Prasyarat

Sebelum memulai, pastikan bahwa:

Izin yang diperlukan

DatabaseIzin yang diperlukan
Kluster sumber PolarDB for PostgreSQL (Kompatibel dengan Oracle)Akun istimewa
Database Oracle yang dikelola sendiriPemilik skema

Untuk membuat akun dan memberikan izin, lihat:

Penagihan

Jenis migrasiBiaya konfigurasi instansBiaya lalu lintas Internet
Migrasi data penuhGratisDikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.
Migrasi data inkrementalDikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.Dikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet.

Jenis migrasi

Jenis migrasiDeskripsi
Migrasi data penuhMemindahkan data historis dari database sumber ke tujuan. Jangan lakukan operasi DDL pada objek yang dimigrasikan selama fase ini.
Migrasi data inkrementalMembaca file redo log dari database sumber dan mereplikasi perubahan berkelanjutan ke tujuan. Pilih jenis ini bersamaan dengan migrasi data penuh agar layanan tetap berjalan selama migrasi.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLTersedia hanya jika akun database sumber adalah akun istimewa: CREATE TABLE, DROP TABLE, ALTER TABLE (termasuk RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULT), TRUNCATE TABLE, CREATE INDEX ON TABLE
Catatan

Migrasi DDL hanya tersedia untuk tugas yang dibuat setelah 1 Oktober 2020. Jika tugas Anda dibuat sebelum 12 Mei 2023, buat trigger dan fungsi di database sumber sebelum mengonfigurasi tugas migrasi. Untuk informasi lebih lanjut, lihat Gunakan trigger dan fungsi untuk menerapkan migrasi DDL inkremental pada database PostgreSQL.

Operasi DDL berikut tidak dimigrasikan:

  • Informasi DDL tambahan seperti CASCADE atau RESTRICT

  • Pernyataan DDL dari sesi yang mengeksekusi SET session_replication_role = replica

  • Pernyataan DDL yang diajukan dalam transaksi yang sama dengan pernyataan DML

  • Pernyataan DDL pada objek yang tidak dipilih untuk migrasi

Penting

Migrasi data inkremental tidak mendukung tipe data BIT.

Batasan

Catatan

Selama migrasi skema, DTS memindahkan kunci asing dari database sumber ke tujuan. Selama migrasi data penuh dan inkremental, DTS secara sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat sesi. Jika Anda melakukan operasi kaskade dan penghapusan pada database sumber selama migrasi, ketidakkonsistenan data dapat terjadi.

Batasan database sumber

  • Server database sumber harus memiliki bandwidth keluar yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan duplikat.

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

  • Untuk migrasi data inkremental, WAL harus diaktifkan dan log WAL harus disimpan selama periode berikut: Jika log tidak disimpan selama periode yang diperlukan, DTS mungkin gagal memperoleh log WAL dan tugas dapat gagal. Dalam kondisi luar biasa, kehilangan data atau ketidakkonsistenan dapat terjadi. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam.

    • Hanya migrasi data inkremental: lebih dari 24 jam

    • Migrasi data penuh dan migrasi data inkremental: minimal tujuh hari

  • Selama migrasi data penuh, jangan lakukan operasi DDL yang mengubah skema database atau tabel. Tugas migrasi akan gagal.

  • Jika Anda hanya melakukan migrasi data penuh, jangan menulis data ke database sumber selama migrasi. Untuk memastikan konsistensi data, pilih kedua opsi Full Data Migration dan Incremental Data Migration.

  • Jika Anda berencana melakukan alih bencana primary/secondary pada kluster sumber, aktifkan fitur Logical Replication Slot Failover terlebih dahulu untuk mencegah interupsi langganan logis. Untuk informasi lebih lanjut, lihat Logical replication slot failover.

  • Jika terdapat transaksi jangka panjang di database sumber selama migrasi inkremental, log WAL yang dihasilkan sebelum transaksi tersebut dikomit dapat menumpuk dan menyebabkan ruang disk tidak mencukupi.

Batasan lainnya

  • Migrasi skema tidak didukung. Sebelum mengonfigurasi tugas migrasi, buat database dan tabel yang diperlukan di instans tujuan.

  • Satu tugas migrasi hanya memindahkan data dari satu database. Untuk memindahkan beberapa database, buat tugas terpisah untuk setiap database.

  • Selama migrasi inkremental, jika Anda memilih skema sebagai objek migrasi lalu membuat atau mengganti nama tabel di skema tersebut, jalankan pernyataan berikut sebelum menulis data ke tabel tersebut:

    ALTER TABLE schema.table REPLICA IDENTITY FULL;

    Ganti schema dan table dengan nama skema dan tabel yang sebenarnya.

  • Untuk melacak latensi migrasi, DTS membuat tabel bernama dts_postgres_heartbeat di database sumber. Gambar berikut menunjukkan struktur tabel.Table structure

  • Selama migrasi inkremental, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber. DTS dapat memperoleh log inkremental dari 15 menit terakhir menggunakan slot ini.

    • Setelah instans DTS dilepas, slot replikasi akan dihapus secara otomatis.

    • Jika Anda mengubah kata sandi database sumber atau menghapus DTS dari daftar putih alamat IP, slot replikasi tidak akan dihapus secara otomatis. Hapus secara manual dari database sumber untuk mencegah akumulasi slot.

    • Jika tugas migrasi dilepas atau gagal, DTS secara otomatis membersihkan slot replikasi. Jika dilakukan alih bencana primary/secondary pada kluster sumber, login ke instans secondary untuk membersihkan slot replikasi.

  • Migrasi data penuh menggunakan operasi INSERT konkuren, yang menyebabkan fragmentasi pada tabel tujuan. Setelah migrasi selesai, ruang tabel database tujuan lebih besar daripada database sumber.

  • DTS menggunakan fungsi ROUND(COLUMN,PRECISION) untuk mengambil nilai dari kolom FLOAT dan DOUBLE. Presisi default adalah 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Pastikan pengaturan presisi ini memenuhi kebutuhan Anda sebelum memulai migrasi.

  • DTS mencoba melanjutkan tugas yang gagal hingga tujuh hari. Sebelum mengalihkan beban kerja ke database tujuan, hentikan atau lepaskan tugas yang gagal, atau jalankan pernyataan REVOKE untuk mencabut izin tulis akun DTS pada database tujuan. Jika tidak, tugas yang dilanjutkan dapat menimpa data di database tujuan.

Kasus khusus

Jika database Oracle yang dikelola sendiri diterapkan dalam arsitektur Real Application Cluster (RAC) dan terhubung ke DTS melalui virtual private cloud (VPC), hubungkan alamat IP Single Client Access Name (SCAN) dan alamat IP virtual (VIP) setiap node ke VPC serta konfigurasikan entri rute. Saat mengonfigurasi database Oracle di konsol DTS, tentukan alamat IP SCAN sebagai database endpoint atau alamat IP. Untuk informasi lebih lanjut, lihat Hubungkan database lokal ke Alibaba Cloud dan Hubungkan pusat data ke DTS menggunakan VPN Gateway.

Konfigurasi tugas migrasi

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

Catatan

Operasi dapat berbeda tergantung mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Simple mode dan Sesuaikan tata letak dan gaya konsol DMS. Anda juga dapat langsung membuka halaman Tugas Migrasi Data di konsol DTS baru.

Langkah 2: Pilih wilayah

Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data berada.

Catatan

Di konsol DTS baru, pilih wilayah di pojok kiri atas.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Di wizard Create Task, konfigurasikan database sumber dan tujuan menggunakan parameter berikut.

Peringatan

Baca batasan yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.

Database sumber

ParameterDeskripsi
Task NameNama tugas. DTS memberikan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik.
Database TypePilih PolarDB (Compatible with Oracle).
Access MethodPilih Public IP Address.
Instance RegionWilayah tempat kluster sumber PolarDB for PostgreSQL (Kompatibel dengan Oracle) berada.
Data SourcesPilih Single Data Source untuk hanya mengonfigurasi endpoint dan port node primer. Pilih Multiple Data Sources untuk menentukan alamat IP dan nomor port beberapa node (termasuk node primer) di bidang IP:Port of Data Sources. Dengan beberapa sumber data yang dikonfigurasi, DTS secara otomatis beralih ke node primer baru selama alih bencana primary/secondary, yang berguna dalam skenario pemulihan bencana. Contoh ini menggunakan Single Data Source.
Domain Name or IP AddressEndpoint node primer di kluster sumber. Jalankan perintah ping di komputer Anda untuk mendapatkan alamat IP.
Port NumberPort layanan database sumber. Nilai default: 1521. Port harus dapat diakses melalui Internet.
IP:Port of Data SourcesAlamat IP dan nomor port beberapa node termasuk node primer. Pisahkan beberapa entri dengan koma (,). Diperlukan saat Multiple Data Sources dipilih.
Oracle TypePilih Non-RAC Instance untuk mengonfigurasi parameter SID, atau pilih RAC or PDB Instance untuk mengonfigurasi parameter Service Name. Contoh ini menggunakan Non-RAC Instance.
Database NameNama database sumber di kluster.
Database AccountAkun database kluster sumber. Untuk izin yang diperlukan, lihat Izin yang diperlukan.
Database PasswordKata sandi akun database.

Database tujuan

ParameterDeskripsi
Database TypePilih Oracle.
Access MethodPilih Public IP Address.
Instance RegionWilayah tempat database Oracle tujuan berada.
Hostname or IP AddressEndpoint database Oracle tujuan.
Port NumberPort layanan database tujuan. Nilai default: 1521.
Oracle TypePilih Non-RAC Instance untuk mengonfigurasi parameter SID, atau pilih RAC or PDB Instance untuk mengonfigurasi parameter Service Name. Contoh ini menggunakan Non-RAC Instance.
Database AccountAkun database Oracle tujuan. Untuk izin yang diperlukan, lihat Izin yang diperlukan.
Database PasswordKata sandi akun database.

Langkah 4: Uji konektivitas dan tambahkan alamat IP DTS ke daftar putih

Jika database yang dikelola sendiri Anda memiliki daftar putih alamat IP yang dikonfigurasi, tambahkan blok CIDR server DTS ke daftar putih tersebut. Lalu klik Test Connectivity and Proceed.

Peringatan

Menambahkan blok CIDR server DTS ke daftar putih instans database atau aturan security group ECS dapat mengekspos lingkungan Anda terhadap risiko keamanan. Sebelum melanjutkan, ambil langkah perlindungan, termasuk memperkuat keamanan akun dan kata sandi, membatasi port yang terbuka, mengotentikasi panggilan API, dan meninjau aturan daftar putih secara berkala. Pertimbangkan untuk menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database ke DTS alih-alih mengeksposnya melalui Internet.

Langkah 5: Konfigurasi objek dan pengaturan migrasi

ParameterDeskripsi
Migration TypesPilih Full Data Migration hanya untuk data historis. Pilih kedua opsi Full Data Migration dan Incremental Data Migration agar layanan tetap berjalan selama migrasi. Jika Anda tidak memilih Incremental Data Migration, jangan menulis data ke database sumber selama migrasi.
Processing Mode of Conflicting TablesPrecheck and Report Errors: memeriksa apakah database tujuan berisi tabel dengan nama yang sama seperti di sumber. Jika nama identik ada, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang bentrok. Untuk informasi lebih lanjut, lihat Map object names. Ignore Errors and Proceed: melewati pemeriksaan bentrok nama. Jika skema sumber dan tujuan cocok, DTS melewati catatan dengan nilai kunci primer duplikat. Jika skema berbeda, hanya kolom tertentu yang dimigrasikan atau tugas mungkin gagal. Gunakan dengan hati-hati.
Source ObjectsPilih objek dari Source Objects dan klik ikon panah untuk menambahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau skema. Jika Anda memilih tabel atau kolom, DTS tidak memindahkan view, trigger, atau prosedur tersimpan.
Selected ObjectsUntuk mengganti nama satu objek di instans tujuan, klik kanan objek di Selected Objects. Untuk informasi lebih lanjut, lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Untuk informasi lebih lanjut, lihat Map multiple object names at a time. Untuk memfilter data dengan kondisi WHERE, klik kanan tabel di Selected Objects dan tentukan kondisinya. Untuk informasi lebih lanjut, lihat Use SQL conditions to filter data. Untuk memilih operasi SQL tertentu yang akan dimigrasikan untuk suatu objek, klik kanan objek di Selected Objects dan pilih operasinya.
Catatan

Mengganti nama objek menggunakan fitur pemetaan nama objek dapat menyebabkan objek lain yang bergantung padanya gagal dimigrasikan.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

ParameterDeskripsi
Set AlertsPilih No untuk melewati peringatan. Pilih Yes untuk mengonfigurasi peringatan. Saat tugas gagal atau latensi migrasi melebihi ambang batas, kontak peringatan yang ditentukan akan menerima notifikasi. Untuk informasi lebih lanjut, lihat Configure monitoring and alerting.
Retry Time for Failed ConnectionsRentang waktu selama DTS mencoba koneksi ulang setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720 menit. Atur nilai ini lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, rentang waktu percobaan ulang terpendek yang berlaku.
The wait time before a retry when other issues occur in the source and destination databasesRentang waktu percobaan ulang untuk kegagalan operasi DDL atau DML. Nilai valid: 1–1440 menit. Default: 10 menit. Atur nilai ini lebih dari 10 menit. Nilai ini harus kurang dari nilai Retry Time for Failed Connections.
Configure ETLPilih Yes untuk mengonfigurasi fitur ekstrak, transformasi, muat (ETL) dan masukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Configure ETL in a data migration or data synchronization task dan What is ETL?. Pilih No untuk melewati.
Catatan

Saat DTS mencoba koneksi ulang, instans DTS tetap dikenai biaya. Atur rentang waktu percobaan ulang sesuai kebutuhan bisnis Anda dan lepaskan instans DTS segera setelah instans sumber dan tujuan tidak lagi digunakan.

Langkah 7: Simpan pengaturan dan jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Catatan

Untuk melihat parameter API untuk tugas ini, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai. Jika pemeriksaan awal gagal, klik View Details di samping setiap item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.

Jika muncul peringatan pemeriksaan awal:

  • Jika peringatan tidak dapat diabaikan, klik View Details, selesaikan masalahnya, lalu jalankan ulang pemeriksaan awal.

  • Jika peringatan dapat diabaikan, klik Confirm Alert Details. Di dialog View Details, klik Ignore, lalu klik OK, dan klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 8: Beli instans

Tunggu hingga tingkat keberhasilan pemeriksaan awal mencapai 100%, lalu klik Next: Purchase Instance.

Di halaman Purchase Instance, konfigurasikan parameter berikut.

BagianParameterDeskripsi
New Instance ClassResource GroupKelompok sumber daya untuk instans migrasi data. Default: default resource group. Untuk informasi lebih lanjut, lihat What is Resource Management?.
Instance ClassKelas instans menentukan kecepatan migrasi. Pilih kelas sesuai skenario Anda. Untuk informasi lebih lanjut, lihat Specifications of data migration instances.

Langkah 9: Mulai tugas

Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Pantau progres di daftar tugas.