Impostazioni delle attività per la gestione degli errori - AWS Servizio di migrazione del Database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostazioni delle attività per la gestione degli errori

Puoi impostare il comportamento di gestione degli errori dell'attività di replica utilizzando le impostazioni seguenti. Per informazioni su come utilizzare un file di configurazione dell'attività per impostare le impostazioni dell'attività, consulta Esempio di impostazioni delle attività.

  • DataErrorPolicy— Determina l'azione intrapresa da AWS DMS in caso di errore relativo all'elaborazione dei dati a livello di record. Alcuni esempi di errori di elaborazione dei dati includono gli errori di conversione, gli errori di trasformazione e i dati non validi. Il valore predefinito è LOG_ERROR.

    • IGNORE_RECORD: l'attività continua e i dati per tale record vengono ignorati. Il conteggio degli errori per la proprietà DataErrorEscalationCount viene incrementato. Pertanto, se imposti un limite agli errori per una tabella, questo errore viene conteggiato fino al raggiungimento del limite.

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • DataTruncationErrorPolicy: determina l'azione effettuata da AWS DMS quando i dati sono troncati. Il valore predefinito è LOG_ERROR.

    • IGNORE_RECORD: l'attività continua e i dati per tale record vengono ignorati. Il conteggio degli errori per la proprietà DataErrorEscalationCount viene incrementato. Pertanto, se imposti un limite agli errori per una tabella, questo errore viene conteggiato fino al raggiungimento del limite.

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • DataErrorEscalationPolicy: determina l'azione effettuata da AWS DMS quando il numero massimo di errori (impostato nel parametro DataErrorEscalationCount) viene raggiunto. Il valore predefinito è SUSPEND_TABLE.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • DataErrorEscalationCount: imposta il numero massimo di errori che possono verificarsi per i dati per un record specifico. Quando questo numero viene raggiunto, i dati per la tabella che contiene il record di errore vengono gestiti in base al set di policy in DataErrorEscalationPolicy. Il valore predefinito è 0.

  • EventErrorPolicy— Determina l'azione intrapresa da AWS DMS quando si verifica un errore durante l'invio di un evento relativo all'attività. I valori possibili sono:

    • IGNORE: l'attività continua e tutti i dati associati all'evento vengono ignorati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • TableErrorPolicy: determina l'azione effettuata da AWS DMS quando si verifica un errore durante l'elaborazione dei dati o dei metadati per una tabella specifica. Questo errore si applica solo ai dati di tabella generali e non è correlato a un record specifico. Il valore predefinito è SUSPEND_TABLE.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • TableErrorEscalationPolicy: determina l'azione effettuata da AWS DMS quando il numero massimo di errori (impostato mediante il parametro TableErrorEscalationCount) viene raggiunto. L'impostazione predefinita e l'unica disponibile per l'utente è STOP_TASK, in base alla quale l'attività viene arrestata ed è necessario l'intervento manuale.

  • TableErrorEscalationCount: il numero massimo di errori che possono verificarsi per i dati o i metadati generali per una tabella specifica. Quando questo numero viene raggiunto, i dati per la tabella vengono gestiti in base al set di policy in TableErrorEscalationPolicy. Il valore predefinito è 0.

  • RecoverableErrorCount: il numero massimo di tentativi effettuati per riavviare un'attività quando si verifica un errore ambientale. Dopo che il sistema ha tentato di riavviare l'attività il numero specificato di volte, l'attività viene arrestata ed è necessario l'intervento manuale. Il valore predefinito è -1, che indica di tentare di riavviare AWS DMS l'attività all'infinito. Quando si imposta questo valore su -1, il numero di tentativi effettuati da DMS varia in base al tipo di errore restituito nel modo seguente:

    • Stato di esecuzione, errore ripristinabile: se si verifica un errore recuperabile, ad esempio una connessione persa o un errore nell'applicazione di un obiettivo, DMS riprova l'operazione nove volte.

    • Stato iniziale, errore recuperabile: DMS riprova l'operazione sei volte.

    • Stato di esecuzione, errore irreversibile gestito da DMS: DMS riprova l'operazione sei volte.

    • Stato in esecuzione, errore irreversibile non gestito da DMS: DMS non riprova l'operazione.

    Per fare in modo che non venga mai tentato di riavviare un'attività, imposta il valore su 0.

    Si consiglia di impostare RecoverableErrorCount e impostare valori tali RecoverableErrorInterval da consentire un numero sufficiente di tentativi a intervalli sufficienti per consentire il corretto ripristino dell'attività DMS. Se si verifica un errore irreversibile, nella maggior parte degli scenari DMS interrompe i tentativi di riavvio.

  • RecoverableErrorInterval— Il numero di secondi che AWS DMS attende tra un tentativo e l'altro per riavviare un'attività. Il predefinito è 5.

  • RecoverableErrorThrottling: se abilitato, l'intervallo tra i tentativi di riavvio di un'attività viene aumentato in una serie in base al valore di RecoverableErrorInterval. Ad esempio, se RecoverableErrorInterval è impostato su 5 secondi, il tentativo successivo verrà eseguito dopo 10 secondi, quindi 20, 40 secondi e così via. Il valore predefinito è true.

  • RecoverableErrorThrottlingMax— Il numero massimo di secondi che AWS DMS attende tra i tentativi di riavvio di un'attività, se abilitata. RecoverableErrorThrottling Il valore predefinito è 1800.

  • RecoverableErrorStopRetryAfterThrottlingMax— Se impostato sutrue, interrompe il riavvio dell'attività dopo aver raggiunto il numero massimo di secondi di AWS DMS attesa tra i tentativi di ripristino, per. RecoverableErrorThrottlingMax

  • ApplyErrorDeletePolicy: determina quale azione viene effettuata da AWS DMS se si verifica un conflitto con un'operazione DELETE. Il valore predefinito è IGNORE_RECORD. I valori possibili sono i seguenti:

    • IGNORE_RECORD: l'attività continua e i dati per tale record vengono ignorati. Il conteggio degli errori per la proprietà ApplyErrorEscalationCount viene incrementato. Pertanto, se imposti un limite agli errori per una tabella, questo errore viene conteggiato fino al raggiungimento del limite.

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • ApplyErrorInsertPolicy: determina quale azione viene effettuata da AWS DMS se si verifica un conflitto con un'operazione INSERT. Il valore predefinito è LOG_ERROR. I valori possibili sono i seguenti:

    • IGNORE_RECORD: l'attività continua e i dati per tale record vengono ignorati. Il conteggio degli errori per la proprietà ApplyErrorEscalationCount viene incrementato. Pertanto, se imposti un limite agli errori per una tabella, questo errore viene conteggiato fino al raggiungimento del limite.

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

    • INSERT_RECORD: se è presente un record di destinazione esistente con la stessa chiave primaria del record di origine inserito, il record di destinazione viene aggiornato.

  • ApplyErrorUpdatePolicy: determina quale azione viene effettuata da AWS DMS se si verifica un conflitto con un'operazione UPDATE. Il valore predefinito è LOG_ERROR. I valori possibili sono i seguenti:

    • IGNORE_RECORD: l'attività continua e i dati per tale record vengono ignorati. Il conteggio degli errori per la proprietà ApplyErrorEscalationCount viene incrementato. Pertanto, se imposti un limite agli errori per una tabella, questo errore viene conteggiato fino al raggiungimento del limite.

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

    • UPDATE_RECORD— Se manca il record di destinazione, il record di destinazione mancante viene inserito nella tabella di destinazione. AWS DMS disabilita completamente il supporto delle colonne LOB per l'attività. La selezione di questa opzione richiede l'abilitazione del log supplementare completo per tutte le colonne della tabella di origine se Oracle è il database di origine.

  • ApplyErrorEscalationPolicy— Determina l'azione intrapresa da AWS DMS quando viene raggiunto il numero massimo di errori (impostato utilizzando il ApplyErrorEscalationCount parametro). Il valore predefinito è LOG_ERROR:

    • LOG_ERROR: l'attività continua e l'errore viene scritto nel log delle attività.

    • SUSPEND_TABLE: l'attività continua, ma i dati provenienti dalla tabella con il record di errore vengono spostati in uno stato di errore e i dati non vengono replicati.

    • STOP_TASK: l'attività viene interrotta ed è necessario l'intervento manuale.

  • ApplyErrorEscalationCount: questa opzione imposta il numero massimo di conflitti APPLY che possono verificarsi per una tabella specifica durante un'operazione di elaborazione delle modifiche. Quando questo numero viene raggiunto, i dati della tabella vengono gestiti in base alla policy impostata nel parametro ApplyErrorEscalationPolicy. Il valore predefinito è 0.

  • ApplyErrorFailOnTruncationDdl: imposta questa opzione su true per causare l'errore dell'attività quando un troncamento viene eseguito su una qualsiasi delle tabelle tracciate durante l'operazione CDC. Il valore predefinito è false.

    Questo approccio non funziona con PostgreSQL 11.x o versioni precedenti oppure qualsiasi altro endpoint di origine che non replica il troncamento della tabella DDL.

  • FailOnNoTablesCaptured: imposta questa opzione su true per causare l'errore dell'attività quando le mappature della tabella definite per un'attività non trovano alcuna tabella all'avvio dell'attività. Il valore predefinito è false.

  • FailOnTransactionConsistencyBreached: questa opzione si applica alle attività mediante Oracle come origine con l'operazione CDC. Il valore predefinito è false. Impostala su true per causare l'errore dell'attività quando una transazione viene aperta per un periodo di tempo maggiore rispetto al timeout specificato e può essere eliminata.

    Quando un'attività CDC inizia con Oracle, AWS DMS attende per un periodo di tempo limitato la chiusura della transazione aperta più vecchia prima di avviare CDC. Se la transazione aperta più vecchia non si chiude fino al raggiungimento del timeout, nella maggior parte dei casi AWS DMS avvia CDC, ignorando quella transazione. Se questa opzione è impostata su true, l'attività ha esito negativo.

  • FullLoadIgnoreConflicts— Imposta questa opzione in modo da true AWS DMS ignorare gli errori «zero righe interessate» e «duplicati» quando si applicano gli eventi memorizzati nella cache. Se impostato sufalse, AWS DMS riporta tutti gli errori invece di ignorarli. Il valore predefinito è true.

Tieni presente che gli errori di caricamento delle tabelle in Redshift come destinazione sono riportati in STL_LOAD_ERRORS. Per ulteriori informazioni, consulta STL_LOAD_ERRORS nella Guida per gli sviluppatori di database di Amazon Redshift.