Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-05-09 GMT+08:00

Migração de definições de tabela e sintaxe

  1. Efetue logon no PL/SQL Developer usando uma conta com a permissão sysdba. Neste exemplo, a conta db_user01 é usada.

    A seguir, o PL/SQL Developer Trial Version é usado como exemplo.

  1. Na barra de menus, escolha Tools > Export User Objects.
  2. Selecione o usuário conectado db_user01, selecione o objeto da tabela APEX2_DYNAMIC_ADD_REMAIN_TEST do usuário, selecione o caminho para o arquivo de saída (nomeie o arquivo SQL de saída como test) e clique em Export.

    O arquivo DDL exportado é o seguinte:

  3. Coloque o arquivo DDL exportado no diretório input da pasta DSC descompactada.

  4. No diretório runDSC.bat, pressione Shift e clique com o botão direito do mouse. Escolha Open PowerShell window here e execute a conversão. Substitua D:\DSC\DSC\input, D:\DSC\DSC\output e D:\DSC\DSC\log pelos caminhos de DSC reais.

    1
    .\runDSC.bat --source-db Oracle --input-folder D:\DSC\DSC\input --output-folder D:\DSC\DSC\output --log-folder D:\DSC\DSC\log --application-lang SQL --conversion-type bulk --target-db gaussdbA
    

  5. Após a conclusão da conversão, o arquivo DDL convertido é gerado automaticamente no diretório output de DSC.

  6. A estrutura de definição de tabela do GaussDB(DWS) é diferente da do Oracle. Você precisa modificar manualmente a definição da tabela convertida.

    Comentar fora \echo no arquivo (se você usar gsql para importar definições de tabela, você não precisa fazer isso) e altere manualmente a coluna de distribuição da tabela especificada.
    • Antes da mudança:

    • Após a mudança:

    A coluna de distribuição em uma tabela de hash deve atender aos seguintes requisitos, que são classificados por prioridade em ordem decrescente:

    1. Os valores da chave de distribuição devem ser discretos para que os dados possam ser distribuídos uniformemente em cada DN. Você pode selecionar a chave primária da tabela como a chave de distribuição. Por exemplo, para uma tabela de informações da pessoa, escolha a coluna do número de ID como a chave de distribuição.
    2. Não selecione a coluna onde existe um filtro constante. Por exemplo, se uma restrição constante (por exemplo, zqdh= '000001') existe na coluna zqdh em algumas consultas na tabela dwcjk, não é aconselhável usar zqdh como a chave de distribuição.
    3. Selecione a condição de junção como a coluna de distribuição, para que as tarefas de junção possam ser enviadas para os DNs para serem executadas, reduzindo a quantidade de dados transferidos entre os DNs.

  7. Crie um cluster de GaussDB(DWS). Para obter detalhes, consulte Criação de um cluster.
  8. Conecte-se ao cluster do GaussDB(DWS) como o administrador do sistema dbadmin. Para obter detalhes, consulte Uso do cliente da GUI do Data Studio para se conectar a um cluster. Por padrão, a primeira conexão é com o banco de dados padrão gaussdb.
  9. Crie um novo banco de dados de destino test e, em seguida, alterne para ele.

    1
    CREATE DATABASE test WITH ENCODING 'UTF-8' DBCOMPATIBILITY 'ORA' TEMPLATE template0;
    

  10. Crie um esquema e alterne para ele. O nome do esquema deve ser igual ao nome do usuário de Oracle (db_user01 neste exemplo).

    1
    2
    CREATE SCHEMA db_user01;
    SET CURRENT_SCHEMA = db_user01;
    

  11. Copie as instruções DDL convertidas em 7 para Data Studio para execução.
  12. Se a tabela APEX2_DYNAMIC_ADD_REMAIN_TEST puder ser encontrada no esquema no banco de dados test do cluster GaussDB(DWS), a definição da tabela será migrada.

    1
    SELECT COUNT(*) FORM db_user01.APEX2_DYNAMIC_ADD_REMAIN_TEST;