Utilizzo dei file di log di ripetizione del database Oracle

Durante il rilevamento dei dati modificati, Datastream legge i file di log redo di Oracle per monitorare le modifiche ai database di origine e replicarle nell'istanza di destinazione. Ogni database Oracle ha un insieme di file di log di ripetizione online. Tutti i record delle transazioni nel database vengono registrati nei file. Quando il file di log corrente viene ruotato (o modificato), il processo di archiviazione lo copia in uno spazio di archiviazione dell'archivio. Nel frattempo, il database promuove un altro file come file corrente.

Il connettore Oracle di Datastream estrae gli eventi di Change Data Capture (CDC) dai file di log di ripetizione Oracle archiviati.

Accedere ai file di log redo

Datastream può utilizzare l'API Oracle LogMiner o il metodo di lettura di file binari per accedere ai file di log di ripetizione:

  • Oracle LogMiner: un'utilità pronta all'uso inclusa nei database Oracle. Se configuri Datastream per utilizzare l'API Oracle LogMiner, Datastream può funzionare solo con i file di log di ripetizione archiviati, mentre i file di log di ripetizione online non sono supportati. Il metodo dell'API LogMiner è a thread singolo ed è soggetto a una latenza più elevata e a una velocità effettiva inferiore quando si utilizzano 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 con i file di log redo sia online che archiviati. Il lettore di file binari può accedere ai file di log utilizzando la gestione automatica dello archiviazione (ASM) o leggendo i file direttamente utilizzando gli oggetti della directory del database. Il lettore di file binari è multithread e supporta la CDC a bassa latenza. Inoltre, ha un impatto ridotto sul database di origine, poiché i log di ripristino 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 ulteriori informazioni, consulta Limitazioni note.

Impostare i parametri di configurazione per i file di log di ripetizione di Oracle

Questo design ha implicazioni profonde sulla potenziale latenza di Datastream. Se i file di log di ripetizione di Oracle vengono sostituiti di frequente o mantenuti di dimensioni ridotte (ad esempio, < 256 MB), Datastream può replicare le modifiche più rapidamente.

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

  • Dimensioni: i file di log di ripetizione 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 e eliminando quelli precedenti.

    Per trovare le dimensioni dei file di log di ripetizione online, esegui la seguente query:

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

    Non si tratta del momento esatto del passaggio del log, perché viene preso in considerazione il tempo necessario per archiviarlo. Il valore predefinito è 0 (nessun limite superiore) e viene suggerito un valore ragionevole pari o inferiore a 1800 (o 30 minuti).

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

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Questo comando mostra il numero di secondi necessari per l'intervallo del log corrente.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Utilizza questo comando per modificare il limite superiore.

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

Passaggi successivi