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).

Pour exclure une table de la réplication, entrez les informations sous la forme suivante, séparées par des virgules :

schema_name1,object_name1,TABLE,EXCLUDE,EXCLUDEFROMREPLICATION
Remarque

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 utilisateurs ggadmin et c##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 dans SYS.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 et C##GGADMIN