ADD SCHEMATRANDATA

Valido per Oracle.

Utilizzare ADD SCHEMATRANDATA per abilitare il log supplementare a livello di schema per una tabella. ADD SCHEMATRANDATA agisce su tutte le tabelle correnti e future di un determinato schema per registrare in modo automatico un superset di chiavi disponibili di cui Oracle GoldenGate ha bisogno per l'identificazione delle righe.

Nota: Oracle GoldenGate 23.6 non supporta l'abilitazione della replica logica a livello di schema per le viste JSON Relational Duality (JSON DV) e le tabelle di raccolta JSON (JCT).

Per eseguire l'operazione ADD SCHEMATRANDATA su un schema del PDB di un database multi-tenant, è necessario eseguire il login al PDB per eseguire il comando.

ADD SCHEMATRANDATA è valido per Extract e esegue le operazioni riportate di seguito.

Per impostazione predefinita ADD SCHEMATRANDATA registra le colonne di chiave di una tabella secondo l'ordine di priorità seguente:

  1. Chiave primaria

  2. In assenza della chiave primaria, tutte le chiavi univoche della tabella, comprese quelle disabilitate, inutilizzabili o invisibili. Vengono registrate anche le chiavi univoche che contengono colonne di membri ADT. Solo le chiavi univoche nelle colonne virtuali (indici basati su funzione) non vengono registrate.

  3. Se i tipi di chiave indicati non esistono, verranno registrate tutte le colonne scalari della tabella. (I valori row-OID generati dal sistema vengono sempre registrati).

ADD SCHEMATRANDATA supporta inoltre i requisiti di registrazione condizionale o non condizionale per l'uso di Integrated Replicat.

Utilizzare ADD SCHEMATRANDATA nei casi riportati di seguito.

Requisiti di registrazione a livello di database per UsingADD SCHEMATRANDATA

Oracle consiglia di attivare la modalità di log forzato per il database di origine e di abilitare il log supplementare minimo a livello di database quando si utilizza Oracle GoldenGate. In questo modo si aggiungono le eventuali informazioni di concatenamento delle righe esistenti al redo log per le operazioni di aggiornamento.

Considerazioni aggiuntive per UsingADD SCHEMATRANDATA

Sintassi

ADD SCHEMATRANDATA schema
{
[ALLOWNONVALIDATEDKEYS]
[NOSCHEDULINGCOLS | ALLCOLS]}
[NOVALIDATE]
[PARTIALJSON]
[PREPARECSN  {WAIT | LOCK | NOWAIT | NONE}]

schema

Schema per il quale si desidera registrare le informazioni di chiave supplementari. Non utilizzare un carattere jolly. Per eseguire il login ADD SCHEMATRANDATA per gli schemi in più pluggable database di un container database multi-tenant, collegarsi separatamente a ogni pluggable database con DBLOGIN, quindi eseguire il comando ADD SCHEMATRANDATA. Per il conatiner radice, è possibile aggiungere schematrandata con il prefisso contenitore ADD SCHEMATRANDATA [pdb_name].schema

Se si esegue il comando da cdb$root, accertarsi di impostare anche il seguente privilegio utente sul lato del database:

ALTER USER userID SET CONTAINER_DATA = ALL  CONTAINER = CURRENT;

ALLOWNONVALIDATEDKEYS

Include le chiavi primarie NON VALIDATED e NOT VALID nel log supplementare. Queste chiavi sostituiscono i normali criteri di selezione delle chiavi utilizzati da Oracle GoldenGate. Se viene utilizzato il parametro GLOBALS ALLOWNONVALIDATEDKEYS, ADD SCHEMATRANDATA verrà eseguito con ALLOWNONVALIDATEDKEYS, che sia stato specificato o meno. Per impostazione predefinita non vengono registrate le chiavi primarie NON VALIDATED e NOT VALID. Vedere il parametro GLOBALS ALLOWNONVALIDATEDKEYS.

NOSCHEDULINGCOLS | ALLCOLS

Queste opzioni controllano il log supplementare per un database di destinazione Oracle. È possibile utilizzarle insieme, sebbene venga utilizzata la seconda. Ad esempio, con il comando ADD SCHEMATRANDATA oggadm_ext ALLCOL NOSCHEDULINGCOLS verrebbe utilizzata l'opzione NOSCHEDULINGCOLS.

NOSCHEDULINGCOLS

Disabilita il log delle colonne di pianificazione. Per impostazione predefinita ADD SCHEMATRANDATA consente il log non condizionato della chiave primaria e il log supplementare condizionale di tutte la chiavi univoche e le chiavi esterne di tutte la tabelle correnti e future dello schema specificato. Il log non condizionale comporta l'inserimento forzato dei valori di chiave primaria nel log, indipendentemente dal fatto che la chiave sia stata modificata o meno durante l'operazione corrente. Il log condizionale registra tutti i valori di colonna di una chiave esterna o univoca se almeno uno di essi è stato modificato durante l'operazione corrente. È necessario che tutte le chiavi primarie, le chiavi univoche e le chiavi esterne di Integrated Replicat siano disponibili per il server in entrata per il calcolo delle dipendenze.

Se si abilita auto_capture, non utilizzare questa opzione. Verrà abilitata l'acquis automatico delle tabelle nello schema, a meno che la tabella, ad esempio mediante TABLEEXCLUDE, DELETE TRANDATA o ALTER TABLE DISABLE LOGICAL REPLICATION DDL, non sia esplicitamente esclusa/disabilitata per la replica.

ALLCOLS

Abilita il log supplementare non condizionale di tutte le colonne di chiave e non di chiave supportate per tutte le tabelle correnti e future dello schema specificato. Questa opzione abilita il log delle chiavi necessarie per calcolare le dipendenze, nonché delle colonne necessarie per filtrare, risolvere i conflitti o altri scopi. Le colonne di tipo LOB, LONG e ADT non sono incluse.

NOVALIDATE

Valida per tutti i database supportati da ADD SCHEMATRANDATA.

Elimina le informazioni aggiuntive relative alla tabella elaborata da ADD SCHEMATRANDATA. Per impostazione predefinita, questa opzione è abilitata. L'elaborazione delle informazioni aggiuntive comporta la creazione di un intervallo nella risposta del comando, pertanto questa opzione può essere utilizzata per aumentare il tempo di risposta.

PARTIALJSON

Valido per Oracle.

Recupera gli aggiornamenti JSON parziali a livello di schema. Se abilitato, il redo includerà i record JSON parziali.

Vedere anche il parametro TRANLOGOPTIONS FETCHPARTIALJSON.

PREPARECSN {WAIT | LOCK | NOWAIT | NONE}

Valida per Oracle sia per DML che per DDL.

Prepara automaticamente le tabelle nell'origine in modo che il file di dump di esportazione di Oracle Data Pump includa i valori CSN di creazione delle istanze. Replicat utilizza il valore CSN di creazione delle istanze per tabella impostato da Oracle Data Pump (all'importazione) per filtrare i record di trail. Nella destinazione l'importazione di Data Pump popola le tabelle e le viste del sistema con i SCN di creazione delle istallazioni utilizzando il parametro DBOPTIONS ENABLE_INSTANTIATION_FILTERING per abilitare l'applicazione di filtri di creazione istanze a livello di tabella.

WAIT

Rimane in attesa di eventuali transazioni in esecuzione e prepara la creazione delle istanze di tabella.

LOCK

Applica un lock alla tabella (per preparare la creazione delle istanze di tabella).

NOWAIT

Funzionamento predefinito: la preparazione alla creazione delle istanze di tabella viene eseguita immediatamente.

NONE

Non si verifica alcuna preparazione per la creazione di istanze.

Esempio


Il comando seguente abilita il log supplementare per lo schema hr.

ADD SCHEMATRANDATA hr

Nell'esempio seguente vengono registrate tutte le colonne di chiave e non di chiave supportate per tutte le tabelle correnti e future dello schema denominato hr.

ADD SCHEMATRANDATA hr ALLCOLS

Nell'esempio seguente viene eliminata l'elaborazione delle informazioni aggiuntive della tabella.

ADD SCHEMATRANDATA hr NOVALIDATE