Considerazioni operative sul metodo di acquisizione CDC

Informazioni sulle opzioni, le funzionalità e le impostazioni consigliate di SQL Server CDC Capture.

Tuning di SQL Server - Modifica acquisizione dati

Le informazioni riportate di seguito sono utili per migliorare le prestazioni di acquisizione dell'estrazione.

Controllo delle versioni degli oggetti CDC Oracle GoldenGate

Oracle GoldenGate fornisce un sottosistema di registrazione delle versioni per tenere traccia degli oggetti CDC creati da Oracle GoldenGate quando si abilita il log supplementare. Questi oggetti sono:

Parametri di estrazione supportati e non supportati per SQL Server Change Data Capture

Informazioni sui parametri utilizzati con Estrazione CDC. Nella tabella seguente sono elencati i parametri supportati e non supportati.

Parametri supportati Parametri non supportati
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

TRANLOGOPTIONS LOB_CHUNK_SIZE

Il parametro Extract LOB_CHUNK_SIZE viene aggiunto per il metodo CDC Capture per supportare oggetti di grandi dimensioni. Se hai enormi dimensioni di dati LOB, allora puoi regolare LOB_CHUNK_SIZE dal valore predefinito di 4000 byte, a un valore superiore fino a 65535 byte, in modo che la dimensione di recupero sia aumentata, riducendo i viaggi necessari per recuperare l'intero LOB.

Esempio: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

Il parametro Extract MANAGECDCCLEANUP/NOMANAGECDCCLEANUP viene utilizzato dal metodo di acquisizione CDC per indicare a Extract se gestire o meno i dati del checkpoint di recupero nel job di cleanup CDC di Oracle GoldenGate. Il checkpoint di recupero viene mantenuto, ma la rimozione della tabella o delle tabelle ct non verrà eseguita se anche il job di cleanup CDC di SQL Server non è abilitato. È necessario per la rimozione.

Il valore predefinito è MANAGECDCCLEANUP e non deve essere elencato esplicitamente in Extract. Tuttavia, è necessario creare il job di cleanup CDC di Oracle GoldenGate prima di avviare Extract. MANAGECDCCLEANUP deve essere utilizzato per tutti gli ambienti di produzione, dove NOMANAGECDCCLEANUP può essere utilizzato per implementazioni temporanee e di test in base alle esigenze.

Esempio: TRANLOGOPTIONS MANAGECDCCLEANUP

TRANLOGOPTIONS EXCLUDEUSER/EXCLUDETRANS

Il job Acquisizione CDC di SQL Server non acquisisce le informazioni utente o i nomi di transazione associati a una transazione e poiché queste informazioni non sono registrate nelle tabelle di staging CDC, Extract non prevede alcun metodo per escludere DML da un utente o DML specifico di un nome di transazione specifico. I parametri EXCLUDEUSER e EXCLUDETRANS non sono pertanto validi per il processo di acquisizione CDC.

TRALOGOPTIONS GESTISCEPUNTO DI TRONCAMENTO/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT

Il job SQL Server Change Data Capture è l'unico processo che acquisisce i dati dal log delle transazioni quando si utilizza il metodo di acquisizione CDC di Oracle GoldenGate. La gestione dei punti di troncamento secondari non è gestita dall'estrazione e, per l'estrazione di acquisizione dati modifica, questi parametri non sono validi.

TRANLOGOPTIONS SEMPRE IN LETTURA

Il parametro ALWAYSONREADONLYROUTING consente a Extract per SQL Server di instradare la propria elaborazione di sola lettura a un secondario con intento di lettura disponibile quando si è connessi a un listener del gruppo di disponibilità Sempre attivo.

TIMEOUT QUERY TRANLOGOPTIONS

Specifica per quanto tempo le query di SQL Server attenderanno i risultati prima di segnalare un messaggio di errore di timeout. Questa opzione richiede un valore intero per rappresentare il numero di secondi. Il valore predefinito del timeout di query è 300 secondi (5 minuti). Il valore minimo è di 0 secondi (timeout infinito). Il massimo è di 2147483645 secondi.

CONTEGGIO TRANSAZIONI TRANLOGOPTIONS

Consente la rettifica del numero di transazioni elaborate per ogni chiamata tramite Extract per estrarre i dati dalle tabelle intermedie di acquisizione dei dati di modifica di SQL Server. In base al carico di lavoro delle transazioni, la modifica di questo valore può migliorare il throughput della velocità di acquisizione, anche se non tutti i carichi di lavoro saranno interessati in modo positivo. Il valore minimo è 1, il massimo è 100 e il valore predefinito è 10.

Dettagli del processo di cleanup CDC di Oracle GoldenGate

Il task Rimuovi dati di modifica di Oracle GoldenGate è obbligatorio per un'estrazione CDC per impostazione predefinita, poiché l'opzione Estrai viene impostata automaticamente su TRANLOGOPTIONS MANAGECDCCLEANUP.

Deve essere presente un solo task di rimozione per ogni database abilitato per CDC Capture ed è necessario creare il task utilizzando i passi indicati nella sezione Prepara database per Oracle GoldenGate di questo documento.

Modifica del task Rimuovi dati di modifica di Oracle GoldenGate

La pianificazione della frequenza dei task di rimozione e il periodo di conservazione dei dati predefiniti per il task Rimuovi dati di modifica di Oracle GoldenGate devono essere eseguiti ogni 10 minuti, con un criterio di conservazione dei dati di 3 giorni o 1 ora, a seconda della versione di Oracle GoldenGate installata.

Per i requisiti specifici del cliente, potrebbe essere necessario adeguare il periodo di conservazione (opzione Conserva regola) e la pianificazione del runtime del task (opzione Frequenza rimozione).

L'opzione Conserva regola determina, in ore o giorni, la quantità di dati di staging CDC da conservare nel database di origine. A seconda della versione di Oracle GoldenGate installata, i valori predefiniti sono 3 giorni o 1 ora. I periodi di conservazione dei dati CDC inferiori riducono la quantità di dati di staging CDC memorizzati nel database, ma limitano la possibilità per un utente di riposizionare l'estrazione in un periodo di tempo precedente a quello dei dati esistenti nelle tabelle di staging. In genere, non sarebbe necessario riposizionare un Extract esistente in un point-in-time precedente, quindi si consiglia di utilizzare l'impostazione predefinita più recente di 1 ora a meno che non vi sia un caso specifico che richiede più dati di staging per rimanere nel database. Si noti che se si modifica questo valore da un periodo di conservazione più elevato a un periodo di conservazione molto breve, la prossima volta che viene eseguita la pianificazione del task, potrebbe consumare molto spazio di log delle transazioni e sovraccarico del sistema. Si consiglia quindi di ridurre lentamente il valore Keep Rule nel tempo, fino a raggiungere il valore finale desiderato.

La frequenza di rimozione rappresenta la frequenza di esecuzione del task, con un valore predefinito ogni 10 minuti. Si consiglia di mantenere il valore predefinito a meno che il sovraccarico del task di rimozione non influisca sulle prestazioni del database durante i periodi di elevata attività dell'utente.

Per modificare un task Rimuovi dati di modifica esistente, passare a Configurazione dal menu a sinistra del servizio di amministrazione e aprire la pagina Configurazione. 1. Fare clic su Task nella pagina Configurazione per aprire la pagina Task.

  1. Fare clic su Rimuovi dati modifica nella pagina Task.

  2. Fare clic sull'icona Modifica task accanto a un task esistente.

  3. Modificare i valori delle opzioni Conserva regola e Rimuovi frequenza in base alle esigenze.

  4. Per salvare le modifiche, fare clic su Sottometti.

Eliminazione del task Rimuovi dati modifica di Oracle GoldenGate

L'eliminazione di un task Rimuovi dati di modifica per un database deve essere eseguita solo se non sono configurate estrazioni da acquisire per il database specifico.

Per eliminare un task Rimuovi dati di modifica esistente, passare all'opzione Configurazione dal menu a sinistra del servizio di amministrazione e aprire la pagina Configurazione. 1. Fare clic su Task nella pagina Configurazione per aprire la pagina Task.

  1. Fare clic su Rimuovi dati modifica nella pagina Task.

  2. Fare clic sull'icona Elimina task accanto al task da rimuovere.

Aggiornamento da estrazione classica a estrazione CDC

Se si prevede di passare dall'uso di un'estrazione classica da Oracle GoldenGate 12c (12.3.0.1) o versione precedente a un'estrazione CDC Oracle GoldenGate 26ai, è necessario rimuovere il log supplementare implementato utilizzando il metodo di installazione di Classic Extract, e riabilitare la registrazione supplementare utilizzando i file binari di installazione di CDC Extract, poiché le chiamate per abilitare TRANDATA sono diverse tra le due versioni e l'implementazione di TRANDATA per Classic Extract non è supportata da CDC Extract.

Seguire queste linee guida generali per rimuovere e riabilitare la registrazione supplementare. Se si esegue la migrazione da Classic a CDC Extract in un sistema di produzione, è necessario considerare e pianificare in modo particolare. Le informazioni qui fornite non coprono tutti i requisiti e sono offerte solo come requisiti generali per la registrazione supplementare:

  1. Assicurarsi che l'estrazione classica abbia elaborato tutti i dati rimanenti nei log e che possa essere interrotta in modo esteso.

  2. Effettuare una delle operazioni riportate di seguito, a seconda dell'esecuzione di Extract in relazione ad altri componenti di replica o CDC.

    • Se Extract non era in esecuzione contemporaneamente alla replica transazionale di SQL Server o a una configurazione CDC non Oracle nello stesso database, aprire una sessione di query in Management Studio ed eseguire l'istruzione seguente sul database di origine per disabilitare ed eliminare qualsiasi componente CDC o di replica e per cancellare il punto di troncamento secondario.

      EXEC sys.sp_cdc_disable_db

    • Se Extract era in esecuzione in modo concorrente con la replica transazionale di SQL Server o una configurazione CDC non Oracle nello stesso database, eseguire Admin Client dalla cartella di installazione di Classic Extract, eseguire il login al database di origine con DBLOGIN e quindi eseguire il comando seguente per ogni tabella presente nella configurazione Extract. È possibile utilizzare un carattere jolly per specificare più nomi di tabella

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. Eliminare eventuali voci della tabella di heartbeat installate.

    DELETE HEARTBEATTABLE

  4. Utilizzando i file binari di installazione di Oracle GoldenGate CDC Extract, seguire i passi elencati in Prepara il database per Oracle GoldenGate per riabilitare il log supplementare e altri componenti necessari e aggiungere di nuovo la tabella di heartbeat.