Recuperare uno stream

Puoi recuperare un flusso di dati non riusciti definitivamente senza doverne creare uno nuovo. Puoi farlo specificando la posizione da cui Datastream tenta di per riprendere la lettura delle modifiche dalla fonte.

Panoramica del recupero dello stream

Un flusso in esecuzione può riscontrare errori irreversibili e il suo stato può essere modificato in FAILED_PERMANENTLY. Questi errori impediscono al flusso di continuare a essere eseguito. potrebbe causare la perdita di dati.

Puoi recuperare un flusso di dati non riusciti definitivamente impostandolo in modo che ignori l'errore e continuare a leggere gli eventi in corso invece di ricreare il flusso e i dati storici. Per recuperare un flusso di dati non riuscito definitivamente, devi reimpostare il di replica per iniziare a leggere da una posizione di replica diversa. Ciascun tipo supportato del tipo di origine ha una propria definizione di posizione di replica:

  • Per le origini Oracle, una posizione di replica è un file di log di ripetizione nel database e il numero della modifica di sistema (SCN) in questo file.
  • Per le origini MySQL, una posizione di replica è il log binario del database (binlog) e la posizione in questo file.
  • Per le origini SQL Server, una posizione di replica è il numero di sequenza dei log nei log delle transazioni o nelle tabelle delle modifiche.
  • Per le origini PostgreSQL (tra cui AlloyDB per PostgreSQL), una posizione di replica è il numero di sequenza di log (LSN) nello slot di replica. Durante il recupero, il flusso inizia a leggere dal primo LSN nello slot di replica.

Recupera un flusso per un'origine MySQL o Oracle

Per recuperare un flusso per un'origine MySQL o Oracle, hai a disposizione le seguenti opzioni:

  • Riprova dalla posizione corrente (consigliato): seleziona questa opzione per tentare di trasmettere in streaming dalla posizione corrente, dove l'ultimo stream non è riuscito. Devi prima correggere il file di log o recuperarlo dal backup. Questo è il l'opzione consigliata.

  • Salta la posizione corrente e trasmetti il flusso dalla successiva posizione disponibile: se uno o più file di log mancanti, seleziona questa opzione per ignorare questi file e riprendi il flusso di dati dalla prima posizione nel file successivo disponibile. La le modifiche ai file di log mancanti andranno perse, ma puoi recuperarle eseguendo un backfill.

  • Salta la posizione corrente e trasmetti il flusso dalla posizione più recente: se uno o più file di log mancanti, seleziona questa opzione per ignorare questi file e riprendi la trasmissione del flusso dalla posizione più recente nel file di log più aggiornato. Le modifiche ai file di log mancanti andranno perse, ma puoi recuperarle eseguendo un backfill.

  • Riprendi dalla posizione e dal file di flusso dei dati preferiti: seleziona questa opzione per riprendere il flusso da una posizione di log e un file di log specifici. Alcune modifiche potrebbero andrà persa se la posizione di log specificata non si sovrappone o non si sovrappone immediatamente segui la posizione di log persa. Puoi recuperare queste modifiche eseguendo un backfill.

Per recuperare un flusso di dati con errore permanente per un'origine MySQL o Oracle, esegui segui questi passaggi:

  1. Vai alla pagina Stream in Google Cloud.

    Vai alla pagina Stream

  2. Fai clic su Recupera nella riga con il nome del flusso che vuoi recuperare.

  3. Si apre il riquadro Scegli una strategia di recupero. Seleziona un'opzione. Se selezioni Riprendi dalla posizione e dal file di flusso dei dati preferiti, inserisci quanto segue:

    • Per un'origine MySQL: il nome del file di log nel campo Nome file e la posizione del log nel campo Posizione. Se non specifichi la posizione, il flusso riprende dalla prima posizione nel file di log indicato.
    • Per un'origine Oracle: il numero della modifica di sistema (SCN) nella sezione Modifica di sistema Numero (SCN). Questo campo è obbligatorio.
  4. Fai clic su Applica.

  5. Quando lo stream viene recuperato, viene visualizzato un timestamp nella colonna Recuperato. nella pagina Stream.

Recupera un flusso per un'origine PostgreSQL

Per recuperare un flusso per un'origine PostgreSQL, devi fornire la replica il nome dello slot. Il server utilizza questo slot di replica per inviare eventi a Datastream. Il nome dello slot di replica può essere uguale allo slot utilizzato per il flusso di dati non riuscito oppure diverso:

Eventuali eventi di modifica all'origine che si sono verificati tra la perdita della posizione del log e il primo LSN nel nuovo slot di replica andrà perso. Puoi recuperare queste modifiche eseguendo un backfill.

Per recuperare un flusso di dati con errore permanentemente non riuscito per un'origine PostgreSQL, esegui la seguenti passaggi:

  1. Vai alla pagina Stream in Google Cloud.

    Vai alla pagina Stream

  2. Fai clic su Recupera nella riga con il nome del flusso che vuoi recuperare.

  3. Viene visualizzato il riquadro Definisci un nuovo slot di replica.

  4. Nel campo Nome slot di replica, indica il nome della nuova replica slot da cui il flusso tenterà di recuperare. Se hai ricreato la replica con lo stesso nome oppure vuoi riutilizzare l'area specificata configurato l'origine, puoi lasciare vuoto questo campo.

  5. Fai clic su Applica.

  6. Quando lo stream viene recuperato, viene visualizzato un timestamp nella colonna Recuperato. nella pagina Stream.

Puoi anche recuperare i flussi di dati non riusciti definitivamente dalla sezione Dettagli stream. . A questo scopo, fai clic su Recupera stream quando visualizzi informazioni dettagliate in merito al tuo stream.

Recupera un flusso per un'origine SQL Server

Per recuperare un flusso per un'origine SQL Server, hai a disposizione le opzioni seguenti:

  • Riprendi dalla prima posizione disponibile: seleziona questa opzione se il log è stato troncato o mancano alcuni record nelle tabelle delle modifiche. Vuoi riprendere l'operazione dal primo evento disponibile. Gli eventi mancanti andranno persi, ma puoi recuperarli eseguendo un backfill.

  • Riprendi dal numero di sequenza di log (LSN) preferito: seleziona questa opzione per riprendi il flusso da un LSN specifico nei log delle transazioni o nelle tabelle delle modifiche. Alcuni eventi potrebbero andare persi se l'LSN specificato non si sovrappone o non si sovrappone immediatamente segue l'ultimo LSN che Datastream è stato in grado di recuperare. Puoi recuperare questi eventi eseguendo un backfill.

    L'LSN nei log delle transazioni e nelle tabelle delle modifiche contiene 20 valori esadecimali ma per i log delle transazioni è separato da un delimitatore. Ad esempio:

    • LSN nei log delle transazioni: 0000123C:0000BA78:0004
    • LSN nelle tabelle di modifica: 0000123C0000BA780004

Per recuperare un flusso di dati con errore permanente per un'origine SQL Server, esegui la seguenti passaggi:

  1. Vai alla pagina Stream in Google Cloud.

    Vai alla pagina Stream

  2. Fai clic su Recupera nella riga con il nome del flusso che vuoi recuperare.

  3. Si apre il riquadro Scegli una strategia di recupero. Seleziona un'opzione.

  4. Fai clic su Applica.

  5. Quando lo stream viene recuperato, viene visualizzato un timestamp nella colonna Recuperato. nella pagina Stream.

Utilizza il recupero del flusso per un'origine MySQL in uno scenario di failover manuale

Puoi eseguire un failover manuale e utilizzare il recupero dello streaming per evitare di ricreare i flussi di dati da zero durante la manutenzione o un errore dell'istanza principale. In genere, Datastream non supporta i failover alle repliche perché interrompono la continuità del binlog, ma puoi seguire questi passaggi per recuperare e assicurarti che i dati delle modifiche vengano acquisiti:

  1. Arresta tutte le scritture sull'istanza principale.
  2. Assicurati che la metrica di aggiornamento dei dati sia impostata su 0. Ciò significa che Datastream ha acquisito tutte le modifiche e non ci sono nuovi eventi da leggere dall'origine. Per Per ulteriori informazioni, consulta la sezione Monitorare uno stream.
  3. Esegui il failover sulla nuova istanza di database.
  4. Se necessario, aggiorna il profilo di connessione del flusso alla nuova istanza di database (ad esempio, potresti dover modificare il nome host o l'indirizzo IP del database). Per ulteriori informazioni, consulta Modificare i profili di connessione.
  5. Recupera il flusso da una posizione specifica sull'istanza di failover per garantire la continuità del CDC.