Pacote DBMS_CLOUD_MIGRATION

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

Resumo dos 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 gravadas no SQL não Oracle para o Oracle SQL. Os sabores SQL suportados são PostgreSQL, MySQL e SQL Server.

MIGRATE_FILE Procedimento

Este procedimento traduz um arquivo que contém instruções SQL de um banco de dados de origem especificado como uma entrada e traduz as instruções SQL para o Oracle SQL.

ENABLE_TRANSLATION Procedimento

Este procedimento permite a tradução e execução de instruções SQL não Oracle em tempo real em um Autonomous Database. Os sabores SQL suportados são PostgreSQL, MySQL e SQL Server.

DISABLE_TRANSLATION Procedimento

Este procedimento desativa a tradução do idioma SQL.

MIGRATE_SQL Procedimento e Função

O MIGRATE_SQL facilita a tradução de instruções SQL gravadas no SQL não Oracle para o Oracle SQL. Este procedimento está 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 da base de dados de origem. Os valores válidos para esse parâmetro são POSTGRES, MYSQL, SQLSERVER.

Este parâmetro é obrigatório.

Valores de Retorno

O form 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 de Uso

Exemplos

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

Form da função 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);

MIGRATE_FILE Procedimento

MIGRATE_FILE pega um arquivo que contém 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 Cloud Object Store 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 do Cloud Object Storage que você estiver 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 que o arquivo de origem.

O formato do URI depende do serviço do Cloud Object Storage que você estiver 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 para esse 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 de Uso

  • Para executar o DBMS_CLOUD_MIGRATION.MIGRATE_FILE, você deve estar conectado como 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 serviço Object Storage. Ou seja, a credencial que você especifica 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.

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

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

ENABLE_TRANSLATION Procedimento

O procedimento ENABLE_TRANSLATION permite a tradução de SQL em tempo real e a execução de instruções SQL não Oracle no seu 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 para esse parâmetro são POSTGRES, MYSQL, SQLSERVER.

Este parâmetro é obrigatório.

Observação do Uso

  • Para executar o DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_MIGRATION.

Exemplo

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

DISABLE_TRANSLATION Procedimento

O procedimento DISABLE_TRANSLATION desativa a tradução do idioma 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 do Uso

  • Para executar o DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_MIGRATION.

Exemplo

BEGIN
  DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION();
END;        
/