Selezione degli oggetti per la migrazione Oracle
Durante la creazione della migrazione, è possibile specificare gli oggetti da includere o escludere per Oracle Migrations. In alternativa, è possibile eseguire l'azione di inclusione o esclusione degli oggetti dopo la creazione di una migrazione utilizzando l'opzione di menu Oggetti selezionati.
Quando si crea una migrazione, specificare le regole per la selezione degli oggetti nella scheda Impostazioni avanzate Oggetti selezionati.
Selezionare l'opzione di attivazione/disattivazione Usa editor avanzato per aggiungere gli oggetti che si desidera includere o escludere in blocco come indicato di seguito.
schema_name1,object_name1,TABLE,EXCLUDE
schema_name2,object_name2,TABLE,EXCLUDE
schema_name3,object_name3,TABLE,EXCLUDE
Aggiungere tutti gli oggetti da includere o escludere elencando Proprietario oggetto, Nome oggetto, Tipo di oggetto e Azione (Includi o Escludi), come mostrato nel formato precedente (separati da virgole).
schema_name1,object_name1,TABLE,EXCLUDE,EXCLUDEFROMREPLICATION
Nell'editor avanzato effettuare le operazioni riportate di seguito.
- Utilizzare un carattere di separazione virgole (,) per separare ogni elemento per ogni definizione di inclusione/esclusione.
- Utilizzare il carattere di escape (\) se il nome dello schema o dell'oggetto contiene una virgola (,) come parte del nome.
- È possibile aggiungere nomi di caratteri multibyte (Unicode) per i nomi degli schemi o degli oggetti. Ad esempio,
ƹ ƿschema,DŽobject,TABLE,EXCLUDE
. - La dimensione massima di input è 500 KB.
In alternativa, è possibile scegliere Includi o Escludi dalla lista Azione per specificare se una regola deve includere o escludere gli oggetti di database specificati nella migrazione. È possibile includere o escludere oggetti in una migrazione, ma non è possibile eseguire entrambe le operazioni.
Se non viene definita alcuna regola, verrà eseguita la migrazione di tutti gli schemi e gli oggetti del database di origine, con le eccezioni descritte in Oggetti e schemi esclusi per impostazione predefinita di seguito.
Se si specificano le regole Includi, la migrazione sposterà solo gli oggetti specificati e i relativi oggetti dipendenti; tutti gli altri oggetti verranno esclusi automaticamente.
Quando si specificano le regole Escludi, la migrazione esclude gli oggetti specificati e i relativi oggetti dipendenti; tutti gli altri oggetti sono inclusi nella migrazione.
Per creare una regola, immettere i valori per ciascuno dei campi riportati di seguito.
-
Proprietario oggetto specifica il proprietario degli oggetti di database selezionati. Quando si utilizzano le regole Includi, tutte le regole devono essere per lo stesso proprietario e i caratteri jolly non sono consentiti.
-
Nome oggetto specifica il nome degli oggetti di database selezionati
-
Tipo di oggetto specifica il tipo di oggetti di database selezionati. È possibile selezionare TUTTO per selezionare oggetti di tutti i tipi.
- Solo replica: è possibile selezionare questa opzione quando si desidera escludere le tabelle dalla replica. Questa opzione è abilitata quando l'azione è Escludi e l'opzione Tipo di oggetto è TABLE. Ciò garantisce che i tipi di oggetto, ad esempio le colonne
ROWID
, non supportati da Oracle GoldenGate, non vengano replicati durante la migrazione in linea.Nota
Sebbene ciò escluda le tabelle dalla replica, la migrazione di queste tabelle al database di destinazione viene eseguita due volte. Una volta durante il carico iniziale e un'altra durante la fase di switchover. L'esportazione e l'importazione di Data Pump vengono eseguite di nuovo (ricarica) su queste tabelle che non facevano parte della replica per aggiornare queste tabelle nella destinazione con l'origine.
È possibile filtrare i campi Proprietario oggetto e Nome oggetto utilizzando qualsiasi pattern valido nel Pattern classe Java. Ad esempio, è possibile immettere .* nel campo Nome oggetto per selezionare oggetti di qualsiasi nome.
Gli oggetti inclusi in una migrazione sono influenzati anche dalla modalità job del caricamento iniziale, come descritto in Configurazione delle opzioni avanzate di caricamento iniziale per le migrazioni Oracle.
Tenere presenti le limitazioni riportate di seguito.
-
Quando si esclude un oggetto in uno schema specificato e un oggetto con lo stesso nome esiste in uno schema diverso che fa parte anche della migrazione, gli oggetti non verranno esclusi, ovvero la regola verrà ignorata. L'esclusione può essere eseguita eseguendo la migrazione degli schemi in migrazioni separate.
-
Quando si creano regole di inclusione in modalità di accesso al job FULL, sono consentite solo le regole a livello di schema (Nome oggetto .* e Tipo di oggetto ALL).
-
Se una regola di inclusione ha il carattere .* in Nome oggetto, non sono consentite altre regole per lo stesso tipo di oggetto. Se la regola ha TUTTO come tipo di oggetto, non sono consentite altre regole per alcun tipo.
-
Il tipo di oggetto ALL è consentito solo per le regole a livello di schema (Nome oggetto è .*).
-
Se si definisce una regola con un pattern proprietario dell'oggetto diverso da .* e il nome dell'oggetto è .*, il tipo di oggetto TABLE non è consentito.
-
Le regole a livello di oggetto (Nome oggetto è qualsiasi pattern diverso da .*) possono essere utilizzate solo per i seguenti tipi di oggetto:
DIRECTORY
,FUNCTION
,JOB
,MATERIALIZED_VIEW
,PACKAGE
,PROCEDURE
,TRIGGER
,SEQUENCE
,TABLE
. Tutti gli altri tipi di oggetto devono essere inclusi o esclusi utilizzando il pattern .* in Nome oggetto e, inoltre, per escludere, il proprietario deve essere .*
Esempi
Esempio 1: inclusione di tutti gli oggetti dello schema MySchema
Azione = Includi
Proprietario oggetto | Nome oggetto | Tipo di oggetto |
---|---|---|
MySchema | .* | ALL |
Esempio 2: includere tutte le tabelle che iniziano con PROD e la procedura MYPROC dello schema MySchema, inclusi tutti gli oggetti dipendenti.
Azione = Includi
Proprietario oggetto | Nome oggetto | Tipo di oggetto |
---|---|---|
MySchema | PROD.* | TABELLA |
MySchema | MYPROC | PROCEDURE |
Esempio 3: escludere gli schemi che iniziano con Experimental, la tabella MySchema.OldTable
(escludendo anche tutti gli oggetti dipendenti) e tutti gli oggetti di tipo DB_LINK
.
Si noti che MySchema.OldTable non verrà escluso se una tabella denominata OldTable è presente in uno schema diverso di cui viene eseguita anche la migrazione.
Azione = Escludi
Proprietario oggetto | Nome oggetto | Tipo di oggetto |
---|---|---|
Sperimentale.* | .* | ALL |
MySchema | OldTable | TABELLA |
.* | .* | DB_LINK |
Oggetti e schemi esclusi per impostazione predefinita
I tipi di oggetto riportati di seguito sono sempre esclusi.
-
GoldenGate amministratori: identificati in
DBA_GOLDENGATE_PRIVILEGES
, inclusi gli utentiggadmin
ec##ggadmin
-
Se la destinazione è l'infrastruttura condivisa di Autonomous Data Warehouse:
CLUSTER
,DB_LINK
,INDEXTYPE
,STATISTICS
-
Se la destinazione è Autonomous Data Warehouse Dedicated Infrastructure, Autonomous Transaction Processing Shared o Dedicated Infrastructure:
CLUSTER
,DB_LINK
,STATISTICS
-
Tutte le altre destinazioni:
STATISTICS
Per impostazione predefinita, gli schemi riportati di seguito sono esclusi.
-
Lo schema è contrassegnato come
ORACLE_MAINTAINED
inSYS.DBA_USERS
nel database di origine o di destinazione -
Lo schema è contrassegnato come escluso dall'esportazione in
SYS.KU_NOEXP_VIEW
nel database di origine -
Schema
GGADMIN
eC##GGADMIN
Argomento padre: Creazione di migrazioni Oracle