Sobre os espaços de trabalho de conversão legados

Os espaços de trabalho de conversão legados são um tipo mais antigo e limitado de espaços de trabalho de conversão. Os espaços de trabalho de conversão legados não têm suporte para recursos de conversão aprimorados pelo Gemini ou para o editor de SQL interativo. Eles só podem ser usados para converter o esquema de origem com a ferramenta de migração Ora2Pg.

Não recomendamos usar o tipo legado de espaços de trabalho de conversão para suas migrações, porque eles apresentam várias outras limitações para o fluxo de trabalho de conversão:

Espaço de trabalho de conversão interativoEspaço de trabalho de conversão legado
A conversão de objetos de esquema e código acontece no Database Migration Service. Você realiza conversões de esquema e objeto de código fora do Database Migration Service usando a ferramenta de migração Ora2Pg.
É possível aplicar origens convertidas ao banco de dados de destino diretamente no Database Migration Service. Você é responsável por aplicar o esquema convertido ao banco de dados de destino no cluster de destino do AlloyDB para PostgreSQL.
É possível testar o esquema e o código do rascunho diretamente no Database Migration Service para garantir que eles possam ser aplicados ao cluster de destino. Não é possível testar o esquema e o código do rascunho sem afetar o cluster de destino.
Adiciona automaticamente colunas rowid ausentes para tabelas que não têm chaves primárias e restrições exclusivas. É necessário adicionar chaves primárias ausentes às tabelas de destino depois de aplicar o esquema.
Tabela 1: comparação dos recursos do espaço de trabalho de conversão

Usar espaços de trabalho de conversão legados

Se o seu cenário exigir o uso de espaços de trabalho de conversão legados, modifique o processo de migração com as seguintes ações:

  1. Escreva um arquivo de configuração do Ora2Pg.

    Consulte a documentação do Ora2Pg para saber como usar a ferramenta de conversão do Ora2Pg. Abra as seções a seguir para conferir a lista completa de diretivas compatíveis com o Database Migration Service.

    Configuração do Ora2Pg com suporte no Database Migration Service

    O Database Migration Service aceita a seguinte configuração para arquivos Ora2Pg:

    • BOOLEAN_VALUES
    • DATA_TYPE
    • DEFAULT_NUMERIC
    • ENABLE_MICROSECOND
    • EXPORT_SCHEMA
    • MODIFY_STRUCT
    • MODIFY_TYPE
    • PG_INTEGER_TYPE
    • PG_NUMERIC_TYPE
    • PG_SCHEMA
    • PRESERVE_CASE
    • REPLACE_AS_BOOLEAN
    • REPLACE_COLS
    • REPLACE_TABLES
    • REPLACE_ZERO_DATE
    • SCHEMA

    O Database Migration Service usa perfis de conexão para definir detalhes de conectividade. Portanto, não é necessário definir as seguintes informações no arquivo de configuração do Or2Pg:

    • ORACLE_DSN
    • ORACLE_HOME
    • ORACLE_PWD
    • ORACLE_USER
    • PG_DSN
    • PG_PWD
    • PG_USER

    Além disso, o Database Migration Service não usa a diretiva de configuração WHERE para limitar os registros a serem migrados.

  2. Crie um espaço de trabalho de conversão legado e converta o esquema.
  3. Aplique manualmente o esquema convertido ao banco de dados de destino.

    Depois de criar a configuração do Ora2Pg e o espaço de trabalho, aplique o código gerado diretamente no banco de dados de destino.

  4. Migrar tabelas sem chaves primárias.

    O Database Migration Service migra apenas tabelas com chaves primárias. Se o banco de dados de origem incluir tabelas que não têm chaves primárias, crie manualmente chaves primárias ou restrições exclusivas nas tabelas convertidas no banco de dados de destino depois de aplicar o esquema convertido. Abra a seção a seguir para mais detalhes.

    Adicionar chaves primárias ou restrições exclusivas no banco de dados de destino

    Para migrar tabelas do Oracle sem chaves primárias, faça o seguinte:

    1. Conecte-se ao cluster do AlloyDB para PostgreSQL com o cliente psql.
    2. Crie as restrições de chave primária ausentes para suas tabelas. Para mais informações sobre chaves primárias, consulte Chaves primárias na documentação do PostgreSQL.

      Você também pode abrir as seções a seguir para conferir exemplos de comandos SQL:

      Criar chaves primárias usando colunas atuais

      Talvez sua tabela já tenha uma chave primária lógica baseada em uma coluna ou uma combinação de colunas. Por exemplo, pode haver colunas com uma restrição ou índice exclusivo configurado. Use essas colunas para gerar uma nova chave primária para tabelas no banco de dados de origem. Exemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      Criar uma chave primária usando todas as colunas

      Se você não tiver uma restrição pré-existente que possa servir como chave primária, crie chaves primárias usando todas as colunas da tabela. Verifique se você não excede o comprimento máximo da chave primária permitido pelo cluster do PostgreSQL. Exemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME_1, COLUMN_NAME_2, COLUMN_NAME_3, ...);

      Ao criar uma chave primária composta como essa, é necessário listar explicitamente todos os nomes de coluna que você quer usar. Não é possível usar uma instrução para extrair todos os nomes de colunas para essa finalidade.

      Criar uma restrição exclusiva com a pseudocoluna ROWID

      Os bancos de dados Oracle usam a pseudocoluna ROWID para armazenar a localização de cada linha em uma tabela. Para migrar tabelas do Oracle que não têm chaves primárias, adicione uma coluna ROWID no banco de dados PostgreSQL de destino. O Database Migration Service preenche a coluna com os valores numéricos correspondentes da pseudocoluna ROWID do Oracle de origem.

      Para adicionar a coluna e defini-la como chave primária, execute o seguinte:

      ALTER TABLE TABLE_NAME ADD COLUMN rowid numeric(33,0) NOT NULL;
      CREATE SEQUENCE TABLE_NAME_rowid_seq INCREMENT BY -1 START WITH -1 OWNED BY TABLE_NAME.rowid;
      ALTER TABLE TABLE_NAME ALTER COLUMN rowid SET DEFAULT nextval('TABLE_NAME_rowid_seq');
      ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_DISPLAY_NAME PRIMARY KEY (rowid);

A seguir

Depois de executar o fluxo de trabalho de conversão com o espaço de trabalho legada, prossiga com os procedimentos de migração padrão. Consulte Criar um job de migração.