DDL
Valido per
Estrai e Replicat
Nota: la replica DDL è supportata solo tra i database Oracle e Oracle e tra i database MySQL e MySQL.
Descrizione
Utilizzare il parametro DDL per effettuare le operazioni riportate di seguito.
-
abilita supporto
DDL -
filtra operazioni
DDL -
configurare un'azione di elaborazione basata su un record
DDL
Se utilizzato senza opzioni, il parametro DDL non esegue alcun filtro e provoca la propagazione di tutte le operazioni DDL come indicato di seguito.
-
Come parametro Extract acquisisce tutte le operazioni
DDLsupportate generate su tutti gli oggetti di database supportati e le invia al trail. -
Come parametro Replicat, replica tutte le operazioni
DDLdal trail di Oracle GoldenGate e le applica alla destinazione. Si tratta dello stesso comportamento predefinito senza questo parametro.
Se utilizzato con le opzioni, il parametro DDL funge da agente di filtro per includere o escludere le operazioni DDL in base a:
-
ambito
-
object type
-
tipo di operazione
-
nome oggetto
-
stringhe nella sintassi o nei commenti del comando
DDL, o entrambi
In un file di parametri è possibile utilizzare un solo parametro DDL, ma è possibile combinare più opzioni di inclusione ed esclusione per filtrare DDL al livello richiesto.
-
Le opzioni di filtro del parametro
DDLsono valide per un'estrazione primaria che acquisisce dall'origine della transazione, ma non per un'estrazione Data Pump. -
Se combinate, più specifiche delle opzioni di filtro vengono collegate in modo logico come istruzioni
AND. -
Tutti i criteri di filtro specificati con più opzioni devono essere soddisfatti affinché un'istruzione
DDLpossa essere replicata. -
Quando si utilizzano criteri di filtro complessi in un'istruzione di parametro
DDL, si consiglia di eseguire il test della configurazione in un ambiente di test prima di utilizzarla in produzione. -
Per ulteriori informazioni, vedere l'Esempio 1, "Esempio".
Nota: non utilizzare il parametro DDL per una pompa dati Extract. Questi tipi di processo non consentono il mapping o la conversione di DDL e propagheranno automaticamente i record DDL in modalità pass-through. DDL eseguito su una tabella di origine (ad esempio ALTER TABLE TableA...) verrà applicato da Replicat con lo stesso nome di tabella (ALTER TABLE TableA). Impossibile eseguire il mapping come ALTER TABLE TableB.
Per ulteriori informazioni su come utilizzare il supporto DDL di Oracle GoldenGate, vedere Oracle: replica DDL e MySQL: replica DDL nella documentazione dei microservizi Oracle GoldenGate.
Sintassi
DDL [
{AUTOSCHEMA}
{INCLUDE | EXCLUDE}
[, ALLOWEMPTYOBJECT]
[, ALLOWEMPTYOWNER]
[, MAPPED | UNMAPPED | OTHER | ALL]
[, OPTYPE <type>]
[, OBJTYPE '<type>']
[, OBJNAME <name>]
[, INSTR '<string>']
[, INSTRWORDS '<word_list>']
[, INSTRCOMMENTS '<comment_string>']
[, INSTRCOMMENTSWORDS '<word_list>']
[, SOURCECATALOG <catalog> | ALLCATALOGS]
[, STAYMETADATA]
[, EVENTACTIONS (<action>)]
]
[...]
AUTOSCHEMA
Valido per Replicat in MySQL per la replica dei dati Oracle, Oracle per MySQL e MySQL per MySQL.
L'opzione del parametro DDL AUTOSCHEMA viene utilizzata per abilitare la funzionalità di evoluzione automatica dello schema. Questa opzione è disabilitata per impostazione predefinita.
Sintassi
DDL AUTOSCHEMA
Solo le operazioni DDL MAPPED sono rilevanti per l'evoluzione automatica dello schema. Pertanto, i nomi degli oggetti specificati come parte della clausola OBJNAME nei criteri di inclusione/esclusione devono corrispondere ai nomi delle tabelle di destinazione (e non ai nomi delle tabelle di origine).
Quando si utilizza OBJNAME con MAPPED in un file dei parametri Replicat, il valore per OBJNAME deve fare riferimento al nome specificato con la clausola TARGET dell'istruzione MAP.
Per ulteriori informazioni, vedere Utilizzo dell'evoluzione automatica dello schema
INCLUDE | EXCLUDE
DDL Opzioni di filtro
Le opzioni di sintassi riportate di seguito consentono di filtrare e utilizzare il file DDL replicato da Oracle GoldenGate. Queste opzioni si applicano alle clausole INCLUDE e EXCLUDE del parametro DDL e ad altri parametri che supportano la replica DDL.
Utilizzare INCLUDE o EXCLUDE per identificare l'inizio di una clausola di inclusione o esclusione.
-
Una clausola di inclusione contiene criteri di filtro che identificano il valore
DDLche questo parametro avrà effetto. -
Una clausola di esclusione contiene criteri di filtro che escludono
DDLspecifico da questo parametro.
La clausola di inclusione o esclusione deve essere costituita dalla parola chiave INCLUDE o EXCLUDE seguita da qualsiasi combinazione valida delle altre opzioni di filtro del parametro DDL.
Se si utilizza EXCLUDE, è necessario creare una clausola INCLUDE corrispondente. Ad esempio, le seguenti espressioni non sono valide:
DDL EXCLUDE OBJNAME "hr".*
È tuttavia possibile utilizzare uno dei metodi riportati di seguito.
DDL INCLUDE ALL, EXCLUDE OBJNAME "hr"."*"
DDL INCLUDE OBJNAME fin.* EXCLUDE OBJNAME "fin.ss"
Un valore EXCLUDE ha la priorità su qualsiasi valore INCLUDEs contenente gli stessi criteri. È possibile utilizzare più clausole di inclusione ed esclusione.
Non includere oggetti DDL installati da Oracle GoldenGate in un parametro DDL, in un parametro TABLE o in un parametro MAP, né in un parametro TABLEEXCLUDE o MAPEXCLUDE. Assicurarsi che le specifiche dei caratteri jolly in tali parametri non includano gli oggetti DDL installati da Oracle GoldenGate. Questi oggetti non devono far parte della configurazione di Oracle GoldenGate, ma il processo Extract deve essere consapevole delle operazioni su di essi ed è per questo che non è necessario escluderli esplicitamente dalla configurazione con un'istruzione dei parametri EXCLUDE, TABLEEXCLUDE o MAPEXCLUDE.
ALLOWEMPTYOBJECT
Utilizzare ALLOWEMPTYOBJECT per consentire a una specifica OBJNAME di elaborare DDL che non contiene un nome oggetto. Ad esempio:
DDL INCLUDE OBJNAME sch.* ALLOWEMPTYOBJECT
ALLOWEMPTYOWNER
Utilizzare ALLOWEMPTYOWNER per consentire a una specifica OBJNAME di elaborare DDL che non contiene un nome proprietario. Ad esempio:
DDL INCLUDE OBJNAME pdb.sch.* ALLOWEMPTYOWNER
EVENTACTIONS (action)
Fa sì che il processo Extract o Replicat esegua un'azione definita in base a un record DDL nel log o nel trail delle transazioni, noto come record evento. L'evento DDL viene attivato se il record DDL è idoneo per essere scritto nel trail da Extract o da un data pump oppure per essere eseguito da Replicat, come determinato dalle altre opzioni di filtro del parametro DDL. È possibile utilizzare questo sistema per personalizzare l'elaborazione in base agli eventi del database.
Per <action>, vedere EVENTACTIONS sotto i parametri MAP e TABLE.
Linee guida per l'utilizzo di EVENTACTIONS nei record DDL:
-
CHECKPOINTBEFORE: poiché ogni recordDDLè autonomo, il recordDDLè garantito come inizio di una transazione; pertanto, l'azione eventoCHECKPOINT BEFOREè implicita per un recordDDL. -
IGNORE: questa opzione non è valida per i recordDDL. Poiché le operazioniDDLsono autonome, ignorare un record equivale a ignorare l'intera transazione.
EVENTACTIONS non supporta i seguenti oggetti DDL poiché sono oggetti derivati:
-
indici
-
trigger
-
sinonimi
-
RENAMEin una tabella eALTER TABLE RENAME
MAPPED | UNMAPPED | OTHER | ALL
Utilizzare MAPPED, UNMAPPED, OTHER e ALL per applicare INCLUDE o EXCLUDE in base all'ambito dell'operazione DDL.
-
MAPPEDapplicaINCLUDEoEXCLUDEalle operazioniDDLdell'ambitoMAPPED. Il filtroMAPPEDviene eseguito prima di applicare il filtro specificato con altre opzioni del parametroDDL. -
UNMAPPEDapplicaINCLUDEoEXCLUDEalle operazioniDDLche sono dell'ambitoUNMAPPED. -
OTHERapplicaINCLUDEoEXCLUDEalle operazioniDDLche sono di ambitoOTHER. -
ALLapplicaINCLUDEoEXCLUDEalle operazioniDDLdi tutti gli ambiti.
DDL EXCLUDE ALL è un'opzione di elaborazione speciale che gestisce i metadati degli oggetti aggiornati per Oracle GoldenGate, bloccando la replica delle operazioni DDL stesse. È possibile utilizzare DDL EXCLUDE ALL quando si utilizza un metodo diverso da Oracle GoldenGate per applicare DDL alla destinazione, ma si desidera che Oracle GoldenGate replichi le modifiche ai dati negli oggetti di destinazione. Fornisce i metadati correnti a Oracle GoldenGate man mano che gli oggetti cambiano, impedendo così l'arresto e l'avvio dei processi Oracle GoldenGate. Le seguenti condizioni speciali si applicano a DDL EXCLUDE ALL:
-
DDL EXCLUDE ALLnon richiede l'uso di una clausolaINCLUDE. -
Quando si utilizza
DDL EXCLUDE ALL, è possibile impostare il parametroWILDCARDRESOLVEsuIMMEDIATEper consentire la risoluzione immediata diDML, se necessario.
OBJNAME name
Utilizzare OBJNAME per applicare INCLUDE o EXCLUDE al nome completo di un oggetto. Per specificare correttamente i nomi degli oggetti in due e tre parti e i caratteri jolly, vedere Using Wildcards in Command Arguments.
Racchiudere i nomi degli oggetti con distinzione tra maiuscole e minuscole tra virgolette.
Esempio senza distinzione tra maiuscole e minuscole:
DDL INCLUDE OBJNAME accounts.*
Esempio con distinzione tra maiuscole e minuscole:
DDL INCLUDE OBJNAME accounts."cust"
Non utilizzare OBJNAME per l'oggetto Oracle USER, poiché OBJNAME prevede <owner.object> o <container.owner.object>, mentre USER dispone solo di uno schema.
Quando si utilizza OBJNAME con MAPPED in un file dei parametri Replicat, il valore per OBJNAME deve fare riferimento al nome specificato con la clausola TARGET dell'istruzione MAP. Ad esempio, data la seguente istruzione MAP, il valore corretto è OBJNAME fin2.*.
MAP fin.exp_*, TARGET fin2.*;
Nell'esempio seguente, un'istruzione CREATE TABLE viene eseguita come indicato di seguito in <source>.
CREATE TABLE fin.exp_phone;
La stessa istruzione viene eseguita come indicato di seguito sulla destinazione.
CREATE TABLE fin2.exp_phone;
Se un proprietario di destinazione non è specificato nell'istruzione MAP, Replicat lo mappa all'utente del database specificato con il parametro USERIDALIAS.
Per DDL che crea oggetti derivati, ad esempio un trigger, il valore di OBJNAME deve essere il nome dell'oggetto di base e non il nome dell'oggetto derivato.
Ad esempio, per includere la seguente istruzione DDL, il valore corretto è hr.accounts e non hr.insert_trig.
CREATE TRIGGER hr.insert_trig ON hr.accounts;
Per le operazioni RENAME, il valore di OBJNAME deve essere il nuovo nome di tabella. Ad esempio, per includere la seguente istruzione DDL, il valore corretto è hr.acct.
ALTER TABLE hr.accounts RENAME TO acct;
OBJTYPE <type>
Utilizzare OBJTYPE per applicare INCLUDE o EXCLUDE a un tipo specifico di oggetto di database. Per <type>, utilizzare qualsiasi tipo di oggetto valido per il database, ad esempio TABLE, INDEX e TRIGGER. Per un log delle viste materializzate e delle viste materializzate Oracle, i tipi corretti sono rispettivamente snapshot e snapshot log. Racchiudere il nome del tipo di oggetto tra apici. Ad esempio:
DDL INCLUDE OBJTYPE 'INDEX'
DDL INCLUDE OBJTYPE 'SNAPSHOT'
Per l'oggetto Oracle di tipo USER, non utilizzare l'opzione OBJNAME, poiché OBJNAME prevede owner.object o <container.owner.object>, mentre USER dispone solo di uno schema.
OPTYPE <type>
Utilizzare OPTYPE per applicare INCLUDE o EXCLUDE a un tipo specifico di operazione DDL, ad esempio CREATE, ALTER e RENAME. Per <type>, utilizzare qualsiasi comando DDL valido per il database. Ad esempio, per includere le operazioni ALTER, la sintassi corretta è la seguente:
DDL INCLUDE OPTYPE ALTER
INSTR string
Utilizzare INSTR per applicare le istruzioni INCLUDE o EXCLUDE alle istruzioni DDL che contengono una stringa di caratteri specifica all'interno della sintassi del comando stessa, ma non all'interno dei commenti. Ad esempio, il comando seguente esclude DDL che crea un indice.
DDL INCLUDE ALL EXCLUDE INSTR 'CREATE INDEX'
Racchiudere la stringa tra apici. Per la ricerca di stringhe non viene fatta distinzione tra maiuscole e minuscole.
INSTR non supporta le virgolette singole (' ') all'interno della stringa e non supporta i valori NULL.
INSTRCOMMENTS comment_string
(Valido per Oracle) Usare INSTRCOMMENTS per applicare le istruzioni INCLUDE o EXCLUDE alle istruzioni DDL che contengono una stringa di caratteri specifica all'interno di un commento, ma non all'interno del comando DDL stesso. Utilizzando INSTRCOMMENTS, è possibile utilizzare i commenti come agente di filtro.
Ad esempio, quanto segue esclude le istruzioni DDL che includono la stringa 'solo origine' nei commenti.
DDL INCLUDE ALL EXCLUDE INSTRCOMMENTS 'SOURCE ONLY'
In questo esempio le istruzioni DDL, come le seguenti, non vengono replicate.
CREATE USER john IDENTIFIED BY john /<source only>/;
Racchiudere la stringa tra virgolette singole. Per la ricerca delle stringhe non viene applicata la distinzione tra maiuscole e minuscole. È possibile combinare INSTR e INSTRCOMMENTS per filtrare una stringa nella sintassi del comando e nei commenti della stessa istruzione DDL.
INSTRCOMMENTS non supporta le virgolette singole (' ') all'interno della stringa e non supporta i valori NULL.
INSTRWORDS word_list
Usare INSTRWORDS per applicare le istruzioni INCLUDE o EXCLUDE alle istruzioni DDL contenenti le parole specificate.
Per <word_list>, fornire le parole in qualsiasi ordine, tra virgolette singole. Per includere gli spazi, inserire lo spazio (e la parola, se applicabile) tra virgolette doppie. Le virgolette doppie possono anche essere utilizzate per racchiudere le frasi.
Tutte le parole specificate devono essere presenti nel file DDL affinché INSTRWORDS abbia effetto.
Esempio:
DDL INCLUDE OPTYPE ALTER OBJTEYP 'TABLE' INSTRWORDS 'ALTER CONSTRAINT " xyz"'
Questo esempio corrisponde alle seguenti istruzioni DDL:
ALTER TABLE ADD CONSTRAINT xyz CHECK
ALTER TABLE DROP CONSTRAINT xyz
INSTRWORDS non supporta le virgolette singole (' ') all'interno della stringa e non supporta i valori NULL.
INSTRCOMMENTSWORDS word_list
(Valido per Oracle) Funziona come INSTRWORDS, ma si applica solo ai commenti all'interno di un'istruzione DDL, non alla sintassi DDL stessa. Utilizzando INSTRCOMMENTS, è possibile utilizzare i commenti come agente di filtro.
INSTRCOMMENTSWORDS non supporta le virgolette singole (' ') all'interno della stringa e non supporta i valori NULL.
È possibile combinare INSTRWORDS e INSTRCOMMENTSWORDS per filtrare una stringa nella sintassi del comando e nei commenti della stessa istruzione DDL.
SOURCECATALOG catalog | ALLCATALOGS
Utilizzare queste opzioni per specificare il modo in cui i nomi degli oggetti non qualificati in una clausola OBJNAME vengono risolti nel contenitore corretto. Utilizzare queste opzioni quando il database di origine è un container database Oracle.
SOURCECATALOG specifica un contenitore predefinito per tutti i nomi oggetto specificati nella stessa clausola INCLUDE o EXCLUDE. Per rendere effettivo, è necessario specificare SOURCECATALOG prima della specifica OBJNAME. Vedere "SOURCECATALOG" per ulteriori informazioni, tra cui l'utilizzo di istruzioni contenenti nomi in due parti, in cui i nomi degli oggetti in tre parti sono necessari per identificare completamente un oggetto.
ALLCATALOGS specifica che tutti i contenitori del database devono essere considerati durante la risoluzione dei nomi oggetto specificati nella stessa clausola INCLUDE o EXCLUDE. ALLCATALOGS può essere posizionato prima o dopo la specifica OBJNAME.
Di seguito è riportato l'ordine di precedenza fornito quando in un file di parametri sono presenti specifiche di catalogo diverse.
-
ALLCATALOGSin una clausolaINCLUDEoEXCLUDEsostituisce tutte le specificheSOURCECATALOGnella clausolaINCLUDEoEXCLUDEe nella radice del file dei parametri e sostituisce la specifica contenitore di un nome oggetto completamente qualificato nella clausolaOBJNAME. -
Una specifica esplicita del catalogo nella clausola
OBJNAMEsostituisce tutte le istanze diSOURCECATALOG(ma nonALLCATALOGS). -
SOURCECATALOGin una clausolaINCLUDEoEXCLUDEsostituisce il parametroSOURCECATALOGglobale specificato nella radice dell'istruzioneTABLEoMAP. -
Il parametro
SOURCECATALOGglobale diventa effettivo per qualsiasi nome oggetto non qualificato nelle clausoleOBJNAMEse la clausolaINCLUDEoEXCLUDEnon specificaSOURCECATALOGoALLCATALOGS. -
In assenza di uno qualsiasi dei parametri precedenti, tutti i cataloghi vengono considerati.
STAYMETADATA
(Valido per Oracle). Impedisce l'acquisizione dei metadati da parte di Extract o l'applicazione di Replicat.
Quando Extract rileva per la prima volta DML in una tabella, recupera i metadati per tale tabella. Quando nella tabella viene rilevato DDL, i vecchi metadati vengono invalidati. Il successivo DML nella tabella viene confrontato con i nuovi metadati in modo che la struttura della tabella di destinazione sia sempre aggiornata con quella dell'origine.
Tuttavia, se si sa che una determinata operazione DDL non avrà effetto sui metadati della tabella, è possibile utilizzare STAYMETADATA in modo che i metadati correnti non vengano recuperati o replicati. Si tratta di un miglioramento delle prestazioni che beneficia di operazioni quali importazioni ed esportazioni, in cui vengono spesso eseguiti DDL come troncamenti e la disabilitazione dei vincoli. Queste operazioni non influiscono sulla struttura delle tabelle, in quanto si riferiscono all'integrità della replica dei dati successiva, pertanto possono essere ignorate in questi casi. Ad esempio, ALTER TABLE ADD FOREIGN KEY non influisce sui metadati delle tabelle.
Un esempio di come questo può essere applicato selettivamente è il seguente:
DDL INCLUDE ALL INCLUDE STAYMETADATA OBJNAME xyz
In questo esempio viene indicato che tutti i valori DDL devono essere inclusi per la replica, ma solo i valori DDL che operano sull'oggetto xyz saranno soggetti a STAYMETADATA.
Anche STAYMETADATA può essere utilizzato allo stesso modo in una clausola EXCLUDE.
STAYMETADATA deve essere utilizzato allo stesso modo nell'origine e nella destinazione per garantire l'integrità dei metadati.
Quando STAYMETADATA è in uso, viene aggiunto un messaggio al file di report. Il reporting DDL è controllato dal parametro DDLOPTIONS con l'opzione REPORT.
Questa stessa funzionalità può essere applicata a livello globale a tutti gli script DDL presenti nell'origine utilizzando gli script @ddl_staymetadata:
-
@ddl_staymetadata_ondisattiva a livello globale il controllo delle versioni dei metadati. -
@ddl_staymetadata_offabilita di nuovo il controllo delle versioni dei metadati a livello globale.
Questa opzione deve essere utilizzata con l'assistenza del personale del supporto tecnico di Oracle GoldenGate, poiché potrebbe non essere sempre evidente quale DDL influisca sui metadati degli oggetti. Se utilizzato in modo non corretto, può compromettere l'integrità dell'ambiente di replica.
Esempi
Di seguito sono riportati alcuni esempi di casi d'uso diversi.
Esempio 1: utilizzo di DDL AUTOSCHEMA
-
Esempio A:
Per abilitare
AUTOSCHEMAsu tutte le tabelle nello schema di origineatssrce nello schema di destinazioneatstgt, effettuare le operazioni riportate di seguito.DDL AUTOSCHEMA INCLUDE ALL MAP atssrc.*, TARGET atstgt.*; -
Esempio B:
Il filtro (simile a quello mostrato nell'esempio 1) può essere abilitato anche in base ai tipi DDL, utilizzando la clausola DDL AUTOSCHEMA INCLUDE/EXCLUDE OPTYPE.
Ad esempio, per abilitare AUTOSCHEMA per lo schema hr ma escludere lo schema finance, utilizzare lo script seguente:
DDL AUTOSCHEMA &
INCLUDE OBJNAME hr.* &
EXCLUDE OBJNAME finance.*
MAP hr.*, TARGET hr.*;
MAP finance.*, TARGET finance.*;
-
Esempio C:
Per abilitare
AUTOSCHEMAper tutte le tabelle e utilizzare unTYPEMAPpersonalizzato per utilizzare unbigintnella tabella di destinazione per tutte le colonne di tipointdi origine applicabili per tutte le tabelle.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP atssrc.*, TARGET atstgt.tgt_* -
Esempio D:
Per abilitare
AUTOSCHEMAper tutte le tabelle e utilizzare unTYPEMAPpersonalizzato per utilizzare unbigintnella tabella di destinazione per tutte le colonne di tipointdi origine applicabili per tutte le tabelle, ma per utilizzaresmallintcome tipo di colonna di destinazione per il tipointdi origine per tutte le tabelle nello schema finanziario.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP hr.*, TARGET hr.*; MAP finance.*, TARGET finance.*, AUTOSCHEMAOPTIONS (TYPEMAP 'smallint'='bigint');<–>
Esempio 2: combinazione delle opzioni dei parametri DDL
Di seguito è riportato un esempio di come combinare le opzioni del parametro DDL.
DDL &
INCLUDE UNMAPPED &
OPTYPE alter &
OBJTYPE 'table' &
OBJNAME users.tab* &
INCLUDE MAPPED OBJNAME * &
EXCLUDE MAPPED OBJNAME temporary.tab
I criteri di filtro combinati in questa istruzione specificano quanto segue:
-
INCLUDEtutte le istruzioniALTER TABLEper le tabelle che non sono mappate con un'istruzioneTABLEoMAP(ambitoUNMAPPED), ma solo se tali tabelle sono di proprietà diuserse i relativi nomi iniziano contab, -
INCLUDEtutti i tipi di operazioneDDLper tutte le tabelle mappate a un'istruzioneTABLEoMAP(ambitoMAPPED), -
EXCLUDEtutti i tipi di operazioneDDLper tutte le tabelle che sonoMAPPEDnell'ambito, ma solo se tali tabelle sono di proprietà ditemporarye solo se i loro nomi iniziano contab.
Esempio 3: inclusione di un'azione evento
L'esempio seguente specifica un'azione evento di REPORT per tutti i record DDL.
DDL INCLUDE ALL EVENTACTIONS (REPORT)
Esempio 4: utilizzo di un'azione evento su un sottoinsieme di DDL
L'esempio seguente mostra come utilizzare EVENTACTIONS su un sottoinsieme di DDL. Tutte le azioni DDL devono essere replicate, ma solo le azioni DDL eseguite su oggetti denominati in modo esplicito possono attivare le azioni evento di REPORT e LOG.
DDL INCLUDE ALL &
INCLUDE OBJNAME sales.t* EVENTACTIONS (REPORT) &
INCLUDE OBJNAME fin.my_tab EVENTACTIONS (LOG INFO)
Esempio 5: modi diversi per specificare i nomi <catalog> per DDL emessi su oggetti in un container database Oracle <source>
L'esempio seguente illustra i diversi modi per specificare i nomi dei cataloghi per DDL emessi sugli oggetti in un container database Oracle di origine.
- Quanto segue include
pdb1.sch1.obj1epdb2.sch2.obj2per l'elaborazioneDDL.
SOURCECATALOG pdb1
DDL INCLUDE OBJNAME sch1.obj1 INCLUDE SOURCECATALOG pdb2 OBJNAME sch2.obj2
- Di seguito sono riportati tutti gli oggetti con il nome
sch.objin qualsiasi catalogo per l'elaborazioneDDL.
DDL INCLUDE ALLCATALOGS OBJNAME sch.obj
- Di seguito sono riportati tutti gli oggetti con il nome
sch.objin qualsiasi catalogo per l'elaborazioneDDL, poichéALLCATALOGSsostituisce qualsiasi altra specifica di catalogo.
DDL INCLUDE ALLCATALOGS OBJNAME pdb.sch.obj
Esempio 6: mostra l'uso combinato di ALLOWEMPTYOBJECT e ALLOWEMPTYOWNER
Di seguito viene illustrato l'uso combinato di ALLOWEMPTYOBJECT e ALLOWEMPTYOWNER.
DDL INCLUDE pdb.*.* ALLOWEMPTYOWNER ALLOWEMPTYOBJECT