Global outage event
If you're experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Come posso risolvere i problemi di replica dei dati e gli errori di CDC quando utilizzo AWS DMS per eseguire la migrazione di database di origine in Amazon Redshift?
Quando utilizzo AWS Database Migration Service (AWS DMS) per eseguire la migrazione di database di origine in Amazon Redshift, ho problemi di replica dei dati e di errori di acquisizione dei dati di modifica (CDC).
Risoluzione
Errori di CDC
Se riscontri errori di CDC, esamina i log delle attività di AWS DMS per individuare eventuali messaggi di errore relativi a tabelle specifiche. Puoi anche controllare le metriche di Amazon CloudWatch CDCLatencySource e CDCLatencyTarget per l'attività AWS DMS.
Intraprendi una o più delle seguenti azioni in base al messaggio di errore che ricevi:
- Verifica che le tabelle di origine abbiano chiavi primarie. Per le origini PostgreSQL, le tabelle acquisite devono avere una chiave primaria per consentire ad AWS DMS di elaborare le operazioni DELETE e UPDATE.
- Verifica di aver impostato il periodo di conservazione dei log delle modifiche nel database di origine su almeno 24 ore.
- Assicurati che l'account AWS utilizzato da AWS DMS abbia le autorizzazioni richieste sia per il database di origine che per quello di destinazione.
Incongruenze dei dati
Per risolvere le incongruenze dei dati, completa i passaggi seguenti:
- Crea un'attività di sola convalida per identificare i record non corrispondenti tra l'origine e la destinazione. Per ulteriori informazioni, consulta Prestazioni di convalida di Redshift.
- Esegui una query sulla tabella awsdms_validation_failures_v1 del database di destinazione per visualizzare le incongruenze.
- Individua nella tabella awsdms_apply_exceptions del database di destinazione informazioni dettagliate sugli errori riguardanti le migrazioni non riuscite.
- Verifica che tutte le tabelle di destinazione replicate abbiano una chiave primaria o un indice univoco.
Nota: Amazon Redshift non applica vincoli a livello di indice univoco, chiave primaria e chiave esterna. Quindi potrebbero verificarsi duplicati. - Se utilizzi PostgreSQL come origine, devi definire chiavi primarie per le tabelle di origine e di destinazione.
- Per le tabelle con incongruenze, ricaricale utilizzando l'attività AWS DMS.
Problemi di conversione dei tipi
Per risolvere i problemi di conversione dei tipi, completa i seguenti passaggi:
-
Esamina i log delle attività di AWS DMS per individuare eventuali errori correlati al troncamento dei dati o alla lunghezza della stringa che supera la lunghezza DDL (Data Definition Language).
-
Controlla nella tabella awsdms_apply_exceptions se sono presenti migrazioni non riuscite.
-
Modifica i tipi di dati delle colonne del database Redshift di destinazione per adattarli a dati più grandi. Ad esempio, cambia varchar in text per le colonne con problemi di lunghezza.
-
Modifica il parametro MaxLobSize nelle impostazioni dell'attività per gestire dati di dimensioni maggiori, come mostrato nel seguente esempio:
{ "TargetMetadata": { "MaxLobSize": 32 } } -
Verifica di utilizzare un tipo di dati supportato e assicurati di aver mappato correttamente l'origine e la destinazione.
Problemi di prestazioni e latenza elevata
Per migliorare le prestazioni e ridurre la latenza, intraprendi le seguenti azioni:
- Esamina le metriche di CloudWatch CDCLatencySource e CDCLatencyTarget CloudWatch per l'attività AWS DMS. Se i valori indicano latenza, consulta la seguente documentazione:
Come faccio a risolvere i problemi di latenza elevata su un'attività di AWS DMS?
Come posso risolvere i problemi di latenza di origine elevata su un'attività di AWS DMS? - Accertati di utilizzare le dimensioni e la configurazione dell'istanza di replica corrette per il carico di lavoro.
- Utilizza le impostazioni delle attività multithread ParallelLoadThreads, ParallelLoadBufferSize, ParallelApplyThreads e ParallelApplyBufferSize per le attività di caricamento completo e CDC.
- Aumenta le impostazioni della memoria per consentire ad AWS DMS di conservare le transazioni in memoria più a lungo, come mostrato nel seguente esempio:
{ "ChangeProcessingTuning": { "MemoryLimitTotal": 20240, "MemoryKeepTime": 120 } }
Record duplicati
Per evitare la duplicazione dei record, intraprendi le seguenti azioni:
- Verifica che le tabelle di destinazione replicate abbiano una chiave primaria o un indice univoco.
- Crea manualmente tabelle nella destinazione con chiavi primarie e imposta TargetTablePrepMode su DO_NOTHING o TRUNCATE_BEFORE_LOAD nelle impostazioni dell'attività.
- Utilizza la regola di mappatura delle tabelle AWS DMS **primary-key-def ** per definire in modo esplicito le chiavi primarie.
Dati mancanti o incompleti
Per risolvere problemi di dati mancanti o incompleti, intraprendi le seguenti azioni:
- Esamina i log delle attività AWS DMS per individuare eventuali avvisi o errori correlati a tabelle specifiche.
- Controlla la metrica CDCIncomingChanges per determinare se AWS DMS acquisisce tutte le modifiche dall'origine.
- Verifica che l'account utente del database di origine utilizzato da AWS DMS abbia le autorizzazioni necessarie per accedere a tutte le tabelle e gli schemi richiesti.
- Crea un'attività di sola convalida per identificare i record non corrispondenti. Per ulteriori informazioni, consulta Prestazioni di convalida di Redshift.
- Per le tabelle con problemi ricorrenti, puoi creare singole attività AWS DMS per risolverli in modo più granulare.
Informazioni correlate
Best practice per AWS Database Migration Service
Risoluzione dei problemi relativi alle attività di migrazione in AWS Database Migration Service
- Argomenti
- Migration & Modernization
- Lingua
- Italiano
