Package DBMS_CLOUD_MIGRATION

Le package DBMS_CLOUD_MIGRATION facilite la conversion du code SQL d'une variante SQL non Oracle en code SQL Oracle.

Récapitulatif des sous-programmes DBMS_CLOUD_MIGRATION

Ce tableau récapitule les sous-programmes inclus dans le package DBMS_CLOUD_MIGRATION.

Sous-programme Description

MIGRATE_SQL Procédure et fonction

MIGRATE_SQL facilite la conversion des instructions SQL écrites en code SQL non Oracle en code SQL Oracle. Les variantes SQL prises en charge sont PostgreSQL, MySQL et SQL Server.

Procédure MIGRATE_FILE

Cette procédure convertit un fichier contenant des instructions SQL d'une base de données source spécifiée en entrée et convertit les instructions SQL en instructions SQL Oracle.

Procédure ENABLE_TRANSLATION

Cette procédure permet la traduction SQL en temps réel et l'exécution d'instructions SQL non Oracle dans une instance Autonomous Database. Les variantes SQL prises en charge sont PostgreSQL, MySQL et SQL Server.

Procédure DISABLE_TRANSLATION

Cette procédure désactive la traduction en langage SQL.

MIGRATE_SQL Procédure et fonction

MIGRATE_SQL facilite la conversion des instructions SQL écrites en code SQL non Oracle en code SQL Oracle. Cette procédure est surchargée et présente des variantes de fonction et de procédure.

Syntaxe

DBMS_CLOUD_MIGRATION.MIGRATE_SQL (
   original_sql  IN  CLOB,
   output_sql    OUT CLOB,
   source_db     IN  VARCHAR2);

DBMS_CLOUD_MIGRATION.MIGRATE_SQL (
   original_sql  IN  CLOB,
   source_db     IN  VARCHAR2);
RETURN CLOB;

Paramètres

Paramètre Description

original_sql

Indique l'instruction SQL d'origine dans la base de données source qui doit être convertie en instruction SQL Oracle.

Ce paramètre est obligatoire.

output_sql

Renvoie l'instruction SQL traduite.

Ce paramètre est obligatoire.

source_db

Spécifie le nom d'une base source. Les valeurs valides pour ce paramètre sont POSTGRES, MYSQL et SQLSERVER.

Ce paramètre est obligatoire.

Valeurs renvoyées

La forme de fonction DBMS_CLOUD_MIGRATION.MIGRATE_SQL renvoie une valeur CLOB qui contient la version Oracle SQL traduite de l'entrée ORIGINAL_SQL.

Notes d'utilisation

Exemples

Forme de procédure DBMS_CLOUD_MIGRATION.MIGRATE_SQL pour convertir l'instruction PostgreSQL en instruction SQL Oracle :

BEGIN
  DBMS_CLOUD_MIGRATION.MIGRATE_SQL(      
    original_sql => 'SELECT e.employee_id, e.last_name, e.salary FROM employees AS e;',
    output_sql   => output_variable,
    source_db    => 'POSTGRES');
END;        
/

Forme de fonction DBMS_CLOUD_MIGRATION.MIGRATE_SQL pour convertir l'instruction PostgreSQL en instruction SQL Oracle :

SELECT DBMS_CLOUD_MIGRATION.MIGRATE_SQL
    ('CREATE TABLE IF NOT EXISTS cars (brand VARCHAR(255), model VARCHAR(255), year INT)', 'POSTGRES') AS output 
    FROM DUAL;

OUTPUT
------------------------------------------------------------------------------
create table cars (brand VARCHAR2(255), model VARCHAR2(255), year NUMBER(10);

Procédure MIGRATE_FILE

MIGRATE_FILE prend en entrée un fichier contenant les instructions SQL d'une base de données source indiquée et convertit les instructions SQL en instructions SQL Oracle.

Syntaxe

DBMS_CLOUD_MIGRATION.MIGRATE_FILE (
    credential_name  IN VARCHAR2,
    location_uri     IN VARCHAR2,
    target_uri       IN VARCHAR2 DEFAULT NULL,
    source_db        IN VARCHAR2,
    params           IN CLOB

Paramètres

Paramètre Description

credential_name

Nom des informations d'identification permettant d'accéder au stockage d'objet cloud.

Ce paramètre est obligatoire.

Vous pouvez éventuellement définir les informations d'identification que vous utilisez pour accéder à votre banque d'objets cloud en configurant des stratégies et des rôles. Pour plus d'informations, reportez-vous à Configuration de stratégies et de rôles pour accéder aux ressources.

location_uri

URI du fichier source. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD.

Ce paramètre est obligatoire.

target_uri

URI du fichier cible, où le fichier traduit doit être stocké. Si vous ne fournissez pas de valeur pour ce paramètre, le fichier traduit est stocké au même emplacement que le fichier source.

Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD.

source_db

Indique la langue de la base de données source. Les valeurs valides pour ce paramètre sont POSTGRES, MYSQL et SQLSERVER.

Ce paramètre est obligatoire.

params

Indique les paramètres supplémentaires qui peuvent être transmis au format JSON.

Notes d'utilisation

  • Pour exécuter DBMS_CLOUD_MIGRATION.MIGRATE_FILE, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_MIGRATION.

  • Le paramètre credential_name indique les informations d'identification permettant d'accéder à l'URI de stockage d'objet cloud. L'utilisateur qui exécute DBMS_CLOUD_MIGRATION.MIGRATE_FILE.doit disposer du privilège EXECUTE pour l'objet d'informations d'identification utilisé pour accéder à l'URI Object Storage. Autrement dit, informations d'identification que vous indiquez avec le paramètre credential_name.

Exemple

BEGIN
 DBMS_CLOUD_MIGRATION.MIGRATE_FILE (
     credential_name => 'OBJ_STORE_CRED',
     location_uri    => 'https://objectstorage.region.oraclecloud.com/n/namespace/b/bucket/o/files/postgrestest.sql',
     source_db       => 'POSTGRES'
    );
END;
/

Le paramètre credential_name indique les informations d'identification permettant d'accéder à l'URI de stockage d'objet cloud.

location_uri est l'URI du fichier source. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats.

Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

Procédure ENABLE_TRANSLATION

La procédure ENABLE_TRANSLATION permet la traduction SQL en temps réel et l'exécution d'instructions SQL non Oracle dans votre instance Autonomous Database.

Syntaxe

Paramètres

DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION (
   source_db  IN  VARCHAR2);
Paramètre Description

source_db

Indique la langue de la base de données source. Les valeurs valides pour ce paramètre sont POSTGRES, MYSQL et SQLSERVER.

Ce paramètre est obligatoire.

Remarque sur l'utilisation

  • Pour exécuter DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_MIGRATION.

Exemple

BEGIN
  DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION (source_db => 'POSTGRES');
END;        
/

Procédure DISABLE_TRANSLATION

La procédure DISABLE_TRANSLATION désactive la traduction en langage SQL. Une erreur est renvoyée si la traduction SQL n'est pas activée pour votre session.

Syntaxe

DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();

Remarque sur l'utilisation

  • Pour exécuter DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_MIGRATION.

Exemple

BEGIN
  DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();
END;        
/