Data Transmission Service (DTS) mendukung migrasi data dari database Oracle yang dikelola sendiri ke proyek DataHub. DataHub adalah layanan pemrosesan data streaming di Alibaba Cloud yang memungkinkan Anda menerbitkan, berlangganan, dan mendistribusikan data streaming untuk analitik real-time dan pengembangan aplikasi.
Prasyarat
Sebelum memulai, pastikan bahwa:
DataHub telah diaktifkan dan proyek DataHub telah dibuat untuk menerima data yang dimigrasikan. Untuk informasi selengkapnya, lihat Memulai DataHub dan Kelola proyek.
Database Oracle yang dikelola sendiri berjalan dalam mode ARCHIVELOG dengan file log arsip yang dapat diakses dan periode retensi yang sesuai. Untuk informasi selengkapnya, lihat Mengelola File Log Redo Terarsip.
Pencatatan tambahan (supplemental logging) diaktifkan untuk database Oracle yang dikelola sendiri, dengan
SUPPLEMENTAL_LOG_DATA_PKdanSUPPLEMENTAL_LOG_DATA_UIdiatur ke Yes. Untuk informasi selengkapnya, lihat Pencatatan Tambahan.Kemampuan dan batasan DTS untuk migrasi data Oracle telah dipahami. Gunakan Advanced Database & Application Migration (ADAM) untuk mengevaluasi kelayakan dan biaya migrasi. Untuk informasi selengkapnya, lihat Persiapkan database Oracle dan Ikhtisar.
Untuk versi database Oracle dan proyek DataHub yang didukung, lihat Ikhtisar skenario migrasi data.
Batasan
Batasan database sumber
Jaringan dan konektivitas
Server yang menghosting database sumber harus memiliki bandwidth outbound yang cukup. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi.
Jika database sumber adalah database Oracle RAC yang terhubung melalui Express Connect, tentukan VIP saat mengonfigurasi database sumber.
Jika database sumber adalah database Oracle RAC yang terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, atau Cloud Enterprise Network (CEN), gunakan satu VIP, bukan alamat IP Single Client Access Name (SCAN). Setelah VIP ditentukan, failover node tidak didukung untuk database Oracle RAC.
Batasan tipe data
Jika bidang VARCHAR2 di database Oracle sumber berisi string kosong (dievaluasi sebagai null di Oracle) dan bidang tujuan yang sesuai memiliki kendala NOT NULL, tugas migrasi akan gagal.
Persyaratan objek
Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua bidang harus unik. Jika tidak, catatan data duplikat dapat muncul di database tujuan.
Untuk Oracle 12c atau versi yang lebih baru, nama tabel tidak boleh melebihi panjang 30 byte.
Saat memigrasikan tabel dengan modifikasi di database tujuan (seperti mengganti nama tabel atau kolom), satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas untuk migrasi secara batch, atau migrasikan seluruh database.
Persyaratan migrasi inkremental
Pencatatan redo dan pencatatan arsip harus diaktifkan.
Persyaratan retensi log:
Hanya migrasi data inkremental: Simpan log redo dan log arsip selama lebih dari 24 jam.
Migrasi data penuh dan migrasi data inkremental: Simpan log redo dan log arsip setidaknya selama tujuh hari. Setelah migrasi data penuh selesai, kurangi periode retensi menjadi lebih dari 24 jam.
Jika DTS gagal memperoleh log redo dan log arsip, tugas dapat gagal. Dalam kasus ekstrem, ketidakkonsistenan atau kehilangan data dapat terjadi. Service Level Agreement (SLA) DTS tidak menjamin keandalan atau kinerja layanan jika persyaratan retensi log tidak dipenuhi.
Operasi selama migrasi
Selama migrasi skema dan migrasi data penuh, jangan lakukan operasi DDL yang mengubah skema database atau tabel. Jika dilakukan, tugas migrasi data akan gagal.
Hanya selama migrasi data penuh, jangan menulis data ke database sumber. Jika dilakukan, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan. Untuk menjaga konsistensi data, pilih migrasi skema, migrasi data penuh, dan migrasi data inkremental sebagai jenis migrasi.
Selama migrasi data, jangan perbarui bidang LONGTEXT. Jika dilakukan, tugas migrasi data akan gagal.
Batasan lainnya
Satu string di proyek DataHub tujuan tidak boleh melebihi panjang 2 MB.
Hanya tabel yang dapat dipilih sebagai objek migrasi. DTS tidak mendukung migrasi pemicu (trigger).
Lakukan migrasi data pada jam sepi. Selama migrasi data penuh, DTS mengonsumsi sumber daya baca dan tulis dari kedua database sumber dan tujuan, yang dapat meningkatkan beban server.
Selama migrasi data penuh, operasi INSERT konkuren menyebabkan fragmentasi pada tabel kluster tujuan. Setelah migrasi data penuh selesai, ukuran ruang tabel yang digunakan pada kluster tujuan lebih besar daripada database sumber.
DTS mencoba melanjutkan tugas migrasi yang gagal dalam tujuh hari terakhir. Sebelum mengalihkan beban kerja ke database tujuan, hentikan atau lepas tugas yang gagal. Atau, jalankan pernyataan
REVOKEuntuk mencabut izin tulis dari akun yang digunakan DTS untuk mengakses database tujuan. Jika tidak, data di database sumber akan menimpa data di database tujuan setelah tugas yang gagal dilanjutkan.Ketidakkonsistenan data antara database sumber dan tujuan dapat terjadi jika data dari sumber lain ditulis ke database tujuan selama migrasi.
Penagihan
| Jenis migrasi | Biaya konfigurasi tugas | Biaya transfer data |
|---|---|---|
| Migrasi skema | Gratis. | Gratis dalam contoh ini. Catatan Dikenakan biaya hanya ketika data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
| Migrasi data inkremental | Dikenakan biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, dan DELETE |
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, dan TRUNCATE TABLE; CREATE VIEW, ALTER VIEW, dan DROP VIEW; CREATE PROCEDURE, ALTER PROCEDURE, dan DROP PROCEDURE; CREATE FUNCTION, DROP FUNCTION, CREATE TRIGGER, dan DROP TRIGGER; CREATE INDEX dan DROP INDEX |
Izin yang diperlukan untuk akun database
| Jenis database | Migrasi skema | Migrasi data inkremental | Referensi |
|---|---|---|---|
| Database Oracle yang dikelola sendiri | Izin pemilik skema | Izin tingkat granular halus | CREATE USER dan GRANT |
Untuk memigrasikan data inkremental dari database Oracle, aktifkan pencatatan arsip dan pencatatan tambahan untuk memperoleh data inkremental. Untuk informasi selengkapnya, lihat bagian Konfigurasi database Oracle pada topik "Persiapkan database Oracle".
Prosedur
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.
Operasi dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
Halaman Tugas Migrasi Data di Konsol DTS baru juga tersedia.
Langkah 2: Pilih wilayah dan buat tugas
Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data berada.
Pada Konsol DTS baru, pilih wilayah di pojok kiri atas.
Klik Create Task.
Langkah 3: Konfigurasi database sumber dan tujuan
Pada halaman Create Task, konfigurasikan database sumber dan tujuan.
Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di bagian atas halaman. Jika tidak, tugas dapat gagal atau terjadi ketidakkonsistenan data.
Pengaturan tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama tugas. DTS secara otomatis memberikan nama. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tugas tidak harus unik. |
Pengaturan database sumber
| 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.) | Instans database yang akan digunakan. Jika instans yang ada dipilih, DTS secara otomatis mengisi parameter database. Jika tidak, konfigurasikan parameter untuk database sumber. |
| Database Type | Pilih Oracle. |
| Access Method | Pilih nilai berdasarkan lokasi penerapan database sumber. Dalam contoh ini, Self-managed Database on ECS dipilih. Penting Untuk metode akses lainnya, siapkan lingkungan yang diperlukan untuk database Oracle yang dikelola sendiri. Untuk informasi selengkapnya, lihat Ikhtisar persiapan. |
| Instance Region | Wilayah tempat database Oracle sumber berada. |
| ECS Instance ID | ID instans Elastic Compute Service (ECS) tempat database Oracle sumber diterapkan. |
| Port Number | Nomor port layanan database Oracle sumber. Nilai default: 1521. |
| Oracle Type | Arsitektur database Oracle sumber. Pilih Non-RAC Instance dan tentukan parameter SID, atau pilih RAC or PDB Instance dan tentukan parameter Service Name. Dalam contoh ini, RAC or PDB Instance dipilih dengan Service Name ditentukan. |
| Database Account | Akun database Oracle yang dikelola sendiri. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database. |
| Database Password | Kata sandi akun database. |
Pengaturan 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.) | Instans database yang akan digunakan. Jika instans yang ada dipilih, DTS secara otomatis mengisi parameter database. Jika tidak, konfigurasikan parameter untuk database tujuan. |
| Database Type | Pilih DataHub. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat proyek DataHub tujuan berada. |
| Project | Nama Project tujuan. |
Langkah 4: Uji konektivitas
Di bagian bawah halaman, klik Test Connectivity and Proceed.
Jika daftar putih dikonfigurasi untuk database Oracle yang dikelola sendiri, tambahkan blok CIDR server DTS ke daftar putih, lalu klik Test Connectivity and Proceed. DTS menangani konfigurasi daftar putih secara berbeda tergantung pada jenis database:
Instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB): DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP.
Database yang dikelola sendiri di ECS: DTS secara otomatis menambahkan blok CIDR ke aturan grup keamanan ECS. Pastikan instans ECS dapat mengakses database. Untuk beberapa instans ECS, tambahkan blok CIDR secara manual ke setiap grup keamanan.
Database yang dikelola sendiri di pusat data atau cloud pihak ketiga: Tambahkan blok CIDR server DTS ke daftar putih alamat IP database secara manual. Untuk informasi selengkapnya, lihat bagian Blok CIDR server DTS pada topik Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR publik server DTS ke daftar putih database atau aturan grup keamanan ECS menimbulkan risiko keamanan. Sebelum menggunakan DTS, pahami risiko potensial dan ambil langkah pencegahan, termasuk tetapi tidak terbatas pada: memperkuat keamanan username dan kata sandi, membatasi port yang terbuka, mengautentikasi panggilan API, memeriksa daftar putih atau aturan grup keamanan secara berkala dan menghapus blok CIDR yang tidak sah, atau menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Konfigurasi objek migrasi dan pengaturan lanjutan
Objek migrasi
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih Schema Migration dan Incremental Data Migration. Full Data Migration tidak dapat dipilih. Catatan Jika Incremental Data Migration tidak dipilih, jangan menulis data ke database sumber selama migrasi untuk menjaga konsistensi data. |
| Naming Rules of Additional Columns | Saat DTS memigrasikan data ke DataHub, DTS menambahkan kolom tambahan ke topik tujuan. Jika kolom tambahan memiliki nama yang sama dengan kolom yang sudah ada di topik tujuan, tugas migrasi akan gagal. Pilih New Rule atau Previous Rule sesuai kebutuhan Anda. Peringatan Sebelum mengonfigurasi parameter ini, periksa apakah kolom tambahan memiliki konflik nama dengan kolom yang sudah ada di topik tujuan. Konflik nama dapat menyebabkan kegagalan tugas dan kehilangan data. Untuk informasi selengkapnya, lihat Ubah aturan penamaan untuk kolom tambahan. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: Memeriksa apakah database tujuan berisi tabel dengan nama yang sama seperti di database sumber. Jika nama tabel identik ada, pemeriksaan awal mengembalikan error dan tugas tidak dapat dimulai. Catatan Jika nama tabel identik ada dan tabel tujuan tidak dapat dihapus atau diganti namanya, gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan. Untuk informasi selengkapnya, lihat Pemetaan nama objek. Ignore Errors and Proceed: Melewati pemeriksaan awal untuk nama tabel identik. Peringatan Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data. Jika skema cocok, DTS melewati catatan data dengan primary key yang sama. Jika skema berbeda, hanya kolom tertentu yang dimigrasikan atau tugas gagal. |
| Capitalization of Object Names in Destination Instance | Huruf kapital untuk nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Untuk informasi selengkapnya, lihat Tentukan huruf kapital untuk nama objek di instans tujuan. |
| Source Objects | Pilih satu atau beberapa objek dari bagian Source Objects dan klik ikon Catatan Hanya tabel yang dapat dipilih sebagai objek migrasi. |
| Selected Objects | - Untuk mengganti nama satu objek, klik kanan objek tersebut di bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama satu objek. - Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus. Catatan Pemetaan nama database tidak didukung. Mengganti nama objek dapat menyebabkan objek dependen gagal selama migrasi. Nama objek mencakup nama tabel dan nama kolom. - Untuk memfilter data dengan kondisi WHERE, klik kanan tabel di bagian Selected Objects dan konfigurasikan kondisi filter di kotak dialog. Untuk informasi selengkapnya, lihat Atur kondisi filter. - Untuk mengonfigurasi parameter ShardKey, klik kanan tabel di bagian Selected Objects dan hapus centang Synchronize All Tables di kotak dialog. |
Pengaturan lanjutan
Klik Next: Advanced Settings untuk mengonfigurasi parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menjadwalkan tugas ke kluster bersama. Secara opsional, beli kluster khusus untuk menjalankan tugas migrasi. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS. |
| Retry Time for Failed Connections | Durasi percobaan ulang saat koneksi ke database sumber atau tujuan gagal. Nilai valid: 10 hingga 1440 menit. Nilai default: 720. Atur nilai ini lebih dari 30. Jika DTS terhubung kembali dalam durasi yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal. Catatan Jika beberapa tugas berbagi database sumber atau tujuan yang sama, durasi percobaan ulang yang dikonfigurasi terakhir akan berlaku. DTS mengenakan biaya untuk instans selama percobaan ulang. Atur durasi percobaan ulang sesuai kebutuhan Anda. Segera lepas instans DTS setelah instans sumber atau tujuan dilepas. |
| The wait time before a retry when other issues occur in the source and destination databases. | Durasi percobaan ulang untuk masalah lain, seperti operasi DDL atau DML yang gagal. Nilai valid: 1 hingga 1440 menit. Nilai default: 10. Atur nilai ini lebih dari 10. Jika operasi berhasil dalam durasi yang ditentukan, DTS melanjutkan tugas. Jika tidak, tugas gagal. Penting Nilai ini harus lebih kecil dari nilai Retry Time for Failed Connections. |
| Enable Throttling for Incremental Data Migration | Apakah akan mengaktifkan pembatasan kecepatan untuk migrasi data inkremental. Konfigurasikan parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban server tujuan. Catatan Hanya tersedia jika Incremental Data Migration dipilih untuk Migration Types. |
| Environment Tag | Tag lingkungan untuk mengidentifikasi instans DTS. Pilih tag sesuai kebutuhan Anda. |
| Actual Write Code | Format encoding data yang ditulis ke database tujuan. |
| Configure ETL | Apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL?. Yes: Mengaktifkan ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. No: Menonaktifkan ETL. |
| Monitoring and Alerting | Apakah akan mengonfigurasi peringatan untuk tugas migrasi. Jika tugas gagal atau latensi migrasi melebihi ambang batas, kontak peringatan akan menerima notifikasi. No: Menonaktifkan peringatan. Yes: Mengaktifkan peringatan. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan dan peringatan untuk tugas DTS baru. |
Langkah 6: Jalankan pemeriksaan awal dan mulai tugas
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter API untuk tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Klik Next: Save Task Settings and Precheck di bagian bawah halaman.
- DTS melakukan pemeriksaan awal sebelum memulai tugas migrasi. Tugas hanya dapat dimulai setelah pemeriksaan awal berhasil. - Jika pemeriksaan awal gagal, klik View Details di samping setiap item yang gagal. Analisis penyebabnya, perbaiki masalah, lalu jalankan pemeriksaan awal lagi. - Jika peringatan muncul selama pemeriksaan awal: - Jika item peringatan tidak dapat diabaikan, klik View Details di samping item yang gagal, perbaiki masalah, dan jalankan pemeriksaan awal lagi. - Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore, lalu klik OK. Klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data dan mengekspos bisnis Anda terhadap risiko potensial.
Tunggu hingga success rate mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasikan parameter berikut.
Parameter Deskripsi Resource Group Settings Kelompok sumber daya untuk instans migrasi data. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management? Instance Class Kelas instans menentukan kecepatan migrasi. Pilih kelas instans sesuai skenario Anda. Untuk informasi selengkapnya, lihat Spesifikasi instans migrasi data. Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start untuk memulai tugas migrasi data. Lihat progres tugas di daftar tugas.