Package DBMS_CLOUD_MIGRATION

Le package DBMS_CLOUD_MIGRATION facilite la traduction du code SQL d'une variante SQL non Oracle vers Oracle SQL.

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 dans des instructions SQL non Oracle en instructions SQL Oracle. Les types d'instance SQL pris en charge sont PostgreSQL, MySQL et SQL Server.

MIGRATE_FILE Procédure

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

ENABLE_TRANSLATION Procédure

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

DISABLE_TRANSLATION Procédure

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 dans des instructions SQL non Oracle en instructions 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 de la base de données source. Les valeurs valides pour ce paramètre sont POSTGRES, MYSQL, SQLSERVER.

Ce paramètre est obligatoire.

Valeurs renvoyées

La forme fonctionnelle de 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 de 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);

MIGRATE_FILE Procédure

MIGRATE_FILE prend comme entrée un fichier contenant des instructions SQL d'une base de données source donnée et les convertit 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 à la 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 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 n'indiquez 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 plus de détails, reportez-vous à Formats d'URI DBMS_CLOUD.

source_db

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

Ce paramètre est obligatoire.

params

Spécifie 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, les 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 à DBMS_CLOUD Formats d'URI.

Dans cet exemple, namespace-string est l'espace de noms de stockage 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.

ENABLE_TRANSLATION Procédure

La procédure ENABLE_TRANSLATION permet la conversion 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

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

Ce paramètre est obligatoire.

Remarque d'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;        
/

DISABLE_TRANSLATION Procédure

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

Syntaxe

DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();

Remarque d'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;        
/