Utilizzo dei file di log di ripetizione del database Oracle

Datastream estrae gli eventi di Change Data Capture (CDC) dai file di redo log di Oracle per replicare le modifiche dal database di origine alla destinazione. I database Oracle registrano tutte le transazioni nei file di redo log online e archiviano questi file quando il file di log corrente viene ruotato. Puoi scegliere il modo in cui Datastream accede ai file di redo log e configurare le dimensioni dei file di log e la frequenza di rotazione per ridurre la latenza di replica.

Accedi ai file di redo log

Datastream può utilizzare l'API Oracle LogMiner o il metodo del lettore binario per accedere ai file di redo log:

  • Oracle LogMiner: un'utilità pronta all'uso inclusa nei database Oracle. Se configuri Datastream per l'utilizzo dell'API Oracle LogMiner, Datastream può funzionare solo con i file di redo log archiviati. I file di redo log online non sono supportati. Il metodo dell'API LogMiner è single-thread ed è soggetto a una latenza più elevata e a un throughput inferiore quando si lavora con database di origine con un numero elevato di transazioni. LogMiner supporta la maggior parte dei tipi di dati e delle funzionalità del database Oracle.

  • Lettore binario (anteprima): un'utilità specializzata ad alte prestazioni che funziona sia con i file di redo log online sia con quelli archiviati. Il lettore binario può accedere ai file di log utilizzando Automatic Storage Management (ASM) o leggendo i file direttamente utilizzando gli oggetti della directory del database. Il lettore binario è multithread e supporta CDC a bassa latenza. Inoltre, l'impatto sul database di origine è minimo, poiché i redo log vengono analizzati al di fuori delle operazioni del database. Il metodo CDC del lettore binario ha un supporto limitato per determinati tipi di dati o funzionalità. Per saperne di più, consulta Limitazioni note.

Imposta i parametri di configurazione per i file di redo log di Oracle

Quando utilizzi il metodo CDC LogMiner, questo design ha implicazioni profonde sulla potenziale latenza di Datastream. Poiché LogMiner legge solo dai log archiviati, se i file di redo log di Oracle vengono cambiati di frequente o mantenuti di dimensioni ridotte (ad esempio, < 256 MB), Datastream può replicare le modifiche più velocemente. Questo non si applica al metodo del lettore binario, che legge attivamente dai file di redo log online.

Esistono parametri di configurazione che puoi impostare per controllare la frequenza di rotazione dei file di log:

  • Dimensioni: i file di redo log online hanno una dimensione minima di 4 MB e la dimensione predefinita dipende dal sistema operativo. Puoi modificare le dimensioni dei file di log creando nuovi file di log online ed eliminando quelli meno recenti.

    Per trovare le dimensioni dei file di redo log online, esegui questa query:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • Tempo: il parametro ARCHIVE_LAG_TARGET fornisce un limite massimo per la durata (in secondi) del log corrente del database primario.

    Non si tratta dell'ora esatta del cambio di log, perché tiene conto del tempo necessario per archiviare il log. Il valore predefinito è 0 (nessun limite superiore) e si consiglia un valore ragionevole di 1800 (o 30 minuti) o inferiore.

    Puoi utilizzare i seguenti comandi per impostare il parametro ARCHIVE_LAG_TARGET durante l'inizializzazione o mentre il database è attivo:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Questo comando mostra quanti secondi impiegherà il log corrente per estendersi.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Utilizza questo comando per modificare il limite massimo.

      Ad esempio, per impostare il limite massimo su 10 minuti (o 600 secondi), inserisci ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;

Passaggi successivi