Sélectionner des objets pour la migration Oracle
Dans le cadre de la création de la migration, vous pouvez indiquer les objets à inclure ou à exclure pour les migrations Oracle. Vous pouvez également effectuer l'inclusion ou l'exclusion d'objets après la création d'une migration, à l'aide de l'option de menu Objets sélectionnés.
Lors de la création d'une migration, indiquez les règles de sélection des objets dans Paramètres avancés de l'onglet Objets sélectionnés.
Sélectionnez l'option Utiliser l'éditeur avancé pour ajouter les objets à inclure ou à exclure en masse, comme suit :
schema_name1,object_name1,TABLE,EXCLUDE
schema_name2,object_name2,TABLE,EXCLUDE
schema_name3,object_name3,TABLE,EXCLUDE
Ajoutez tous les objets à inclure ou à exclure en répertoriant le propriétaire de l'objet, le nom de l'objet, le type d'objet et l'action (Inclure ou l'exclure), comme indiqué dans le format ci-dessus (séparés par des virgules).
schema_name1,object_name1,TABLE,EXCLUDE,EXCLUDEFROMREPLICATION
Dans l'éditeur avancé :
- Utilisez un caractère de séparation par virgule (,) pour séparer chaque élément pour chaque définition d'inclusion/exclusion.
- Utilisez le caractère d'échappement (\) si le nom du schéma ou de l'objet comporte une virgule (,) dans son nom.
- Vous pouvez ajouter des noms de caractères multioctets (Unicode) pour les noms de schéma ou d'objet. Par exemple,
ƹ ƿschema,DŽobject,TABLE,EXCLUDE
. - La taille d'entrée maximale est de 500 ko.
Vous pouvez également choisir Inclure ou Exclure dans la liste Action pour indiquer si une règle doit inclure ou exclure l'objet de base de données spécifié dans la migration. Vous pouvez inclure ou exclure des objets dans une migration, mais pas effectuer ces deux opérations.
Si aucune règle n'est définie, tous les schémas et objets de la base de données source seront migrés, avec des exceptions expliquées dans la section Objets et schémas exclus par défaut ci-dessous.
Si vous spécifiez des règles d'inclusion, la migration déplacera uniquement les objets spécifiés et leurs objets dépendants. Tous les autres objets sont automatiquement exclus.
Lorsque vous spécifiez des règles d'exclusion, la migration exclut les objets spécifiés et leurs objets dépendants. Tous les autres objets sont inclus dans la migration.
Afin de créer une règle, entrez des valeurs pour chacun des champs suivants :
-
Propriétaire de l'objet : indique le propriétaire des objets de base de données sélectionnés. Lorsque vous utilisez des règles d'inclusion, toutes les règles doivent être pour le même propriétaire. Les caractères génériques ne sont pas autorisés.
-
Nom d'objet : indique le nom des objets de base de données sélectionnés.
-
Type d'objet : indique le type des objets de base de données sélectionnés. Vous pouvez sélectionner ALL pour sélectionner des objets de tous les types.
- Réplication uniquement : vous pouvez sélectionner cette bascule lorsque vous souhaitez exclure les tables de la réplication. Cette option est activée lorsque l'action est Exclure et que le type d'objet est TABLE. Ainsi, les types d'objet tels que les colonnes
ROWID
, non pris en charge par Oracle GoldenGate, ne sont pas répliqués lors de la migration en ligne.Remarque
Bien que les tables soient exclues de la réplication, elles sont migrées deux fois vers la base de données cible. Une fois pendant la charge initiale et une autre pendant la phase de permutation. L'export et l'import Data Pump sont exécutés à nouveau (rechargement) sur ces tables qui ne faisaient pas partie de la réplication pour mettre à jour ces tables sur la cible avec la source.
Vous pouvez filtrer les champs Propriétaire de l'objet et Nom d'objet à l'aide de n'importe quel modèle valide dans le modèle de classe Java. Par exemple, vous pouvez saisir .* dans le champ Nom d'objet pour sélectionner les objets de n'importe quel nom.
Les objets inclus dans une migration sont également influencés par le Mode de travail du chargement initial, comme expliqué dans Configuration des options avancées de chargement initial pour les migrations Oracle.
Prenez en considération les restrictions suivantes :
-
Lorsque vous excluez un objet dans un schéma spécifié et qu'un objet du même nom existe dans un schéma différent qui fait également partie de la migration, les objets ne sont pas exclus (c'est-à-dire que la règle est ignorée). L'exclusion peut être réalisée en migrant les schémas dans des migrations distinctes.
-
Lors de la création de règles d'inclusion en mode de travail complet, seules les règles au niveau du schéma (.* pour le nom d'objet et ALL pour le type d'objet) sont autorisées.
-
Si une règle d'inclusion contient .* dans le nom d'objet, aucune autre règle pour le même type d'objet n'est autorisée. Si la règle a le type d'objet ALL, aucune autre règle n'est autorisée pour aucun type.
-
Le type d'objet ALL n'est autorisé que pour les règles au niveau du schéma (le nom d'objet est .*).
-
Si vous définissez une règle avec un modèle de propriétaire d'objet autre que .* et que le nom d'objet est .*, le type d'objet TABLE n'est pas autorisé.
-
Les règles de niveau objet (nom d'objet étant un modèle autre que .*) ne peuvent être utilisées que pour les types d'objet suivants :
DIRECTORY
,FUNCTION
,JOB
,MATERIALIZED_VIEW
,PACKAGE
,PROCEDURE
,TRIGGER
,SEQUENCE
,TABLE
. Tous les autres types d'objet doivent être inclus ou exclus à l'aide du modèle .* dans le nom d'objet. En outre, pour exclure un objet, le propriétaire doit être .*
Exemples
Exemple 1 : inclure tous les objets du schéma MySchema
Action = Inclure
Propriétaire de l'objet | Nom d'objet | Type d'objet |
---|---|---|
MySchema | .* | ALL |
Exemple 2 : inclure toutes les tables commençant par PROD et la procédure MYPROC du schéma MySchema, y compris tous les objets dépendants
Action = Inclure
Propriétaire de l'objet | Nom d'objet | Type d'objet |
---|---|---|
MySchema | PROD.* | TABLE |
MySchema | MYPROC | PROCEDURE |
Exemple 3 : exclure les schémas commençant par Experimental, la table MySchema.OldTable
(en excluant également tous les objets dépendants) et tous les objets de type DB_LINK
.
MySchema.OldTable ne sera pas exclu si une table appelée OldTable est présente dans un schéma différent également migré.
Action = Exclure
Propriétaire de l'objet | Nom d'objet | Type d'objet |
---|---|---|
Experimental.* | .* | ALL |
MySchema | OldTable | TABLE |
.* | .* | DB_LINK |
Objet et schéma exclus par défaut
Les types d'objet suivants sont toujours exclus :
-
Administrateurs GoldenGate : identifiés dans
DBA_GOLDENGATE_PRIVILEGES
, y compris les utilisateursggadmin
etc##ggadmin
-
Si la cible est une infrastructure partagée Autonomous Data Warehouse :
CLUSTER
,DB_LINK
,INDEXTYPE
,STATISTICS
-
Si la cible est une infrastructure dédiée Autonomous Data Warehouse, ou une infrastructure partagée ou dédiée Autonomous Transaction Processing :
CLUSTER
,DB_LINK
,STATISTICS
-
Toutes les autres cibles :
STATISTICS
Les schémas suivants sont exclus par défaut :
-
Schéma marqué comme
ORACLE_MAINTAINED
dansSYS.DBA_USERS
sur la base de données source ou cible -
Schéma marqué comme exclu de l'export dans
SYS.KU_NOEXP_VIEW
sur la base de données source -
Schéma
GGADMIN
etC##GGADMIN
Rubrique parent : Création de migrations Oracle