Migrasikan data antar instans ApsaraDB RDS for PostgreSQL menggunakan Data Transmission Service (DTS). DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Menjalankan ketiga jenis migrasi tersebut secara bersamaan memungkinkan aplikasi Anda tetap online selama proses migrasi dengan downtime minimal.
Prasyarat
Sebelum memulai, pastikan bahwa:
Instans ApsaraDB RDS for PostgreSQL sumber dan tujuan telah dibuat. Lihat Buat instans.
Versi database tujuan sama dengan atau lebih baru daripada versi database sumber. Versi tujuan yang lebih lama dapat menyebabkan masalah kompatibilitas.
Instans tujuan memiliki ruang penyimpanan tersedia lebih besar daripada total ukuran data di instans sumber.
Untuk versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi data.
Jenis migrasi
DTS mendukung tiga jenis migrasi yang dapat dikombinasikan sesuai kebutuhan Anda.
| Jenis migrasi | Fungsinya |
|---|---|
| Migrasi skema | Menyalin skema objek yang dipilih (tabel, view, indeks, dan sebagainya) dari sumber ke tujuan |
| Migrasi data penuh | Menyalin semua data yang ada dari sumber ke tujuan |
| Migrasi data inkremental | Secara terus-menerus mereplikasi perubahan data dari sumber ke tujuan setelah migrasi data penuh selesai, sehingga tujuan tetap sinkron selama aplikasi berjalan |
Pilih strategi migrasi:
Hanya migrasi penuh (dengan downtime): Pilih Schema Migration dan Full Data Migration. Hentikan penulisan ke sumber sebelum migrasi dimulai untuk memastikan konsistensi data.
Migrasi online (downtime minimal): Pilih Schema Migration, Full Data Migration, dan Incremental Data Migration. Aplikasi Anda tetap online selama migrasi. Hentikan penulisan ke sumber hanya saat alih bencana (cutover).
Objek yang didukung
Tipe objek berikut dapat dimigrasikan:
SCHEMA dan TABLE — termasuk PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, tipe data bawaan, dan kendala DEFAULT.
VIEW
PROCEDURE — hanya untuk PostgreSQL V11 atau lebih baru.
FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN
Operasi SQL yang didukung untuk migrasi inkremental
| Tipe operasi | Pernyataan yang Didukung |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | Lihat detail di bawah |
Detail migrasi DDL:
Migrasi DDL hanya tersedia untuk tugas yang dibuat setelah 1 Oktober 2020.
Untuk memigrasikan operasi DDL pada tugas yang dibuat sebelum 12 Mei 2023, buat terlebih dahulu trigger dan fungsi di database sumber. Lihat Gunakan trigger dan fungsi untuk mengimplementasikan migrasi DDL inkremental untuk database PostgreSQL.
Jika database sumber menggunakan akun istimewa dan versi mesin minor adalah 20210228 atau lebih baru, statement DDL berikut didukung:
CREATE TABLE, DROP TABLE
ALTER TABLE (RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULT)
TRUNCATE TABLE — sumber harus PostgreSQL V11 atau lebih baru
CREATE INDEX ON TABLE
Batasan migrasi DDL:
Data tipe BIT tidak dapat dimigrasikan selama migrasi inkremental.
Pengubah CASCADE dan RESTRICT dalam statement DDL tidak dapat dimigrasikan.
Statement DDL yang dieksekusi dalam sesi tempat
SET session_replication_role = replicadijalankan tidak dapat dimigrasikan.Statement DDL yang dipanggil melalui fungsi tidak dapat dimigrasikan.
Jika pengiriman batch berisi statement DML dan DDL sekaligus, statement DDL akan dilewati.
Jika pengiriman batch berisi statement DDL yang tidak didukung untuk migrasi, statement tersebut akan dilewati.
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan oleh DTS. Ikuti prinsip hak istimewa minimal — hindari penggunaan akun superuser kecuali jika izin yang diperlukan tidak dapat diberikan secara terpisah.
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| ApsaraDB RDS for PostgreSQL sumber | USAGE pada skema pg_catalog | SELECT pada objek yang akan dimigrasikan | Akun istimewa yang merupakan pemilik database. Untuk PostgreSQL 9.4 dengan migrasi hanya DML, hanya izin REPLICATION yang diperlukan. |
| ApsaraDB RDS for PostgreSQL tujuan | CREATE dan USAGE pada objek yang akan dimigrasikan | Izin pemilik skema | — |
Untuk membuat akun dan memberikan izin, lihat Buat akun dan Buat database.
Batasan
Tinjau batasan berikut sebelum mengonfigurasi tugas migrasi. Mengabaikannya dapat menyebabkan kegagalan tugas atau inkonsistensi data.
Batasan database sumber
| Batasan | Detail | Dampak jika dilanggar |
|---|---|---|
| Memerlukan primary key atau kendala unik | Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE dengan semua field unik. Jika tabel di tujuan dibuat tanpa migrasi skema DTS, pastikan PRIMARY KEY atau kendala NOT NULL UNIQUE-nya sesuai dengan tabel sumber. Tabel yang akan dimigrasikan juga harus memiliki kendala PRIMARY KEY, FOREIGN KEY, UNIQUE, atau CHECK. | Tujuan mungkin berisi catatan duplikat. |
| Nama database tidak boleh mengandung tanda hubung | Nama database sumber tidak boleh mengandung tanda hubung (-). Misalnya, dts-testdata tidak valid. Ubah nama database sebelum migrasi. | Tugas migrasi gagal dimulai. |
| Batas 1.000 tabel per tugas saat mengedit nama tabel | Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas dapat memigrasikan maksimal 1.000 tabel. Untuk lebih dari 1.000 tabel, buat beberapa tugas atau migrasikan seluruh database. | Terjadi kesalahan permintaan. |
| Tidak ada tabel temporary atau prosedur internal berbasis bahasa C | DTS tidak dapat memigrasikan tabel temporary, trigger internal, atau prosedur dan fungsi internal yang ditulis dalam bahasa C. | Objek ini dilewati diam-diam. |
| Dukungan tipe kustom | DTS dapat memigrasikan parameter kustom tipe COMPOSITE, ENUM, dan RANGE. | Tipe kustom lainnya tidak dimigrasikan. |
wal_level harus logical untuk migrasi inkremental | Atur wal_level = logical di instans sumber sebelum mengonfigurasi migrasi inkremental. | Migrasi inkremental tidak dapat dimulai. |
| Retensi log WAL | Untuk migrasi hanya inkremental: pertahankan log write-ahead logging (WAL) lebih dari 24 jam. Untuk migrasi penuh + inkremental: pertahankan log WAL minimal 7 hari. Setelah migrasi penuh selesai, Anda dapat mengurangi retensi menjadi lebih dari 24 jam. | Retensi yang tidak mencukupi menyebabkan kegagalan tugas, inkonsistensi data, atau kehilangan data. |
| Tidak ada DDL selama migrasi skema atau migrasi data penuh | Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama migrasi skema atau migrasi data penuh berjalan. | Tugas migrasi gagal. |
| Tidak ada penulisan ke sumber selama migrasi hanya penuh | Jika Anda hanya menjalankan migrasi data penuh (tanpa inkremental), jangan menulis ke database sumber selama migrasi. Untuk menghindari pembatasan ini, pilih migrasi penuh + inkremental. | Penulisan konkuren menyebabkan inkonsistensi data. |
| Batas 256 MB per catatan tunggal untuk migrasi inkremental | Jika satu perubahan inkremental melebihi 256 MB, tugas gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas tersebut. | Tugas gagal tanpa opsi pemulihan. |
| Transaksi jangka panjang mengakumulasi log WAL | Transaksi jangka panjang di database sumber mencegah pembersihan log WAL. Commit atau hentikan transaksi jangka panjang sebelum migrasi. | Ruang disk sumber mungkin habis selama migrasi inkremental. |
| Peningkatan versi utama menghentikan tugas yang sedang berjalan | Peningkatan versi utama pada database sumber saat tugas migrasi sedang berjalan menyebabkan tugas gagal tanpa opsi pemulihan. Konfigurasi ulang tugas setelah peningkatan. | Tugas gagal tanpa opsi pemulihan. |
Batasan lainnya
| Batasan | Detail |
|---|---|
| Alih bencana primer/sekunder memerlukan Logical Replication Slot Failover | Sebelum melakukan alih bencana primer/sekunder pada instans sumber, aktifkan fitur Logical Replication Slot Failover. Ini mencegah gangguan pada langganan logis. Lihat Logical Replication Slot Failover. |
| Satu database per tugas | Satu tugas hanya memigrasikan data dari satu database. Buat tugas terpisah untuk setiap database. |
| Tidak ada tabel yang mewarisi skema | Tabel yang diwariskan antar skema tidak dapat dimigrasikan. |
| Field SERIAL memerlukan migrasi sequence | Jika tabel memiliki field SERIAL dan Anda memilih Schema Migration, pilih juga Sequence atau migrasikan seluruh skema. Jika tidak, tugas gagal. |
| Tabel baru yang dibuat selama migrasi inkremental | Jika Anda menambahkan tabel baru ke skema atau mengganti nama tabel menggunakan RENAME selama migrasi inkremental, jalankan ALTER TABLE schema.table REPLICA IDENTITY FULL; sebelum menulis data ke tabel tersebut. Jangan mengunci tabel saat menjalankan statement ini untuk menghindari deadlock. Jalankan ini pada jam sepi. |
| Validitas metadata tidak diperiksa | DTS tidak memvalidasi metadata seperti sequence. Verifikasi metadata secara manual setelah migrasi. |
| Sequence di tujuan tidak dimulai dari nilai maksimum sumber | Setelah beralih beban kerja ke tujuan, sequence baru dimulai dari nilai awalnya, bukan dari nilai maksimum di sumber. Perbarui nilai awal sequence di tujuan sebelum alih bencana. |
| Tabel temporary yang dibuat oleh DTS | DTS membuat tabel temporary berikut di database sumber untuk mendukung migrasi inkremental. Jangan menghapusnya selama migrasi — tabel ini akan dihapus otomatis setelah instans DTS dilepas: public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, public.aliyun_dts_instance |
session_replication_role diatur ke replica selama migrasi | Jika akun tujuan adalah akun istimewa atau memiliki role superuser, DTS mengatur session_replication_role ke replica pada tingkat sesi selama migrasi penuh dan inkremental. Jika akun tidak memiliki izin ini, atur session_replication_role = replica secara manual. Operasi CASCADE UPDATE atau DELETE di sumber selama periode ini dapat menyebabkan inkonsistensi data. Setelah tugas dilepas, kembalikan nilainya ke origin. |
| Tabel heartbeat dibuat di sumber | DTS membuat tabel heartbeat bernama dts_postgres_heartbeat di database sumber untuk melacak latensi migrasi inkremental. |
| Slot replikasi dibuat di sumber | DTS membuat slot replikasi dengan awalan dts_sync_ di sumber. Slot ini menyimpan 15 menit terakhir log inkremental. Slot ini dihapus otomatis ketika instans DTS dilepas atau tugas gagal. Jika Anda mengubah password database sumber atau menghapus alamat IP DTS dari daftar putih IP, hapus slot replikasi secara manual untuk mencegah akumulasi slot. Setelah alih bencana primer/sekunder, login ke instans sekunder untuk menghapus slot tersebut. |
| Migrasi penuh menyebabkan fragmentasi tabel | Operasi INSERT konkuren selama migrasi penuh menyebabkan fragmentasi tabel di tujuan. Ruang tabel tujuan akan lebih besar daripada sumber setelah migrasi penuh selesai. |
| Presisi FLOAT dan DOUBLE | DTS menggunakan ROUND(COLUMN, PRECISION) untuk mengambil nilai FLOAT dan DOUBLE. Jika presisi tidak ditentukan, FLOAT default ke 38 digit dan DOUBLE default ke 308 digit. Verifikasi apakah pengaturan presisi ini memenuhi kebutuhan Anda. |
| Tugas gagal dapat dilanjutkan dan menimpa data tujuan | DTS mencoba mengulang tugas yang gagal hingga 7 hari. Sebelum beralih beban kerja ke tujuan, hentikan atau lepaskan tugas yang gagal, atau jalankan REVOKE untuk menghapus izin tulis akun DTS di database tujuan. |
| Dukungan DTS dapat memodifikasi parameter tugas | Jika tugas gagal, dukungan teknis DTS mencoba memulihkannya dalam waktu 8 jam. Tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi. |
Kasus khusus
Jangan mengubah endpoint atau zona instans ApsaraDB RDS for PostgreSQL sumber selama tugas migrasi berjalan. Hal ini menyebabkan tugas gagal.
Konfigurasi tugas migrasi
Langkah 1: Buka halaman Data Migration
Gunakan konsol DTS atau konsol DMS.
Konsol DTS:
Login ke Konsol DTS.
Di panel navigasi kiri, klik Data Migration.
Di pojok kiri atas, pilih wilayah tempat instans migrasi akan berada.
Konsol DMS:
Langkah aktual dapat berbeda tergantung mode dan tata letak konsol DMS Anda. Lihat Mode simple sebagai referensi tata letak, atau lihat cara menyesuaikan tata letak konsol DMS.
Login ke Konsol DMS.
Di bilah navigasi atas, arahkan pointer ke Data + AI > DTS (DTS) > Data Migration.
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi akan berada.
Langkah 2: Buat tugas
Klik Create Task untuk membuka halaman konfigurasi tugas.
Langkah 3: Konfigurasi database sumber dan tujuan
Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di bagian atas halaman. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau inkonsistensi data.
Konfigurasikan parameter berikut untuk kedua database sumber dan tujuan.
| Bagian | Parameter | Deskripsi |
|---|---|---|
| N/A | Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar mudah mengidentifikasi tugas. Nama tidak perlu unik. |
| Source Database | Select Existing Connection | Jika instans sudah terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi otomatis parameter lainnya. Jika tidak, konfigurasikan parameter di bawah. Di konsol DMS, pilih instans dari daftar drop-down Select a DMS database instance. |
| Database Type | Pilih PostgreSQL. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Wilayah instans sumber. | |
| Instance ID | ID instans sumber. | |
| Database Name | Nama database yang berisi objek untuk dimigrasikan. | |
| Database Account | Akun untuk instans sumber. Lihat Izin yang diperlukan. | |
| Database Password | Password untuk akun database. | |
| Encryption | Pilih Non-encrypted (default) atau SSL-encrypted. Untuk enkripsi SSL, unggah CA Certificate, dan opsional Client Certificate, Private Key of Client Certificate, dan Private Key Password of Client Certificate. Lihat Enkripsi SSL untuk instruksi penyiapan. | |
| Destination Database | Select Existing Connection | Sama seperti sumber. |
| Database Type | Pilih PostgreSQL. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Wilayah instans tujuan. | |
| Instance ID | ID instans tujuan. | |
| Database Name | Nama database tujuan. | |
| Database Account | Akun untuk instans tujuan. Lihat Izin yang diperlukan. | |
| Database Password | Password untuk akun database. | |
| Encryption | Opsi yang sama seperti sumber. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed di bagian bawah halaman.
Blok CIDR server DTS harus ditambahkan ke pengaturan keamanan database sumber dan tujuan. Untuk instruksi, lihat Tambahkan blok CIDR server DTS. Jika sumber atau tujuan menggunakan metode akses selain Alibaba Cloud Instance, klik Test Connectivity di dialog CIDR Blocks of DTS Servers.
Langkah 5: Konfigurasi objek untuk dimigrasikan
Di halaman Configure Objects, konfigurasikan pengaturan migrasi.
Jenis migrasi:
| Tujuan | Pilih |
|---|---|
| Migrasi penuh (dengan downtime) | Schema Migration dan Full Data Migration |
| Migrasi online (downtime minimal) | Schema Migration, Full Data Migration, dan Incremental Data Migration |
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data ke sumber selama migrasi untuk memastikan konsistensi data. Schema Migration menyalin kunci asing ke tujuan.
Mode pemrosesan tabel yang bentrok:
| Mode | Perilaku |
|---|---|
| Precheck and Report Errors | Memeriksa tabel dengan nama identik di sumber dan tujuan sebelum migrasi. Jika ada bentrok, pemeriksaan awal gagal dan tugas tidak dimulai. Untuk menyelesaikan bentrok tanpa menghapus tabel tujuan, gunakan pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan. Lihat Pemetaan nama objek. |
| Ignore Errors and Proceed | Melewati pemeriksaan bentrok. Selama migrasi penuh, catatan yang bentrok tidak dimigrasikan (catatan tujuan yang ada dipertahankan). Selama migrasi inkremental, catatan yang bentrok menimpa catatan tujuan yang ada. Gunakan mode ini dengan hati-hati — dapat menimbulkan risiko inkonsistensi data. |
Source Objects:
Pilih satu atau beberapa skema atau tabel dari Source Objects dan klik
untuk menambahkannya ke Selected Objects.
Jika Anda memilih tabel (bukan skema), DTS tidak memigrasikan objek lain seperti view, trigger, dan prosedur tersimpan. Jika tabel memiliki tipe data SERIAL dan Schema Migration dipilih, pilih juga Sequence atau migrasikan skema lengkap.
Selected Objects:
Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di Selected Objects. Lihat Pemetaan nama objek tunggal.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Pemetaan nama beberapa objek sekaligus.
Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan tentukan kondisi WHERE. Lihat Tentukan kondisi filter.
Untuk memilih operasi SQL tertentu yang akan dimigrasikan untuk tabel, klik kanan tabel dan pilih operasinya. Lihat Operasi SQL yang didukung untuk migrasi inkremental.
Mengganti nama objek dengan pemetaan nama objek dapat menyebabkan objek dependen gagal dimigrasikan.
Klik Next: Advanced Settings.
Pengaturan lanjutan:
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menggunakan kluster bersama. Untuk stabilitas lebih tinggi, beli kluster khusus. Lihat Apa itu kluster khusus DTS. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang setelah kegagalan koneksi. Rentang: 10–1.440 menit. Default: 720. Atur minimal 30. Jika DTS terhubung kembali dalam jendela percobaan ulang, tugas dilanjutkan; jika tidak, tugas gagal. Catatan Jika beberapa tugas menggunakan sumber atau tujuan yang sama, waktu percobaan ulang yang paling baru berlaku untuk semuanya. Biaya DTS tetap berjalan selama percobaan ulang. |
| Retry Time for Other Issues | Berapa lama DTS mencoba ulang setelah kegagalan operasi DDL atau DML. Rentang: 1–1.440 menit. Default: 10. Atur lebih dari 10. Nilai ini harus kurang dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi throughput migrasi untuk mengurangi beban pada sumber dan tujuan. Konfigurasikan QPS to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Membatasi throughput migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih. |
| Environment Tag | Tag opsional untuk mengidentifikasi instans DTS berdasarkan lingkungan. |
| Configure ETL | Aktifkan ekstrak, transformasi, dan muat (ETL) untuk memproses data selama migrasi. Pilih Yes untuk memasukkan statement pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. |
| Monitoring and Alerting | Konfigurasikan peringatan untuk kegagalan tugas atau latensi migrasi tinggi. Pilih Yes dan konfigurasikan ambang batas peringatan serta pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS. |
Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data. Lihat Konfigurasi tugas verifikasi data.
Langkah 6: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas tidak dapat dimulai sampai pemeriksaan awal berhasil.
Jika ada item pemeriksaan awal yang gagal, klik View Details untuk melihat penyebabnya. Perbaiki masalah tersebut dan klik Precheck Again.
Jika suatu item memicu peringatan:
Jika peringatan tidak dapat diabaikan, perbaiki masalah dan jalankan ulang pemeriksaan awal.
Jika peringatan dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore > OK > Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.
Langkah 7: Beli instans dan mulai tugas
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan instans:
Bagian Parameter Deskripsi New Instance Class Resource Group Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?. Instance Class Mengontrol kecepatan migrasi. Pilih berdasarkan volume data dan kebutuhan waktu Anda. Lihat Kelas instans migrasi data. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.
Klik Buy and Start, lalu klik OK di dialog konfirmasi.
Tugas muncul di halaman Data Migration.
Jika tugas tidak mencakup migrasi inkremental, tugas berhenti otomatis saat selesai. Status menunjukkan Completed.
Jika tugas mencakup migrasi inkremental, tugas berjalan terus-menerus. Status menunjukkan Running.
Beralih ke database tujuan
Untuk migrasi daring menggunakan migrasi data inkremental, ikuti langkah-langkah berikut guna meminimalkan kehilangan data selama peralihan.
Pantau latensi migrasi. Di halaman Data Migration, periksa latensi tugas migrasi inkremental. Tunggu hingga latensi turun ke 0 atau mendekati 0, yang berarti tujuan hampir sepenuhnya menyusul sumber.
Hentikan penulisan ke sumber. Setelah latensi mendekati 0, hentikan aplikasi Anda dari menulis ke database sumber.
Konfirmasi latensi mencapai 0. Setelah menghentikan penulisan, pastikan latensi migrasi inkremental mencapai 0. Ini memastikan semua perubahan telah direplikasi ke tujuan.
Perbarui sequence di tujuan. Sequence baru di tujuan tidak bertambah dari nilai maksimum sequence di sumber. Sebelum mengalihkan trafik, perbarui nilai awal semua sequence di tujuan untuk menghindari konflik ID.
Verifikasi data. Jika Anda mengonfigurasi verifikasi data, periksa hasil verifikasi untuk memastikan konsistensi data antara sumber dan tujuan.
Alikan aplikasi Anda. Perbarui string koneksi aplikasi Anda agar mengarah ke instans tujuan.
Lepaskan tugas DTS. Setelah memastikan aplikasi berjalan dengan benar di tujuan, hentikan dan lepaskan tugas migrasi DTS. DTS secara otomatis menghapus tabel temporary dan slot replikasi dari sumber setelah tugas dilepas.
DTS mencoba mengulang tugas yang gagal hingga 7 hari. Sebelum beralih beban kerja ke tujuan, hentikan atau lepaskan tugas yang gagal, atau jalankan REVOKE untuk menghapus izin tulis akun DTS di database tujuan. Jika tidak, tugas gagal yang dilanjutkan dapat menimpa data di tujuan.
Langkah selanjutnya
Logical Replication Slot Failover — aktifkan ini sebelum melakukan alih bencana primer/sekunder pada instans sumber.
Pemetaan nama objek — ganti nama objek di tujuan selama migrasi.
Konfigurasi tugas verifikasi data — verifikasi konsistensi data setelah migrasi.
Kelas instans migrasi data — pilih kelas instans yang tepat sesuai kebutuhan kecepatan migrasi Anda.