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 suivants s'appliquent lorsque la source est Oracle et que la cible est Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL. Vous pouvez configurer ces paramètres à l'aide de l'opération Console de gestion AWS ou de l'ModifyConversionConfigurationAPI.
Cette rubrique couvre les paramètres spécifiques au chemin de conversion d'Oracle vers PostgreSQL. Outre ces paramètres, DMS Schema Conversion fournit des paramètres qui s'appliquent à toutes les paires source et cible, tels que le niveau de gravité des commentaires relatifs aux actions dans le code SQL converti et la possibilité d'utiliser l'IA générative pour la conversion. Pour ces paramètres, voirParamètres de conversion courants.
Lorsque vous utilisez l'API ou la AWS CLI, spécifiez les paramètres du chemin de conversion sous les noms de section ORACLE_TO_POSTGRESQLORACLE_TO_POSTGRESQL_14, ouORACLE_TO_POSTGRESQL_15. Les trois sections versionnées acceptent les mêmes clés. Pour trouver les noms de section utilisés par votre projet, appelez d'DescribeConversionConfigurationabord et mettez à jour uniquement les sections présentes dans la réponse.
Chaque paramètre affiche l' Console de gestion AWS étiquette suivie du nom du paramètre de l'API et de la AWS CLI entre parenthèses. Utilisez le nom du paramètre lors de la configuration des paramètres à l'aide de l'API ou de la AWS CLI. Les paramètres sont répertoriés dans l'ordre dans lequel ils apparaissent dans le Console de gestion AWS.
- Version du moteur cible (
ORACLE_TO_POSTGRESQL_target_engine_version) -
Choisissez la version du moteur pour votre base de données cible. Ce paramètre est l'ensemble de fonctionnalités de la version principale de PostgreSQL que la conversion de schéma DMS cible pour la conversion, et il détermine la section des paramètres versionnés applicable (ou).
ORACLE_TO_POSTGRESQL_14ORACLE_TO_POSTGRESQL_15La valeur15cible les fonctionnalités de PostgreSQL 15 et des versions ultérieures,14ainsi que les fonctionnalités de PostgreSQL 14, afin que votre base de données cible puisse exécuter une version ultérieure à la valeur que vous avez choisie (par exemple, une valeur de15pour une cible PostgreSQL 16). Contrairement aux autres paramètres de cette page, ce paramètre n'est pas stocké dans une section du chemin de conversion. Il est plutôt stocké dans laConversion versionsection de niveau supérieur, comme indiqué dans l'exemple suivant.{ "Conversion version": { "ORACLE_TO_POSTGRESQL_target_engine_version": "15" } }Type : Chaîne (
14|15)Par défaut :
15 - Vues matérialisées ()
MaterializedViewConvert -
Spécifie la manière dont DMS Schema Conversion convertit les vues matérialisées Oracle sur la cible.
API/CLI valeur Résultat conforme à l'objectif TABLELa conversion de schéma DMS crée une table normale avec les mêmes colonnes. Utilisez-le lorsque vous gérez l'actualisation manuellement ou à l'aide d'un outil de réplication. MATERIALIZED_VIEWLa conversion du schéma DMS crée un PostgreSQL MATERIALIZED VIEW. Utilisez-le lorsque la cible prend en chargeREFRESH MATERIALIZED VIEW.Type : Chaîne (
TABLE|MATERIALIZED_VIEW)Par défaut :
TABLE - Générer un identifiant de ligne (
GenerateRowId) -
Votre base de données Oracle source peut utiliser la pseudocolonne
ROWID. PostgreSQL ne prend pas en charge de fonctionnalité similaire. Ce paramètre indique si DMS Schema Conversion émule laROWIDpseudocolonne dans le code converti et quel type de données DMS Schema Conversion utilise pour l'émulation.Étiquette de console API/CLI valeur Comportement Ne pas générer falseLa conversion du schéma DMS n'émule pas la ROWIDpseudocolonne et laisse les références sous forme d'actions. Utilisez-le lorsque votre code source Oracle n'est pas utiliséROWID. Le code converti s'exécute plus rapidement.Utilisez le type de données bigint pour émuler la pseudocolonne ROWID trueLa conversion de schéma DMS émule la ROWIDpseudocolonne du code converti en utilisant le type de données.bigintUtilisez le type de données à caractère variable pour émuler la pseudocolonne ROWID GENERATE_AS_CHARACTER_DOMAIN_TYPELa conversion de schéma DMS émule la ROWIDpseudocolonne du code converti en utilisant le type de données.character varyingType : Chaîne (enum)
Par défaut :
false
Code
Sélectionnez les paramètres de conversion spécifiques à votre code source Oracle.
- Utilisez le mappage de type de données optimisé pour les colonnes du type de données NUMBER (
UseOptimizedMappingForNumberConversion) -
Spécifie si DMS Schema Conversion mappe chaque
NUMBERcolonne Oracle au type de données numériques le mieux adapté en fonction de la précision et de l'échelle.-
true— La conversion du schéma DMS fait correspondre chaqueNUMBERcolonne au type numérique PostgreSQL le plus spécifique (par exempleSMALLINT,INTEGER,BIGINTou) en fonction de sa précision et de son échelle. -
false— La conversion du schéma DMS fait correspondre toutes lesNUMBERcolonnes àNUMERIC.
Type : booléen (|)
truefalsePar défaut :
true -
- Utiliser une fonction PostgreSQL TO_CHAR native ()
ToCharFunctionOracle -
Spécifie si la conversion du schéma DMS émule la
TO_CHARfonction Oracle dans le code converti.-
false— La conversion de schéma DMS émule leTO_CHARcomportement d'Oracle dans le code converti. -
true— La conversion de schéma DMS convertitTO_CHARetTO_NCHARappelle la fonction native PostgreSQLTO_CHAR. Sélectionnez cette option pour éviter l'émulation lorsque vos chaînes de format sont compatibles avec PostgreSQL.
Type : booléen (|)
truefalsePar défaut :
false -
- Utiliser une fonction PostgreSQL TO_DATE native ()
ToDateFunctionOracle -
Spécifie si la conversion du schéma DMS émule la
TO_DATEfonction Oracle dans le code converti.-
false— La conversion de schéma DMS émule leTO_DATEcomportement d'Oracle dans le code converti. -
true— La conversion de schéma DMS convertit lesTO_DATEappels vers la fonction PostgreSQLTO_DATEnative.
Type : booléen (|)
truefalsePar défaut :
false -
- Utiliser une fonction PostgreSQL TO_NUMBER native ()
ToNumber -
Spécifie si la conversion du schéma DMS émule la
TO_NUMBERfonction Oracle dans le code converti.-
false— La conversion de schéma DMS émule leTO_NUMBERcomportement d'Oracle dans le code converti. -
true— La conversion de schéma DMS convertit lesTO_NUMBERappels vers la fonction PostgreSQLTO_NUMBERnative.
Type : booléen (|)
truefalsePar défaut :
false -
- Améliorez les performances du code converti lorsque la base de données et les applications utilisent le même fuseau horaire (
ToTimeZone) -
Spécifie si la conversion du schéma DMS émule les fuseaux horaires dans le code converti.
-
true— La conversion du schéma DMS n'émule pas les fuseaux horaires. Utilisez-le lorsque votre base de données et vos applications utilisent le même fuseau horaire. Le code converti s'exécute plus rapidement. -
false— La conversion du schéma DMS émule les fuseaux horaires dans le code converti.
Type : booléen (|)
truefalsePar défaut :
false -
- Remplir les séquences converties avec la dernière valeur générée côté source ()
AlertSequenceRestart -
Spécifie si la conversion du schéma DMS continue les séquences converties à partir de la dernière valeur générée sur la source.
-
true— La conversion de schéma DMS définit chaque séquence convertie pour qu'elle commence à partir de la dernière valeur générée sur la source, afin que les séquences se poursuivent sans conflit. -
false— La conversion de schéma DMS démarre les séquences converties à partir de leur valeur initiale par défaut.
Type : booléen (|)
truefalsePar défaut :
false -
- Convertissez les colonnes de clé primaire et étrangère du type de données NUMBER en données de type BIGINT ()
ConvertNumberToBigint -
Spécifie si la conversion du schéma DMS convertit les colonnes de clé primaire et de clé étrangère du type de
NUMBERdonnées enBIGINT. À utiliser avec précaution pour éviter toute perte de données si votre base de données source stocke des nombres à virgule flottante dans ces colonnes.-
true— La conversion du schéma DMS fait correspondre lesNUMBERcolonnes de clé primaire et de clé étrangère àBIGINT. -
false— La conversion de schéma DMS utilise le mappage numérique standard pour ces colonnes.
Type : booléen (|)
truefalsePar défaut :
false -
- Convertissez uniquement les déclencheurs et les contraintes actifs (
IgnoreDisabledTriggersConstraints) -
Spécifie si la conversion du schéma DMS ignore les déclencheurs et les contraintes désactivés lors de la conversion.
-
true— La conversion de schéma DMS convertit uniquement les déclencheurs et les contraintes actifs et ignore ceux qui sont désactivés. -
false— La conversion de schéma DMS convertit tous les déclencheurs et contraintes, y compris ceux qui sont désactivés.
Type : booléen (|)
truefalsePar défaut :
false -
- Convertissez le code SQL dynamique créé dans des routines appelées (
ConvertOutputAsDynamic) -
Spécifie si la conversion de schéma DMS convertit les variables de chaîne référencées en dehors de la routine en SQL dynamique.
-
true— La conversion de schéma DMS convertit les variables de chaîne référencées en dehors de la routine en SQL dynamique. -
false— La conversion de schéma DMS ne convertit pas ces variables de chaîne en SQL dynamique.
Type : booléen (|)
truefalsePar défaut :
false -
- Convertir les procédures en fonctions (
ConvertProceduresToFunction) -
Spécifie si la conversion de schéma DMS convertit les procédures stockées Oracle en fonctions d'annulation de PostgreSQL.
-
true— La conversion de schéma DMS convertit les procédures stockées Oracle en fonctions d'annulation de PostgreSQL. -
false— La conversion de schéma DMS convertit les procédures stockées Oracle en procédures PostgreSQL.
Type : booléen (|)
truefalsePar défaut :
false -
- Conservez les noms des contraintes générées par le système (
ConvertSysConstraintNamesUsingOriginal) -
Spécifie si DMS Schema Conversion conserve les noms de contraintes originaux générés par le système Oracle dans la cible. Utilisez cette option si votre code Oracle source utilise des noms de contraintes générés par le système pour créer des contraintes portant les mêmes noms dans votre base de données cible.
-
true— La conversion du schéma DMS conserve les noms de contraintes originaux générés par le système Oracle dans la cible. -
false— La conversion de schéma DMS génère de nouveaux noms de contraintes.
Type : booléen (|)
truefalsePar défaut :
false -
- Définissez le fuseau horaire de votre base de données source (
UseDefaultTimeZoneForSysdateEmulation) -
Spécifie si la fonction qui émule la
SYSDATEfonction Oracle utilise le fuseau horaire inDefaultTimeZoneForSysdateEmulation, de sorte que le code converti renvoie les mêmes valeurs que votre base de données source.-
true— La conversion de schéma DMS utilise le fuseau horaire spécifiéDefaultTimeZoneForSysdateEmulationpour l'SYSDATEémulation. -
false— La conversion de schéma DMS utilise le fuseau horaire par défaut pour l'SYSDATEémulation.
Type : booléen (|)
truefalsePar défaut :
false -
DefaultTimeZoneForSysdateEmulation-
Fuseau horaire utilisé par DMS Schema Conversion lorsque l'
SYSDATEémulation est activée.UseDefaultTimeZoneForSysdateEmulationSpécifiez un nom de fuseau horaire IANA valideUTC, tel queAmerica/New_York, ouEurope/Berlin. Cette valeur n'a aucun effet lorsqu'elleUseDefaultTimeZoneForSysdateEmulationest définiefalse.Type : chaîne (nom du fuseau horaire IANA)
Par défaut :
UTC
Note
Il Console de gestion AWS répertorie une option supplémentaire, Ajouter des fonctions de pack d'extension qui déclenchent des exceptions définies par l'utilisateur, entre Convertir les procédures en fonctions et Conserver les noms des contraintes générées par le système. Cette option est configurée uniquement dans le Console de gestion AWS et n'est pas disponible via l'API ou la AWS CLI. Le comportement du niveau de gravité associé est contrôlé par le paramètre ShowSeverityLevelInSql commun. Pour de plus amples informations, veuillez consulter Paramètres de conversion courants.
Routines intégrées à Oracle
Choisissez les routines intégrées d'Oracle à utiliser dans le code converti. Oracle est une extension PostgreSQL qui fournit des routines compatibles avec les fonctions intégrées d'Oracle. Chaque routine possède un paramètre booléen dédié. Lorsque vous définissez une routine surtrue, DMS Schema Conversion convertit la fonction intégrée Oracle correspondante en routine Oracle. Lorsque vous la définissez surfalse, la conversion du schéma DMS laisse la fonction sous forme d'action pour une révision manuelle. Pour utiliser ces routines, l'extension Oracle doit être disponible sur votre base de données cible. Toutes ces routines sont définies par défaut surfalse. Définissez une routine true uniquement après avoir vérifié que le comportement de la fonction lors de votre utilisation est compatible avec la routine Oracle.
| Nom du paramètre | Fonction intégrée Oracle |
|---|---|
AddMonthsBuiltinFunctionOracle |
ADD_MONTHS |
BitandBuiltinFunctionOracle |
BITAND |
CoshBuiltinFunctionOracle |
COSH |
DbmsAssertBuiltinFunctionOracle |
DBMS_ASSERTpaquet |
DbmsOutputBuiltinFunctionOracle |
DBMS_OUTPUTpaquet |
DbmsRandomBuiltinFunctionOracle |
DBMS_RANDOMpaquet |
DbtimezoneBuiltinFunctionOracle |
DBTIMEZONE |
DecodeBuiltinFunctionOracle |
DECODE |
DumpBuiltinFunctionOracle |
DUMP |
InstrBuiltinFunctionOracle |
INSTR |
InstrbBuiltinFunctionOracle |
INSTRB |
LastDayBuiltinFunctionOracle |
LAST_DAY |
LengthBuiltinFunctionOracle |
LENGTH |
LengthbBuiltinFunctionOracle |
LENGTHB |
ListaggBuiltinFunctionOracle |
LISTAGG |
LnnvlBuiltinFunctionOracle |
LNNVL |
LpadBuiltinFunctionOracle |
LPAD |
LtrimBuiltinFunctionOracle |
LTRIM |
MedianBuiltinFunctionOracle |
MEDIAN |
MonthsBetweenBuiltinFunctionOracle |
MONTHS_BETWEEN |
NanvlBuiltinFunctionOracle |
NANVL |
NextDayBuiltinFunctionOracle |
NEXT_DAY |
NlssortBuiltinFunctionOracle |
NLSSORT |
Nvl2BuiltinFunctionOracle |
NVL2 |
NvlBuiltinFunctionOracle |
NVL |
RoundDateFmtBuiltinFunctionOracle |
ROUND(date) |
RoundNumberBuiltinFunctionOracle |
ROUND(numéro) |
RpadBuiltinFunctionOracle |
RPAD |
RtrimBuiltinFunctionOracle |
RTRIM |
SessiontimezoneBuiltinFunctionOracle |
SESSIONTIMEZONE |
SinhBuiltinFunctionOracle |
SINH |
SubstrBuiltinFunctionOracle |
SUBSTR |
SubstrbBuiltinFunctionOracle |
SUBSTRB |
SysdateBuiltinFunctionOracle |
SYSDATE |
TanhBuiltinFunctionOracle |
TANH |
ToCharDatetimeBuiltinFunctionOracle |
TO_CHAR(date/heure) |
ToCharNumberBuiltinFunctionOracle |
TO_CHAR(numéro) |
ToDateBuiltinFunctionOracle |
TO_DATE |
ToMultiByteBuiltinFunctionOracle |
TO_MULTI_BYTE |
ToNumberBuiltinFunctionOracle |
TO_NUMBER |
ToSingleByteBuiltinFunctionOracle |
TO_SINGLE_BYTE |
TruncDateBuiltinFunctionOracle |
TRUNC(date) |
TruncNumberBuiltinFunctionOracle |
TRUNC(numéro) |
Chaque routine est une clé booléenne distincte. L'exemple suivant active les routines Oracle pour les fonctions Oracle ADD_MONTHSNVL, etSUBSTR. Ajoutez ou supprimez des clés correspondant aux fonctions de votre code source, et appliquez les mêmes clés à chaque nom de section utilisé par votre projet.
{ "ORACLE_TO_POSTGRESQL_15": { "AddMonthsBuiltinFunctionOracle": true, "NvlBuiltinFunctionOracle": true, "SubstrBuiltinFunctionOracle": true } }
Paramètres du code SQL
Configurez la façon dont la conversion de schéma DMS gère les objets intégrés à Oracle que PostgreSQL ne prend pas en charge.
- Convertissez les objets intégrés non pris en charge en objets stub ()
ConvUnsupportedBuiltinsToStubs -
Spécifie si la conversion de schéma DMS remplace les objets intégrés non pris en charge par des objets stub.
-
false— La conversion du schéma DMS laisse les objets intégrés non pris en charge en tant qu'éléments d'action dans le rapport d'évaluation. -
true— La conversion de schéma DMS remplace chaque objet intégré non pris en charge par un objet stub portant la même signature. L'objet converti est compilé, ce qui vous permet de déployer et de tester le reste du schéma avant de traiter des stubs individuels.
Type : booléen (|)
truefalsePar défaut :
false -
- Création d'objets stub dans un schéma distinct ()
CreateStubsInSeparateSchema -
Spécifie si la conversion de schéma DMS crée des objets stub dans un schéma distinct. Cette option apparaît Console de gestion AWS uniquement lorsque l'option Convertir les objets intégrés non pris en charge en objets stub est sélectionnée, et elle ne prend effet que lorsque cette option est activée.
-
true— La conversion de schéma DMS crée des objets stub dans un schéma distinct. Cela permet de garder vos schémas d'application propres et d'identifier facilement les stubs qui doivent encore être implémentés. -
false— La conversion de schéma DMS crée des objets stub dans le même schéma que l'objet converti.
Type : booléen (|)
truefalsePar défaut :
true -
Exemple : configurer Oracle selon les paramètres PostgreSQL
L'exemple suivant conserve les vues matérialisées sous forme de vues matérialisées PostgreSQL, émule ROWID la pseudocolonne en utilisant le type de données et convertit bigint les procédures en fonctions. Appliquez les mêmes paramètres à chaque nom de section utilisé par votre projet (vérifiez d'DescribeConversionConfigurationabord le résultat).
{ "ORACLE_TO_POSTGRESQL_15": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true }, "ORACLE_TO_POSTGRESQL_14": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true }, "ORACLE_TO_POSTGRESQL": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true } }