Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS DMS memberikan dukungan untuk validasi data untuk memastikan bahwa data Anda dimigrasi secara akurat dari sumber ke target. Jika diaktifkan, validasi dimulai segera setelah beban penuh dilakukan untuk sebuah tabel. Validasi membandingkan perubahan tambahan untuk tugas yang CDC-nya diaktifkan saat terjadi.
Selama validasi data, AWS DMS membandingkan setiap baris di sumber dengan baris yang sesuai pada target, memverifikasi baris berisi data yang sama, dan melaporkan ketidakcocokan apa pun. Untuk menyelesaikan AWS DMS masalah ini, kueri yang tepat untuk mengambil data. Perhatikan bahwa kueri ini akan mengonsumsi sumber daya tambahan pada sumber dan target serta sumber daya jaringan tambahan.
Untuk tugas CDC saja dengan validasi diaktifkan, semua data yang sudah ada sebelumnya dalam tabel divalidasi sebelum memulai validasi data baru.
Validasi data bekerja dengan database sumber berikut di mana pun AWS DMS mendukungnya sebagai titik akhir sumber:
-
Oracle
-
Database yang kompatibel dengan PostgreSQL (PostgreSQL, Aurora PostgreSQL, atau Aurora Tanpa Server untuk PostgreSQL)
-
Database yang kompatibel dengan MySQL (MySQL, MariaDB, Aurora MySQL, atau Aurora Tanpa Server untuk MySQL)
-
Microsoft SQL Server
-
IBM Db2 LUW
Validasi data bekerja dengan database target berikut di mana pun AWS DMS mendukungnya sebagai titik akhir target:
-
Oracle
-
Database yang kompatibel dengan PostgreSQL (PostgreSQL, Aurora PostgreSQL, atau Aurora Tanpa Server untuk PostgreSQL)
-
Database yang kompatibel dengan MySQL (MySQL, MariaDB, Aurora MySQL, atau Aurora Tanpa Server untuk MySQL)
-
Microsoft SQL Server
-
IBM Db2 LUW
-
Amazon Redshift
-
Amazon S3. Untuk informasi tentang memvalidasi data target Amazon S3, lihat. Validasi data target Amazon S3
Untuk informasi lebih lanjut tentang titik akhir yang didukung, lihat Bekerja dengan titik AWS akhir DMS.
Validasi data memerlukan waktu tambahan, melampaui jumlah yang diperlukan untuk migrasi itu sendiri. Waktu tambahan yang diperlukan tergantung pada berapa banyak data yang dimigrasi.
Untuk informasi selengkapnya tentang pengaturan ini, lihat Pengaturan tugas validasi data.
Untuk contoh pengaturan ValidationSettings
tugas dalam file JSON, lihatContoh pengaturan tugas.
Statistik tugas replikasi
Saat validasi data diaktifkan, AWS DMS berikan statistik berikut di tingkat tabel:
-
ValidationState—Status validasi tabel. Parameter dapat memiliki nilai berikut:
Not enabled—Validasi tidak diaktifkan untuk tabel dalam tugas migrasi.
Pending records—Beberapa catatan dalam tabel menunggu validasi.
Mismatched records—Beberapa catatan dalam tabel tidak cocok antara sumber dan target. Ketidakcocokan mungkin terjadi karena sejumlah alasan; Untuk informasi lebih lanjut, periksa tabel
awsdms_control.awsdms_validation_failures_v1
pada titik akhir target.Suspended records—Beberapa catatan dalam tabel tidak dapat divalidasi.
No primary key—Tabel tidak dapat divalidasi karena tidak memiliki kunci primer.
Table error—Tabel tidak divalidasi karena berada dalam status kesalahan dan beberapa data tidak dimigrasi.
Validated—Semua baris dalam tabel divalidasi. Jika tabel diperbarui, status dapat berubah dari Validated.
Error—Tabel tidak dapat divalidasi karena ada kesalahan tidak terduga.
Pending validation—Tabel menunggu validasi.
Mempersiapkan tabel—Mempersiapkan tabel diaktifkan dalam tugas migrasi untuk validasi.
Pending revalidation—Validasi semua baris dalam tabel tertunda setelah tabel diperbarui.
-
ValidationPending—Jumlah catatan yang telah dimigrasikan ke target, tetapi itu belum divalidasi.
-
ValidationSuspended—Jumlah catatan yang tidak AWS DMS bisa dibandingkan. Misalnya, jika catatan di sumber terus diperbarui, tidak AWS DMS dapat membandingkan sumber dan target.
-
ValidationFailed—Jumlah catatan yang tidak lulus fase validasi data.
Untuk contoh pengaturan ValidationSettings
tugas dalam file JSON, lihatContoh pengaturan tugas.
Anda dapat melihat informasi validasi data menggunakan konsol, file AWS CLI, atau AWS DMS API.
Di konsol, Anda dapat memilih untuk memvalidasi tugas saat Anda membuat atau memodifikasi tugas. Untuk melihat laporan validasi data menggunakan konsol, pilih tugas di halaman Tugas dan pilih tab Statistik tabel di bagian detail.
Menggunakan CLI, atur
EnableValidation
parametertrue
saat membuat atau memodifikasi tugas untuk memulai validasi data. Contoh berikut membuat tugas dan mengaktifkan validasi data.create-replication-task --replication-task-settings '{"ValidationSettings":{"EnableValidation":true}}' --replication-instance-arn arn:aws:dms:us-east-1:5731014: rep:36KWVMB7Q --source-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CSZAEFQURFYMM --target-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CGPP7MF6WT4JQ --migration-type full-load-and-cdc --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": {"schema-name": "data_types", "table-name": "%"}, "rule-action": "include"}]}'
Gunakan perintah
describe-table-statistics
untuk menerima laporan validasi data dalam format JSON. Perintah berikut menunjukkan laporan validasi data.aws dms describe-table-statistics --replication-task-arn arn:aws:dms:us-east-1:5731014: rep:36KWVMB7Q
Laporan tersebut akan serupa dengan berikut ini.
{ "ReplicationTaskArn": "arn:aws:dms:us-west-2:5731014:task:VFPFTYKK2RYSI", "TableStatistics": [ { "ValidationPendingRecords": 2, "Inserts": 25, "ValidationState": "Pending records", "ValidationSuspendedRecords": 0, "LastUpdateTime": 1510181065.349, "FullLoadErrorRows": 0, "FullLoadCondtnlChkFailedRows": 0, "Ddls": 0, "TableName": "t_binary", "ValidationFailedRecords": 0, "Updates": 0, "FullLoadRows": 10, "TableState": "Table completed", "SchemaName": "d_types_s_sqlserver", "Deletes": 0 } }
Menggunakan AWS DMS API, buat tugas menggunakan CreateReplicationTasktindakan dan atur
EnableValidation
parameter ke true untuk memvalidasi data yang dimigrasikan oleh tugas. Gunakan DescribeTableStatisticstindakan untuk menerima laporan validasi data dalam format JSON.
Statistik tugas replikasi dengan Amazon CloudWatch
Saat Amazon CloudWatch diaktifkan, AWS DMS berikan statistik tugas replikasi berikut:
ValidationSucceededRecordCount— Jumlah baris yang AWS DMS divalidasi, per menit.
ValidationAttemptedRecordCount— Jumlah baris yang validasi dicoba, per menit.
ValidationFailedOverallCount— Jumlah baris di mana validasi gagal.
ValidationSuspendedOverallCount— Jumlah baris di mana validasi ditangguhkan.
ValidationPendingOverallCount— Jumlah baris di mana validasi masih tertunda.
ValidationBulkQuerySourceLatency— AWS DMS dapat melakukan validasi data secara massal, terutama dalam skenario tertentu selama replikasi beban penuh atau sedang berlangsung ketika ada banyak perubahan. Metrik ini menunjukkan latensi yang diperlukan untuk membaca kumpulan data massal dari titik akhir sumber.
ValidationBulkQueryTargetLatency— AWS DMS dapat melakukan validasi data secara massal, terutama dalam skenario tertentu selama replikasi beban penuh atau sedang berlangsung ketika ada banyak perubahan. Metrik ini menunjukkan latensi yang diperlukan untuk membaca kumpulan data massal dari titik akhir target.
ValidationItemQuerySourceLatencySelama replikasi yang sedang berlangsung, validasi data dapat mengidentifikasi perubahan yang sedang berlangsung dan memvalidasi perubahan tersebut. Metrik ini menunjukkan latensi dalam membaca perubahan tersebut dari sumber. Validasi dapat menjalankan lebih banyak kueri dari yang diperlukan, berdasarkan jumlah perubahan, jika ada kesalahan selama validasi.
ValidationItemQueryTargetLatency— Selama replikasi yang sedang berlangsung, validasi data dapat mengidentifikasi perubahan yang sedang berlangsung dan memvalidasi perubahan baris demi baris. Metrik ini memberi kita latensi dalam membaca perubahan tersebut dari target. Validasi dapat menjalankan lebih banyak kueri dari yang diperlukan, berdasarkan jumlah perubahan, jika ada kesalahan selama validasi.
Untuk mengumpulkan informasi validasi data dari statistik yang CloudWatch diaktifkan, pilih Aktifkan CloudWatch log saat Anda membuat atau memodifikasi tugas menggunakan konsol. Kemudian, untuk melihat informasi validasi data dan memastikan bahwa data Anda dimigrasi secara akurat dari sumber ke target, lakukan hal berikut.
Pilih tugas di halaman Tugas migrasi basis data.
Pilih tab CloudWatch metrik.
Pilih Validasi dari menu tarik turun.
Memvalidasi ulang tabel selama pengerjaan tugas
Saat tugas sedang berjalan, Anda dapat meminta AWS DMS untuk melakukan validasi data.
AWS Management Console
-
Masuk ke AWS Management Console dan buka AWS DMS konsol di https://console.aws.amazon.com/dms/v2/
. Jika Anda masuk sebagai pengguna AWS Identity and Access Management (IAM), pastikan Anda memiliki izin yang sesuai untuk AWS DMS mengakses. izin yang diperlukan, lihat. Izin IAM diperlukan untuk menggunakan AWS DMS
-
Pilih Tugas dari panel navigasi.
-
Pilih tugas berjalan yang memiliki tabel yang ingin Anda validasi ulang.
Pilih tab Statistik Tabel.
-
Pilih tabel yang ingin Anda validasi ulang (Anda dapat memilih hingga 10 tabel sekaligus). Jika tugas tidak lagi berjalan, Anda tidak dapat memvalidasi ulang tabel.
-
Pilih Validasi Ulang.
Menggunakan editor JSON untuk memodifikasi aturan validasi
Untuk menambahkan aturan validasi ke tugas menggunakan editor JSON dari AWS DMS Konsol, lakukan hal berikut:
-
Pilih Tugas migrasi basis data.
-
Pilih tugas Anda dari daftar tugas migrasi.
-
Jika tugas Anda sedang berjalan, pilih Berhenti dari menu tarik turun Tindakan.
-
Setelah tugas telah berhenti, untuk memodifikasi tugas Anda, pilih Modifikasi dari menu tarik turun Tindakan.
-
Di bagian Pemetaan tabel, pilih Editor JSON dan tambahkan aturan validasi Anda ke pemetaan tabel Anda.
Misalnya, Anda dapat menambahkan aturan validasi berikut untuk menjalankan fungsi ganti pada sumber. Dalam kasus ini, jika aturan validasi bertemu null byte, byte tersebut akan divalidasi sebagai spasi.
{
"rule-type": "validation",
"rule-id": "1",
"rule-name": "1",
"rule-target": "column",
"object-locator": {
"schema-name": "Test-Schema",
"table-name": "Test-Table",
"column-name": "Test-Column"
},
"rule-action": "override-validation-function",
"source-function": "REPLACE(${column-name}, chr(0), chr(32))",
"target-function": "${column-name}"
}
Tugas hanya validasi
Anda hanya dapat membuat tugas validasi untuk melihat pratinjau dan memvalidasi data tanpa melakukan migrasi atau replikasi data apa pun. Untuk membuat tugas validasi saja, atur ValidationOnly
pengaturan EnableValidation
dan ketrue
. Saat mengaktifkanValidationOnly
, persyaratan tambahan berlaku. Untuk informasi selengkapnya, lihat Pengaturan tugas validasi data.
Untuk jenis migrasi hanya beban penuh, tugas validasi hanya selesai jauh lebih cepat daripada yang setara dengan CDC ketika banyak kegagalan dilaporkan. Tetapi perubahan pada titik akhir sumber atau target dilaporkan sebagai kegagalan untuk mode beban penuh, kemungkinan kerugian.
Hanya tugas validasi CDC yang menunda validasi berdasarkan latensi rata-rata, dan mencoba ulang kegagalan beberapa kali sebelum melaporkannya. Jika sebagian besar perbandingan data mengakibatkan kegagalan, tugas validasi hanya untuk mode CDC sangat lambat, kelemahan potensial.
Tugas hanya validasi harus diatur dalam arah yang sama dengan tugas replikasi, terutama untuk CDC. Ini karena tugas Hanya Validasi CDC mendeteksi baris mana yang telah berubah dan perlu divalidasi ulang berdasarkan log perubahan pada sumbernya. Jika target ditentukan sebagai sumber, maka ia hanya tahu tentang perubahan yang dikirim ke target oleh DMS dan tidak dijamin untuk menangkap kesalahan replikasi.
Validasi beban penuh saja
Dimulai dengan AWS DMS versi 3.4.6 dan yang lebih tinggi, tugas validasi beban penuh hanya dengan cepat membandingkan semua baris dari sumber dan tabel target dalam satu lintasan, segera melaporkan kegagalan, dan kemudian dimatikan. Validasi tidak pernah ditangguhkan karena kegagalan dalam mode ini, itu dioptimalkan untuk kecepatan. Tetapi perubahan pada titik akhir sumber atau target dilaporkan sebagai kegagalan.
catatan
Dimulai dengan AWS DMS versi 3.4.6 dan yang lebih tinggi, perilaku validasi ini juga berlaku untuk tugas migrasi beban penuh dengan validasi diaktifkan.
Hanya validasi CDC
Tugas validasi CDC hanya memvalidasi semua baris yang ada antara tabel sumber dan target pada awal yang baru. Selain itu, tugas validasi CDC hanya berjalan terus menerus, memvalidasi ulang perubahan replikasi yang sedang berlangsung, membatasi jumlah kegagalan yang dilaporkan setiap pass, dan mencoba ulang baris yang tidak cocok sebelum gagal. Ini dioptimalkan untuk mencegah positif palsu.
Validasi untuk tabel (atau seluruh tugas) ditangguhkan jika TableFailureMaxCount
ambang batas
FailureMaxCount
atau dilanggar. Ini juga berlaku untuk tugas migrasi CDC atau Full Load+CDC dengan validasi diaktifkan. Dan tugas CDC dengan validasi mengaktifkan penundaan validasi ulang untuk setiap baris yang diubah berdasarkan latensi sumber dan target rata-rata.
Tetapi tugas validasi CDC saja tidak memigrasikan data dan tidak memiliki latensi. Ini diatur ValidationQueryCdcDelaySeconds
ke 180 secara default. Dan Anda dapat meningkatkan jumlah untuk memperhitungkan lingkungan latensi tinggi dan membantu mencegah positif palsu.
Validasi hanya kasus penggunaan
Kasus penggunaan untuk memisahkan bagian validasi data dari tugas migrasi atau replikasi menjadi tugas validasi terpisah yang hanya mencakup, tetapi tidak terbatas pada, hal-hal berikut:
-
Kontrol tepat saat validasi terjadi - Kueri validasi menambahkan beban tambahan ke titik akhir sumber dan target. Jadi, memigrasi atau mereplikasi data dalam satu tugas terlebih dahulu, kemudian memvalidasi hasil di tugas lain dapat bermanfaat.
-
Kurangi beban pada instance replikasi — Memisahkan validasi data untuk dijalankan pada instancenya sendiri dapat menguntungkan.
-
Dapatkan dengan cepat berapa banyak baris yang tidak cocok pada saat tertentu — Misalnya, tepat sebelum atau selama pemotongan produksi jendela pemeliharaan — ke titik akhir target, Anda dapat membuat tugas validasi Full Load saja untuk mendapatkan jawaban atas pertanyaan Anda.
-
Ketika kegagalan validasi diharapkan untuk tugas migrasi dengan komponen CDC — Misalnya, jika memigrasikan Oracle
varchar2
ke PostgreSQL, validasi CDC terus mencoba ulangjsonb
baris gagal ini dan membatasi jumlah kegagalan yang dilaporkan setiap kali. Namun, Anda dapat membuat tugas validasi Full Load saja dan mendapatkan jawaban yang lebih cepat. -
Anda telah mengembangkan skrip/utilitas perbaikan data yang membaca tabel kegagalan validasi — (Lihat juga,). Pemecahan Masalah Tugas validasi Full Load hanya dengan cepat melaporkan kegagalan untuk skrip perbaikan data untuk ditindaklanjuti.
Untuk contoh pengaturan ValidationSettings
tugas dalam file JSON, lihatContoh pengaturan tugas).
Pemecahan Masalah
Selama validasi, AWS DMS buat tabel baru di titik akhir target:. awsdms_control.awsdms_validation_failures_v1
Jika ada catatan yang memasuki ValidationSuspendedatau ValidationFailednegara bagian, AWS DMS tulis informasi diagnostik keawsdms_control.awsdms_validation_failures_v1
. Anda dapat mengkueri tabel ini untuk membantu memecahkan kesalahan validasi.
Untuk informasi tentang mengubah skema default tabel dibuat pada target, lihat Mengontrol pengaturan tugas tabel.
Berikut ini adalah deskripsi dari tabel awsdms_control.awsdms_validation_failures_v1
:
Nama kolom | Jenis data | Deskripsi |
---|---|---|
|
|
AWS DMS pengidentifikasi tugas. |
TABLE_OWNER |
VARCHAR(128) NOT NULL |
Skema (pemilik) dari tabel. |
|
VARCHAR(128) NOT NULL |
Nama tabel. |
FAILURE_TIME |
DATETIME(3) NOT NULL |
Waktu ketika kegagalan terjadi. |
KEY_TYPE |
VARCHAR(128) NOT NULL |
Dicadangkan untuk penggunaan di masa mendatang (nilai selalu 'Row') |
KEY |
TEXT NOT NULL |
Ini adalah kunci primer untuk jenis catatan baris. |
FAILURE_TYPE |
VARCHAR(128) NOT NULL |
Tingkat kepelikan kesalahan validasi. Bisa |
DETAILS |
VARCHAR(8000) NOT NULL |
String yang diformat JSON dari semua nilai kolom sumber/target yang tidak cocok untuk kunci tertentu. |
Berikut ini adalah contoh query untuk target MySQL yang akan menunjukkan semua kegagalan untuk tugas dengan query tabel. awsdms_control.awsdms_validation_failures_v1
Perhatikan bahwa nama skema dan sintaks kueri akan bervariasi di seluruh versi mesin target. Nama tugas harus ID sumber daya eksternal tugas tersebut. ID sumber daya eksternal dari tugas adalah nilai terakhir dalam ARN tugas. Misalnya, untuk tugas dengan nilai ARN arn:aws:dms:us-west- 2:5599:task: RYSI, ID sumber daya eksternal dari tugas tersebut adalah RYSI. VFPFKH4 FJR3 FTYKK2 VFPFKH4 FJR3 FTYKK2
select * from awsdms_validation_failures_v1 where TASK_NAME = 'VFPFKH4FJR3FTYKK2RYSI'
TASK_NAME VFPFKH4FJR3FTYKK2RYSI
TABLE_OWNER DB2PERF
TABLE_NAME PERFTEST
FAILURE_TIME 2020-06-11 21:58:44
KEY_TYPE Row
KEY {"key": ["3451491"]}
FAILURE_TYPE RECORD_DIFF
DETAILS [[{'MYREAL': '+1.10106036e-01'}, {'MYREAL': '+1.10106044e-01'}],]
Anda dapat melihat bidang DETAILS
untuk menentukan kolom yang tidak cocok. Karena Anda memiliki kunci primer dari catatan yang gagal, Anda dapat mengkueri titik akhir sumber dan target untuk melihat bagian dari catatan yang tidak cocok.
Kinerja Validasi Pergeseran Merah
Amazon Redshift berbeda dari database relasional dalam beberapa hal, termasuk penyimpanan kolumnar, MPP, kompresi data, dan faktor lainnya. Perbedaan ini memberikan Redshift profil kinerja yang berbeda dari database relasional.
Selama fase replikasi beban penuh, validasi menggunakan kueri rentang, dengan ukuran data diatur oleh pengaturan. PartitionSize
Kueri berbasis rentang ini memilih semua catatan dari tabel sumber.
Untuk replikasi yang sedang berlangsung, kueri beralih antara pengambilan berdasarkan rentang dan rekaman individual. Jenis kueri ditentukan secara dinamis berdasarkan beberapa faktor, seperti berikut ini:
Volume kueri
Jenis kueri DMLpada tabel sumber
Latensi tugas
Jumlah total catatan
Pengaturan validasi seperti
PartitionSize
Anda mungkin melihat beban tambahan di klaster Amazon Redshift karena kueri validasi. Karena faktor-faktor di atas bervariasi di seluruh kasus penggunaan, Anda harus meninjau kinerja kueri validasi Anda dan menyetel klaster dan tabel Anda sesuai dengan itu. Beberapa opsi untuk mengurangi isses kinerja meliputi yang berikut:
Kurangi
ThreadCount
pengaturanPartitionSize
dan untuk membantu mengurangi beban kerja selama validasi beban penuh. Perhatikan bahwa ini akan memperlambat validasi data.Meskipun Redshift tidak menerapkan kunci utama, AWS DMS bergantung pada kunci utama untuk mengidentifikasi catatan secara unik pada target untuk validasi data. Jika memungkinkan, setel kunci utama untuk mencerminkan kunci pengurutan sehingga kueri validasi beban penuh dijalankan lebih cepat.
Validasi data yang disempurnakan untuk AWS Database Migration Service
Validasi data yang disempurnakan sekarang tersedia di versi 3.5.4 dari mesin replikasi untuk beban penuh dan beban penuh dengan tugas migrasi CDC. Saat ini, peningkatan ini mendukung jalur migrasi dari Oracle ke PostgreSQL, SQL Server ke PostgreSQL, Oracle ke Oracle, dan SQL Server ke SQL Server.
Prasyarat
-
Oracle: berikan
EXECUTE
izinSYS.DBMS_CRYPTO
ke akun pengguna yang mengakses endpoint Oracle:GRANT EXECUTE ON SYS.DBMS_CRYPTO TO dms_endpoint_user;
-
Instal
pgcrypto
ekstensi pada database PostgreSQL:catatan
Untuk Amazon RDS untuk PostgreSQLinstances,
pgcrypto
ekstensi sudah diaktifkan.Untuk instance PostgreSQL yang dikelola sendiri, Anda perlu menginstal
contrib
pustaka modul dan membuat ekstensi:-
Instal pustaka
contrib
modul. Misalnya, pada EC2 instance Amazon dengan Amazon Linux dan PostgreSQL 15:sudo dnf install postgresql15-contrib
-
Buat
pgcrypto
ekstensi:CREATE EXTENSION IF NOT EXISTS pgcrypto;
-
-
Untuk instans Amazon RDS for PostgreSQL, konfigurasikan mode SSL untuk titik akhir: AWS DMS
-
Secara default, Amazon RDS memaksa koneksi SSL. Saat Anda membuat AWS DMS titik akhir untuk instans Amazon RDS for PostgreSQL, gunakan opsi “mode SSL” = “diperlukan”.
-
Jika Anda ingin menggunakan opsi “mode SSL” = “tidak ada”, atur
rds.force_ssl
parameter ke 0 di Grup Parameter RDS.
-
-
Untuk PostgreSQL 12 dan 13, buat agregat:
BIT_XOR
CREATE OR REPLACE AGGREGATE BIT_XOR(IN v bit) (SFUNC = bitxor, STYPE = bit);
Batasan
Fitur validasi data yang disempurnakan ini memiliki batasan sebagai berikut:
-
Persyaratan endpoint database: Peningkatan ini hanya diaktifkan untuk endpoint database yang memenuhi kriteria berikut:
Gunakan AWS Secrets Manager untuk menyimpan kredensyal.
Untuk Microsoft SQL Server, otentikasi Kerberos juga didukung.
-
Dukungan versi basis data:
PostgreSQL 12 dan lebih tinggi
Oracle 12.1 dan lebih tinggi
Untuk versi Microsoft SQL Server yang lebih rendah dari 2019, validasi tipe data NCHAR dan NVARCHAR tidak didukung.
Batasan
-
Validasi data mengharuskan tabel memiliki kunci primer atau indeks unik.
Kolom kunci primer tidak dapat berupa jenis
CLOB
,BLOB
, atauBYTE
.-
Untuk kolom kunci primer jenis
VARCHAR
atauCHAR
, panjangnya harus kurang dari 1024. Anda harus menentukan panjang dalam tipe data. Anda tidak dapat menggunakan tipe data tak terbatas sebagai kunci utama untuk validasi data. -
Kunci Oracle yang dibuat dengan
NOVALIDATE
klausa tidak dianggap sebagai kunci utama atau indeks unik. -
Untuk tabel Oracle tanpa kunci utama dan hanya kunci unik, kolom dengan kendala unik juga harus memiliki kendala.
NOT NULL
-
Validasi nilai NULL PK/UK tidak didukung.
-
Jika kolasi kolom kunci primer dalam instans PostgreSQL target tidak diatur ke "C", urutan kunci primer berbeda dibandingkan dengan urutan di Oracle. Jika urutan berbeda antara PostgreSQL dan Oracle, validasi data gagal untuk memvalidasi catatan.
-
Validasi data menghasilkan kueri tambahan terhadap basis data sumber dan target. Anda harus memastikan bahwa kedua basis data memiliki cukup sumber daya untuk menangani beban tambahan ini. Ini terutama berlaku untuk target Redshift. Untuk informasi lebih lanjut, lihat Kinerja Validasi Pergeseran Merah berikut ini.
-
Validasi data tidak didukung saat mengkonsolidasikan beberapa database menjadi satu.
-
Untuk sumber atau target titik akhir Oracle, AWS DMS gunakan DBMS_CRYPTO untuk memvalidasi. LOBs Jika endpoint Oracle Anda menggunakan LOBs, maka Anda harus memberikan izin eksekusi pada dbms_crypto ke akun pengguna yang digunakan untuk mengakses endpoint Oracle. Anda dapat melakukan hal tersebut dengan menjalankan pernyataan berikut:
grant execute on sys.dbms_crypto to
dms_endpoint_user
; -
Jika database target dimodifikasi di luar AWS DMS selama validasi, maka perbedaan mungkin tidak dilaporkan secara akurat. Hasil ini dapat terjadi jika salah satu aplikasi Anda menulis data ke tabel target, saat AWS DMS melakukan validasi pada tabel yang sama.
-
Jika satu atau beberapa baris terus dimodifikasi selama validasi, maka tidak AWS DMS dapat memvalidasi baris tersebut.
-
Jika AWS DMS mendeteksi lebih dari 10.000 catatan yang gagal atau ditangguhkan, itu menghentikan validasi. Sebelum Anda melanjutkan lebih jauh, selesaikan masalah yang mendasari dengan data tersebut.
-
AWS DMS tidak mendukung validasi data tampilan.
-
AWS DMS tidak mendukung validasi data saat pengaturan tugas substitusi karakter digunakan.
AWS DMS tidak mendukung validasi tipe Oracle LONG.
AWS DMS tidak mendukung validasi tipe Oracle Spatial selama migrasi heterogen.
Validasi data mengabaikan kolom-kolom tersebut dalam tabel yang transformasi masking datanya ada dalam pemetaan tabel.
Validasi data melewatkan seluruh tabel jika ada aturan transformasi masking data untuk kolom PK/UK. Status validasi akan ditampilkan sebagai Tidak ada kunci utama untuk tabel tersebut.
Untuk batasan saat menggunakan validasi target S3, lihat. Batasan untuk menggunakan validasi target S3