Utilizzo di caratteri jolly nei nomi degli oggetti di database

È possibile utilizzare i caratteri jolly per qualsiasi parte di un nome oggetto completamente qualificato, se supportato per il database specifico. Queste parti del nome possono essere le seguenti: il nome del contenitore, del database o del catalogo, il proprietario (nome schema o database) e il nome della tabella o della sequenza. Per informazioni su come sono supportati i nomi degli oggetti e i caratteri jolly, consultare la guida all'installazione e alla configurazione di Oracle GoldenGate per tale database.

Se necessario, i parametri di Oracle GoldenGate consentono l'uso di due tipi di caratteri jolly per specificare più oggetti in un'unica istruzione:

Regole per l'utilizzo di caratteri jolly per gli oggetti di origine

Per gli oggetti di origine, è possibile utilizzare l'asterisco da solo o con un nome parziale. Ad esempio, sono valide le seguenti specifiche di origine:

I parametri TABLE, MAP e SEQUENCE tengono conto della distinzione tra maiuscole e minuscole e delle impostazioni nazionali del database per la risoluzione dei caratteri jolly. Per i database creati con distinzione tra maiuscole e minuscole o senza distinzione tra maiuscole e minuscole, il carattere jolly corrisponde al nome e alle maiuscole esatte. Ad esempio, se il database fa distinzione tra maiuscole e minuscole, SCHEMA.TABLE corrisponde a SCHEMA.TABLE, Schema.Table corrisponde a Schema.Table e così via. Se il database non fa distinzione tra maiuscole e minuscole, la corrispondenza non fa distinzione tra maiuscole e minuscole.

Per i database che possono avere nomi di oggetti con distinzione tra maiuscole e minuscole nella stessa istanza di database, con l'uso di virgolette per applicare la distinzione tra maiuscole e minuscole, il carattere jolly funziona in modo diverso. Se utilizzato da solo per un nome di origine in un'istruzione TABLE, un carattere jolly asterisco corrisponde a qualsiasi carattere, indipendentemente dal fatto che l'asterisco sia racchiuso tra virgolette. Le seguenti affermazioni producono gli stessi risultati:

TABLE hr.*;
TABLE hr."*";

Analogamente, un carattere jolly punto interrogativo utilizzato da solo corrisponde a qualsiasi singolo carattere, indipendentemente dal fatto che sia racchiuso tra virgolette. Di seguito vengono riportati gli stessi risultati.

TABLE hr.?;
TABLE hr."?";

Se un punto interrogativo o un carattere jolly asterisco viene utilizzato insieme ad altri caratteri, la distinzione tra maiuscole e minuscole viene applicata ai caratteri non jolly, ma il carattere jolly corrisponde sia ai nomi con distinzione tra maiuscole e minuscole che a quelli con distinzione tra maiuscole e minuscole.

TABLE hr."abc*";
TABLE hr."abc?";
TABLE hr.abc*;
TABLE hr.abc?;

Regole per l'utilizzo di caratteri jolly per gli oggetti di destinazione

Quando si utilizzano i caratteri jolly nella clausola TARGET di un'istruzione MAP, gli oggetti di destinazione devono esistere nel database di destinazione. L'eccezione si verifica quando si utilizza la replica DDL, che consente di replicare i nuovi schemi e i relativi oggetti durante la creazione.

Per gli oggetti di destinazione, è possibile utilizzare solo un asterisco. Se viene utilizzato un carattere jolly asterisco con un nome parziale, Replicat sostituisce il carattere jolly con l'intero nome dell'oggetto di origine corrispondente. Di conseguenza, specifiche come quelle riportate di seguito sono errate:

HQ.T

I mapping precedenti producono risultati errati, poiché il carattere jolly nella specifica di destinazione viene sostituito con T_TEST (il nome di un oggetto di origine), rendendo l'intero nome di destinazione T_T_TESTn. Di seguito sono illustrati i risultati errati.

Gli esempi seguenti mostrano l'uso corretto dei caratteri jolly asterisco.

MAP HQ.T_*, TARGET RPT.*;

L'esempio precedente produce i seguenti risultati corretti:

Mapping dei nomi di fallback

Oracle GoldenGate dispone di un meccanismo di mapping di fallback nel caso in cui un nome di origine non possa essere mappato a un nome di destinazione. Se non è possibile trovare una corrispondenza esatta nella destinazione per un oggetto di origine con distinzione tra maiuscole e minuscole, Replicat tenta di mappare il nome di origine allo stesso nome in lettere maiuscole o minuscole (a seconda del tipo di database) nella destinazione. Il mapping dei nomi di fallback è controllato dai parametri NAMEMATCH. Per ulteriori informazioni, vedere Riferimento su parametri e funzioni per Oracle GoldenGate.

Asterischi o segni di domanda come valori letterali nei nomi oggetto

Se il nome di un oggetto include un asterisco o un punto interrogativo, l'intero nome deve essere inserito tra virgolette doppie, come nell'esempio seguente:

TABLE HT."\?ABC";

Modalità di risoluzione dei caratteri jolly

Per impostazione predefinita, quando il nome di un oggetto è un carattere jolly, la risoluzione dell'oggetto viene eseguita quando viene elaborata la prima riga dell'oggetto di origine. (Al contrario, quando il nome di un oggetto viene indicato esplicitamente, la sua risoluzione si verifica all'avvio del processo.) Per modificare le regole per la risoluzione dei caratteri jolly, utilizzare il parametro WILDCARDRESOLVE. L'impostazione predefinita è DYNAMIC.

Esclusione di oggetti da una specifica con caratteri jolly

È possibile combinare l'uso della selezione di oggetti con caratteri jolly con l'esclusione esplicita degli oggetti utilizzando i parametri EXCLUDEWILDCARDOBJECTSONLY, CATALOGEXCLUDE, SCHEMAEXCLUDE, MAPEXCLUDE e TABLEEXCLUDE.