Sobre espaços de trabalho de conversão legados

Os workspaces de conversão legados são um tipo mais antigo e limitado de workspaces de conversão. Eles não oferecem suporte aos recursos de conversão aprimorados do Gemini nem ao editor SQL interativo. Você só pode usá-los para converter seu 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, pois eles apresentam várias outras limitações ao fluxo de trabalho de conversão:

Espaço de trabalho de conversão interativo Espaço de trabalho de conversão legado
A conversão de esquema e objeto de código ocorre no Database Migration Service. Você executa conversões de esquema e objeto de código fora do Database Migration Service usando a ferramenta de migração Ora2Pg.
Você pode aplicar fontes 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 na sua instância de destino do Cloud SQL para PostgreSQL.
Você pode testar seu esquema e código de rascunho diretamente no Database Migration Service para garantir que eles possam ser aplicados com sucesso à sua instância de destino. Você não pode testar seu esquema e código de rascunho sem afetar a instância de destino.
Adiciona automaticamente colunas rowid ausentes para tabelas que não têm chaves primárias e restrições exclusivas. Você deve adicionar chaves primárias ausentes às tabelas de destino depois de aplicar o esquema.
Tabela 1 : Comparação de 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 Ora2Pg.

    Consulte a documentação do Ora2Pg para obter orientações sobre como usar a ferramenta de conversão Ora2Pg. Expanda as seções a seguir para obter a lista completa de diretivas suportadas pelo Serviço de Migração de Banco de Dados.

    Configuração do Ora2Pg suportada no Database Migration Service

    O Database Migration Service oferece suporte aos seguintes itens de 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, você não precisa definir as seguintes informações no seu 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 carregue o arquivo Ora2Pg para converter seu esquema .
  3. Aplique manualmente o esquema convertido ao banco de dados de destino.

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

  4. Migrar tabelas sem chaves primárias.

    O Serviço de Migração de Banco de Dados migra apenas tabelas que possuem chaves primárias. Se o seu banco de dados de origem incluir tabelas sem chaves primárias, você precisará criar manualmente chaves primárias ou restrições exclusivas nas tabelas convertidas no banco de dados de destino após aplicar o esquema convertido. Expanda a seção a seguir para obter mais detalhes.

    Adicionar restrições de chave primária no banco de dados de destino

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

    1. Conecte-se à sua instância de destino do Cloud SQL com um cliente SQL. Você pode usar os seguintes métodos:
      • Cliente psql . Você pode usar este método para se conectar ao IP privado da sua instância, mas pode ser necessário criar uma máquina virtual do Compute Engine.
      • Comando gcloud sql connect . Este comando funciona apenas para instâncias do Cloud SQL que tenham um endereço IP público habilitado.
    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 expandir as seguintes seções para ver exemplos de comandos SQL:

      Crie chaves primárias usando colunas existentes

      Sua tabela pode já ter uma chave primária lógica baseada em uma coluna ou 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 seu banco de dados de origem. Por exemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      Crie uma chave primária usando todas as colunas

      Se você não tiver uma restrição preexistente que possa servir como chave primária, crie chaves primárias usando todas as colunas da tabela. Certifique-se de não exceder o tamanho máximo da chave primária permitido pela sua instância do PostgreSQL. Por 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 esta, você precisa listar explicitamente todos os nomes de colunas que deseja usar. Não é possível usar uma instrução para recuperar todos os nomes de colunas para essa finalidade.

      Crie uma restrição única 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 Oracle que não possuem chaves primárias, você pode adicionar 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 a 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);

O que vem a seguir

Após executar o fluxo de trabalho de conversão com o espaço de trabalho legado, você poderá prosseguir com os procedimentos de migração padrão. Consulte Criar uma tarefa de migração .

,

Os workspaces de conversão legados são um tipo mais antigo e limitado de workspaces de conversão. Eles não oferecem suporte aos recursos de conversão aprimorados do Gemini nem ao editor SQL interativo. Você só pode usá-los para converter seu 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, pois eles apresentam várias outras limitações ao fluxo de trabalho de conversão:

Espaço de trabalho de conversão interativo Espaço de trabalho de conversão legado
A conversão de esquema e objeto de código ocorre no Database Migration Service. Você executa conversões de esquema e objeto de código fora do Database Migration Service usando a ferramenta de migração Ora2Pg.
Você pode aplicar fontes 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 na sua instância de destino do Cloud SQL para PostgreSQL.
Você pode testar seu esquema e código de rascunho diretamente no Database Migration Service para garantir que eles possam ser aplicados com sucesso à sua instância de destino. Você não pode testar seu esquema e código de rascunho sem afetar a instância de destino.
Adiciona automaticamente colunas rowid ausentes para tabelas que não têm chaves primárias e restrições exclusivas. Você deve adicionar chaves primárias ausentes às tabelas de destino depois de aplicar o esquema.
Tabela 1 : Comparação de 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 Ora2Pg.

    Consulte a documentação do Ora2Pg para obter orientações sobre como usar a ferramenta de conversão Ora2Pg. Expanda as seções a seguir para obter a lista completa de diretivas suportadas pelo Serviço de Migração de Banco de Dados.

    Configuração do Ora2Pg suportada no Database Migration Service

    O Database Migration Service oferece suporte aos seguintes itens de 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, você não precisa definir as seguintes informações no seu 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 carregue o arquivo Ora2Pg para converter seu esquema .
  3. Aplique manualmente o esquema convertido ao banco de dados de destino.

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

  4. Migrar tabelas sem chaves primárias.

    O Serviço de Migração de Banco de Dados migra apenas tabelas que possuem chaves primárias. Se o seu banco de dados de origem incluir tabelas sem chaves primárias, você precisará criar manualmente chaves primárias ou restrições exclusivas nas tabelas convertidas no banco de dados de destino após aplicar o esquema convertido. Expanda a seção a seguir para obter mais detalhes.

    Adicionar restrições de chave primária no banco de dados de destino

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

    1. Conecte-se à sua instância de destino do Cloud SQL com um cliente SQL. Você pode usar os seguintes métodos:
      • Cliente psql . Você pode usar este método para se conectar ao IP privado da sua instância, mas pode ser necessário criar uma máquina virtual do Compute Engine.
      • Comando gcloud sql connect . Este comando funciona apenas para instâncias do Cloud SQL que tenham um endereço IP público habilitado.
    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 expandir as seguintes seções para ver exemplos de comandos SQL:

      Crie chaves primárias usando colunas existentes

      Sua tabela pode já ter uma chave primária lógica baseada em uma coluna ou 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 seu banco de dados de origem. Por exemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      Crie uma chave primária usando todas as colunas

      Se você não tiver uma restrição preexistente que possa servir como chave primária, crie chaves primárias usando todas as colunas da tabela. Certifique-se de não exceder o tamanho máximo da chave primária permitido pela sua instância do PostgreSQL. Por 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 esta, você precisa listar explicitamente todos os nomes de colunas que deseja usar. Não é possível usar uma instrução para recuperar todos os nomes de colunas para essa finalidade.

      Crie uma restrição única 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 Oracle que não possuem chaves primárias, você pode adicionar 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 a 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);

O que vem a seguir

Após executar o fluxo de trabalho de conversão com o espaço de trabalho legado, você poderá prosseguir com os procedimentos de migração padrão. Consulte Criar uma tarefa de migração .