Aggiungi un'estrazione per MongoDB
Extract è un processo eseguito sulla connessione all'origine dati di origine e che estrae o acquisisce i dati. Imparare ad aggiungere un Extract per MongoDB.
Aggiungi un estratto (26ai)
Prima di iniziare, assicurarsi di effettuare le operazioni riportate di seguito.
-
Rivedere i dettagli specifici di questo tipo di connessione di origine.
-
Configurare un set di replicate MongoDB:
-
OCI GoldenGate for Big Data utilizza il log delle operazioni (oplog) per leggere i record CDC (Change Data Capture). Oplog è una raccolta con limite in MongoDB che mantiene un record in sequenza di tutte le operazioni che modificano il database. I file Oplog vengono creati quando un set di repliche è abilitato in MongoDB.
-
MongoDB Atlas è preconfigurato con un set Replicat. Per le distribuzioni MongoDB in locale, è necessario configurare e distribuire manualmente un set Replicat per abilitare le funzionalità oplog e CDC. Per MongoDB on premise, è necessario distribuire un set di replica.
-
-
Avere MongoDB versione 3.6 o successiva.
-
Disporre del supporto OCI GoldenGate per acquisire le operazioni seguenti:
INSERT,UPDATE,DELETE.
Per aggiungere un Extract in per MongoDB:
-
Nel menu di navigazione della console di distribuzione OCI GoldenGate, selezionare Estrazioni.
-
Nella pagina Estrazioni selezionare Aggiungi estrazione.
-
Nel pannello Aggiungi estrazione, nella pagina Estrai informazioni, completare i campi riportati di seguito in base alle esigenze, quindi selezionare Avanti.
-
Immettere un valore nel campo Nome processo con una lunghezza massima di 8 caratteri.
-
Immettere una descrizione (facoltativo) per facilitare la distinzione tra questo processo e altri.
-
Selezionare un'origine dall'elenco a discesa.
-
-
Nella pagina Opzioni di estrazione, completare i campi riportati di seguito in base alle esigenze, quindi selezionare Successivo.
-
Per l'Extract Trail:
-
Immettere un Nome per il processo di estrazione.
-
Immettere un nome della sottodirectory per impostare una posizione personalizzata per il file trail generato.
-
Immettere Sequenza percorso per impostare il numero iniziale per i file trail.
-
Immettere una Dimensione percorso per impostare la dimensione massima per il file trail generato.
-
Selezionare un profilo di cifratura. Il profilo Wallet locale viene selezionato per impostazione predefinita se non è stato creato un profilo di cifratura.
-
Selezionare un algoritmo di cifratura:
-
NONE
-
AES256
-
AES192
-
AES128
-
-
-
Per Credenziali di origine, selezionare:
-
Dominio
-
un alias.
-
Quando/dove iniziare
-
-
-
Nella pagina Opzioni gestite completare i campi facoltativi riportati di seguito in base alle esigenze, quindi selezionare Successivo.
-
Nome profilo
-
Critico per lo stato di distribuzione
-
Avvio automatico
-
Riavvio automatico
Nota: l'aggiunta di un profilo e la configurazione delle opzioni di avvio automatico e riavvio automatico consentono alla distribuzione di riavviarsi automaticamente dopo un'interruzione della rete. Per ulteriori informazioni, vedere Configura processi gestiti.
-
-
Nella pagina File dei parametri, aggiornare il mapping di origine con
TABLE source.*;Nota: questo è il mapping database/raccolta di origine.
TABLE *.*;restituisce il processo di estrazione da tutti i database/raccolte. -
Selezionare Crea ed esegui per creare e avviare l'estrazione. Se si seleziona Crea, è possibile avviare manualmente l'estrazione in un secondo momento dalla pagina Estrazioni.
Aggiungi un estratto (21c)
-
Nella console di distribuzione OCI GoldenGate, assicurarsi di trovarsi nella pagina Panoramica del servizio di amministrazione, quindi selezionare Aggiungi estrazione (icona più).
-
Nella pagina Aggiungi estrazione, per il tipo Estrazione selezionare una delle opzioni riportate di seguito, quindi selezionare Successivo.
-
Caricamento iniziale
-
Change Data Capture
-
-
Nella pagina Opzioni di estrazione, completare i campi come indicato di seguito, quindi selezionare Successivo.
-
In Nome processo, immettere un nome per l'estrazione.
-
Per Alias connessione, selezionare l'alias di connessione dall'elenco a discesa.
-
Per Origine, selezionare File.
-
In Nome file, immettere almeno tre caratteri per il nome file.
-
(Facoltativo) In Opzioni gestite è possibile configurare quanto segue:
-
Nome profilo
-
Avvio automatico
-
Riavvio automatico
Nota: l'aggiunta di un profilo e la configurazione delle opzioni di avvio automatico e riavvio automatico consentono alla distribuzione di riavviarsi automaticamente dopo un'interruzione della rete. Per ulteriori informazioni, vedere Configurare i processi gestiti.
-
-
-
Nella pagina File dei parametri, aggiornare il mapping di origine con
TABLE source.*;Nota: questo è il mapping database/raccolta di origine.
TABLE *.*;restituisce il processo di estrazione da tutti i database/raccolte. -
Selezionare Crea ed esegui.
Si torna alla pagina Panoramica del servizio di amministrazione. Selezionare il nome estrazione per visualizzare i dettagli e i report dell'estrazione.
Problemi noti
Le repliche non riescono quando si utilizza il file trail da MongoDB Extract con BINARY_JSON_FORMAT
Quando un Replicat utilizza un file trail generato da un'estrazione MongoDB con BINARY_JSON_FORMAT nel file dei parametri Extract, il Replicat non riesce con il seguente errore:
ERROR 2023-08-04 17:13:13.000421 [main] - Unable to decode column 0 : Input length = 1
java.nio.charset.MalformedInputException: Input length = 1 at
java.nio.charset.CoderResult.throwException(CoderResult.java:281) ~[?:1.8.0_311]at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816) ~[?:1.8.0_311] at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1106)
[ggdbutil-21.9.0.0.3.001.jar:21.9.0.0.3.001] Exception in thread "main"
oracle.goldengate.util.GGException: Unable to decode column 0 : Input length = 1 at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1203)
Soluzione: quando BINARY_JSON_FORMAT viene rimosso dai parametri Extract, Replicat viene eseguito correttamente e i documenti vengono rappresentati in formato JSON esteso.