Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari kluster PolarDB for MySQL ke database Oracle yang dikelola sendiri. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental.
Prasyarat
Sebelum memulai, pastikan bahwa:
Database Oracle tujuan telah dibuat dan memiliki ruang penyimpanan yang lebih besar daripada total ukuran data kluster PolarDB for MySQL sumber.
Jika tujuannya adalah database Oracle Real Application Cluster (RAC) yang terhubung ke Alibaba Cloud melalui Virtual Private Cloud (VPC): setiap alamat IP Single Client Access Name (SCAN) dan virtual IP address (VIP) setiap node telah terhubung ke VPC, serta aturan routing telah dikonfigurasi. Untuk petunjuk pengaturan, lihat Hubungkan database on-premises ke Alibaba Cloud dan Hubungkan pusat data ke DTS menggunakan VPN Gateway.
Batasan
Batasan berdampak tinggi
Tinjau batasan berikut sebelum memulai—batasan ini dapat menyebabkan kegagalan tugas atau kehilangan data:
Node read-only tidak dapat dimigrasikan. Hanya node primary kluster PolarDB for MySQL sumber yang didukung.
Tidak ada operasi DDL selama migrasi skema atau migrasi data penuh. Jika Anda menjalankan operasi DDL yang mengubah skema database atau tabel pada sumber selama fase ini, tugas migrasi akan gagal.
Jangan menulis ke sumber selama migrasi hanya penuh. Jika Anda menjalankan migrasi skema dan migrasi data penuh tanpa migrasi inkremental, menulis ke sumber menyebabkan inkonsistensi data. Untuk menjaga sumber tetap online, pilih ketiga jenis migrasi: migrasi skema, migrasi data penuh, dan migrasi data inkremental.
Binary logging diperlukan untuk migrasi inkremental. Binary logging harus diaktifkan dan parameter
loose_polar_log_binharus diatur keon. Jika tidak dikonfigurasi, Pemeriksaan Awal akan gagal. Lihat Aktifkan binary logging dan Modifikasi parameter. Retensi log biner yang diperlukan: Setelah migrasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Retensi yang tidak mencukupi menyebabkan DTS gagal saat mengambil log biner, yang dapat mengakibatkan kegagalan tugas atau kehilangan data.CatatanMengaktifkan binary logging pada PolarDB for MySQL akan dikenai biaya penyimpanan untuk file log biner.
Jenis migrasi Periode retensi minimum Hanya migrasi data inkremental Lebih dari 24 jam Migrasi data penuh + migrasi data inkremental Minimal 7 hari Hentikan tugas migrasi sebelum beralih beban kerja. DTS mencoba ulang tugas yang gagal hingga 7 hari. Jika tugas yang gagal dilanjutkan setelah Anda beralih beban kerja ke tujuan, data tujuan akan ditimpa dengan data sumber. Sebelum beralih, hentikan atau lepas tugas migrasi, atau jalankan perintah
REVOKEuntuk mencabut izin tulis akun DTS pada database tujuan.
Batasan lainnya
Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field unik. Tanpa kendala ini, database tujuan mungkin berisi record duplikat.
Batasan penggantian nama tabel. Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung maksimal 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi migrasi ke beberapa tugas atau migrasikan seluruh database.
Oracle RAC melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, Cloud Enterprise Network (CEN), atau ECS: gunakan satu VIP saja, bukan alamat IP SCAN. Failover node tidak didukung setelah VIP ditentukan.
Lakukan migrasi selama jam sepi untuk meminimalkan dampak kinerja. Migrasi data penuh menggunakan resource baca dan tulis pada kedua database dan meningkatkan beban server.
Ruang tabel tujuan bertambah setelah migrasi penuh. Operasi INSERT konkuren selama migrasi penuh menyebabkan fragmentasi tabel. Ruang tabel tujuan akan lebih besar daripada ruang tabel sumber setelah migrasi penuh.
Presisi FLOAT dan DOUBLE. DTS menggunakan fungsi
ROUND(COLUMN, PRECISION)untuk mengambil nilai FLOAT dan DOUBLE. Presisi default: FLOAT menggunakan 38 digit, DOUBLE menggunakan 308 digit. Verifikasi apakah pengaturan ini sesuai kebutuhan Anda sebelum memulai.Bandwidth server sumber. Server sumber harus memiliki outbound bandwidth yang mencukupi. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi.
Perilaku kunci asing
DTS memigrasikan foreign keys selama migrasi skema. Selama migrasi data penuh dan migrasi data inkremental, DTS secara sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Jika Anda melakukan operasi kaskade atau penghapusan pada sumber selama migrasi, inkonsistensi data dapat terjadi.
Kasus khusus
DTS menjalankan perintah CREATE DATABASE IF NOT EXISTS \`test\` pada database sumber secara berkala untuk memajukan posisi file log biner. Ini merupakan perilaku yang diharapkan.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas Internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Dikenai biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan. |
| Migrasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. | — |
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN, MODIFY COLUMN, RENAME COLUMN, CREATE INDEX, DROP INDEX |
Izin akun database yang diperlukan
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Kluster PolarDB for MySQL sumber | Izin baca pada objek yang akan dimigrasikan | Buat dan kelola akun database |
| Database Oracle tujuan | Izin pemilik skema | CREATE USER dan GRANT |
Buat tugas migrasi
Langkah 1: Buka halaman Tugas Migrasi Data
Login ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik DTS.
Pada panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Tata letak konsol dapat berbeda. 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.
Langkah 3: Konfigurasikan database sumber dan tujuan
Klik Create Task dan konfigurasikan parameter berikut.
Pengaturan tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah mengidentifikasi tugas tersebut. Anda tidak perlu menentukan nama tugas yang unik. |
Database sumber
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | Opsional. Pilih instans yang sudah ada untuk mengisi otomatis parameter database, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih PolarDB for MySQL. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah kluster PolarDB for MySQL sumber. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk migrasi dalam akun yang sama. |
| PolarDB Cluster ID | ID kluster PolarDB for MySQL sumber. |
| Database Account | Akun database untuk kluster sumber. Lihat Izin akun database yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
| Encryption | Apakah koneksi ke database sumber dienkripsi. Lihat Konfigurasikan enkripsi SSL. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | Opsional. Pilih instans yang sudah ada untuk mengisi otomatis parameter database, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih Oracle. |
| Access Method | Pilih Self-managed Database on ECS untuk contoh ini. Untuk metode akses lainnya, lihat Ikhtisar persiapan. |
| Instance Region | Wilayah tempat database Oracle tujuan berada. |
| ECS Instance ID | ID instance ECS yang menjalankan database Oracle tujuan. |
| Port Number | Port layanan database Oracle tujuan. Default: 1521. |
| Oracle Type | Arsitektur database Oracle tujuan: Non-RAC Instance (memerlukan SID) atau RAC or PDB Instance (memerlukan Service Name). Contoh ini menggunakan RAC or PDB Instance. |
| Database Account | Akun database untuk database Oracle tujuan. Lihat Izin akun database yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih alamat IP instans database Alibaba Cloud dan ke aturan grup keamanan ECS untuk database yang di-host di ECS. Untuk database yang dikelola sendiri di pusat data atau cloud pihak ketiga, tambahkan secara manual blok CIDR DTS ke daftar putih database Anda. Lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR DTS ke daftar putih database atau grup keamanan ECS menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat kredensial akun, membatasi port yang terbuka, mengotentikasi panggilan API, meninjau aturan daftar putih dan grup keamanan secara berkala, serta menghapus blok CIDR yang tidak sah. Alternatifnya, hubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Konfigurasikan objek dan pengaturan migrasi
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih Schema Migration dan Full Data Migration untuk migrasi satu kali. Pilih Schema Migration, Full Data Migration, dan Incremental Data Migration untuk menjaga layanan tetap berjalan selama migrasi. Catatan Tanpa migrasi inkremental, jangan menulis ke database sumber selama migrasi. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: memeriksa keberadaan tabel dengan nama identik di sumber dan tujuan. Tugas akan gagal dalam Pemeriksaan Awal jika terdapat konflik. Gunakan pemetaan nama objek untuk menyelesaikan konflik — lihat Pemetaan nama objek. Ignore Errors and Proceed: melewati pemeriksaan ini. Record data dengan primary key yang cocok tidak akan dimigrasikan. Jika skema berbeda, hanya kolom tertentu yang mungkin dimigrasikan atau tugas bisa gagal. |
| Capitalization of Object Names in Destination Instance | Mengatur kapitalisasi nama database, tabel, dan kolom di tujuan. Default: DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
| Source Objects | Pilih objek dari daftar Source Objects dan klik |
| Selected Objects | Untuk mengganti nama database di tujuan, klik kanan database tersebut dan atur Schema Name di kotak dialog Edit Schema. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan kondisi WHERE. Lihat Atur kondisi filter. Untuk memilih operasi SQL tertentu untuk database atau tabel, klik kanan objek tersebut dan pilih operasinya. Catatan Mengganti nama objek dapat menyebabkan migrasi objek dependen gagal. |
Langkah 6: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings.
Verifikasi data
Untuk mengonfigurasi verifikasi data, lihat Konfigurasikan verifikasi data.
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menggunakan klaster bersama. Untuk menggunakan klaster khusus, Anda harus membelinya terlebih dahulu. Lihat What is a DTS dedicated cluster? |
| Retry Time for Failed Connections | Durasi DTS melakukan retry setelah koneksi gagal. Rentang: 10–1440 menit. Default: 720. Disarankan mengatur nilai lebih dari 30 menit untuk meningkatkan keandalan. Jika DTS berhasil terhubung kembali dalam periode ini, task dilanjutkan; jika tidak, task gagal. Catatan Nilai terbaru akan menggantikan nilai sebelumnya jika beberapa task berbagi database yang sama. Biaya instans DTS tetap berlaku selama periode retry. |
| The wait time before a retry when other issues occur in the source and destination databases | Durasi DTS melakukan retry setelah kegagalan DDL atau DML. Rentang: 1–1440 menit. Default: 10. Disarankan mengatur nilai lebih dari 10 menit. Nilai ini harus lebih kecil daripada Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi beban baca/tulis DTS pada database selama full migration. 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 Migration | Membatasi beban DTS selama migrasi 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 Tag | Tag untuk mengidentifikasi instans DTS. Opsional. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Mengontrol apakah DTS menulis SQL heartbeat ke database sumber. Yes: tidak menulis SQL heartbeat (latensi task mungkin muncul di Pemantauan). No: menulis SQL heartbeat (dapat memengaruhi fitur database sumber seperti physical backup dan cloning). |
| Configure ETL | Menentukan apakah akan mengaktifkan ekstrak, transformasi, dan muat (ETL). Yes: konfigurasikan ETL menggunakan editor kode. Lihat Configure ETL in a data migration or data synchronization task. No: lewati ETL. Lihat What is ETL? |
| Monitoring and Alerting | Menentukan apakah akan mengonfigurasi peringatan untuk kegagalan task atau latensi yang melebihi ambang batas. Yes: tentukan ambang batas peringatan dan kontak. Lihat Configure monitoring and alerting for a new DTS task. No: tanpa peringatan. |
Langkah 7: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter OpenAPI untuk tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan Pemeriksaan Awal sebelum tugas migrasi dapat dimulai. Jika Pemeriksaan Awal gagal, klik View Details di samping setiap item yang gagal, perbaiki masalahnya, lalu klik Precheck Again. Untuk item peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.
Langkah 8: Beli instans migrasi
Tunggu hingga tingkat keberhasilan Pemeriksaan Awal mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasikan kelas instans:
| Parameter | Deskripsi |
|---|---|
| Resource Group | Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management? |
| Instance Class | Kelas throughput migrasi. Pilih berdasarkan volume data dan kebutuhan kecepatan migrasi Anda. Lihat Spesifikasi instans migrasi data. |
Langkah 9: Mulai tugas migrasi
Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.
Pantau kemajuan di halaman Task Management.
Yang harus dilakukan setelah migrasi selesai
Setelah tugas migrasi mencapai kemajuan 100%:
Hentikan tugas migrasi. Hentikan atau lepas tugas migrasi DTS sebelum atau segera setelah beralih beban kerja. Jika tidak, tugas yang dilanjutkan dapat menimpa data tujuan dengan data sumber.
Bersihkan. Cabut izin tulis akun DTS pada database tujuan menggunakan perintah
REVOKE, atau lepas instans DTS untuk menghentikan biaya.