Layanan Transmisi Data (DTS) mendukung migrasi data dari database Oracle yang dikelola sendiri ke instans ApsaraDB RDS untuk PostgreSQL, mencakup migrasi skema, migrasi data penuh, dan migrasi data inkremental. Kombinasi ketiga jenis migrasi ini memungkinkan Anda menyelesaikan proses migrasi tanpa downtime aplikasi.
Prasyarat
-
Database Oracle yang dikelola sendiri menjalankan Oracle 9i, 10g, 11g, 12c, 18c, atau 19c.
-
Database Oracle yang dikelola sendiri harus berada dalam mode ARCHIVELOG. Tetapkan periode retensi yang wajar untuk log arsip dan pastikan log tersebut dapat diakses. Untuk informasi lebih lanjut, lihat ARCHIVELOG.
-
Pencatatan tambahan harus diaktifkan untuk database Oracle yang dikelola sendiri, bersama dengan parameter
supplemental_log_data_pkdansupplemental_log_data_ui. Untuk informasi lebih lanjut, lihat Pencatatan Tambahan. -
Setiap tabel yang akan dimigrasikan dari database Oracle yang dikelola sendiri harus memiliki primary key atau indeks UNIQUE NOT NULL.
-
Instans RDS untuk PostgreSQL tujuan harus sudah tersedia. Untuk detailnya, lihat Buat instans RDS untuk PostgreSQL dengan cepat.
-
Sebelum memulai migrasi data, kami merekomendasikan agar Anda memahami kemampuan dan keterbatasan DTS untuk database sumber Oracle. Penggunaan ADAM (Advanced Database & Application Migration) untuk evaluasi database juga disarankan guna memastikan kelancaran migrasi ke cloud. Untuk informasi lebih lanjut, lihat Keterbatasan dan persiapan untuk database Oracle dan Ikhtisar evaluasi database.
Perhatian
-
DTS melakukan migrasi foreign key selama migrasi skema.
-
Selama migrasi data penuh dan inkremental, DTS secara sementara menonaktifkan pemeriksaan constraint dan cascades foreign key pada tingkat sesi. Cascade update atau delete pada database sumber saat tugas berjalan dapat menyebabkan ketidakkonsistenan data.
|
Jenis |
Deskripsi |
|
Keterbatasan database sumber |
|
|
Keterbatasan lainnya |
|
Penagihan
|
Jenis migrasi |
Biaya konfigurasi tugas |
Biaya lalu lintas internet |
|
Migrasi skema dan migrasi data penuh |
Gratis. |
DTS membebankan biaya lalu lintas internet ketika Access Method database tujuan diatur ke Public IP Address. Ikhtisar penagihan. |
|
Migrasi data inkremental |
Dikenai biaya. Ikhtisar penagihan. |
Jenis migrasi
|
Jenis |
Deskripsi |
|
Migrasi skema |
DTS memigrasikan skema objek migrasi ke instans ApsaraDB RDS untuk PostgreSQL. Jenis objek yang didukung: tabel, view, sinonim, trigger, prosedur tersimpan, fungsi tersimpan, package, dan tipe kustom. Catatan
DTS tidak kompatibel dengan trigger. Untuk mencegah ketidakkonsistenan data, hapus trigger dari database sumber. Untuk informasi lebih lanjut, lihat Konfigurasi pekerjaan sinkronisasi atau migrasi untuk database sumber dengan trigger. |
|
Migrasi data penuh |
DTS memigrasikan semua data yang ada dari objek migrasi yang dipilih dari database Oracle yang dikelola sendiri ke instans ApsaraDB RDS untuk PostgreSQL. Catatan
Jangan melakukan operasi DDL pada objek migrasi sebelum migrasi skema dan migrasi data penuh selesai. Jika dilakukan, tugas migrasi mungkin gagal. |
|
Migrasi data inkremental |
Setelah migrasi data penuh, DTS melakukan polling dan menangkap redo log dari database Oracle yang dikelola sendiri serta menyinkronkan pembaruan inkremental ke instans ApsaraDB RDS untuk PostgreSQL. Migrasi data inkremental meminimalkan downtime aplikasi selama migrasi dari Oracle ke ApsaraDB RDS untuk PostgreSQL. |
Operasi SQL untuk migrasi inkremental
|
Jenis |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
|
Prasyarat
Login ke database Oracle sumber, buat akun database untuk pengumpulan data, dan berikan izin yang diperlukan.
Jika Anda memiliki akun dengan izin yang tercantum dalam tabel berikut, Anda dapat melewati langkah ini.
|
Database |
Migrasi skema |
Migrasi penuh |
Migrasi inkremental |
|
Database Oracle yang dikelola sendiri |
Izin pemilik skema |
Izin pemilik skema |
Izin detail halus |
|
ApsaraDB RDS untuk PostgreSQL |
Izin pemilik skema |
||
Untuk membuat akun database dan memberikan izin:
-
Untuk database Oracle yang dikelola sendiri, lihat Persiapkan akun database, CREATE USER, dan GRANT.
-
Untuk instans ApsaraDB RDS untuk PostgreSQL, lihat Buat akun.
Untuk memigrasikan data inkremental, Anda juga harus mengaktifkan pencatatan arsip dan pencatatan tambahan. Untuk informasi lebih lanjut, lihat konfigurasi database.
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.
Dari Konsol DTS
-
Login ke Konsol Layanan Transmisi Data (DTS).
-
Di panel navigasi kiri, klik Data Migration.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.
Dari Konsol DMS
CatatanOperasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
-
Login ke Konsol Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
PeringatanSetelah memilih instans sumber dan tujuan, kami merekomendasikan agar Anda membaca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika tidak, tugas mungkin gagal atau terjadi ketidakkonsistenan data.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak perlu unik.
Source Database
Database Type
Pilih Oracle.
Access Method
Pilih jenis koneksi berdasarkan lokasi penerapan database sumber. Topik ini menggunakan Public IP Address sebagai contoh.
CatatanJika Anda menggunakan jenis instans lain untuk database yang dikelola sendiri, Anda juga harus menyelesaikan persiapan yang sesuai.
Instance Region
Pilih wilayah tempat database Oracle sumber berada.
Hostname or IP address
Masukkan titik akhir database Oracle yang dikelola sendiri.
Port
Masukkan port layanan database Oracle yang dikelola sendiri. Port default adalah 1521.
CatatanDalam contoh ini, port layanan harus dapat diakses melalui internet publik.
Oracle Type
-
Non-RAC Instance: Jika memilih opsi ini, Anda juga harus menentukan SID.
-
RAC or PDB Instance: Jika memilih opsi ini, Anda juga harus menentukan Service Name.
Topik ini menggunakan Non-RAC Instance sebagai contoh.
Database Account
Masukkan akun untuk database Oracle sumber. Lihat Persiapan untuk izin yang diperlukan.
Database Password
Masukkan password untuk akun database.
Destination Database
Database Type
Pilih PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans ApsaraDB RDS untuk PostgreSQL tujuan berada.
Instance ID
Pilih ID instans ApsaraDB RDS untuk PostgreSQL tujuan.
Database Name
Masukkan nama database tujuan di instans ApsaraDB RDS untuk PostgreSQL.
Database Account
Masukkan akun database instans ApsaraDB RDS untuk PostgreSQL tujuan. Lihat Persiapan untuk izin yang diperlukan.
Database Password
Masukkan password untuk akun database.
Encryption
Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Non-encrypted dipilih.
Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.
Catatan-
Jika Anda mengatur Enkripsi ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.
-
Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.
-
Untuk informasi tentang cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS untuk PostgreSQL, lihat Enkripsi SSL.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman. Di kotak dialog CIDR Blocks of DTS Servers yang muncul, klik Test Connectivity.
CatatanPastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Parameter
Deskripsi
Migration Types
-
Jika Anda hanya perlu melakukan migrasi penuh, pilih Schema Migration dan Full Data Migration.
-
Untuk melakukan migrasi tanpa downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Catatan-
Jika Anda tidak memilih Schema Migration, Anda harus memastikan bahwa database dan tabel untuk menerima data sudah ada di database tujuan. Anda juga dapat menggunakan fitur pemetaan nama objek di kotak Selected Objects sesuai kebutuhan.
-
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.
Processing Mode for Existing Destination Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, kesalahan dilaporkan selama pemeriksaan awal, dan tugas migrasi data tidak dimulai.
CatatanJika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewatkan pemeriksaan untuk tabel dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:
-
Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:
-
Selama migrasi penuh, DTS menyimpan catatan di database tujuan. Catatan dari database sumber tidak dimigrasikan.
-
Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan. Catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi mungkin gagal. Lakukan dengan hati-hati.
-
Source Objects
Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik
untuk memindahkannya ke kotak Selected Objects.Selected Objects
-
Untuk mengubah nama satu objek migrasi di instans target, klik kanan objek di kotak Selected Objects. Untuk informasi lebih lanjut, lihat Memetakan nama skema, tabel, dan kolom individual.
-
Untuk mengubah nama beberapa objek migrasi di instans target, klik Selected Objects di pojok kanan atas kotak Batch Edit. Untuk informasi lebih lanjut, lihat Memetakan nama skema, tabel, dan kolom ganda.
Catatan-
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti namanya mungkin gagal dimigrasikan.
-
Untuk menentukan klausa WHERE untuk memfilter data, klik kanan tabel yang akan dimigrasikan di panel Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi lebih lanjut, lihat Atur kondisi filter.
-
Untuk memilih operasi SQL untuk migrasi data inkremental pada tingkat database atau tabel, klik kanan objek yang akan dimigrasikan di panel Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas migrasi DTS.
Retry Time for Failed Connections
Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi coba ulang default adalah 720 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 10 hingga 1.440 menit. Kami merekomendasikan agar Anda mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu coba ulang jaringan ditentukan oleh pengaturan tugas yang dibuat terakhir.
-
Karena Anda dikenai biaya untuk tugas selama periode coba ulang koneksi, kami merekomendasikan agar Anda menyesuaikan waktu coba ulang berdasarkan kebutuhan bisnis Anda, atau segera melepaskan instans DTS setelah instans database sumber dan tujuan dilepaskan.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti pengecualian eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan kesalahan dan segera mulai mencoba mengulang operasi tersebut. Durasi coba ulang default adalah 10 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis di database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban di database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi berjalan.
Enable Throttling for Incremental Data Migration
Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban di database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi berjalan.
Environment Tag
Pilih tag lingkungan untuk mengidentifikasi instans. Opsional.
Actual Write Code
Pilih pengkodean karakter untuk data yang ditulis ke tujuan.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instans ini saat memanggil operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
-
Jika Anda tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lolos pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika peringatan dilaporkan selama pemeriksaan awal:
-
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewatkan item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih spesifikasi tautan untuk instans migrasi data. Untuk informasi lebih lanjut, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih kelompok sumber daya tempat instans tersebut berada. Nilai default adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Manajemen Sumber Daya?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi tautan memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi tautan migrasi data.
-
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.
Catatan-
Jika tugas migrasi tidak mencakup migrasi inkremental, tugas tersebut akan berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tersebut tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-