Data Transmission Service (DTS) memungkinkan migrasi data antara dua database Oracle yang dikelola sendiri dengan downtime minimal. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Pilih ketiga jenis migrasi tersebut untuk menjaga aplikasi tetap berjalan selama proses migrasi.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki database Oracle sumber yang menjalankan versi 9i, 10g, 11g, 12c, 18c, atau 19c.
Mengaktifkan Mode ARSIPLOG pada database sumber, dengan file log arsip dapat diakses dan periode retensi dikonfigurasi. Lihat Managing Archived Redo Log Files.
Mengaktifkan pencatatan tambahan pada database sumber, dengan
SUPPLEMENTAL_LOG_DATA_PKdanSUPPLEMENTAL_LOG_DATA_UIdiatur keYes. Lihat Supplemental Logging.Meninjau kemampuan dan batasan DTS untuk migrasi Oracle. Gunakan Advanced Database & Application Migration (ADAM) untuk mengevaluasi database Anda sebelum migrasi. Lihat Prepare an Oracle database dan Overview.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas Internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Dikenakan hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Lihat Billing overview. |
| Migrasi data inkremental | Dikenakan biaya. Lihat Billing overview. | — |
Jenis migrasi
| Jenis migrasi | Deskripsi |
|---|---|
| Migrasi skema | Memigrasikan skema objek yang dipilih ke database Oracle tujuan. Jenis objek yang didukung: table, view, synonym, trigger, stored procedure, stored function, package, dan user-defined type. Catatan Migrasi skema trigger tidak didukung dalam skenario ini. Kami menyarankan Anda menghapus trigger pada database sumber untuk mencegah inkonsistensi data akibat trigger. Lihat Configure a data synchronization task for a source database that contains a trigger. |
| Migrasi data penuh | Memigrasikan semua data yang ada dari database Oracle sumber ke tujuan. Kami menyarankan agar Anda tidak melakukan operasi DDL pada objek yang dimigrasikan selama migrasi skema atau migrasi data penuh. |
| Migrasi data inkremental | Setelah migrasi data penuh, DTS melakukan polling file redo log dari sumber dan menerapkan perubahan inkremental ke tujuan. Hal ini menjaga sinkronisasi tujuan tanpa mengganggu aplikasi Anda. |
Batasan
Selama migrasi skema, DTS memigrasikan kunci asing dari database sumber ke database tujuan. Selama migrasi data penuh dan migrasi data inkremental, DTS secara sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat sesi. Operasi kaskade dan penghapusan pada database sumber selama migrasi dapat menyebabkan inkonsistensi data.
| Database sumber | Server database sumber harus memiliki bandwidth outbound yang mencukupi; bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi. | Tingkatkan bandwidth outbound pada server sumber sebelum memulai migrasi. |
| Database sumber | Jika sumbernya adalah database Oracle RAC yang terhubung melalui Express Connect, Anda harus menentukan VIP untuk database sumber saat mengonfigurasi koneksi. Jika sumbernya adalah database Oracle RAC yang terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway, atau Cloud Enterprise Network (CEN), Anda dapat menggunakan satu VIP alih-alih alamat IP Single Client Access Name (SCAN). Failover node tidak didukung setelah Anda menentukan VIP. | Gunakan VIP dan rencanakan failover manual jika diperlukan. |
| Database sumber | Jika bidang VARCHAR2 di sumber berisi string kosong (dievaluasi sebagai null di Oracle) dan bidang tujuan yang sesuai memiliki kendala NOT NULL, tugas migrasi akan gagal. | Hapus kendala NOT NULL dari bidang tujuan, atau pastikan bidang sumber tidak kosong sebelum melakukan migrasi. |
| Database sumber | Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua bidang unik; jika tidak, tujuan mungkin berisi catatan duplikat. | Tambahkan kendala PRIMARY KEY atau UNIQUE ke tabel sebelum melakukan migrasi. |
| Database sumber | Untuk Oracle 12c dan versi lebih baru: nama tabel tidak boleh melebihi 30 byte. | Ubah nama tabel yang melebihi 30 byte sebelum melakukan migrasi. |
| Database sumber | Jika Anda memilih tabel secara individual dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk migrasi yang lebih besar, konfigurasikan beberapa tugas atau migrasikan seluruh database. | Pisahkan migrasi menjadi beberapa tugas, atau migrasikan seluruh database tanpa mengganti nama per tabel. |
| Migrasi inkremental | Logging redo dan logging arsip harus diaktifkan. | Aktifkan keduanya sebelum memulai tugas migrasi. |
| Migrasi inkremental | Hanya untuk migrasi data inkremental: pertahankan log redo dan log arsip selama lebih dari 24 jam. Untuk migrasi data penuh diikuti oleh migrasi data inkremental: pertahankan log redo dan log arsip setidaknya selama 7 hari. Setelah migrasi penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam. Retensi log yang tidak mencukupi dapat menyebabkan kegagalan tugas dan, dalam kasus ekstrem, kehilangan data. Jika tidak, Service Level Agreement (SLA) DTS tidak menjamin keandalan atau kinerja layanan. | Atur periode retensi log sebelum memulai migrasi. Perpanjang retensi selama fase migrasi penuh. |
| Operasi pada database sumber | Selama migrasi skema dan migrasi data penuh: jangan lakukan operasi DDL pada objek yang dimigrasikan; tugas akan gagal jika skema berubah di tengah migrasi. | Jadwalkan operasi DDL di luar jendela migrasi. |
| Operasi pada database sumber | Hanya selama migrasi data penuh: jangan menulis ke database sumber selama migrasi. Untuk menjamin konsistensi, pilih ketiga jenis migrasi (skema, penuh, dan inkremental). | Gunakan migrasi data inkremental agar tetap dapat menulis ke sumber selama migrasi. |
| Operasi pada database sumber | Selama migrasi data: jangan perbarui bidang LONGTEXT; tugas akan gagal jika bidang LONGTEXT dimodifikasi. | Hentikan sementara pembaruan LONGTEXT pada database sumber selama durasi migrasi. |
| Lainnya | Jalankan migrasi selama jam sepi untuk mengurangi dampak terhadap kinerja database sumber dan tujuan. Migrasi data penuh menggunakan sumber daya baca dan tulis pada kedua database. | — |
| Lainnya | Migrasi data penuh menyebabkan fragmentasi tabel di tujuan. Setelah migrasi, ruang tabel tujuan lebih besar daripada sumber. | Alokasikan ruang tabel tambahan di tujuan sebelum migrasi. |
| Lainnya | DTS mencoba ulang tugas yang gagal hingga 7 hari. Sebelum beralih beban kerja ke tujuan, hentikan atau rilis tugas yang gagal tersebut, atau cabut izin tulis DTS menggunakan REVOKE. Jika tidak, tugas yang dilanjutkan akan menimpa data tujuan dengan data sumber. | Jalankan REVOKE untuk mencabut izin tulis DTS sebelum beralih beban kerja. |
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE (tabel dengan partisi atau fungsi dikecualikan)<br>ALTER TABLE, ADD COLUMN, DROP COLUMN, RENAME COLUMN, ADD INDEX<br>DROP TABLE<br>RENAME TABLE, TRUNCATE TABLE, CREATE INDEX |
Siapkan akun database
Login ke setiap database Oracle dan buat akun dengan izin yang tercantum di bawah ini. Lewati langkah ini jika akun dengan izin tersebut sudah ada.
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| Database Oracle yang dikelola sendiri (sumber) | Izin pemilik skema | Izin pemilik skema | Izin detail halus |
| Database Oracle yang dikelola sendiri (tujuan) | Izin pemilik skema | — | — |
Untuk membuat akun dan memberikan izin, lihat Prepare a database account dan dokumentasi Oracle untuk CREATE USER dan GRANT.
Untuk migrasi data inkremental dari database Oracle, aktifkan archive logging dan supplemental logging pada sumber. Lihat bagian Configure an Oracle database dalam "Prepare an Oracle database."
Buat tugas migrasi
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 konsol dapat berbeda tergantung mode dan tata letak DMS Anda. Lihat Simple mode dan Customize the layout and style of the DMS console. Atau, buka langsung halaman Tugas Migrasi Data di konsol DTS baru.
Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
Di konsol DTS baru, pilih wilayah di pojok kiri atas.
Klik Create Task. Di wizard Create Data Migration Task, konfigurasikan database sumber dan tujuan.
PeringatanBaca batasan yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau inkonsistensi data.
Bagian Parameter Deskripsi N/A Task Name Nama untuk tugas. DTS memberikan nama default—tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. Source Database Database Type Pilih Oracle. Access Method Pilih Public IP Address untuk contoh ini. Untuk metode akses lainnya, siapkan lingkungan jaringan yang diperlukan terlebih dahulu. Lihat Preparation overview. Instance Region Wilayah tempat database Oracle sumber berada. Hostname or IP address Titik akhir database Oracle sumber. Port Number Port layanan database Oracle sumber. Default: 1521. Port harus dapat diakses melalui Internet untuk contoh ini. Oracle Type Pilih Non-RAC Instance untuk mengonfigurasi parameter SID, atau pilih RAC or PDB Instance untuk mengonfigurasi parameter Service Name. Contoh ini menggunakan Non-RAC Instance. Database Account Akun database sumber. Lihat Set up the database account untuk izin yang diperlukan. Database Password Kata sandi untuk akun database. Destination Database Database Type Pilih Oracle. Access Method Pilih Public IP Address untuk contoh ini. Untuk metode akses lainnya, siapkan lingkungan jaringan yang diperlukan terlebih dahulu. Lihat Preparation overview. Instance Region Wilayah tempat database Oracle tujuan berada. Hostname or IP address Titik akhir node primer dalam database Oracle tujuan. Port Number Port layanan database Oracle tujuan. Default: 1521. Oracle Type Pilih Non-RAC Instance untuk mengonfigurasi parameter SID, atau pilih RAC or PDB Instance untuk mengonfigurasi parameter Service Name. Contoh ini menggunakan Non-RAC Instance. Database Account Akun database tujuan. Lihat Set up the database account untuk izin yang diperlukan. Database Password Kata sandi untuk akun database. Jika database sumber 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 grup keamanan membawa risiko keamanan. Ambil tindakan pencegahan seperti: memperkuat kredensial akun, membatasi port yang terbuka, mengautentikasi panggilan API, dan melakukan audit berkala terhadap aturan daftar putih. Untuk koneksi yang lebih aman, gunakan Express Connect, VPN Gateway, atau Smart Access Gateway alih-alih Internet publik.
Konfigurasikan objek yang akan dimigrasikan dan pengaturan lanjutan.
Parameter Deskripsi Migration Types Pilih Schema Migration dan Full Data Migration untuk migrasi satu kali. Pilih ketiganya—Schema Migration, Full Data Migration, dan Incremental Data Migration—untuk menjaga kontinuitas layanan selama migrasi. Jika Anda menghilangkan Incremental Data Migration, jangan menulis ke database sumber selama migrasi berlangsung. Processing Mode of Conflicting Tables Precheck and Report Errors: gagal dalam pemeriksaan awal jika sumber dan tujuan memiliki tabel dengan nama identik. Gunakan object name mapping untuk mengganti nama tabel tujuan jika penghapusan tidak memungkinkan.<br><br>Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel identik. PeringatanHal ini dapat menyebabkan inkonsistensi data. Jika skema cocok, catatan dengan kunci primer duplikat tidak dimigrasikan. Jika skema berbeda, hanya kolom tertentu yang mungkin dimigrasikan atau tugas dapat gagal.
Source Objects Pilih objek dari Source Objects dan klik
untuk memindahkannya ke Selected Objects.Selected Objects Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di Selected Objects. Lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Map multiple object names at a time. CatatanMengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan klausa WHERE. Lihat Set filter conditions. Untuk memilih operasi DML atau DDL spesifik per objek, klik kanan objek di Selected Objects.
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
Select the dedicated cluster used to schedule the task Secara default, DTS menjadwalkan tugas ke klaster bersama. Untuk menggunakan klaster khusus, Anda perlu membelinya secara terpisah. Lihat What is a DTS dedicated cluster? Retry Time for Failed Connections Durasi waktu DTS melakukan pengulangan saat koneksi ke sumber atau tujuan gagal. Rentang nilai yang valid: 10–1440 menit. Nilai default: 720 menit. Atur nilai ini minimal 30 menit. Jika DTS berhasil terhubung kembali dalam jendela pengulangan, tugas akan dilanjutkan; jika tidak, tugas akan gagal. CatatanJika beberapa tugas menggunakan sumber atau tujuan yang sama, nilai yang paling baru diatur akan berlaku. DTS mengenakan biaya untuk instans selama periode pengulangan—atur nilai ini sesuai kebutuhan bisnis Anda dan segera lepas instans jika sudah tidak diperlukan.
The wait time before a retry when other issues occur in the source and destination databases Durasi waktu DTS melakukan pengulangan saat operasi DDL atau DML gagal. Rentang nilai yang valid: 1–1440 menit. Nilai default: 10 menit. Atur nilai ini minimal 10 menit. Nilai ini harus lebih kecil dari Retry Time for Failed Connections. Enable Throttling for Full Data Migration Membatasi beban baca/tulis pada sumber dan tujuan selama migrasi data penuh. 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. 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. Actual Write Code Format encoding yang digunakan saat menulis data ke database tujuan. 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 ETL. Lihat What is ETL? Monitoring and Alerting Menentukan apakah akan mengonfigurasi peringatan untuk tugas ini. Pilih Yes untuk mengatur ambang batas peringatan dan menentukan kontak yang akan diberi tahu ketika tugas gagal atau latensi migrasi melebihi ambang batas. Lihat Configure monitoring and alerting for a new DTS task. Pilih No untuk melewati peringatan. Klik Next: Save Task Settings and Precheck. DTS menjalankan pemeriksaan awal sebelum tugas dimulai. Jika ada pemeriksaan yang gagal, klik View Details di sebelah item yang gagal, perbaiki masalahnya, lalu klik Precheck Again. Jika muncul peringatan untuk item yang ingin Anda abaikan, klik Confirm Alert Details, lalu klik Ignore > OK > Precheck Again. Mengabaikan item peringatan dapat menyebabkan inkonsistensi data.
Untuk meninjau parameter panggilan API sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview API Call.
Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan kelas instans.
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. Lihat Specifications of data migration instances. Baca dan centang kotak untuk menyetujui Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Pantau progres tugas di halaman Manajemen Tugas.