Gestione di errori transitori e permanenti in Replicat per Google Spanner
In Google Spanner esistono due categorie di errori: transient o permanent. Mentre gli errori transitori possono essere ripetuti, gli errori permanenti non possono essere risolti semplicemente ripetendo. Richiede l'esecuzione dell'azione correttiva prima di riprovare la transazione.
Scopri i dettagli degli errori transitori e permanenti e la loro gestione in Oracle GoldenGate Replicat.
Gestione degli errori di replica durante le operazioni DML per Google Spanner
In Spanner, se un DML genera un errore (transitorio o permanente) all'interno di una transazione, tale transazione diventa non valida e inutilizzabile. La stessa transazione non può quindi essere sottoposta a commit parzialmente né essere rieseguita.
È necessario eseguire un nuovo tentativo per tutti i DML in tale transazione utilizzando un nuovo oggetto transazione. Solo il DML in errore non può essere rieseguito all'interno di una transazione non valida.
Per la chiave primaria duplicata e per la riga non trovata, è necessario utilizzare il livello DML REPERROR. Per tutti gli altri errori di Google Cloud Spanner, viene utilizzata la gestione del livello di transazione REPERROR.
Per tutti gli altri errori di Spanner, è supportata solo la gestione REPERROR a livello di transazione. Le azioni REPERROR supportate per Google Cloud Spanner sono TRANSDISCARD, TRANSEXCEPTION, TRANSABORT.
Consulta REPERROR in Riferimento su parametri e funzioni per Oracle GoldenGate.
Gestione degli errori transitori
Gli errori transitori indicano condizioni temporanee che hanno un'alta probabilità di successo dopo un nuovo tentativo. Al rilevamento di tali errori, si consiglia di riprovare a eseguire la transazione con REPERROR.
Di seguito è riportata la strategia REPERROR per la gestione degli errori transitori:
Sintassi:
REPERROR (*status code*, TRANSABORT, MAXRETRIES *n*, DELAYSECS *n*)
-
TRANSABORT: ritentare l'intera transazione. -
MAXRETRIES: viene risolta entro 3-5 tentativi. -
DELAYSECS: backoff applicato da Replicat.
Gestione degli errori permanenti
Quando vengono rilevati errori permanenti, Oracle GoldenGate Replicat viene interrotto con un errore dopo il rollback della transazione. È necessario risolvere il problema di base nel database Spanner prima di riavviare Replicat.