Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Paramètres de conversion Oracle vers PostgreSQL
Les paramètres de conversion Oracle vers PostgreSQL dans la conversion de schéma DMS sont les suivants :
-
AWS DMS peut convertir les vues matérialisées Oracle en tables ou en vues matérialisées sur PostgreSQL. Pour Vues matérialisées, choisissez le mode de conversion de vos vues matérialisées sources.
-
Votre base de données Oracle source peut utiliser la pseudocolonne
ROWID
. PostgreSQL ne prend pas en charge de fonctionnalité similaire. La conversion de schéma DMS peut émuler la pseudocolonneROWID
dans le code converti à l’aide du type de donnéesbigint
oucharacter varying
. Pour ce faire, choisissez Utiliser le type de données bigint pour émuler la pseudocolonne ROWID ou Utiliser le type de données character varying pour émuler la pseudocolonne ROWID pour ID de ligne.Si votre code Oracle source n’utilise pas la pseudocolonne
ROWID
, choisissez Ne pas générer. Dans ce cas, le code converti fonctionne plus rapidement. -
Votre code Oracle source peut inclure les fonctions
TO_CHAR
,TO_DATE
etTO_NUMBER
avec des paramètres que PostgreSQL ne prend pas en charge. Par défaut, la conversion de schéma DMS émule l’utilisation de ces paramètres dans le code converti.Vous pouvez utiliser les fonctions
TO_CHAR
,TO_DATE
etTO_NUMBER
PostgreSQL natives lorsque votre code Oracle source ne contient pas de paramètres non pris en charge par PostgreSQL. Dans ce cas, le code converti fonctionne plus rapidement. Pour ce faire, sélectionnez les valeurs suivantes :Utiliser une fonction PostgreSQL TO_CHAR native
Utiliser une fonction PostgreSQL TO_DATE native
Utiliser une fonction PostgreSQL TO_NUMBER native
-
Votre base de données et vos applications peuvent s’exécuter dans différents fuseaux horaires. Par défaut, la conversion de schéma DMS émule les fuseaux horaires dans le code converti. Toutefois, vous n’avez pas besoin de cette émulation lorsque votre base de données et vos applications utilisent le même fuseau horaire. Dans ce cas, sélectionnez Améliorer les performances du code converti lorsque la base de données et les applications utilisent le même fuseau horaire.
-
Pour continuer à utiliser des séquences dans votre code converti, sélectionnez Remplir les séquences converties avec la dernière valeur générée côté source.
-
Dans certains cas, la base de données Oracle source peut uniquement stocker des valeurs entières dans les colonnes de clé primaire ou étrangère du type de données
NUMBER
. Dans ces cas, AWS DMS vous pouvez convertir ces colonnes en type deBIGINT
données. Cette approche améliore les performances de votre code converti. Pour ce faire, sélectionnez Convertir les colonnes de clé primaire et étrangère du type de données NUMBER en type de données BIGINT. Assurez-vous que votre source n’inclut pas de valeurs à virgule flottante dans ces colonnes pour éviter toute perte de données. -
Pour ignorer les déclencheurs et les contraintes désactivés dans votre code source, choisissez Convertir uniquement les déclencheurs et les contraintes actifs.
-
Vous pouvez utiliser la conversion de schéma DMS pour convertir des variables de chaîne appelées en tant que code SQL dynamique. Le code de la base de données peut modifier les valeurs de ces variables de chaîne. Pour vous assurer que cela convertit AWS DMS toujours la dernière valeur de cette variable de chaîne, sélectionnez Convertir le code SQL dynamique créé dans des routines appelées.
-
PostgreSQL versions 10 et antérieures ne prend pas en charge les procédures. Si vous n'êtes pas habitué à utiliser les procédures dans PostgreSQL AWS DMS , vous pouvez convertir les procédures Oracle en fonctions PostgreSQL. Pour ce faire, sélectionnez Convertir les procédures en fonctions.
-
Pour obtenir des informations supplémentaires sur les éléments d’action qui se sont produits, vous pouvez ajouter des fonctions spécifiques au pack d’extension. Pour ce faire, sélectionnez Ajouter des fonctions de pack d’extension qui déclenchent des exceptions définies par l’utilisateur. Choisissez ensuite les niveaux de gravité pour déclencher les exceptions définies par l’utilisateur. Assurez-vous d’appliquer le schéma du pack d’extension après avoir converti vos objets de base de données source. Pour plus d’informations sur les packs d’extension, consultez Utilisation de packs d'extension.
-
Votre base de données Oracle source peut inclure des contraintes avec les noms générés automatiquement. Si votre code source utilise ces noms, assurez-vous de sélectionner Conserver les noms des contraintes générées par le système. Si votre code source utilise ces contraintes, mais pas leur nom, désactivez cette option pour augmenter la vitesse de conversion.
-
Si vos bases de données sources et cibles s’exécutent dans des fuseaux horaires différents, la fonction qui émule la fonction Oracle intégrée
SYSDATE
renvoie des valeurs différentes de celles de la fonction source. Pour garantir que vos fonctions source et cible renvoient les mêmes valeurs, choisissez Définir le fuseau horaire de la base de données source. -
Vous pouvez utiliser les fonctions de l’extension orafce dans votre code converti. Pour ce faire, pour Routines intégrées orafce, sélectionnez les fonctions à utiliser. Pour plus d'informations sur Oracle, voir orace
on. GitHub