Data Transmission Service (DTS) mendukung migrasi data dari database Oracle yang dikelola sendiri ke kluster PolarDB for PostgreSQL. Anda dapat memilih migrasi skema, migrasi data penuh, atau migrasi data inkremental — atau menggabungkan ketiganya untuk menjaga sinkronisasi antara sumber dan tujuan selama proses migrasi.
Sebelum memulai
Sebelum mengonfigurasi tugas migrasi, selesaikan langkah-langkah persiapan berikut.
Langkah 1: Evaluasi kompatibilitas (disarankan)
Gunakan Advanced Database & Application Migration (ADAM) untuk mengevaluasi kompatibilitas database Oracle sumber dengan PolarDB for PostgreSQL. ADAM mengidentifikasi skema, tipe data, dan sintaks SQL yang tidak kompatibel sebelum migrasi, sehingga mengurangi risiko kegagalan tugas.
Untuk instruksi penyiapan dan batasan kemampuan DTS khusus Oracle, lihat Persiapkan database Oracle dan Ikhtisar DTS.
Langkah 2: Persiapkan database Oracle sumber
Aktifkan Mode ARSIPLOG. Database Oracle sumber harus berjalan dalam Mode ARSIPLOG dengan file log arsip yang dapat diakses dan periode retensi yang sesuai telah dikonfigurasi. Lihat Mengelola file log redo terarsip.
Aktifkan Pencatatan tambahan. Atur
SUPPLEMENTAL_LOG_DATA_PKdanSUPPLEMENTAL_LOG_DATA_UIkeYes. Lihat Pencatatan tambahan.
Langkah 3: Persiapkan kluster PolarDB for PostgreSQL tujuan
Buat kluster PolarDB for PostgreSQL. Kapasitas penyimpanan yang tersedia pada kluster tersebut harus melebihi ukuran total data dari database Oracle sumber. Lihat Buat kluster PolarDB for PostgreSQL.
CatatanUntuk versi mesin database yang didukung, lihat Ikhtisar skenario migrasi data.
Buat database tujuan yang akan menerima data hasil migrasi. Lihat Manajemen database.
Batasan
Perilaku kunci asing selama migrasi
Selama migrasi skema, DTS memigrasikan kunci asing dari sumber ke tujuan.
Selama migrasi data penuh dan migrasi data inkremental, DTS secara sementara menonaktifkan pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat session. Jika Anda melakukan operasi kaskade atau penghapusan pada database sumber selama migrasi, ketidakkonsistenan data dapat terjadi.
Batasan database sumber
Konektivitas
| Skenario | Batasan |
|---|---|
| Umum | Server yang menghosting database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi. |
| Oracle RAC melalui Express Connect | Tentukan alamat IP virtual (VIP) untuk database sumber. Penggunaan alamat IP Single Client Access Name (SCAN) tidak didukung. Failover node dinonaktifkan setelah Anda menentukan VIP. |
| Oracle RAC melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, atau Cloud Enterprise Network (CEN) | Gunakan satu VIP, bukan alamat IP SCAN. Failover node tidak didukung setelah Anda menentukan VIP. |
Kompatibilitas data
Jika bidang VARCHAR2 di database Oracle sumber berisi string kosong (yang dievaluasi Oracle sebagai null) dan bidang tujuan yang bersesuaian memiliki Kendala NOT NULL, tugas migrasi akan gagal.
Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua bidangnya harus unik. Jika tidak, database tujuan mungkin berisi catatan duplikat.
Untuk Oracle 12c dan versi setelahnya, nama tabel tidak boleh melebihi 30 byte.
Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas migrasi mendukung hingga 1.000 tabel. Migrasi lebih dari 1.000 tabel menyebabkan error permintaan. Jalankan beberapa tugas secara batch, atau migrasikan seluruh database sebagai gantinya.
Persyaratan migrasi inkremental
| Mode migrasi | Periode retensi log yang diperlukan |
|---|---|
| Hanya migrasi data inkremental | Lebih dari 24 jam |
| Migrasi data penuh + migrasi data inkremental | Minimal 7 hari. Setelah migrasi data penuh selesai, Anda dapat menguranginya menjadi lebih dari 24 jam. |
Jika DTS tidak dapat memperoleh log redo atau log arsip karena retensi yang tidak mencukupi, tugas migrasi akan gagal. Dalam kasus ekstrem, ketidakkonsistenan atau kehilangan data dapat terjadi. Perjanjian Tingkat Layanan (SLA) DTS tidak mencakup kegagalan yang disebabkan oleh retensi log yang tidak mencukupi.
Operasi yang harus dihindari pada database sumber
Jangan lakukan operasi DDL yang mengubah skema database atau tabel selama migrasi skema atau migrasi data penuh. Tugas akan gagal jika perubahan DDL terdeteksi.
Jika Anda hanya menjalankan migrasi data penuh (tanpa inkremental), jangan menulis data ke database sumber selama migrasi. Penulisan data selama migrasi penuh dapat menyebabkan ketidakkonsistenan data.
Jangan perbarui bidang LONGTEXT selama migrasi. Tugas akan gagal jika bidang LONGTEXT diperbarui.
Batasan lainnya
Set karakter database sumber dan tujuan harus kompatibel. Set karakter yang tidak kompatibel dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas.
Database sumber dan tujuan harus menggunakan zona waktu yang sama.
Gunakan fitur migrasi skema DTS untuk memigrasikan skema. Mengelola migrasi skema secara manual dapat menyebabkan kegagalan tugas akibat tipe data yang tidak kompatibel.
Terminator
\0tidak dapat ditulis ke kluster PolarDB for PostgreSQL tujuan. DTS diam-diam menghapus terminator ini jika muncul dalam data yang dimigrasikan, yang dapat menyebabkan ketidakkonsistenan data.Jalankan tugas migrasi selama jam sepi. Migrasi data penuh mengonsumsi sumber daya baca dan tulis pada kedua database.
Setelah migrasi data penuh selesai, ruang tabel yang digunakan pada kluster tujuan akan lebih besar daripada database sumber karena fragmentasi yang disebabkan oleh operasi INSERT konkuren.
DTS mencoba ulang tugas migrasi yang gagal hingga 7 hari. Sebelum mengalihkan beban kerja ke database tujuan, hentikan atau lepaskan tugas yang gagal — atau jalankan
REVOKEuntuk mencabut izin tulis akun DTS pada database tujuan. Jika tidak, tugas yang dilanjutkan dapat menimpa data di tujuan.Selama migrasi, hanya DTS yang boleh menulis data ke database tujuan. Penulisan eksternal dapat menyebabkan ketidakkonsistenan data.
Penagihan
| Jenis migrasi | Biaya konfigurasi tugas | Biaya lalu lintas Internet |
|---|---|---|
| Migrasi skema | Gratis | Gratis (dikenakan biaya hanya saat migrasi dari Alibaba Cloud melalui Internet — lihat Ikhtisar penagihan) |
| Migrasi data penuh | Gratis | Gratis (dikenakan biaya hanya saat migrasi dari Alibaba Cloud melalui Internet — lihat Ikhtisar penagihan) |
| Migrasi data inkremental | Dikenakan biaya — lihat Ikhtisar penagihan | — |
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE (tidak termasuk pernyataan dengan klausa partisi, subpartisi, atau fungsi; CREATE TABLE AS SELECT tidak didukung); ALTER TABLE (ADD COLUMN, ADD INDEX, DROP COLUMN, DROP INDEX, MODIFY COLUMN, RENAME COLUMN); DROP TABLE; RENAME TABLE; TRUNCATE TABLE; CREATE INDEX |
Izin akun database yang diperlukan
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| Database Oracle yang dikelola sendiri | Izin pemilik skema | Izin pemilik skema | Izin tingkat granular |
| Kluster PolarDB for PostgreSQL | Izin pemilik skema | Izin pemilik skema | Izin pemilik skema |
Untuk kluster PolarDB for PostgreSQL, gunakan akun database owner yang dibuat saat penyiapan database.
Untuk instruksi membuat akun dan memberikan izin:
Database Oracle yang dikelola sendiri: Lihat Persiapkan database Oracle, CREATE USER, dan GRANT dalam dokumentasi Oracle.
Kluster PolarDB for PostgreSQL: Lihat Buat akun database dan Manajemen database.
Untuk memigrasikan data inkremental dari database Oracle, Anda harus mengaktifkan pencatatan arsip dan pencatatan tambahan pada database Oracle. Lihat bagian Konfigurasi database Oracle dalam "Persiapkan database Oracle."
Buat tugas migrasi
Buka halaman Data Migration Tasks.
Masuk ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik DTS.
Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Catatan- Langkah-langkah di Konsol DMS dapat berbeda tergantung mode dan tata letak. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS untuk detailnya. - Anda juga dapat langsung membuka halaman Data Migration Tasks di Konsol DTS baru.
Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
CatatanDi Konsol DTS baru, pilih wilayah di pojok kiri atas.
Klik Create Task. Di wizard Create Task, konfigurasikan database sumber dan tujuan menggunakan parameter berikut.
PeringatanSetelah mengonfigurasi database sumber dan tujuan, baca limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Parameter database sumber
Parameter Deskripsi Task Name Nama deskriptif untuk tugas. DTS secara otomatis memberikan nama, tetapi nama yang bermakna memudahkan identifikasi tugas. Nama tugas tidak harus unik. Select an existing DMS database instance (opsional) Pilih instans DMS yang sudah ada untuk mengisi otomatis parameter database, atau lewati dan konfigurasikan parameter secara manual. Database Type Pilih Oracle. Access Method Pilih berdasarkan lokasi deployment database sumber. Contoh ini menggunakan Self-managed Database on ECS. Untuk metode akses lainnya, lihat Ikhtisar persiapan. Instance Region Wilayah tempat database Oracle sumber berada. ECS Instance ID ID instans Elastic Compute Service (ECS) yang menghosting database Oracle sumber. Port Number Port layanan database Oracle sumber. Default: 1521. Oracle Type Arsitektur database Oracle sumber: Non-RAC Instance (konfigurasikan parameter SID) atau RAC or PDB Instance (konfigurasikan parameter Service Name). Contoh ini menggunakan RAC or PDB Instance dengan parameter Service Name. Database Account Akun untuk database Oracle sumber. Lihat Izin akun database yang diperlukan. Database Password Kata sandi untuk akun database. Parameter database tujuan
Parameter Deskripsi Select an existing DMS database instance (opsional) Pilih instans DMS yang sudah ada untuk mengisi otomatis parameter database, atau lewati dan konfigurasikan parameter secara manual. Database Type Pilih PolarDB for PostgreSQL. Access Method Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat kluster PolarDB for PostgreSQL tujuan berada. Instance ID ID kluster PolarDB for PostgreSQL tujuan. Database Name Nama database tujuan yang akan menerima objek hasil migrasi. Database Account Akun database untuk kluster tujuan. Lihat Izin akun database yang diperlukan. Database Password Kata sandi untuk akun database. Klik Test Connectivity and Proceed.
Jika database sumber Anda memiliki daftar putih alamat IP yang dikonfigurasi, tambahkan blok CIDR server DTS ke daftar putih tersebut. Lalu klik Test Connectivity and Proceed.
PeringatanMenambahkan blok CIDR server DTS ke daftar putih database atau aturan security group instans ECS menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan, termasuk menerapkan kredensial kuat, membatasi port yang terbuka, mengotentikasi panggilan API, dan meninjau aturan daftar putih secara berkala. Sebagai alternatif, hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghindari eksposur ke internet publik.
Konfigurasikan objek yang akan dimigrasikan dan pengaturan lanjutan. Huruf kapital pada nama objek di instans tujuan Secara default, Kebijakan default DTS diterapkan. Pilih opsi lain untuk menyelaraskan huruf kapital nama objek dengan database sumber atau tujuan. Lihat Tentukan huruf kapital nama objek di instans tujuan. Memilih objek Di bagian Source Objects, pilih satu atau beberapa objek (kolom, tabel, atau database) lalu klik ikon
untuk memindahkannya ke bagian Selected Objects. Di bagian Selected Objects:Untuk mengganti nama satu objek, klik kanan objek tersebut. Lihat Petakan nama satu objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Lihat Petakan beberapa nama objek sekaligus.
Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan kondisi WHERE. Lihat Atur kondisi filter.
CatatanJika Anda tidak memilih Incremental Data Migration, jangan menulis data ke database sumber selama migrasi — hal ini diperlukan untuk menjaga konsistensi data.
CatatanMengganti nama objek dengan fitur pemetaan nama objek dapat mencegah objek lain yang bergantung padanya untuk dimigrasikan.
Jenis migrasi
Tujuan Jenis migrasi yang dipilih Hanya migrasi penuh (tanpa kontinuitas layanan) Schema Migration dan Full Data Migration Migrasi penuh dengan kontinuitas layanan Schema Migration, Full Data Migration, dan Incremental Data Migration Mode pemrosesan tabel yang bentrok
Mode Perilaku Precheck and Report Errors Memeriksa adanya tabel dengan nama identik di database sumber dan tujuan. Pemeriksaan awal hanya lolos jika tidak ada bentrok nama. Jika ditemukan bentrok, tugas tidak dapat dimulai. Untuk mengatasi bentrok, gunakan fitur pemetaan nama objek untuk mengganti nama objek yang dimigrasikan. Lihat Petakan nama objek. Ignore Errors and Proceed Melewati pemeriksaan bentrok nama. Gunakan dengan hati-hati: jika sumber dan tujuan memiliki skema yang sama, catatan dengan primary key yang cocok tidak dimigrasikan; jika skema berbeda, hanya kolom tertentu yang mungkin dimigrasikan atau tugas dapat gagal. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan. Pengaturan verifikasi data Untuk mengaktifkan verifikasi data setelah migrasi, lihat Konfigurasi verifikasi data.
Pengaturan lanjutan
Parameter Deskripsi Select the dedicated cluster used to schedule the task Secara default, DTS menjadwalkan task ke klaster bersama. Untuk menggunakan klaster khusus, Anda harus membelinya terlebih dahulu. Lihat What is a DTS dedicated cluster? Retry Time for Failed Connections Durasi waktu DTS mencoba kembali koneksi setelah gagal. Nilai yang valid: 10–1.440 menit. Nilai default: 720 menit. Kami menyarankan mengatur parameter ini ke nilai lebih dari 30 menit. Jika DTS berhasil terhubung kembali dalam jendela percobaan ulang, migrasi task dilanjutkan; jika tidak, task akan gagal. CatatanSaat beberapa task menggunakan sumber atau tujuan yang sama, waktu percobaan ulang yang paling baru diatur berlaku untuk semuanya. Biaya instans DTS tetap berjalan selama proses percobaan ulang — segera lepas instans setelah sumber dan tujuan tidak digunakan lagi.
The wait time before a retry when other issues occur in the source and destination databases Durasi waktu DTS menunggu sebelum mencoba ulang operasi DDL atau DML yang gagal setelah task dimulai. Nilai yang valid: 1–1.440 menit. Nilai default: 10 menit. Kami menyarankan mengatur parameter ini ke nilai lebih dari 10 menit. Nilai ini harus lebih kecil daripada nilai Retry Time for Failed Connections. Enable Throttling for Full Data Migration Membatasi beban baca/tulis pada database sumber dan tujuan selama migrasi data penuh. Saat diaktifkan, 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 selama migrasi data inkremental. Saat diaktifkan, 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 opsional untuk mengidentifikasi instans DTS berdasarkan jenis lingkungan. Actual Write Code Format encoding untuk menulis data ke database tujuan. Pilih sesuai kebutuhan Anda. Configure ETL Menentukan apakah akan mengaktifkan ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode. Lihat Configure ETL in a data migration or data synchronization task. Pilih No untuk melewati konfigurasi ETL. Untuk ikhtisar, lihat What is ETL? Monitoring and Alerting Menentukan apakah akan mengonfigurasi peringatan untuk task migrasi. Pilih Yes untuk mengatur ambang batas peringatan dan kontak peringatan. Kontak akan menerima notifikasi jika task gagal atau latensi migrasi melebihi ambang batas. Lihat Configure monitoring and alerting for a new DTS task. Klik Next: Save Task Settings and Precheck.
Catatan- Untuk melihat pratinjau parameter API yang digunakan untuk mengonfigurasi instans ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview API Call. - DTS menjalankan pemeriksaan awal sebelum memulai tugas migrasi. Tugas hanya dimulai setelah pemeriksaan awal lolos. - Jika pemeriksaan awal gagal untuk suatu item, klik View Details di samping item yang gagal, perbaiki masalahnya, lalu jalankan pemeriksaan awal lagi. - Jika suatu item pemeriksaan awal menghasilkan peringatan: perbaiki masalah jika tidak dapat diabaikan; atau klik Confirm Alert Details > Ignore > OK > Precheck Again jika dapat diabaikan dengan aman. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data atau mengekspos sistem Anda terhadap risiko.
Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Di 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 instans menentukan kecepatan migrasi. Pilih sesuai kebutuhan Anda. Lihat Spesifikasi instans migrasi data. Baca dan terima Syarat Layanan Data Transmission Service (Pay-as-you-go) dengan memilih kotak centang.
Klik Buy and Start. Pantau progres migrasi di halaman Task Management.