Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS DMSvalidasi data
Topik
- Statistik tugas replikasi
- Statistik tugas replikasi dengan Amazon CloudWatch
- Memvalidasi ulang tabel selama pengerjaan tugas
- Menggunakan JSON editor untuk memodifikasi aturan validasi
- Tugas hanya validasi
- Pemecahan Masalah
- Kinerja Validasi Pergeseran Merah
- Validasi data yang disempurnakan untuk AWS Database Migration Service
- Batasan
- Validasi data target Amazon S3
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 inkremental untuk tugas CDC yang 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 CDC satu-satunya tugas 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 SQL kompatibel dengan Postgre (Postgre, Aurora PostgreSQL, atau Aurora Tanpa Server untuk SQL Postgre) SQL
-
SQLDatabase saya yang kompatibel (MySQL, MariaDB, Aurora My, atau Aurora Tanpa Server untuk SQL Saya) SQL
-
SQLServer Microsoft
-
IBMDb2 LUW
Validasi data bekerja dengan database target berikut di mana pun AWS DMS mendukungnya sebagai titik akhir target:
-
Oracle
-
Database yang SQL kompatibel dengan Postgre (Postgre, Aurora PostgreSQL, atau Aurora Tanpa Server untuk SQL Postgre) SQL
-
SQLDatabase saya yang kompatibel (MySQL, MariaDB, Aurora My, atau Aurora Tanpa Server untuk SQL Saya) SQL
-
SQLServer Microsoft
-
IBMDb2 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 akhir DMS AWS.
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 JSON file, 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 JSON file, lihatContoh pengaturan tugas.
Anda dapat melihat informasi validasi data menggunakan konsol, konsol AWS CLI, atau file. 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.
Dengan menggunakanCLI, 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
describe-table-statistics
perintah untuk menerima laporan validasi data dalam JSON format. 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 dimigrasi oleh tugas. Gunakan DescribeTableStatisticstindakan untuk menerima laporan validasi data dalam JSON format.
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. IAMizin yang 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 JSON editor untuk memodifikasi aturan validasi
Untuk menambahkan aturan validasi ke tugas menggunakan JSON editor 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 JSONeditor 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 full load saja, tugas validasi hanya selesai jauh lebih cepat daripada yang CDC setara ketika banyak kegagalan dilaporkan. Tetapi perubahan pada titik akhir sumber atau target dilaporkan sebagai kegagalan untuk mode beban penuh, kemungkinan kerugian.
Tugas hanya CDC validasi 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 CDC mode sangat lambat, kelemahan potensial.
Tugas hanya validasi harus diatur dalam arah yang sama dengan tugas replikasi, terutama untuk. CDC Ini karena tugas CDC Validation Only 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 sumber atau titik akhir 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.
CDCvalidasi saja
Tugas CDC validasi hanya memvalidasi semua baris yang ada antara tabel sumber dan target pada awal yang baru. Selain itu, tugas CDC validasi 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 CDC migrasi CDC atau Full Load+ dengan validasi diaktifkan. Dan CDC tugas dengan validasi mengaktifkan penundaan validasi ulang untuk setiap baris yang diubah berdasarkan latensi sumber dan target rata-rata.
Tetapi tugas CDC validasi 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 CDC komponen — Misalnya, jika memigrasikan Oracle
varchar2
ke Postgre SQLjsonb
, CDC validasi terus mencoba ulang 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 JSON file, 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 |
JSONstring diformat dari semua nilai kolom sumber/target yang tidak cocok untuk kunci yang diberikan. |
Berikut ini adalah contoh query untuk SQL target Saya yang akan menunjukkan semua kegagalan untuk tugas dengan menanyakan awsdms_control.awsdms_validation_failures_v1
tabel. 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 tugas adalah nilai terakhir dalam tugasARN. Misalnya, untuk tugas dengan ARN nilai arn:aws:dms:us-west- 2:5599:task:, ID sumber daya eksternal dari tugas tersebut adalah. VFPFKH4FJR3FTYKK2RYSI VFPFKH4FJR3FTYKK2RYSI
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, kompresi dataMPP, 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 DML kueri pada 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 Postgre, Oracle ke OracleSQL, dan Server ke Server. SQL SQL
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 SQL instance Postgre yang dikelola sendiri, Anda perlu menginstal pustaka
contrib
modul dan membuat ekstensi:-
Instal pustaka
contrib
modul. Misalnya, pada EC2 instance Amazon dengan Amazon Linux dan Postgre 15SQL:sudo dnf install postgresql15-contrib
-
Buat
pgcrypto
ekstensi:CREATE EXTENSION IF NOT EXISTS pgcrypto;
-
-
Untuk SQL instans Amazon RDS untuk Postgre, konfigurasikan SSL mode untuk titik akhir: AWS DMS
-
Secara default, Amazon RDS memaksa SSL koneksi. Saat Anda membuat AWS DMS titik akhir untuk SQL instans Amazon RDS untuk Postgre, gunakan opsi "SSLmode” = “diperlukan”.
-
Jika Anda ingin menggunakan opsi "SSLmode” = “tidak ada”, atur
rds.force_ssl
parameter ke 0 di Grup RDS Parameter.
-
-
Untuk Postgre SQL 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:
Postgre SQL 12 dan lebih tinggi
Oracle 12.1 dan lebih tinggi
Untuk versi Microsoft SQL Server yang lebih rendah dari 2019, validasi NCHAR dan tipe NVARCHAR data 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 pemeriksaan kolom kunci utama dalam SQL instance Postgre target tidak disetel ke “C”, urutan pengurutan kunci primer berbeda dibandingkan dengan urutan pengurutan di Oracle. Jika urutan pengurutan berbeda antara Postgre SQL dan Oracle, validasi data gagal 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 menggunakanLOBs, 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 OracleLONG.
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