All Products
Search
Document Center

Data Transmission Service:Migrasi data dari database Oracle yang dikelola sendiri ke instans Alibaba Cloud Message Queue for Apache Kafka

Last Updated:Mar 29, 2026

Layanan Transmisi Data (DTS) memungkinkan Anda memigrasikan data dari database Oracle yang dikelola sendiri ke instans ApsaraMQ for Kafka. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental—gunakan ketiganya secara bersamaan untuk sistem live yang memerlukan replikasi berkelanjutan tanpa celah data.

Prasyarat

Sebelum memulai, pastikan Anda telah menyelesaikan hal-hal berikut:

  1. Buat instans sumber dan tujuan. Database Oracle yang dikelola sendiri dan instans ApsaraMQ for Kafka harus keduanya dalam status berjalan. Lihat Ikhtisar skenario migrasi data untuk versi yang didukung.

  2. Aktifkan mode ARCHIVELOG pada Oracle. Database Oracle harus berjalan dalam mode ARCHIVELOG, dengan file log arsip dapat diakses dan periode retensi yang sesuai telah ditetapkan. Lihat Mengelola File Log Redo Terarsip.

  3. Aktifkan pencatatan tambahan pada Oracle. Pencatatan tambahan harus diaktifkan, dengan SUPPLEMENTAL_LOG_DATA_PK dan SUPPLEMENTAL_LOG_DATA_UI diatur ke YES. Lihat Pencatatan Tambahan.

  4. Verifikasi kapasitas penyimpanan Kafka. Penyimpanan yang tersedia pada instans ApsaraMQ for Kafka harus melebihi penyimpanan yang digunakan oleh database Oracle.

  5. Buat topik Kafka. Buat topik di instans ApsaraMQ for Kafka untuk menerima data yang dimigrasikan. Lihat Langkah 1: Buat topik.

  6. Buat akun database Oracle dengan izin yang diperlukan. Lihat Menyiapkan akun Oracle di bawah ini.

  7. Tinjau kemampuan dan batasan DTS untuk Oracle. Advanced Database and Application Migration (ADAM) tersedia untuk evaluasi database sebelum migrasi. Lihat Menyiapkan database Oracle dan Ikhtisar.

Menyiapkan akun Oracle

Buat akun database dengan izin seperti yang ditunjukkan di bawah ini. Lewati langkah ini jika Anda sudah memiliki akun yang memenuhi syarat.

DatabaseMigrasi skemaMigrasi data penuhMigrasi data inkremental
Database Oracle sumberIzin pemilik skemaIzin pemilik skemaIzin detail halus

Untuk petunjuk terperinci tentang cara membuat akun database dan memberikan izin yang diperlukan, lihat Menyiapkan akun database, CREATE USER, dan GRANT.

Penting

Untuk migrasi data inkremental, Anda juga harus mengaktifkan logging arsip dan pencatatan tambahan. Lihat Mengonfigurasi database Oracle.

Batasan

DTS tidak memigrasikan kunci asing. Perilaku CASCADE dan DELETE yang didefinisikan pada sumber tidak diterapkan di tujuan.

Jaringan dan konektivitas

  • Server database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi throughput migrasi.

  • Untuk Oracle Real Application Clusters (RAC) yang terhubung melalui Express Connect, Anda harus menentukan alamat IP virtual (VIP) untuk database saat mengonfigurasi database sumber.

  • Untuk Oracle Real Application Clusters (RAC) yang terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, atau Cloud Enterprise Network (CEN), gunakan satu alamat IP virtual (VIP) alih-alih alamat IP Single Client Access Name (SCAN). Setelah Anda menentukan VIP, failover node tidak lagi didukung untuk database Oracle RAC tersebut.

Tipe data

  • Jika bidang Oracle sumber berisi string VARCHAR2 kosong—yang dianggap sebagai NULL di Oracle—dan bidang tujuan yang sesuai memiliki kendala NOT NULL, tugas migrasi akan gagal.

  • Jangan memperbarui bidang LONGTEXT selama migrasi. Tugas akan gagal jika pembaruan LONGTEXT terdeteksi.

Persyaratan objek

  • Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE, dengan semua bidang unik. Tanpa ini, catatan duplikat dapat muncul di tujuan.

  • Untuk Oracle 12c dan versi setelahnya, nama tabel tidak boleh melebihi 30 byte.

  • Jika Anda memilih tabel individual dan perlu mengganti nama tabel atau kolom, satu tugas mendukung maksimal 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi pekerjaan menjadi beberapa tugas atau migrasikan seluruh database dalam satu tugas.

Retensi log untuk migrasi inkremental

Logging redo dan logging arsip harus diaktifkan.

Mode migrasiRetensi log minimum
Hanya migrasi inkrementalLebih dari 24 jam
Migrasi penuh + migrasi inkrementalMinimal 7 hari (dapat dikurangi menjadi 24 jam setelah migrasi penuh selesai)

Jika DTS tidak dapat mengakses log yang diperlukan, tugas akan gagal. Dalam kasus ekstrem, ketidakkonsistenan atau kehilangan data dapat terjadi. Perjanjian tingkat layanan DTS tidak mencakup kegagalan yang disebabkan oleh retensi log yang tidak mencukupi.

Batasan operasional selama migrasi

FaseBatasan
Migrasi skema dan migrasi data penuhJangan lakukan operasi DDL yang mengubah skema database atau tabel.
Hanya migrasi penuhJangan menulis ke database sumber. Untuk menjamin konsistensi, jalankan migrasi skema, migrasi data penuh, dan migrasi data inkremental secara bersamaan.

Pertimbangan lainnya

  • Jadwalkan migrasi selama jam sepi. Migrasi data penuh meningkatkan beban baca dan tulis pada server sumber dan tujuan.

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

  • DTS mencoba ulang tugas migrasi yang gagal hingga 7 hari. Sebelum memindahkan beban kerja ke tujuan, hentikan atau lepas tugas yang gagal—atau cabut izin tulis DTS menggunakan REVOKE. Jika tidak, tugas yang gagal yang dilanjutkan kembali dapat menimpa data tujuan dengan data sumber.

  • Jika klaster Kafka tujuan ditingkatkan atau diturunkan spesifikasinya selama migrasi, restart klaster tersebut.

Penagihan

Jenis migrasiBiaya konfigurasi instansBiaya trafik Internet
Migrasi skema + Migrasi data penuhGratisDikenakan hanya jika data meninggalkan Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan.
Migrasi data inkrementalDikenakan biaya. Lihat Ikhtisar penagihan.

Pilih jenis migrasi

Pilih jenis migrasi berdasarkan tujuan Anda. Untuk sistem live, gunakan ketiga jenis secara bersamaan.

Jenis migrasiApa yang dilakukanKapan menggunakannya
Migrasi skemaMemigrasikan skema objek dari Oracle ke Kafka. Pemicu tidak didukung—hapus pemicu sumber sebelum migrasi untuk mencegah ketidakkonsistenan data. Lihat Mengonfigurasi tugas sinkronisasi data untuk database sumber yang berisi pemicu.Selalu sertakan sebagai langkah pertama.
Migrasi data penuhMemigrasikan semua data historis dari Oracle ke Kafka. Tidak ada operasi DDL pada objek yang dimigrasikan selama fase ini.Gunakan sendiri hanya untuk muatan data historis satu kali tanpa trafik live.
Migrasi data inkrementalMembaca file log redo Oracle dan terus-menerus mengalirkan perubahan ke Kafka. Menjaga tujuan tetap sinkron selama dan setelah migrasi.Gabungkan dengan migrasi penuh untuk sistem live.

Disarankan: Pilih Schema Migration, Migrasi Data Penuh, dan Migrasi Data Inkremental secara bersamaan. Ini adalah pendekatan standar untuk memastikan kelangsungan layanan saat Anda memigrasikan data dari database Oracle yang dikelola sendiri.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
CREATE VIEW, ALTER VIEW, DROP VIEW
CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE
CREATE FUNCTION, DROP FUNCTION, CREATE TRIGGER, DROP TRIGGER
CREATE INDEX, DROP INDEX

Mengonfigurasi dan memulai 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.

    Jalur navigasi yang tepat bergantung pada mode dan tata letak konsol DMS. Lihat Mode simple dan Menyesuaikan tata letak dan gaya konsol DMS. Atau, buka langsung halaman Tugas Migrasi Data.
  4. Dari daftar tarik-turun di samping Tugas Migrasi Data, pilih Wilayah tempat Instans migrasi akan ditempatkan.

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

Langkah 2: Mengonfigurasi database sumber dan tujuan

Klik Create Task. Di halaman Buat Tugas, konfigurasikan parameter berikut.

Peringatan

Setelah mengonfigurasi database sumber dan tujuan, baca limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan tugas gagal atau menghasilkan data yang tidak konsisten.

Source database

ParameterDeskripsi
Task NameNama untuk tugas tersebut. DTS memberikan nama secara otomatis — ganti dengan nama deskriptif agar mudah diidentifikasi. Nama tidak perlu unik.
Select a DMS database instancePilih instans yang sudah ada (DTS akan mengisi parameter secara otomatis) atau biarkan kosong dan konfigurasi secara manual.
Database TypePilih Oracle.
Connection TypePilih metode yang sesuai dengan lokasi penyebaran database sumber. Contoh ini menggunakan Self-managed Database on ECS. Jika menggunakan database yang dikelola sendiri, siapkan lingkungan jaringan yang diperlukan terlebih dahulu. Lihat Ikhtisar persiapan.
Instance RegionWilayah tempat database Oracle sumber berada.
ECS Instance IDID instans Elastic Compute Service (ECS) yang menjalankan database Oracle.
Port NumberPort layanan Oracle. Default: 1521.
Oracle TypePilih Non-RAC Instance (memerlukan parameter SID) atau RAC or PDB Instance (memerlukan parameter Service Name). Contoh ini menggunakan Non-RAC Instance.
Database AccountAkun Oracle dengan izin seperti yang dijelaskan di Menyiapkan akun Oracle.
Database PasswordPassword untuk akun database.

Destination database

ParameterDeskripsi
Select a DMS database instancePilih instans yang sudah ada (DTS akan mengisi parameter secara otomatis) atau biarkan kosong dan konfigurasi secara manual.
Database TypePilih Kafka.
Connection TypePilih Express Connect, VPN Gateway, or Smart Access Gateway. ApsaraMQ for Kafka tidak tersedia sebagai metode akses langsung — konfigurasikan sebagai database Kafka yang dikelola sendiri.
Instance RegionWilayah instans ApsaraMQ for Kafka.
Connected VPCID virtual private cloud (VPC) dari instans ApsaraMQ for Kafka. Untuk menemukannya: di konsol ApsaraMQ for Kafka, buka halaman Instance Details > tab Instance Information > bagian Configuration Information.
IP Address or Domain NameAlamat IP dari Default Endpoint instans ApsaraMQ for Kafka. Untuk menemukannya: di konsol ApsaraMQ for Kafka, buka Instance Details > tab Instance Information > bagian Endpoint Information > Default Endpoint.
Port NumberPort layanan Kafka. Default: 9092.
Database AccountAkun ApsaraMQ for Kafka. Tidak diperlukan jika tipe instans adalah VPC Type.
Database PasswordPassword untuk akun database. Tidak diperlukan jika tipe instans adalah VPC Type.
Kafka VersionVersi instans ApsaraMQ for Kafka tujuan.
Connection MethodPilih Non-encrypted atau SCRAM-SHA-256 sesuai kebutuhan keamanan Anda.
TopicTopik yang menerima data yang dimigrasikan. Pilih dari daftar drop-down.
Topic That Stores DDL InformationTopik untuk event DDL. Jika dibiarkan kosong, event DDL akan disimpan di topik yang ditentukan oleh Topik.
Use Kafka Schema RegistryApakah akan menggunakan Kafka Schema Registry untuk manajemen skema Avro. Pilih Yes dan masukkan URL Registry jika diperlukan, atau pilih No.

Langkah 3: Uji konektivitas dan tambahkan blok CIDR DTS

Jika daftar izin IP dikonfigurasi pada database sumber, tambahkan blok CIDR server DTS ke dalamnya.

Peringatan

Menambahkan blok CIDR DTS ke daftar izin database atau grup keamanan ECS berpotensi menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan: perkuat kredensial, batasi port yang terbuka, autentikasi panggilan API, tinjau aturan daftar izin secara berkala, dan blokir rentang CIDR yang tidak sah. Sebagai alternatif, hubungkan DTS ke database melalui Express Connect, VPN Gateway, atau Smart Access Gateway alih-alih membuka akses publik.

Klik Test Connectivity and Proceed.

Langkah 4: Pilih objek dan konfigurasi pengaturan migrasi

ParameterDeskripsi
Migration TypesPilih Schema Migration dan Migrasi Data Penuh untuk migrasi satu kali. Pilih ketiga jenis—Migrasi Skema, Migrasi Data Penuh, dan Migrasi Data Inkremental—untuk menjaga tujuan tetap sinkron dan mempertahankan kelangsungan layanan. Jika Anda tidak memilih Incremental Data Migration, hindari menulis ke database sumber selama migrasi untuk mencegah ketidakkonsistenan data.
Processing Mode of Conflicting TablesPeriksa Awal dan Laporkan Kesalahan (default): gagal dalam pemeriksaan awal jika tujuan memiliki tabel dengan nama yang sama dengan sumber. Jika tabel yang bertentangan tidak dapat dihapus, gunakan pemetaan nama objek untuk mengganti namanya. Lihat Memetakan nama objek. Abaikan Kesalahan dan Lanjutkan: melewati pemeriksaan konflik nama. Catatan dengan kunci primer yang cocok tidak dimigrasikan; ketidaksesuaian skema dapat menyebabkan migrasi sebagian atau kegagalan tugas. Gunakan dengan hati-hati.
Data Format in KafkaDTS Avro: data diurai menggunakan skema DTS Avro. Untuk definisi skema, lihat GitHub. SharePlex JSON: data disimpan dalam format JSON SharePlex. Lihat bagian Shareplex Json dalam "Format data kluster Kafka."
Policy for shipping data to Kafka partitionsKebijakan partisi untuk data yang dimigrasikan. Lihat Menentukan kebijakan untuk memigrasikan data ke partisi Kafka.
Source Objects / Selected ObjectsDi Objek Sumber, pilih tabel atau database yang akan dimigrasikan, lalu klik ikon panah untuk memindahkannya ke Objek yang Dipilih. Untuk mengganti nama satu objek, klik kanan objek tersebut di Selected Objects. Lihat Memetakan nama satu objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Memetakan nama beberapa objek sekaligus. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan klausa WHERE. Lihat Menetapkan kondisi filter. Untuk membatasi operasi SQL mana yang dimigrasikan secara inkremental untuk objek tertentu, klik kanan objek tersebut dan pilih operasinya.
Jika Anda mengganti nama objek menggunakan pemetaan nama objek, objek lain yang bergantung padanya mungkin gagal dimigrasikan.

Langkah 5: Mengonfigurasi pengaturan lanjutan

Klik Next: Advanced Settings.

ParameterDescription
Select the dedicated cluster used to schedule the taskSecara default, DTS menjadwalkan tugas ke klaster bersama. Untuk menjalankan tugas ini pada klaster khusus, beli klaster tersebut dan pilih di sini. Lihat What is a DTS dedicated cluster.
Retry Time for Failed ConnectionsDurasi waktu DTS melakukan retry setelah terjadi kegagalan koneksi. Nilai yang valid: 10–1440 menit. Default: 720. Atur lebih dari 30 menit. Jika DTS berhasil terhubung kembali dalam jangka waktu ini, tugas akan dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas menggunakan database sumber atau tujuan yang sama, jendela retry yang paling baru diatur akan berlaku untuk semua tugas tersebut. DTS tetap mengenakan biaya untuk instans selama periode retry.
The wait time before a retry when other issues occur in the source and destination databasesDurasi waktu DTS melakukan retry setelah kegagalan operasi DDL atau DML. Nilai yang valid: 1–1440 menit. Default: 10. Atur lebih dari 10 menit. Nilai ini harus lebih kecil daripada Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationMembatasi throughput baca/tulis selama migrasi data penuh untuk mengurangi beban server database. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Opsi ini tersedia hanya jika Full Data Migration dipilih.
Enable Throttling for Incremental Data MigrationMembatasi throughput selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Opsi ini tersedia hanya jika Incremental Data Migration dipilih.
Environment TagTag opsional untuk mengkategorikan instans DTS berdasarkan lingkungan, misalnya production atau development.
Actual Write CodePengkodean karakter untuk data yang ditulis ke tujuan. Pilih berdasarkan kebutuhan data Anda.
Configure ETLMenentukan apakah data akan ditransformasi sebelum dituliskan ke tujuan. Pilih Yes untuk memasukkan pernyataan pemrosesan di editor kode. Lihat Configure ETL in a data migration or data synchronization task. Pilih No untuk melewati ETL. Lihat What is ETL?
Monitoring and AlertingMenentukan apakah akan mengonfigurasi peringatan untuk kegagalan tugas atau latensi migrasi yang tinggi. Pilih Yes dan tentukan ambang batas serta kontak peringatan. Lihat Configure monitoring and alerting for a new DTS task.

Langkah 6: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk meninjau parameter API yang digunakan dalam konfigurasi ini, arahkan kursor ke Next: Save Task Settings and Precheck, lalu klik Preview API Call.

DTS menjalankan pemeriksaan awal sebelum memulai tugas. Jika ada item yang gagal:

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

  • Jika item peringatan tidak kritis dan dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

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

Langkah 7: Beli instans dan mulai tugas

Di halaman Purchase Instance, konfigurasikan kelas instans.

BagianParameterDeskripsi
Kelas Instans BaruKelompok Sumber DayaKelompok sumber daya untuk instans migrasi. Default: kelompok sumber daya default. Lihat Apa itu Manajemen Sumber Daya?
Kelas InstansKelas instans menentukan throughput migrasi. Lihat Spesifikasi instans migrasi data.

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

Monitor progres di halaman Task Management.

Langkah selanjutnya