All Products
Search
Document Center

Data Transmission Service:Migrasi data dari database OceanBase yang kompatibel dengan MySQL ke klaster PolarDB for MySQL

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari database OceanBase (mode kompatibel MySQL, Community Edition V4.x) ke klaster PolarDB for MySQL. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental untuk jalur migrasi ini.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Kendala

Kendala database sumber

  • Database sumber tidak boleh merupakan database ApsaraDB for OceanBase.

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

  • Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua field-nya 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 hanya dapat memigrasikan hingga 1.000 tabel. Memigrasikan lebih dari 1.000 tabel dalam satu tugas menyebabkan error permintaan. Dalam kasus ini, bagi migrasi menjadi beberapa tugas atau migrasikan seluruh database.

  • Data tipe GEOMETRY hanya dapat dimigrasikan menggunakan migrasi data penuh. Migrasi data inkremental tidak didukung untuk tipe ini.

  • Nama kolom dalam database MySQL tidak peka huruf besar/kecil. Jika database sumber memiliki beberapa kolom yang namanya hanya berbeda dalam kapitalisasi, DTS akan memigrasikan data dari kolom-kolom tersebut ke kolom tujuan yang sama, yang dapat menghasilkan hasil tak terduga.

Kendala lainnya

  • DTS tidak mendukung konversi data dari tipe DATETIME ke tipe VARCHAR.

  • Throttling tidak tersedia untuk migrasi data penuh.

  • Jika nama database sumber tidak sesuai dengan konvensi penamaan PolarDB for MySQL, buat database tujuan di klaster PolarDB for MySQL sebelum mengonfigurasi tugas migrasi. Lalu gunakan fitur pemetaan nama objek untuk mengganti namanya pada langkah Configure Objects and Advanced Settings. Untuk konvensi penamaan dan cara membuat database, lihat Manajemen Database.

  • Untuk kolom bertipe FLOAT atau DOUBLE, DTS menerapkan ROUND(COLUMN,PRECISION) untuk mengambil nilai. Jika presisi tidak ditentukan, DTS menggunakan default 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa nilai default ini memenuhi kebutuhan bisnis Anda.

  • DTS secara otomatis mencoba ulang tugas yang gagal hingga tujuh hari. Sebelum beralih beban kerja ke database tujuan, hentikan atau lepas tugas yang gagal, atau jalankan REVOKE untuk mencabut izin tulis DTS pada database tujuan. Jika tidak, tugas yang dilanjutkan kembali dapat menimpa data tujuan dengan data sumber.

  • Jika pernyataan DDL gagal dieksekusi di database tujuan, tugas DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Untuk detailnya, lihat Lihat log tugas.

Batasan operasional

Terapkan batasan-batasan berikut selama migrasi untuk mencegah ketidakkonsistenan data:

  • Selama migrasi skema dan migrasi data penuh: Jangan menjalankan operasi Data Definition Language (DDL) yang mengubah skema database atau tabel.

  • Selama migrasi data penuh saja: Jangan menulis data ke database sumber. Untuk memastikan konsistensi data sepanjang migrasi, pilih migrasi skema, migrasi data penuh, dan migrasi data inkremental secara bersamaan.

  • Selama migrasi data penuh dan inkremental: DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Melakukan operasi kaskade atau penghapusan pada database sumber selama periode ini dapat menyebabkan ketidakkonsistenan data.

  • Operasi RENAME TABLE: Mengganti nama tabel selama migrasi inkremental dapat menyebabkan ketidakkonsistenan data. Jika Anda perlu mengganti nama tabel, tambahkan database yang berisi tabel tersebut sebelum dan sesudah operasi penggantian nama ke objek migrasi.

Migrasi skema memindahkan kunci asing dari database sumber ke database tujuan.

Penagihan

Jenis migrasiBiaya konfigurasi tugasBiaya transfer data
Migrasi skema dan migrasi data penuhGratisGratis dalam contoh ini
Migrasi data inkrementalDikenai biaya

Untuk harga migrasi data inkremental, lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk migrasi inkremental

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

Izin akun database yang diperlukan

DatabaseMigrasi skemaMigrasi data penuhMigrasi data inkremental
OceanBase (tingkat pengguna)SELECTSELECTSELECT
OceanBase (tingkat penyewa)Penyewa regulerPenyewa regulerPenyewa reguler
PolarDB for MySQLBaca dan tulis pada database tujuanBaca dan tulis pada database tujuanBaca dan tulis pada database tujuan
Penting

Untuk migrasi data inkremental, instal oblogproxy pada server OceanBase dan konfigurasikan penyewa sistem. oblogproxy adalah layanan proxy untuk mengelola log inkremental. Untuk instruksi instalasi, lihat Instal dan deploy oblogproxy menggunakan paket instalasi.

Untuk instruksi membuat akun dan memberikan izin, lihat:

Migrasi data dari OceanBase ke PolarDB for MySQL

Langkah 1: Buka halaman Tugas Migrasi Data

  1. Login ke Konsol Data Management (DMS).

  2. Pada bilah navigasi atas, klik DTS.

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

Navigasi dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk detailnya, lihat Mode simple 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.

Di Konsol DTS baru, pilih wilayah di pojok kiri atas halaman.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Pada halaman wizard Create Task, konfigurasikan parameter berikut.

Database sumber

ParameterDeskripsi
Select an existing DMS database instance(Opsional) Pilih instans yang sudah ada untuk mengisi otomatis parameter database sumber. Jika dilewati, konfigurasikan parameter di bawah secara manual.
Database TypePilih ApsaraDB OceanBase for MySQL.
Access MethodPilih metode akses berdasarkan lokasi penyebaran database sumber. Contoh ini menggunakan Public IP Address.
Instance RegionWilayah tempat database OceanBase sumber berada.
Domain Name or IPTitik akhir database OceanBase sumber.
Port NumberPort layanan database OceanBase sumber. Default: 2881.
IP Address in Log Proxy (Domain Name Not Supported)Alamat IP oblogproxy untuk database OceanBase sumber.
Port in Log ProxyPort pendengar oblogproxy. Default: 2983.
Database AccountAkun database OceanBase sumber. Untuk izin yang diperlukan, lihat Izin akun database yang diperlukan.
Database PasswordKata sandi untuk akun database.
Task NameNama untuk tugas. DTS secara otomatis menetapkan nama; tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik.
Jika database sumber dikelola sendiri, siapkan lingkungan yang diperlukan sebelum migrasi. Untuk detailnya, lihat Ikhtisar persiapan.

Database tujuan

ParameterDeskripsi
Select an existing DMS database instance(Opsional) Pilih instans yang sudah ada untuk mengisi otomatis parameter database tujuan. Jika dilewati, konfigurasikan parameter di bawah secara manual.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat klaster PolarDB for MySQL tujuan berada.
PolarDB Cluster IDID klaster PolarDB for MySQL tujuan.
Database AccountAkun database untuk klaster tujuan. Untuk izin yang diperlukan, lihat Izin akun database yang diperlukan.
Database PasswordKata sandi untuk akun database.
Encryption(Opsional) Aktifkan enkripsi SSL untuk koneksi ke klaster tujuan. Untuk detailnya, lihat Konfigurasi enkripsi SSL.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

Jika database sumber menggunakan daftar putih alamat IP, tambahkan blok CIDR server DTS ke daftar putih sebelum mengklik Test Connectivity and Proceed.

  • Instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB): DTS secara otomatis menambahkan blok CIDR-nya.

  • Database yang dikelola sendiri di ECS: DTS secara otomatis menambahkan blok CIDR-nya ke aturan grup keamanan ECS. Pastikan instans ECS dapat mengakses database. Jika database tersebar di beberapa instans ECS, tambahkan blok CIDR ke setiap instans secara manual.

  • Database yang dikelola sendiri di pusat data atau cloud pihak ketiga: Tambahkan blok CIDR secara manual ke daftar putih alamat IP database.

Untuk daftar blok CIDR server DTS, lihat Tambahkan blok CIDR server DTS.

Peringatan

Menambahkan blok CIDR DTS ke daftar putih database atau grup keamanan ECS menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah-langkah seperti menggunakan kredensial kuat, membatasi port yang terbuka, mengotentikasi panggilan API, melakukan audit aturan daftar putih secara berkala, dan menghubungkan melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Langkah 5: Konfigurasi objek dan pengaturan migrasi

ParameterDeskripsi
Migration TypesPilih jenis migrasi berdasarkan skenario Anda: <br>- Schema Migration + Full Data Migration: migrasi satu kali dengan downtime. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: migrasi online dengan downtime minimal. <br><br>Jika Anda tidak memilih Incremental Data Migration, jangan menulis ke database sumber selama migrasi.
Processing Mode of Conflicting Tables- Precheck and Report Errors: pemeriksaan awal gagal jika database tujuan sudah memiliki tabel dengan nama yang sama. Selesaikan konflik sebelum memulai tugas. Jika tabel yang bentrok tidak dapat dihapus atau diganti namanya, gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan. Lihat Pemetaan nama objek. <br>- Ignore Errors and Proceed: melewati pemeriksaan nama tabel duplikat. Gunakan dengan hati-hati — ini dapat menyebabkan ketidakkonsistenan data atau migrasi parsial.
Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default adalah DTS default policy. Untuk detailnya, lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih objek dari Source Objects dan klik ikon panah untuk memindahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau database. Memilih tabel atau kolom mengecualikan view, trigger, dan prosedur tersimpan.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut di Selected Objects. Lihat Pemetaan nama satu objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Pemetaan nama beberapa objek sekaligus. Untuk memfilter baris, klik kanan objek untuk menentukan kondisi WHERE. Lihat Atur kondisi filter. Untuk memilih operasi SQL tertentu untuk migrasi inkremental, klik kanan objek dan pilih operasinya.
Pemetaan nama objek dapat menyebabkan ketidakkonsistenan data atau merusak objek yang bergantung pada objek yang diganti nama. Misalnya, migrasi tabel non-penuh dengan pemetaan kolom dapat menyebabkan kehilangan data jika kolom sumber tidak ada dalam skema tujuan.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke klaster bersama. Untuk meningkatkan stabilitas, beli klaster khusus. Lihat Apa itu klaster khusus DTS.
Set AlertsKonfigurasikan peringatan untuk kegagalan tugas atau latensi migrasi yang melebihi ambang batas. Pilih Yes untuk menetapkan ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan.
Select the engine type of the destination databaseMesin penyimpanan untuk klaster PolarDB for MySQL tujuan: InnoDB (default) atau X-Engine (mesin penyimpanan OLTP).
Retry Time for Failed ConnectionsDurasi DTS mencoba ulang koneksi yang gagal sebelum menandai tugas sebagai gagal. Rentang: 10–1440 menit. Default: 720. Atur minimal 30 menit. Jika tugas berbeda berbagi database sumber atau tujuan yang sama, nilai yang paling baru ditetapkan berlaku. Selama percobaan ulang, biaya instans DTS tetap berlaku.
Retry Time for Other IssuesDurasi DTS mencoba ulang operasi DDL atau DML yang gagal. Rentang: 1–1440 menit. Default: 10. Atur minimal 10 menit. Harus lebih kecil dari Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationBatasi kecepatan migrasi untuk mengurangi beban pada database sumber dan tujuan. Konfigurasikan Queries per second (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 kecepatan 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 TagTag opsional untuk mengidentifikasi instans DTS.
Configure ETLAktifkan ekstrak, transformasi, dan muat (ETL) untuk memproses data selama migrasi. Pilih Yes dan masukkan pernyataan pemrosesan di editor kode. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis pada kedua database sumber dan tujuan, yang meningkatkan beban server. Jalankan migrasi selama jam sepi. Setelah migrasi data penuh selesai, operasi INSERT konkuren dapat menyebabkan fragmentasi tabel di database tujuan, sehingga ruang tabel tujuan akan lebih besar daripada sumber.

Langkah 7: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat pratinjau parameter API untuk konfigurasi tugas ini sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum memulai tugas migrasi. Tugas hanya dapat dimulai setelah pemeriksaan awal lolos.

  • Jika item pemeriksaan awal gagal, klik View Details di samping item yang gagal untuk melihat penyebabnya, perbaiki masalah, dan jalankan pemeriksaan awal lagi.

  • Jika item pemeriksaan awal menghasilkan peringatan, tangani berdasarkan skenario:

    • Jika peringatan tidak dapat diabaikan, klik View Details di samping item yang gagal, atasi masalah, dan jalankan pemeriksaan awal lagi.

    • Jika peringatan dapat diabaikan dengan aman, klik Confirm Alert Details, lalu klik Ignore di kotak dialog View Details, klik OK, dan klik Precheck Again.

Peringatan

Mengabaikan peringatan pemeriksaan awal dapat menyebabkan ketidakkonsistenan data atau masalah lainnya. Lanjutkan dengan hati-hati.

Langkah 8: Beli instans DTS

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

Pada halaman Purchase Instance, konfigurasikan hal berikut:

BagianParameterDeskripsi
New Instance ClassResource Group SettingsKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassKelas instans menentukan kecepatan migrasi. Pilih berdasarkan kebutuhan Anda. Lihat Spesifikasi instans migrasi data.

Langkah 9: Mulai tugas migrasi

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

FAQ

Nilai apa yang saya masukkan untuk field oblogproxy jika oblogproxy belum diinstal?

Gunakan nilai default untuk IP Address in Log Proxy (Domain Name Not Supported) dan Port in Log Proxy. Jangan pilih Incremental Data Migration untuk Migration Types — memilihnya tanpa menginstal oblogproxy menyebabkan error.

Wilayah database OceanBase sumber saya tidak ada di daftar drop-down Instance Region. Apa yang harus saya pilih?

Pilih wilayah yang paling dekat dengan lokasi database OceanBase sumber Anda.

Database OceanBase sumber saya diterapkan dalam klaster. Apa yang harus saya masukkan untuk Domain Name or IP?

Masukkan nilai yang Anda tentukan untuk OBServer Node saat membuat klaster.

Port Number apa yang harus saya masukkan untuk database OceanBase sumber?

  • Penyebaran standalone: gunakan nilai default (2881).

  • Penyebaran klaster: masukkan nilai yang Anda tentukan untuk SQL Port saat membuat klaster.

Format apa yang digunakan Database Account untuk database OceanBase sumber?

Gunakan format <Username>@<Tenant name>. Misalnya, jika pengguna adalah dtstest di penyewa dts, masukkan dtstest@dts.