Utilizzo di più gruppi di processi

In genere, per l'acquisizione efficiente da un database è necessario un solo gruppo Extract. Tuttavia, a seconda dei valori redo (transazionali) o dei dati e dei tipi di operazione, è possibile che sia necessario aggiungere uno o più gruppi Extract alla configurazione.

Analogamente, in genere è necessario un solo gruppo Replicat per applicare i dati a un database di destinazione se si utilizza Replicat in modalità coordinata. Tuttavia, anche in alcuni casi quando si utilizza Replicat in modalità coordinata, potrebbe essere necessario utilizzare più gruppi Replicat. Se si utilizza Replicat in modalità classica e le applicazioni generano un volume elevato di transazioni, probabilmente sarà necessario utilizzare gruppi Replicat paralleli.

Ogni componente di Oracle GoldenGate, Extract, trail, DISTPATH e Replicat, è un modulo indipendente, pertanto puoi combinarlo in modo da soddisfare le tue esigenze. Puoi utilizzare più trail e processi Extract e Replicat paralleli per gestire grandi volumi di transazioni, migliorare le prestazioni, eliminare i colli di bottiglia, ridurre la latenza o isolare l'elaborazione di dati specifici.

Il diagramma riportato di seguito mostra alcuni dei modi in cui è possibile configurare Oracle GoldenGate per migliorare la velocità di throughput e superare i problemi di larghezza di banda della rete.

Le configurazioni di bilanciamento del carico che migliorano le prestazioni mostrano alcuni dei modi in cui è possibile configurare Oracle GoldenGate per migliorare la velocità di throughput e superare i problemi di larghezza di banda della rete.

Le etichette delle immagini implicano quanto segue:

Linee guida per l'utilizzo di più gruppi di processi

Prima di configurare più gruppi di elaborazione, esaminare le linee guida riportate di seguito per assicurarsi che la configurazione produca i risultati previsti e mantenga l'integrità dei dati.

Gestione dell'integrità dei dati

Non tutti i carichi di lavoro possono essere partizionati tra più gruppi e conservano comunque l'atomicità della transazione originale. È necessario determinare se gli oggetti in un gruppo avranno mai dipendenze su oggetti in qualsiasi altro gruppo, transazionale o altro. Ad esempio, le tabelle per le quali il carico di lavoro aggiorna regolarmente la chiave primaria non possono essere partizionate facilmente in questo modo. La replica DDL (se supportata per il database) non è valida in questa modalità, né l'uso di alcune funzioni SQLEXEC o EVENTACTIONS che basano le proprie azioni su un record specifico.

Se le tabelle non dispongono di dipendenze di chiave esterna o aggiornamenti alle chiavi primarie, è possibile utilizzare più processi. Mantieni il DML correlato insieme nello stesso flusso di processi per garantire l'integrità dei dati.

Numero di gruppi

Il numero di gruppi di processi Extract e Replicat concorrenti che possono essere eseguiti su un sistema dipende dalla quantità di memoria di sistema disponibile. Ogni processo Extract e Replicat classico richiede circa 25-55 MB di memoria o più, a seconda della dimensione delle transazioni e del numero di transazioni concorrenti. L'interfaccia dei comandi di Oracle GoldenGate supporta in modo completo fino a 5.000 gruppi Extract e Replicat concorrenti (combinati) per ogni istanza di Oracle GoldenGate. Al livello supportato è possibile controllare e visualizzare tutti i gruppi in maniera completa mediante comandi quali INFO e STATUS

Oltre il livello supportato, le informazioni sul gruppo non vengono visualizzate e potrebbero verificarsi errori. Oracle GoldenGate consiglia di mantenere il numero di gruppi Extract e Replicat (combinati) a un livello più gestibile, ad esempio 100 o inferiore, per gestire l'ambiente in modo efficace. Il numero massimo di gruppi è controllato dal parametro MAXGROUPS, che ha un valore predefinito di 1000.

Per gli ambienti Windows Server, il numero di gruppi di processi che è possibile eseguire è strettamente associato alle impostazioni di memoria heap del desktop Windows "non interattivo". Le impostazioni predefinite per l'heap desktop di Windows possono essere sufficienti per eseguire un numero molto ridotto di gruppi di processi, ma man mano che ci si avvicina a grandi quantità di gruppi di processi, più di 60 o giù di lì, sarà necessario regolare il ' valore non interattivo del campo SharedSection nel registro, basato su queste informazioni di Microsoft (memoria heap desktop Windows), o aumentare il numero di home Oracle GoldenGate e distribuire il numero totale di gruppi di processi desiderati in queste home. Nota: per ulteriori informazioni sulla modifica della memoria heap di Windows Desktop, consultare il documento della Oracle Knowledge Base riportato di seguito (ID documento 2056225.1).

Memoria

Il sistema deve disporre di spazio di swap sufficiente per ogni processo Extract e Replicat di Oracle GoldenGate in esecuzione. Per determinare lo spazio di swap richiesto:

  1. Avviare un Extract o Replicat.

  2. Esegui client di amministrazione.

  3. Visualizzare il file del report e trovare la riga PROCESS VM AVAIL FROM OS (min).

  4. Arrotonda il valore al gigabyte completo successivo, se necessario. Ad esempio, arrotondare per eccesso 1.76GB a 2 GB.

  5. Moltiplicare tale valore per il numero di processi Extract e Replicat che verranno eseguiti. Il risultato è la quantità massima di spazio di swap che potrebbe essere richiesta

Per ulteriori informazioni sulla gestione della memoria, vedere il parametro CACHEMGR in Parameters and Functions Reference for Oracle GoldenGate.

Isolamento di tabelle estese all'elaborazione

È possibile utilizzare più gruppi di processi per supportare determinati tipi di tabelle che tendono a interferire con l'elaborazione normale e a generare latenza sulla destinazione. Ad esempio: