Pacote DBMS_CLOUD_MIGRATION

O pacote DBMS_CLOUD_MIGRATION facilita a tradução do código SQL de uma versão do SQL não Oracle para o Oracle SQL.

Resumo de Subprogramas DBMS_CLOUD_MIGRATION

Esta tabela resume os subprogramas incluídos no pacote DBMS_CLOUD_MIGRATION.

Subprograma Descrição

MIGRATE_SQL Procedimento e Função

O MIGRATE_SQL facilita a tradução de instruções SQL escritas em SQL não Oracle para SQL Oracle. As opções de SQL suportadas são PostgreSQL, MySQL e SQL Server.

Procedimento MIGRATE_FILE

Este procedimento converte um arquivo contendo instruções SQL de um banco de dados de origem especificado como uma entrada e converte as instruções SQL no Oracle SQL.

Procedimento ENABLE_TRANSLATION

Este procedimento permite a conversão de SQL em tempo real e a execução de instruções SQL não Oracle em um Autonomous Database. As opções de SQL suportadas são PostgreSQL, MySQL e SQL Server.

Procedimento DISABLE_TRANSLATION

Este procedimento desativa a tradução da linguagem SQL.

MIGRATE_SQL Procedimento e Função

O MIGRATE_SQL facilita a tradução de instruções SQL escritas em SQL não Oracle para SQL Oracle. Este procedimento é sobrecarregado e tem variantes de função e procedimento.

Sintaxe

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;

Parâmetros

Parâmetro Descrição

original_sql

Especifica a instrução SQL original no banco de dados de origem que precisa ser traduzida para o Oracle SQL.

Este parâmetro é obrigatório.

output_sql

Retorna a instrução SQL traduzida.

Este parâmetro é obrigatório.

source_db

Especifica o nome do banco de dados de origem. Os valores válidos desse parâmetro são POSTGRES, MYSQL, SQLSERVER.

Este parâmetro é obrigatório.

Retornar Valores

O formulário de função DBMS_CLOUD_MIGRATION.MIGRATE_SQL retorna um CLOB que contém a versão traduzida do Oracle SQL da entrada ORIGINAL_SQL.

Observações sobre Uso

Exemplos

Forma de procedimento de DBMS_CLOUD_MIGRATION.MIGRATE_SQL para traduzir a instrução PostgreSQL para o Oracle SQL:

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;        
/

Forma de função de DBMS_CLOUD_MIGRATION.MIGRATE_SQL para traduzir a instrução PostgreSQL para o Oracle SQL:

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

Procedimento MIGRATE_FILE

MIGRATE_FILE pega um arquivo contendo instruções SQL de um banco de dados de origem especificado como entrada e traduz as instruções SQL para o Oracle SQL.

Sintaxe

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

Parâmetros

Parâmetro Descrição

credential_name

O nome da credencial para acessar o Cloud Object Storage.

Este parâmetro é obrigatório.

Opcionalmente, a credencial usada para acessar o Armazenamento de Objetos na Nuvem pode ser definida configurando políticas e atribuições. Consulte Configurar Políticas e Atribuições para Acessar Recursos para obter mais informações.

location_uri

O URI do arquivo de origem. O formato do URI depende do serviço Cloud Object Storage que você está usando. Para obter detalhes, consulte DBMS_CLOUD Formatos de URI.

Este parâmetro é obrigatório.

target_uri

O URI do arquivo de destino, onde o arquivo traduzido deve ser armazenado. Se você não fornecer um valor para esse parâmetro, o arquivo traduzido será armazenado no mesmo local do arquivo de origem.

O formato do URI depende do serviço Cloud Object Storage que você está usando. Para obter detalhes, consulte DBMS_CLOUD Formatos de URI.

source_db

Especifica o idioma do banco de dados de origem. Os valores válidos desse parâmetro são POSTGRES, MYSQL, SQLSERVER.

Este parâmetro é obrigatório.

params

Especifica os parâmetros adicionais que podem ser informados no formato JSON.

Observações sobre Uso

  • Para executar DBMS_CLOUD_MIGRATION.MIGRATE_FILE, você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_MIGRATION.

  • O parâmetro credential_name especifica a credencial para acessar o URI do Cloud Object Storage. O usuário que executa DBMS_CLOUD_MIGRATION.MIGRATE_FILE. deve ter o privilégio EXECUTE para o objeto de credencial usado para acessar o URI do Object Storage. Ou seja, a credencial especificada com o parâmetro credential_name.

Exemplo

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;
/

O parâmetro credential_name especifica a credencial para acessar o URI do Cloud Object Storage.

location_uri é o URI do arquivo de origem. O formato do URI depende do serviço Cloud Object Storage que você está usando. Consulte DBMS_CLOUD Formatos de URI para obter mais informações.

Neste exemplo, namespace-string corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname corresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

Procedimento ENABLE_TRANSLATION

O procedimento ENABLE_TRANSLATION permite a conversão de SQL em tempo real e a execução de instruções SQL não Oracle no Autonomous Database.

Sintaxe

Parâmetros

DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION (
   source_db  IN  VARCHAR2);
Parâmetro Descrição

source_db

Especifica o idioma do banco de dados de origem. Os valores válidos desse parâmetro são POSTGRES, MYSQL, SQLSERVER.

Este parâmetro é obrigatório.

Observação de Uso

  • Para executar DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION, você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_MIGRATION.

Exemplo

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

Procedimento DISABLE_TRANSLATION

O procedimento DISABLE_TRANSLATION desativa a tradução da linguagem SQL. Um erro será retornado se a tradução do idioma SQL não estiver ativada para sua sessão.

Sintaxe

DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();

Observação de Uso

  • Para executar DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION, você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_MIGRATION.

Exemplo

BEGIN
  DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();
END;        
/