Utilizzo dei file di log di ripetizione del database Oracle

Durante Change Data Capture, Datastream legge i file di log di ripristino 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 di ripristino corrente viene ruotato (o cambiato), il processo di archiviazione copia questo file in uno spazio di archiviazione di archivio. Nel frattempo, il database promuove un altro file da utilizzare come file corrente.

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

Accedere ai file redo log

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

  • Oracle LogMiner: un'utilità predefinita inclusa nei database Oracle. Se configuri Datastream in modo che utilizzi 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 API LogMiner è single-thread ed è soggetto a latenza più elevata e velocità effettiva 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 con i file di log di ripristino online e 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, 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 o funzionalità di dati. Per ulteriori informazioni, vedi Limitazioni note.

Imposta 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 cambiati 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 ed eliminando quelli meno recenti.

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

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

    Questo non è l'orario esatto di cambio del log, perché tiene conto del tempo necessario per archiviarlo. Il valore predefinito è 0 (nessun limite superiore) ed è consigliabile un valore ragionevole pari a 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.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Utilizza questo comando per modificare il limite superiore.

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

Passaggi successivi