REGISTER EXTRACT
Questo comando si applica a Oracle AI Database e PostgreSQL.
Oracle AI Database
Questo comando registra un gruppo Extract primario per abilitare la modalità di acquisizione integrata e specificare le opzioni per Extract integrato da un container database multi-tenant
Per annullare l'iscrizione di un gruppo Extract nel database, utilizzare il comando UNREGISTER EXTRACT.
Sintassi:
REGISTER EXTRACT group-name
( , DATABASE
( [ CONTAINER container-list |
ADD CONTAINER container-list |
DROP CONTAINER container-list ]
[ SCN scn ]
[ SHARE ( AUTOMATIC | group-name | NONE ) ]
[ [NO]OPTIMIZED ]
) )
Container-list è una lista separata da virgole di nomi PDB, ad esempio (pdbeast, pdbwest); o nomi PDB con caratteri jolly, ad esempio (pdb* or pdb?); o entrambi, ad esempio (cdbnorth, pdb*). I caratteri jolly Supportati sono ? e *.
L'opzione OPTIMIZED migliora l'avvio rapido di Extract. Il valore predefinito è NOOPTIMIZED. L'opzione OPTIMIZED interessa solo una configurazione non multi-tenant a monte.
DATABASE [
CONTAINER (container[, ...]) |
ADD CONTAINER (container[, ...]) |
DROP CONTAINER (container[, ...])
]
Valido per Oracle.
Senza opzioni, DATABASE abilita l'acquisizione integrata da un database Non CDB per il gruppo Extract. In questa modalità Extract si integra al server log mining del database per ricevere i dati di modifica nel formato LCR (Logical Change Record). Extract non legge i redo log. Extract esegue l'elaborazione di acquisizione, la trasformazione e altri requisiti. L'applicazione di filtri DML viene eseguita dal server log mining.
Prima di usare REGISTER EXTRACT con DATABASE, utilizzare il comando DBLOGIN USERIDALIAS per tutte le estrazioni con i privilegi concessi tramite la procedura dbms_goldengate_auth.grant_admin_privilege. Se si dispone di una configurazione a valle, è necessario eseguire anche il comando MININGDBLOGIN. Se il database di origine che si sta registrando è un database CDB e Extract recupererà i dati, grant_admin_privilege deve essere chiamato con il parametro CONTAINER=>'ALL'.
Dopo avere utilizzato REGISTER EXTRACT, utilizzare ADD EXTRACT con l'opzione INTEGRATED TRANLOG per creare un gruppo Extract che abbia lo stesso nome.
CONTAINER (container[, ...])
Applica la registrazione a una lista di uno o più pluggable database (container) di un container database (CDB) multi-tenant. Specificare uno o più pluggable database come lista delimitata da virgole tra parentesi, ad esempio: CONTAINER (pdbeast, pdbwest). I pluggable database inseriti nella lista devono esistere nel database. È possibile specificare i pluggable database anche utilizzando i caratteri jolly * e ?. Ad esempio, CONTAINER (pdb*).
ADD CONTAINER (container[, ...])
Aggiunge il pluggable database specificato a una configurazione di acquisizione Extract esistente. Specificare uno o più pluggable database sottoforma di lista delimitata da virgole tra parentesi oppure utilizzando i caratteri jolly * e ?. Ad esempio, ADD CONTAINER (pdbeast, pdbwest). Prima di eseguire il comando REGISTER EXTRACT con questa opzione, arrestare il gruppo Extract.
Per Oracle, l'aggiunta di container in corrispondenza di un valore SCN particolare in un gruppo Extract esistente non è supportata.
DROP CONTAINER (container[, ...])
Elimina il pluggable database specificato da una configurazione di acquisizione Extract esistente. Specificare uno o più pluggable database sottoforma di lista delimitata da virgole tra parentesi oppure utilizzando i caratteri jolly * e ?. Ad esempio, DROP CONTAINER (pdbeast, pdbwest).
La registrazione dell'opzione Extract dopo l'esecuzione dell'opzione drop container non si verifica completamente finché Extract non è stato avviato e avrà letto una transazione da un pluggable database eliminato maggiore del valore SCN del checkpoint Extract. Successivamente Extract eliminerà completamente i contenitori e verrà arrestato con un messaggio.
Before running REGISTER EXTRACT with this option, stop the Extract group.
SCN system_change_number
Registra Extract per l'avvio dell'acquisizione in corrispondenza di un numero SCN (System Change Number) nel passato. Senza questa opzione, l'acquisizione ha inizio dal momento dell'esecuzione di REGISTER EXTRACT. Il numero SCN specificato deve corrispondere al numero SCN iniziale di un'operazione di creazione di un dizionario nel file di log. Per trovare tutti i valori SCN validi dai dump del dizionario a livello di CDB, è possibile eseguire la query seguente:
SELECT first_change#
FROM v$archived_log
WHERE dictionary_begin = 'YES' AND
standby_dest = 'NO' AND
name IS NOT NULL AND
status = 'A';
Tuttavia, questa query non funziona quando si registra un'estrazione per PDB. Per identificare l'SCN iniziale dei dump del dizionario disponibili per un PDB specifico, è possibile effettuare le operazioni riportate di seguito.
-
Connettersi al PDB.
-
Eseguire il comando
show con_idper ottenere l'identificativo PDB. -
Eseguire la query seguente per elencare tutti i dump del dizionario disponibili in ordine decrescente:
SELECT DATE_OF_BUILD, START_SCN FROM dba_logmnr_dictionary_buildlog WHERE CONTAINER_ID = PDB identifier ORDER BY DATE_OF_BUILD DESC;
Quando viene utilizzato da solo, il valore SCN è il numero SCN iniziale dell'operazione di creazione di un dizionario nel file di log.
Quando viene utilizzato in combinazione con SHARE AUTOMATIC o SHARE extract_name, il valore SCN specificato è il valore start_scn per la sessione di acquisizione ed è soggetta alle limitazioni seguenti:
-
deve essere minore o uguale al valore SCN corrente;
-
deve essere maggiore del primo SCN (minimo) delle acquisizioni esistenti.
{SHARE [ AUTOMATIC | extract | NONE]}
Valido per Oracle.
Registra Extract per tornare a una build di dizionario dati LogMiner esistente con un valore SCN specificato creando una copia. Ciò consente una creazione di Extract più rapida mediante l'utilizzo delle build di dizionario esistenti.
SHARE non può essere utilizzato con un CDB.
Sono supportati i comandi seguenti:
REGISTER EXTRACT extract database SCN #### SHARE AUTOMATIC
REGISTER EXTRACT extract database SCN #### SHARE extract
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
Oppure
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
Al contrario, i comandi seguenti non sono supportati in una configurazione a valle:
REGISTER EXTRACT extract DATABASE SHARE AUTOMATIC
REGISTER EXTRACT extract DATABASE SHARE extract
AUTOMATIC
Esegue la duplicazione dall'acquisizione più vicina esistente. Se non viene rilevato alcun candidato di duplicazione adeguato, verrà creata una nuova build.
extract
Esegue la duplicazione dalla sessione di acquisizione associata per l'Extract specificato. Se ciò non è possibile, si verificherà un errore e il registro non verrà completato.
NONE
Non esegue la duplicazione e non crea una nuova build; si tratta dell'impostazione predefinita.
In una configurazione a valle, la clausola SHARE deve essere utilizzata insieme alla clausola SCN durante l'iscrizione per Extract.
PostgreSQL
Questo comando crea uno slot per la replica nel database di origine connesso e garantisce che il database PostgreSQL non rimuova il log delle transazioni finché lo slot non viene spostato o rimosso. Prima di eseguire il comando ADD EXTRACT è necessario eseguire il comando REGISTER EXTRACT.
Prima di registrare Extract, è necessario connettersi all'istanza di database PostgreSQL utilizzando DBLOGIN USERIDALIAS.
È inoltre possibile registrare un'estrazione dall'interfaccia Web del servizio di amministrazione di Oracle GoldenGate. Per i dettagli, vedere Registra estrazione per PostgreSQL nella documentazione sui microservizi di Oracle GoldenGate.
È inoltre possibile impostare le opzioni di streaming per PostgreSQL, utilizzando il parametro TRANLOGOPTIONS STREAMINGOPTIONS, per fornire i parametri durante l'avvio della replica. Per informazioni dettagliate, consultare TRANLOGOPTIONS.
Nota: a partire dalla release 21c (21.3) di Oracle GoldenGate, non è obbligatorio immettere database_name.
Sintassi:
REGISTER EXTRACT group_name
oppure
REGISTER EXTRACT group_name PGPLUGINTYPE pgoutput;
Nota: per eseguire la registrazione in modo esplicito con il plugin pgoutput, è necessario specificare il tipo di plugin pgoutput nel comando. Se non si seleziona il plugin pgoutput, viene impostato il tipo di plugin predefinito test_decoding.
oppure
REGISTER EXTRACT group_name MIGRATE replication_slot_name
oppure
REGISTER EXTRACT group_name with DATABASE database_name
oppure
group_name
Nome del gruppo Extract da registrare. Non utilizzare un carattere jolly.
MIGRATE replication_slot_name
Valido per PostgreSQL.
In caso di upgrade di Oracle GoldenGate, in cui la directory di installazione è diversa per i processi Extract, è necessario REGISTER EXTRACT con l'opzione MIGRATE.
replication_slot_name è il nome di qualsiasi slot di replica esistente presente nel database. Questo comando crea un nuovo slot per replica copiando le informazioni LSN presenti nello slot originale replication_slot_name. Lo slot di replica copiato inizia dallo stesso LSN di quello originale.
Nota: lo slot di replica originale deve essere presente nello stesso database da cui si desidera creare un nuovo slot.
PGPLUGINTYPE test_decoding | pgoutput
Valido per PostgreSQL.
Questa opzione è stata aggiunta per consentire la selezione del plugin di decodifica logica per PostgreSQL. È possibile selezionare test_decoding o pgoutput. Per impostazione predefinita, CDC Extract viene registrato utilizzando il tipo di plugin test_decoding. Pertanto, se non si specifica pgplugintype come pgoutput, test_decoding verrà utilizzato automaticamente.
Esempi
REGISTER EXTRACT exte LOGRETENTION
REGISTER EXTRACT exte DATABASE
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbwest, pdbsouth)
REGISTER EXTRACT exte DATABASE ADD CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE DROP CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE SCN 136589
Il valore SCN iniziale della build del dizionario è 136589.
REGISTER EXTRACT exte DATABASE SCN 67000 SHARE extw
Il valore SCN di avvio valido, 67000 in questo caso; non deve essere necessariamente il valore SCN corrente.
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbeast, pdbsouth) SCN 136589
Per PostgreSQL con il tipo di plugin specificato come PGOUTOPUT:
REGISTER EXTRACT exte PGPLUGINTYPE pgoutput WITH DATABASE hr