Data Transmission Service (DTS) memungkinkan Anda memigrasikan data dari instans PolarDB-X 2.0 ke database Oracle yang dikelola sendiri. Pilih migrasi skema dan migrasi data penuh untuk pergantian satu kali, atau tambahkan migrasi data inkremental agar sumber dan tujuan tetap sinkron selama jendela transisi guna mengurangi downtime.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki database Oracle yang dikelola sendiri dengan ruang penyimpanan yang tersedia lebih besar daripada ukuran total data dari instans PolarDB-X 2.0 sumber
Membuat skema di database Oracle (skema dibuat secara otomatis saat Anda membuat pengguna di Oracle)
Memiliki akun database dengan izin yang diperlukan di kedua database sumber dan tujuan (lihat Izin yang diperlukan)
Pilih jenis migrasi
Pilih jenis migrasi yang sesuai dengan skenario Anda sebelum memulai.
| Skenario | Jenis migrasi yang dipilih |
|---|---|
| Pergantian satu kali tanpa operasi tulis selama migrasi | Migrasi skema + Migrasi data penuh |
| Minimalkan downtime dengan menjaga sumber dan tujuan tetap sinkron selama transisi | Migrasi skema + Migrasi data penuh + Migrasi data inkremental |
Jika Anda tidak memilih Incremental Data Migration, kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi untuk menjaga konsistensi data.
Batasan
Batasan database sumber
| Batasan | Dampak | Tindakan |
|---|---|---|
| Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE dengan semua field unik | Database tujuan mungkin berisi catatan duplikat | Tambahkan primary key atau kendala unique sebelum migrasi |
| Saat mengganti nama tabel atau kolom selama migrasi, satu tugas mendukung hingga 5.000 tabel | Permintaan error untuk tugas yang melebihi batas | Bagi menjadi beberapa tugas atau migrasikan seluruh database |
| Tabel yang namanya mengandung huruf kapital hanya dapat menjalani migrasi skema | Migrasi penuh dan inkremental tidak didukung untuk tabel-tabel ini | Rencanakan transfer data manual untuk tabel-tabel ini |
Parameter binlog_row_image harus diatur ke full (binary logging diaktifkan secara default) | Pemeriksaan Awal gagal dan tugas tidak dapat dimulai | Atur binlog_row_image ke full. Untuk detailnya, lihat Parameter settings |
DTS memigrasikan kunci asing dari database sumber selama migrasi skema.
Batasan umum
Lakukan migrasi selama jam sepi untuk mengurangi beban pada kedua server database. Migrasi data penuh menggunakan resource baca dan tulis pada sumber dan tujuan.
Setelah migrasi data penuh selesai, operasi INSERT konkuren menyebabkan fragmentasi tabel di tujuan. Tablespace yang digunakan di tujuan akan lebih besar daripada di sumber.
Hanya tulis data ke tujuan melalui DTS selama migrasi untuk mencegah ketidakkonsistenan data.
Paling banyak satu atribut kolom yang dapat diubah. Tipe data dasar tidak dapat diubah.
DTS membuat database bernama
dts_health_checkdan tabel bernamaha_health_checkdi instans sumber. DTS memperbarui tabel ini secara berkala untuk memajukan posisi log biner.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Dikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk detailnya, lihat Billing overview. |
| Migrasi data inkremental | Dikenakan biaya. Untuk detailnya, lihat Billing overview. |
Operasi SQL yang didukung untuk migrasi inkremental
DTS mendukung operasi DML berikut untuk migrasi data inkremental: INSERT, UPDATE, dan DELETE.
DDL
CREATE TABLE, ALTER TABLE, RENAME TABLE, TRUNCATE TABLE, DROP TABLE
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan untuk migrasi.
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| Instans PolarDB-X 2.0 sumber | SELECT | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan dimigrasikan |
| Database Oracle yang dikelola sendiri tujuan | Izin pemilik pada skema | — | — |
Untuk membuat akun database dan memberikan izin:
Instans PolarDB-X 2.0: lihat Manage database accounts dan Permissions required for an account to synchronize data
Database Oracle yang dikelola sendiri: lihat CREATE USER dan GRANT
Migrasi data
Langkah 1: Buka halaman Tugas Migrasi Data
Login ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik DTS.
Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Navigasi dapat berbeda tergantung pada mode dan tata letak Konsol DMS Anda. Untuk detailnya, lihat Simple mode dan Customize the layout and style of the DMS console. Anda juga dapat langsung menuju 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. Di wizard Create Task, konfigurasikan parameter berikut.
Database sumber
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama tugas. DTS secara otomatis menetapkan nama untuk tugas tersebut. Kami menyarankan agar Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas yang unik. |
| Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) | Pilih instans yang sudah ada untuk mengisi parameter secara otomatis, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih PolarDB-X 2.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans PolarDB-X 2.0 sumber berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No jika sumber dan tujuan berada dalam akun yang sama. |
| Instance ID | ID instans PolarDB-X 2.0 sumber. |
| Database Account | Akun database dari instans sumber. Untuk izin yang diperlukan, lihat Izin yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance. (Optional. If you have not registered a DMS database instance, ignore this option and configure database settings in the section below.) | Pilih instans yang sudah ada untuk mengisi parameter secara otomatis, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih Oracle. |
| Access Method | Pilih Self-managed Database on ECS. Jika Anda menggunakan metode akses berbeda, siapkan lingkungan jaringan yang diperlukan terlebih dahulu. Untuk detailnya, lihat Preparation overview. |
| Instance Region | Wilayah tempat database Oracle yang dikelola sendiri tujuan berada. |
| ECS Instance ID | ID instans Elastic Compute Service (ECS) yang menjalankan database Oracle. |
| Port Number | Port layanan database Oracle. Nilai default: 1521. |
| Oracle Type | Pilih arsitektur: Non-RAC Instance (memerlukan SID) atau RAC or PDB Instance (memerlukan Service Name). |
| Database Account | Akun database Oracle tujuan. Untuk izin yang diperlukan, lihat Izin yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Langkah 4: Uji konektivitas
Di bagian bawah halaman, klik Test Connectivity and Proceed.
Langkah 5: Konfigurasikan akses jaringan untuk DTS
Tambahkan blok CIDR server DTS ke pengaturan keamanan database yang dikelola sendiri (seperti aturan firewall) untuk mengizinkan akses inbound. Lalu klik Test Connectivity and Proceed.
DTS menangani akses jaringan secara otomatis dalam sebagian besar kasus:
Instans database Alibaba Cloud (ApsaraDB RDS, ApsaraDB for MongoDB, dan lainnya): DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih alamat IP instans.
Database yang dikelola sendiri pada satu instans ECS: DTS secara otomatis menambahkan blok CIDR-nya ke aturan grup keamanan ECS. Pastikan instans ECS dapat menjangkau database.
Database yang dikelola sendiri pada beberapa instans ECS: Tambahkan secara manual blok CIDR DTS ke aturan grup keamanan setiap instans ECS.
Database on-premises atau cloud pihak ketiga: Tambahkan secara manual blok CIDR DTS ke daftar putih alamat IP database.
Untuk daftar lengkap blok CIDR DTS, lihat Add the CIDR blocks of DTS servers to the security settings of on-premises databases.
Menambahkan blok CIDR DTS ke pengaturan keamanan database atau ECS Anda menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat kredensial akun, membatasi port yang terbuka, mengaktifkan autentikasi API, melakukan audit rutin terhadap daftar putih IP dan aturan grup keamanan serta melarang blok CIDR yang tidak sah, serta menghubungkan ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 6: Pilih objek dan konfigurasikan pengaturan migrasi
Konfigurasikan parameter migrasi berikut.
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih jenis migrasi berdasarkan skenario Anda. Lihat Pilih Jenis Migrasi. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: gagal dalam Pemeriksaan Awal jika tujuan berisi tabel dengan nama identik. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang bertentangan yang tidak dapat dihapus. Lihat Map object names. Ignore Errors and Proceed: melewati Pemeriksaan Awal untuk nama tabel identik. Catatan dengan primary key yang cocok dilewati; ketidaksesuaian skema dapat menyebabkan migrasi sebagian atau kegagalan tugas. |
| Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database, nama tabel, dan nama kolom di tujuan. Default: Kebijakan default DTS. Lihat Specify the capitalization of object names in the destination instance. |
| Source Objects | Pilih kolom, tabel, atau database dan klik ikon panah untuk memindahkannya ke Selected Objects. Memilih tabel atau kolom mengecualikan view, pemicu, dan prosedur tersimpan. |
| Selected Objects | Klik kanan database tujuan dan pilih Edit Schema. Di bidang Schema Name, masukkan skema di database Oracle yang akan menerima data. Gunakan huruf kapital untuk nama skema. Untuk memfilter baris, klik kanan tabel dan tentukan kondisi WHERE. Lihat Use SQL conditions to filter data. Mengganti nama objek dengan fitur pemetaan nama objek dapat menyebabkan migrasi objek dependen gagal. |
Langkah 7: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menjadwalkan tugas pada klaster bersama. Beli dan pilih klaster khusus untuk performa yang dapat diprediksi. Lihat What is a DTS dedicated cluster. |
| Set Alerts | No: tanpa peringatan. Yes: mengirim notifikasi ke kontak peringatan saat tugas gagal atau latensi migrasi melebihi ambang batas. Lihat Configure monitoring and alerting. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang setelah kegagalan koneksi. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika koneksi dipulihkan dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas berbagi sumber atau tujuan yang sama, nilai yang ditetapkan paling baru berlaku. DTS mengenakan biaya untuk instans selama percobaan ulang. |
| The wait time before a retry when other issues occur in the source and destination databases. | Berapa lama DTS mencoba ulang setelah kegagalan operasi DDL atau DML. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Nilai ini harus kurang dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi throughput baca/tulis selama migrasi data penuh untuk mengurangi beban database. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ditampilkan hanya jika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Membatasi throughput selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ditampilkan hanya jika Incremental Data Migration dipilih. |
| Environment Tag | Tag opsional untuk mengidentifikasi instans DTS. |
| Configure ETL | Yes: mengaktifkan pemrosesan ekstrak, transformasi, dan muat (ETL). Masukkan pernyataan pemrosesan data di editor kode. Lihat Configure ETL in a data migration or data synchronization task dan What is ETL?. No: menonaktifkan ETL. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Yes: tidak menulis SQL heartbeat ke database sumber. Indikator latensi mungkin muncul di instans DTS. No: menulis SQL heartbeat ke sumber, yang dapat memengaruhi fitur seperti backup fisik dan kloning. |
Langkah 8: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Anda dapat mengarahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters untuk melihat parameter API untuk tugas ini.
DTS menjalankan Pemeriksaan Awal sebelum memulai migrasi. Tugas tidak dapat dimulai hingga Pemeriksaan Awal berhasil.
Jika item pemeriksaan gagal, klik View Details di sebelahnya, perbaiki masalah tersebut, lalu klik Precheck Again.
Jika item pemeriksaan menunjukkan peringatan yang 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 9: Beli instans migrasi
Di halaman Purchase Instance, konfigurasikan parameter berikut.
| Bagian | Parameter | Deskripsi |
|---|---|---|
| New Instance Class | Resource Group | Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat What is Resource Management? |
| Instance Class | Kelas instans menentukan kecepatan migrasi. Pilih berdasarkan volume data dan persyaratan latensi Anda. Lihat Specifications of data migration instances. |
Baca dan centang kotak Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.
Tugas akan muncul di daftar tugas. Pantau perkembangannya di sana.