Utilizzo dei file di log di ripetizione del database Oracle

Database Migration Service utilizza l'API Oracle LogMiner, che fa parte di Oracle Database, per eseguire query sui file di log di ripetizione archiviati. Questi file contengono informazioni sulla cronologia dell'attività su un database. 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.

Quando Database Migration Service utilizza l'API Oracle LogMiner, non accede ai file di log di ripetizione online, ma funziona solo con i file di log archiviati. L'accesso ai file di log di ripetizione archiviati aggiunge intrinsecamente una certa latenza al processo di migrazione. Questa pagina descrive la configurazione suggerita per i database di origine Oracle per controllare l'impatto della latenza.

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

Questo design ha profonde implicazioni sulla potenziale latenza di Database Migration Service. Se i file di log di ripetizione Oracle vengono cambiati di frequente o mantenuti di dimensioni ridotte (ad esempio, < 256 MB), Database Migration Service 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: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 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.
    • 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;