Gere metadados para tradução e avaliação

Este documento descreve como criar metadados e consultar ficheiros de registo através da ferramenta de extração de linha de comandos dwh-migration-dumper. Os ficheiros de metadados descrevem os objetos SQL no seu sistema de origem.

O serviço de migração do BigQuery usa estas informações para melhorar a tradução dos seus scripts SQL do dialeto do sistema de origem para o GoogleSQL.

A avaliação da migração do BigQuery usa ficheiros de metadados e ficheiros de registo de consultas para analisar o seu armazém de dados existente e ajudar a avaliar o esforço de mover o seu armazém de dados para o BigQuery.

Vista geral

Pode usar a ferramenta dwh-migration-dumper para extrair informações de metadados da plataforma de base de dados para a qual está a migrar para o BigQuery. Embora a utilização da ferramenta de extração não seja necessária para a tradução, é necessária para a avaliação da migração do BigQuery e recomendamos vivamente que a use para todas as tarefas de migração.

Para mais informações, consulte o artigo Crie ficheiros de metadados.

Pode usar a ferramenta dwh-migration-dumper para extrair metadados das seguintes plataformas de base de dados:

  • Teradata
  • Amazon Redshift
  • Apache Hive
  • Apache Spark
  • Azure Synapse
  • Greenplum
  • Microsoft SQL Server
  • IBM Netezza
  • Oracle
  • PostgreSQL
  • Floco de neve
  • Trino ou PrestoSQL
  • Vertica

Para a maioria destas bases de dados, também pode extrair registos de consultas.

A ferramenta dwh-migration-dumper consulta tabelas do sistema para recolher declarações de linguagem de definição de dados (DDL) relacionadas com bases de dados de utilizadores e do sistema. Não consulta o conteúdo das bases de dados de utilizadores. A ferramenta guarda as informações de metadados das tabelas do sistema como ficheiros CSV e, em seguida, comprime estes ficheiros num único pacote. Em seguida, carrega este ficheiro ZIP para o Cloud Storage quando carregar os ficheiros de origem para tradução ou avaliação.

Quando usa a opção de registos de consultas, a ferramenta dwh-migration-dumper consulta tabelas do sistema para instruções DDL e registos de consultas relacionados com bases de dados de utilizadores e do sistema. Estes são guardados no formato CSV ou YAML num subdiretório e, em seguida, compactados num pacote ZIP. Em nenhum momento, o conteúdo das bases de dados de utilizadores é consultado. Neste momento, a avaliação de migração do BigQuery requer ficheiros CSV, YAML e de texto individuais para os registos de consultas. Por isso, deve descomprimir todos estes ficheiros do ficheiro ZIP de registos de consultas e carregá-los para avaliação.

A ferramenta dwh-migration-dumper pode ser executada no Windows, macOS e Linux.

A ferramenta dwh-migration-dumper está disponível ao abrigo da licença Apache 2.

Se optar por não usar a ferramenta dwh-migration-dumper para tradução, pode fornecer manualmente ficheiros de metadados recolhendo as declarações de linguagem de definição de dados (DDL) para os objetos SQL no seu sistema de origem em ficheiros de texto separados.

O fornecimento de metadados e registos de consultas extraídos com a ferramenta é necessário para a avaliação da migração através da avaliação da migração do BigQuery.

Requisitos de conformidade

Disponibilizamos o ficheiro binário da ferramenta dwh-migration-dumper compilado para facilitar a utilização. Se precisar de auditar a ferramenta para garantir que cumpre os requisitos de conformidade, pode rever o código fonte do dwh-migration-dumperrepositório GitHub da ferramenta e compilar o seu próprio ficheiro binário.

Pré-requisitos

Instale o Java

O servidor no qual planeia executar a ferramenta dwh-migration-dumper tem de ter o Java 8 ou superior instalado. Se não o tiver, transfira o Java a partir da página de transferências do Java e instale-o.

Autorizações necessárias

A conta de utilizador que especificar para associar a ferramenta dwh-migration-dumper ao sistema de origem tem de ter autorizações para ler metadados desse sistema. Confirme se esta conta tem a associação de funções adequada para consultar os recursos de metadados disponíveis para a sua plataforma. Por exemplo, INFORMATION_SCHEMA é um recurso de metadados comum a várias plataformas.

Instale a ferramenta dwh-migration-dumper

Para instalar a ferramenta dwh-migration-dumper, siga estes passos:

  1. Na máquina onde quer executar a ferramenta dwh-migration-dumper, transfira o ficheiro ZIP do dwh-migration-dumperrepositório do GitHub da ferramenta.
  2. Para validar o ficheiro ZIP da ferramenta dwh-migration-dumper, transfira o ficheiro SHA256SUMS.txt e execute o seguinte comando:

    Bash

    sha256sum --check SHA256SUMS.txt

    Se a validação falhar, consulte a secção Resolução de problemas.

    Windows PowerShell

    (Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

    Substitua RELEASE_ZIP_FILENAME pelo nome do ficheiro ZIP transferido da versão da ferramenta de extração de linhas de comando dwh-migration-dumper, por exemplo, dwh-migration-tools-v1.0.52.zip

    O resultado True confirma a validação da soma de verificação bem-sucedida.

    O resultado False indica um erro de validação. Certifique-se de que os ficheiros ZIP e de soma de verificação são transferidos a partir da mesma versão de lançamento e colocados no mesmo diretório.

  3. Extraia o ficheiro ZIP. O ficheiro binário da ferramenta de extração encontra-se no subdiretório /bin da pasta criada ao extrair o ficheiro ZIP.

  4. Atualize a variável de ambiente PATH para incluir o caminho de instalação da ferramenta de extração.

Execute a ferramenta dwh-migration-dumper

A ferramenta dwh-migration-dumper usa o seguinte formato:

dwh-migration-dumper [FLAGS]

A execução da ferramenta dwh-migration-dumper cria um ficheiro de saída com o nome dwh-migration-<source platform>-metadata.zip, por exemplo, dwh-migration-teradata-metadata.zip, no seu diretório de trabalho.

Siga as instruções abaixo para saber como executar a ferramenta dwh-migration-dumper para a sua plataforma de origem.

Teradata

Para permitir que a ferramenta dwh-migration-dumper se ligue ao Teradata, transfira o respetivo controlador JDBC a partir da página de transferência do Teradata.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados e registos de consultas do Teradata através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--assessment

Ativa o modo de avaliação quando gera registos da base de dados ou extrai metadados. A ferramenta dwh-migration-dumper gera estatísticas de metadados necessárias para a avaliação da migração do BigQuery quando usada para a extração de metadados. Quando usado para registos de consultas, extrai colunas adicionais para a avaliação da migração do BigQuery.

Obrigatório quando usado para executar a avaliação, não obrigatório para tradução.
--connector O nome do conetor a usar, neste caso, teradata para metadados ou teradata-logs para registos de consultas. Sim
--database

Uma lista das bases de dados a extrair, separadas por vírgulas. Os nomes das bases de dados podem ser sensíveis a maiúsculas e minúsculas, consoante a configuração do servidor Teradata.

Se esta flag for usada em combinação com o conetor teradata, a ferramenta dwh-migration-dumper filtra as tabelas de metadados e as vistas pela lista de bases de dados fornecida. As exceções são as visualizações de propriedades DatabasesV e RoleMembersV. A ferramenta dwh-migration-dumper extrai as bases de dados e os utilizadores destas visualizações de propriedades sem filtrar pelo nome da base de dados.

Não é possível usar esta flag em combinação com o conector teradata-logs. Os registos de consultas são sempre extraídos para todas as bases de dados.

Não
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Se não for especificado, a ferramenta de extração usa um comando seguro para o pedir.
--port 1025 A porta do servidor de base de dados. Não
--user

O nome de utilizador a usar para a ligação à base de dados.

Sim
--query-log-alternates

Apenas para o conetor teradata-logs.

Para extrair os registos de consultas de uma localização alternativa, recomendamos que use as flags -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table.

Por predefinição, os registos de consultas são extraídos das tabelas dbc.DBQLogTbl e dbc.DBQLSQLTbl. Se usar a flag --assessment, os registos de consultas são extraídos da vista dbc.QryLogV e da tabela dbc.DBQLSQLTbl. Se precisar de extrair os registos de consultas de uma localização alternativa, pode especificar os nomes totalmente qualificados das tabelas ou das vistas através da flag --query-log-alternates. O primeiro parâmetro faz referência à alternativa à tabela dbc.DBQLogTbl e o segundo parâmetro faz referência à alternativa à tabela dbc.DBQLSQLTbl. Ambos os parâmetros são obrigatórios.
A flag -Dteradata-logs.log-date-column pode ser usada para melhorar o desempenho da extração quando ambas as tabelas têm uma coluna indexada do tipo DATE.

Exemplo: --query-log-alternates historicdb.ArchivedQryLogV,historicdb.ArchivedDBQLSqlTbl

Não
-Dteradata.tmode

O modo de transação da ligação. Os seguintes valores são suportados:

  • ANSI: modo ANSI. Este é o modo predefinido (se a flag não estiver especificada)
  • TERA: modo de transação Teradata (BTET)
  • DEFAULT: use o modo de transação predefinido configurado no servidor de base de dados
  • NONE: não está definido nenhum modo para a ligação

Exemplo (Bash):
-Dteradata.tmode=TERA

Exemplo (Windows PowerShell):
"-Dteradata.tmode=TERA"

Não
-Dteradata-logs.log-date-column

Apenas para o conetor teradata-logs.

Para melhorar o desempenho da união de tabelas especificadas pelas flags -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table, pode incluir uma coluna adicional do tipo DATE na condição JOIN. Esta coluna tem de ser definida em ambas as tabelas e tem de fazer parte do índice principal particionado.

Exemplo (Bash):
-Dteradata-logs.log-date-column=ArchiveLogDate

Exemplo (Windows PowerShell):
"-Dteradata-logs.log-date-column=ArchiveLogDate"

Não
-Dteradata-logs.query-logs-table

Apenas para o conetor teradata-logs.

Por predefinição, os registos de consultas são extraídos da tabela dbc.DBQLogTbl. Se usar a flag --assessment, os registos de consultas são extraídos da vista dbc.QryLogV. Se precisar de extrair os registos de consultas de uma localização alternativa, pode especificar o nome totalmente qualificado da tabela ou da vista através desta flag.
Consulte a flag -Dteradata-logs.log-date-column para melhorar o desempenho da extração.

Exemplo (Bash):
-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV

Exemplo (Windows PowerShell):
"-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV"

Não
-Dteradata-logs.sql-logs-table

Apenas para o conetor teradata-logs.

Por predefinição, os registos de consultas que contêm texto SQL são extraídos da tabela dbc.DBQLSqlTbl. Se precisar de os extrair de uma localização alternativa, pode especificar o nome totalmente qualificado da tabela ou da vista através desta flag.
Consulte a flag -Dteradata-logs.log-date-column para melhorar o desempenho da extração.

Exemplo (Bash):
-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl

Exemplo (Windows PowerShell):
"-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl"

Não
-Dteradata-logs.utility-logs-table

Apenas para o conetor teradata-logs.

Por predefinição, os registos de utilitários são extraídos da tabela dbc.DBQLUtilityTbl. Se precisar de extrair os registos de utilitários de uma localização alternativa, pode especificar o nome totalmente qualificado da tabela através da flag -Dteradata-logs.utility-logs-table.

Exemplo (Bash):
-Dteradata-logs.utility-logs-table=historicdb.ArchivedUtilityLogs

Exemplo (Windows PowerShell):
"-Dteradata-logs.utility-logs-table=historicdb.ArchivedUtilityLogs"

Não
-Dteradata-logs.res-usage-scpu-table

Apenas para o conetor teradata-logs.

Por predefinição, os registos de utilização de recursos da SCPU são extraídos da tabela dbc.ResUsageScpu. Se precisar de extrair estes dados de uma localização alternativa, pode especificar o nome totalmente qualificado da tabela através da flag -Dteradata-logs.res-usage-scpu-table.

Exemplo (Bash):
-Dteradata-logs.res-usage-scpu-table=historicdb.ArchivedResUsageScpu

Exemplo (Windows PowerShell):
"-Dteradata-logs.res-usage-scpu-table=historicdb.ArchivedResUsageScpu"

Não
-Dteradata-logs.res-usage-spma-table

Apenas para o conetor teradata-logs.

Por predefinição, os registos de utilização de recursos da SPMA são extraídos da tabela dbc.ResUsageSpma. Se precisar de extrair estes registos de uma localização alternativa, pode especificar o nome totalmente qualificado da tabela através da flag -Dteradata-logs.res-usage-spma-table.

Exemplo (Bash):
-Dteradata-logs.res-usage-spma-table=historicdb.ArchivedResUsageSpma

Exemplo (Windows PowerShell):
"-Dteradata-logs.res-usage-spma-table=historicdb.ArchivedResUsageSpma"

Não
--query-log-start

A hora de início (inclusive) dos registos de consultas a extrair. O valor é truncado à hora. Esta flag só está disponível para o conetor teradata-logs.

Exemplo: --query-log-start "2023-01-01 14:00:00"

Não
--query-log-end

A hora de fim (exclusive) dos registos de consultas a extrair. O valor é truncado à hora. Esta flag só está disponível para o conetor teradata-logs.

Exemplo: --query-log-end "2023-01-15 22:00:00"

Não
-Dteradata.metadata.tablesizev.max-rows

Apenas para o conetor teradata.

Limite o número de linhas extraídas da vista TableSizeV. As linhas são agrupadas pelas colunas DatabaseName, AccountName e TableName e, de seguida, ordenadas por ordem descendente pelo tamanho do espaço permanente (a expressão SUM(CurrentPerm)). Em seguida, é extraído o número especificado de linhas.

Exemplo (Bash):
-Dteradata.metadata.tablesizev.max-rows=100000

Exemplo (Windows PowerShell):
"-Dteradata.metadata.tablesizev.max-rows=100000"

Não
-Dteradata.metadata.diskspacev.max-rows

Apenas para o conetor teradata.

Limite o número de linhas extraídas da vista DiskSpaceV. As linhas são ordenadas por ordem decrescente pelo tamanho do espaço permanente (coluna CurrentPerm) e, em seguida, é extraído o número de linhas especificado.

Exemplo (Bash):
-Dteradata.metadata.diskspacev.max-rows=100000

Exemplo (Windows PowerShell):
"-Dteradata.metadata.diskspacev.max-rows=100000"

Não
-Dteradata.metadata.databasesv.users.max-rows

Apenas para o conetor teradata.

Limite o número de linhas que representam utilizadores (DBKind='U') que são extraídos da vista DatabasesV. As linhas são ordenadas por ordem decrescente pela coluna PermSpace e, em seguida, é extraído o número especificado de linhas.

Exemplo (Bash):
-Dteradata.metadata.databasesv.users.max-rows=100000

Exemplo (Windows PowerShell):
"-Dteradata.metadata.databasesv.users.max-rows=100000"

Não
-Dteradata.metadata.databasesv.dbs.max-rows

Apenas para o conetor teradata.

Limite o número de linhas que representam bases de dados (DBKind='D') extraídas da vista DatabasesV. As linhas são ordenadas por ordem decrescente pela coluna PermSpace e, em seguida, é extraído o número especificado de linhas.

Exemplo (Bash):
-Dteradata.metadata.databasesv.dbs.max-rows=100000

Exemplo (Windows PowerShell):
"-Dteradata.metadata.databasesv.dbs.max-rows=100000"

Não
-Dteradata.metadata.max-text-length

Apenas para o conetor teradata.

Comprimento máximo da coluna de texto ao extrair os dados da vista TableTextV. O texto com um comprimento superior ao limite definido é dividido em várias linhas. Intervalo permitido: entre 5000 e 32 000 (inclusive).

Exemplo (Bash):
-Dteradata.metadata.max-text-length=10000

Exemplo (Windows PowerShell):
"-Dteradata.metadata.max-text-length=10000"

Não
-Dteradata-logs.max-sql-length

Apenas para o conetor teradata-logs.

Comprimento máximo da coluna DBQLSqlTbl.SqlTextInfo. O texto da consulta com um comprimento superior ao limite definido é dividido em várias linhas. Intervalo permitido: entre 5000 e 31000 (inclusive).

Exemplo (Bash):
-Dteradata-logs.max-sql-length=10000

Exemplo (Windows PowerShell):
"-Dteradata-logs.max-sql-length=10000"

Não

Exemplos

O exemplo seguinte mostra como extrair metadados para duas bases de dados Teradata no anfitrião local:

dwh-migration-dumper \
  --connector teradata \
  --user user \
  --password password \
  --database database1,database2 \
  --driver path/terajdbc4.jar

O exemplo seguinte mostra como extrair registos de consultas para a avaliação no anfitrião local para autenticação:

dwh-migration-dumper \
  --connector teradata-logs \
  --assessment \
  --user user \
  --password password \
  --driver path/terajdbc4.jar

Tabelas e vistas extraídas pela ferramenta dwh-migration-dumper

As seguintes tabelas e vistas são extraídas quando usa o conector teradata:

  • DBC.ColumnsV
  • DBC.DatabasesV
  • DBC.DBCInfo
  • DBC.FunctionsV
  • DBC.IndicesV
  • DBC.PartitioningConstraintsV
  • DBC.TablesV
  • DBC.TableTextV

As seguintes tabelas e vistas adicionais são extraídas quando usa o conector teradata com a flag --assessment:

  • DBC.All_RI_ChildrenV
  • DBC.All_RI_ParentsV
  • DBC.AllTempTablesVX
  • DBC.DiskSpaceV
  • DBC.RoleMembersV
  • DBC.StatsV
  • DBC.TableSizeV

As seguintes tabelas e vistas são extraídas quando usa o conector teradata-logs:

  • DBC.DBQLogTbl (altera-se para DBC.QryLogV se for usada a flag --assessment)
  • DBC.DBQLSqlTbl

As seguintes tabelas e vistas adicionais são extraídas quando usa o conector teradata-logs com a flag --assessment:

  • DBC.DBQLUtilityTbl
  • DBC.ResUsageScpu
  • DBC.ResUsageSpma

Redshift

Pode usar qualquer um dos seguintes mecanismos de autenticação e autorização do Amazon Redshift com a ferramenta de extração:

  • Um nome de utilizador e uma palavra-passe.
  • Um ID da chave de acesso e uma chave secreta da AWS Identity and Access Management (Identity and Access Management [IAM]).
  • Um nome de perfil de IAM do AWS.

Para fazer a autenticação com o nome de utilizador e a palavra-passe, use o controlador JDBC do PostgreSQL predefinido do Amazon Redshift. Para fazer a autenticação com o IAM do AWS, use o controlador JDBC do Amazon Redshift, que pode transferir a partir da respetiva página de transferência.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados e registos de consultas do Amazon Redshift através da ferramenta dwh-migration-dumper. Para obter informações acerca de todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--assessment

Ativar o modo de avaliação ao gerar registos da base de dados ou extrair metadados. Gera estatísticas de metadados necessárias para a avaliação da migração do BigQuery quando usado para a extração de metadados. Quando usado para a extração de registos de consultas, gera estatísticas de métricas de consultas para a avaliação da migração do BigQuery.

Obrigatório quando executado no modo de avaliação, não obrigatório para tradução.
--connector O nome do conetor a usar, neste caso, redshift para metadados ou redshift-raw-logs para registos de consultas. Sim
--database Se não for especificado, o Amazon Redshift usa o valor --user como o nome da base de dados predefinido.

O nome da base de dados à qual estabelecer ligação.

Não
--driver Se não for especificado, o Amazon Redshift usa o controlador JDBC do PostgreSQL predefinido. O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Não
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--iam-accesskeyid

O ID da chave de acesso do AWS IAM a usar para autenticação. A chave de acesso é uma string de carateres, algo como AKIAIOSFODNN7EXAMPLE.

Use em conjunto com a flag --iam-secretaccesskey. Não use esta flag quando especificar as flags --iam-profile ou --password.

Não explicitamente, mas tem de fornecer informações de autenticação através de um dos seguintes métodos:

  • Usar esta flag em conjunto com a flag --iam-secretaccesskey.
  • Usar a flag --iam-profile.
  • Usar a flag --password em conjunto com a flag --user.
--iam-profile

O perfil do IAM da AWS a usar para autenticação. Pode obter um valor do perfil para usar examinando o ficheiro $HOME/.aws/credentials ou executando aws configure list-profiles.

Não use esta flag com as flags --iam-accesskeyid, --iam-secretaccesskey ou --password.

Não explicitamente, mas tem de fornecer informações de autenticação através de um dos seguintes métodos:

  • Usando esta bandeira.
  • Usando a flag --iam-accesskeyid em conjunto com a flag --iam-secretaccesskey.
  • Usar a flag --password em conjunto com a flag --user.
--iam-secretaccesskey

A chave de acesso secreta do AWS IAM a usar para autenticação. A chave de acesso secreta é uma string de carateres, algo como wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Use em conjunto com a flag --iam-accesskeyid. Não use esta flag com as flags --iam-profile ou --password.

Não explicitamente, mas tem de fornecer informações de autenticação através de um dos seguintes métodos:

  • Usar esta flag em conjunto com a flag --iam-accesskeyid.
  • Usar a flag --iam-profile.
  • Usar a flag --password em conjunto com a flag --user.
--password A palavra-passe a usar para a ligação à base de dados.

Não use esta flag com as flags --iam-accesskeyid, --iam-secretaccesskey ou --iam-profile.

Não explicitamente, mas tem de fornecer informações de autenticação através de um dos seguintes métodos:

  • Usar esta flag em conjunto com a flag --user.
  • Usando a flag --iam-accesskeyid em conjunto com a flag --iam-secretaccesskey.
  • Usar a flag --password.
--port 5439 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim
--query-log-start

A hora de início (inclusive) dos registos de consultas a extrair. O valor é truncado à hora. Esta flag só está disponível para o conetor redshift-raw-logs.

Exemplo: --query-log-start "2023-01-01 14:00:00"

Não
--query-log-end

A hora de fim (exclusive) dos registos de consultas a extrair. O valor é truncado à hora. Esta flag só está disponível para o conetor redshift-raw-logs.

Exemplo: --query-log-end "2023-01-15 22:00:00"

Não

Exemplos

O exemplo seguinte mostra como extrair metadados de uma base de dados do Amazon Redshift num anfitrião especificado, usando chaves do AWS IAM para autenticação:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host host.region.redshift.amazonaws.com \
  --iam-accesskeyid access_key_ID \
  --iam-secretaccesskey secret_access-key \
  --user user

O exemplo seguinte mostra como extrair metadados de uma base de dados do Amazon Redshift no anfitrião predefinido, usando o nome de utilizador e a palavra-passe para autenticação:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --password password \
  --user user

O exemplo seguinte mostra como extrair metadados de uma base de dados do Amazon Redshift num anfitrião especificado, usando um perfil do AWS IAM para autenticação:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host host.region.redshift.amazonaws.com \
  --iam-profile profile \
  --user user \
  --assessment

O exemplo seguinte mostra como extrair registos de consultas para a avaliação a partir de uma base de dados do Amazon Redshift num anfitrião especificado, usando um perfil do AWS IAM para autenticação:

dwh-migration-dumper \
  --connector redshift-raw-logs \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host 123.456.789.012 \
  --iam-profile profile \
  --user user \
  --assessment

Tabelas e vistas extraídas pela ferramenta dwh-migration-dumper

As seguintes tabelas e vistas são extraídas quando usa o conector redshift:

  • SVV_COLUMNS
  • SVV_EXTERNAL_COLUMNS
  • SVV_EXTERNAL_DATABASES
  • SVV_EXTERNAL_PARTITIONS
  • SVV_EXTERNAL_SCHEMAS
  • SVV_EXTERNAL_TABLES
  • SVV_TABLES
  • SVV_TABLE_INFO
  • INFORMATION_SCHEMA.COLUMNS
  • PG_CAST
  • PG_DATABASE
  • PG_LANGUAGE
  • PG_LIBRARY
  • PG_NAMESPACE
  • PG_OPERATOR
  • PG_PROC
  • PG_TABLE_DEF
  • PG_TABLES
  • PG_TYPE
  • PG_VIEWS

As seguintes tabelas e vistas adicionais são extraídas quando usa o conector redshift com a flag --assessment:

  • SVV_DISKUSAGE
  • STV_MV_INFO
  • STV_WLM_SERVICE_CLASS_CONFIG
  • STV_WLM_SERVICE_CLASS_STATE

As seguintes tabelas e vistas são extraídas quando usa o conector redshift-raw-logs:

  • STL_DDLTEXT
  • STL_QUERY
  • STL_QUERYTEXT
  • PG_USER

As seguintes tabelas e vistas adicionais são extraídas quando usa o conector redshift-raw-logs com a flag --assessment:

  • STL_QUERY_METRICS
  • SVL_QUERY_QUEUE_INFO
  • STL_WLM_QUERY

Para ver informações sobre as vistas e as tabelas do sistema no Redshift, consulte os artigos Vistas do sistema do Redshift e Tabelas do catálogo do sistema do Redshift.

Apache Hive/Spark ou Trino/PrestoSQL

A ferramenta dwh-migration-dumper só suporta a autenticação no metastore do Apache Hive através do Kerberos. Assim, os sinalizadores --user e --password não são usados. Em alternativa, use o sinalizador --hive-kerberos-url para fornecer os detalhes de autenticação Kerberos.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Apache Hive, Spark, Presto ou Trino através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--assessment

Ativa o modo de avaliação quando extrai metadados. A ferramenta dwh-migration-dumper gera estatísticas de metadados necessárias para a avaliação da migração do BigQuery quando usada para a extração de metadados.

Obrigatório para a avaliação. Não é necessário para a tradução.
--connector O nome do conetor a usar, neste caso, hiveql. Sim
--hive-metastore-dump-partition-metadata verdadeiro

Faz com que a ferramenta dwh-migration-dumper extraia metadados de partições. Pode querer definir esta flag como false para o metastore de produção com um número significativo de partições, devido às implicações no desempenho do cliente Thrift. Isto melhora o desempenho da ferramenta de extração, mas provoca alguma perda de otimização de partições no BigQuery.

Não use esta sinalização com a sinalização --assessment, uma vez que não tem efeito.

Não
--hive-metastore-version 2.3.6

Quando executa a ferramenta dwh-migration-dumper, esta seleciona a especificação Thrift adequada para usar na comunicação com o seu servidor Apache Hive, com base no valor desta flag. Se a ferramenta de extração não tiver uma especificação Thrift adequada, usa o cliente 2.3.6 e emite um aviso para stdout. Se isto acontecer, contacte o apoio técnico e indique o número da versão do Apache Hive que pediu.

Não
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--port 9083 A porta do servidor de base de dados. Não
--hive-kerberos-url O principal e o anfitrião do Kerberos a usar para a autenticação. Opcional para clusters com autenticação Kerberos ativada.
-Dhiveql.rpc.protection

O nível de configuração da proteção de RPC. Isto determina a qualidade de proteção (QOP) da camada de segurança e segurança simples (SASL) entre o cluster e a ferramenta dwh-migration-dumper.

Tem de ser igual ao valor do parâmetro hadoop.rpc.protection no ficheiro /etc/hadoop/conf/core-site.xml no cluster, com um dos seguintes valores:

  • authentication
  • integrity
  • privacy

Exemplo (Bash):
-Dhiveql.rpc.protection=privacy

Exemplo (Windows PowerShell):
"-Dhiveql.rpc.protection=privacy"

Opcional para clusters com autenticação Kerberos ativada.

Exemplos

O exemplo seguinte mostra como extrair metadados para uma base de dados Hive 2.3.7 num anfitrião especificado, sem autenticação e usando uma porta alternativa para a ligação:

dwh-migration-dumper \
  --connector hiveql \
  --hive-metastore-version 2.3.7 \
  --host host \
  --port port

Para usar a autenticação do Kerberos, inicie sessão como um utilizador que tenha autorizações de leitura no metastore do Hive e gere um pedido do Kerberos. Em seguida, gere o ficheiro ZIP de metadados com o seguinte comando:

JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false" \
  dwh-migration-dumper \
  --connector hiveql \
  --host host \
  --port port \
  --hive-kerberos-url principal/kerberos_host

Azure Synapse ou Microsoft SQL Server

Para permitir que a ferramenta dwh-migration-dumper se ligue ao Azure Synapse ou ao Microsoft SQL Server, transfira o respetivo controlador JDBC a partir da página de transferência da Microsoft.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Azure Synapse ou do Microsoft SQL Server através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, sqlserver. Sim
--database

O nome da base de dados à qual estabelecer ligação.

Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Sim
--port 1433 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim

Exemplos

O exemplo seguinte mostra como extrair metadados de uma base de dados do Azure Synapse num anfitrião especificado:

dwh-migration-dumper \
  --connector sqlserver \
  --database database \
  --driver path/mssql-jdbc.jar \
  --host server_name.sql.azuresynapse.net \
  --password password \
  --user user

Greenplum

Para permitir que a ferramenta dwh-migration-dumper se ligue ao Greenplum, transfira o respetivo controlador JDBC a partir da página de transferência do VMware Greenplum.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Greenplum através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, greenplum. Sim
--database

O nome da base de dados à qual estabelecer ligação.

Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Se não for especificado, a ferramenta de extração usa um comando seguro para o pedir.
--port 5432 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim

Exemplos

O exemplo seguinte mostra como extrair metadados para uma base de dados Greenplum num anfitrião especificado:

dwh-migration-dumper \
  --connector greenplum \
  --database database \
  --driver path/greenplum.jar \
  --host host \
  --password password \
  --user user \

Netezza

Para permitir que a ferramenta dwh-migration-dumper se ligue ao IBM Netezza, tem de obter o respetivo controlador JDBC. Normalmente, pode obter o controlador a partir do diretório no anfitrião do dispositivo IBM Netezza./nz/kit/sbin Se não conseguir encontrá-lo, peça ajuda ao administrador do sistema ou leia o artigo Instalar e configurar o JDBC na documentação do IBM Netezza.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do IBM Netezza através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, netezza. Sim
--database

Uma lista das bases de dados a extrair, separadas por vírgulas.

Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Sim
--port 5480 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim

Exemplos

O exemplo seguinte mostra como extrair metadados para duas bases de dados IBM Netezza num anfitrião especificado:

dwh-migration-dumper \
  --connector netezza \
  --database database1,database2 \
  --driver path/nzjdbc.jar \
  --host host \
  --password password \
  --user user

PostgreSQL

Para permitir que a ferramenta dwh-migration-dumper se ligue ao PostgreSQL, transfira o respetivo controlador JDBC a partir da página de transferência do PostgreSQL.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do PostgreSQL através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, postgresql. Sim
--database

O nome da base de dados à qual estabelecer ligação.

Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Se não for especificado, a ferramenta de extração usa um comando seguro para o pedir.
--port 5432 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim

Exemplos

O exemplo seguinte mostra como extrair metadados para uma base de dados PostgreSQL num anfitrião especificado:

dwh-migration-dumper \
  --connector postgresql \
  --database database \
  --driver path/postgresql-version.jar \
  --host host \
  --password password \
  --user user

Oracle

Para permitir que a ferramenta dwh-migration-dumper se ligue ao Oracle, transfira o respetivo controlador JDBC a partir da página de transferência da Oracle.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Oracle através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, oracle. Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--oracle-service

O nome do serviço Oracle a usar para a ligação.

Não explicitamente, mas tem de especificar esta flag ou a flag --oracle-sid.
--oracle-sid

O identificador do sistema (SID) do Oracle a usar para a ligação.

Não explicitamente, mas tem de especificar esta flag ou a flag --oracle-service.
--password A palavra-passe a usar para a ligação à base de dados. Se não for especificado, a ferramenta de extração usa um comando seguro para o pedir.
--port 1521 A porta do servidor de base de dados. Não
--user

O nome de utilizador a usar para a ligação à base de dados.

O utilizador que especificar tem de ter a função SELECT_CATALOG_ROLE para extrair metadados. Para ver se o utilizador tem a função necessária, execute a consulta select granted_role from user_role_privs; na base de dados Oracle.

Sim

Exemplos

O exemplo seguinte mostra como extrair metadados para uma base de dados Oracle num anfitrião especificado, usando o serviço Oracle para a ligação:

dwh-migration-dumper \
  --connector oracle \
  --driver path/ojdbc8.jar \
  --host host \
  --oracle-service service_name \
  --password password \
  --user user

Floco de neve

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Snowflake através da ferramenta dwh-migration-dumper. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--assessment

Ativa o modo de avaliação quando gera registos da base de dados ou extrai metadados. A ferramenta dwh-migration-dumper gera estatísticas de metadados necessárias para a avaliação da migração do BigQuery quando usada para a extração de metadados. Quando usado para registos de consultas, a ferramenta extrai colunas adicionais para a avaliação da migração do BigQuery.

Apenas para avaliação.
--connector O nome do conetor a usar, neste caso, snowflake. Sim
--database

O nome da base de dados a extrair.

Só pode extrair dados de uma base de dados de cada vez do Snowflake. Esta flag não é permitida no modo de avaliação.

Apenas para tradução.
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--private-key-file

O caminho para a chave privada RSA usada para autenticação. Recomendamos a utilização de um utilizador com autenticação baseada num par de chaves.SERVICE Isto fornece o método seguro para aceder à plataforma de dados do Snowflake sem necessidade de gerar tokens de MFA.

Não, se não for fornecida, a ferramenta de extração usa uma autenticação baseada em palavra-passe.
--private-key-password

A palavra-passe que foi usada quando criou a chave privada RSA.

Não, só é necessário se a chave privada estiver encriptada.
--password A palavra-passe a usar para a ligação à base de dados. Se não for especificado, a ferramenta de extração usa um comando seguro para o pedir. No entanto, recomendamos que use a autenticação baseada em par de chaves.
--role A função do Snowflake a usar para autorização. Só precisa de especificar isto para instalações grandes onde tem de obter metadados do esquema SNOWFLAKE.ACCOUNT_USAGE em vez de INFORMATION_SCHEMA. Para mais informações, consulte o artigo Trabalhar com instâncias grandes do Snowflake. Não
--user

O nome de utilizador a usar para a ligação à base de dados.

Sim
--warehouse

O armazém do Snowflake a usar para o processamento de consultas de metadados.

Sim

Exemplos

O exemplo seguinte mostra como extrair metadados para avaliação:

dwh-migration-dumper \
  --connector snowflake \
  --assessment \
  --host "account.snowflakecomputing.com" \
  --role role \
  --user user \
  --private-key-file private-key-file \
  --private-key-password private-key-password \
  --warehouse warehouse

O exemplo seguinte mostra como extrair metadados para uma base de dados do Snowflake de tamanho normal no anfitrião local:

dwh-migration-dumper \
  --connector snowflake \
  --database database \
  --user user \
  --private-key-file private-key-file \
  --private-key-password private-key-password \
  --warehouse warehouse

O exemplo seguinte mostra como extrair metadados para uma base de dados Snowflake grande num anfitrião especificado:

dwh-migration-dumper \
  --connector snowflake \
  --database database \
  --host "account.snowflakecomputing.com" \
  --role role \
  --user user \
  --private-key-file private-key-file \
  --private-key-password private-key-password \
  --warehouse warehouse

Em alternativa, pode usar o exemplo seguinte para extrair metadados através da autenticação baseada em palavra-passe:

dwh-migration-dumper \
  --connector snowflake \
  --database database \
  --host "account.snowflakecomputing.com" \
  --password password \
  --user user \
  --warehouse warehouse

Trabalhar com grandes instâncias do Snowflake

A ferramenta dwh-migration-dumper lê os metadados do Snowflake INFORMATION_SCHEMA. No entanto, existe um limite para a quantidade de dados que pode obter do INFORMATION_SCHEMA. Se executar a ferramenta de extração e receber o erro SnowflakeSQLException: Information schema query returned too much data, tem de seguir os passos abaixo para poder ler os metadados do esquema SNOWFLAKE.ACCOUNT_USAGE:

  1. Abra a opção Partilhas na interface Web do Snowflake.
  2. Crie uma base de dados a partir da partilha SNOWFLAKE.ACCOUNT_USAGE:

    -- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
    
  3. Crie uma função:

    CREATE ROLE role;
    
  4. Conceda privilégios de IMPORTED na nova base de dados à função:

    GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
    
  5. Conceda a função ao utilizador que pretende usar para executar a ferramenta dwh-migration-dumper:

    GRANT ROLE role TO USER user;
    

Vertica

Para permitir que a ferramenta dwh-migration-dumper se ligue ao Vertica, transfira o respetivo controlador JDBC a partir da página de transferência.

A tabela seguinte descreve as flags usadas frequentemente para extrair metadados do Vertica através da ferramenta de extração. Para ver informações sobre todas as flags suportadas, consulte as flags globais.

Nome Valor predefinido Descrição Obrigatório
--connector O nome do conetor a usar, neste caso, vertica. Sim
--database

O nome da base de dados à qual estabelecer ligação.

Sim
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar para esta ligação. Pode especificar vários ficheiros JAR de controladores, separando-os com vírgulas. Sim
--host localhost O nome do anfitrião ou o endereço IP do servidor de base de dados. Não
--password A palavra-passe a usar para a ligação à base de dados. Sim
--port 5433 A porta do servidor de base de dados. Não
--user O nome de utilizador a usar para a ligação à base de dados. Sim

Exemplos

O exemplo seguinte mostra como extrair metadados de uma base de dados Vertica no anfitrião local:

dwh-migration-dumper \
  --driver path/vertica-jdbc.jar \
  --connector vertica \
  --database database
  --user user
  --password password

Sinalizações globais

A tabela seguinte descreve as flags que podem ser usadas com qualquer uma das plataformas de origem suportadas.

Nome Descrição
--connector O nome do conetor para o sistema de origem.
--database A utilização varia consoante o sistema de origem.
--driver O caminho absoluto ou relativo para o ficheiro JAR do controlador a usar quando se liga ao sistema de origem. Pode especificar vários ficheiros JAR do controlador, separando-os por vírgulas.
--dry-run ou -n Mostrar as ações que a ferramenta de extração faria sem as executar.
--help Apresenta a ajuda da linha de comandos.
--host O nome do anfitrião ou o endereço IP do servidor de base de dados ao qual estabelecer ligação.
--jdbcDriverClass Substitui opcionalmente o nome da classe do controlador JDBC especificado pelo fornecedor. Use esta opção se tiver um cliente JDBC personalizado.
--output O caminho do ficheiro ZIP de saída. Por exemplo, dir1/dir2/teradata-metadata.zip. Se não especificar um caminho, o ficheiro de saída é criado no diretório de trabalho. Se especificar o caminho para um diretório, o nome do ficheiro ZIP predefinido é criado no diretório especificado. Se o diretório não existir, é criado.

Para usar o Cloud Storage, use o seguinte formato:
gs://<BUCKET>/<PATH>.

Para fazer a autenticação através de Trusted Cloud by S3NS credenciais, consulte o artigo Autentique-se para usar bibliotecas cliente.

--password A palavra-passe a usar para a ligação à base de dados.
--port A porta do servidor de base de dados.
--save-response-file Guarda as suas flags de linha de comandos num ficheiro JSON para reutilização fácil. O ficheiro tem o nome dumper-response-file.json e é criado no diretório de trabalho. Para usar o ficheiro de resposta, indique o caminho para o mesmo com o prefixo @ quando executar a ferramenta de extração, por exemplo, dwh-migration-dumper @path/to/dumper-response-file.json.
--schema

Uma lista dos esquemas a extrair, separados por vírgulas.

O Oracle não distingue entre um esquema e o utilizador da base de dados que criou o esquema, pelo que pode usar nomes de esquemas ou nomes de utilizadores com a flag --schema. Por exemplo, --schema schema1,user2,schema3.

--thread-pool-size

Define o tamanho do conjunto de threads, que afeta o tamanho do conjunto de ligações. O tamanho predefinido do conjunto de threads é o número de núcleos no servidor que executa a ferramenta dwh-migration-dumper.

Se a ferramenta de extração parecer lenta ou precisar de mais recursos, pode aumentar o número de threads usados. Se existirem indicações de que outros processos no servidor requerem mais largura de banda, pode diminuir o número de threads usados.

--url

O URL a usar para a ligação à base de dados, em vez do URI gerado pelo controlador JDBC.

Na maioria dos casos, o URI gerado deve ser suficiente. Substitua apenas o URI gerado quando precisar de usar uma definição de ligação JDBC específica da plataforma de origem e que ainda não esteja definida por um dos indicadores indicados nesta tabela.

--user O nome de utilizador a usar para a ligação à base de dados.
--version Apresenta a versão do produto.
--telemetry

Recolhe estatísticas sobre as caraterísticas de desempenho das execuções, como a duração, o número de execuções e a utilização de recursos. Esta opção está ativada por predefinição. Para desativar a telemetria, defina esta flag como false.

Resolução de problemas

Esta secção explica alguns problemas comuns e técnicas de resolução de problemas para a ferramenta dwh-migration-dumper.

Erro de falta de memória

O erro java.lang.OutOfMemoryError no resultado do terminal da ferramenta dwh-migration-dumper está frequentemente relacionado com memória insuficiente para processar os dados obtidos. Para resolver este problema, aumente a memória disponível ou reduza o número de threads de processamento.

Pode aumentar a memória máxima exportando a variável de ambiente JAVA_OPTS:

Linux

export JAVA_OPTS="-Xmx4G"

Windows

set JAVA_OPTS="-Xmx4G"

Pode reduzir o número de threads de processamento (o valor predefinido é 32) incluindo a flag --thread-pool-size. Esta opção só é suportada para conectores hiveql e redshift*.

dwh-migration-dumper --thread-pool-size=1

Processar um erro WARN...Task failed

Por vezes, pode ver um erro WARN [main] o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: … no resultado do terminal da ferramenta dwh-migration-dumper. A ferramenta de extração envia várias consultas ao sistema de origem e o resultado de cada consulta é escrito no seu próprio ficheiro. A apresentação deste problema indica que uma destas consultas falhou. No entanto, a falha de uma consulta não impede a execução das outras consultas. Se vir mais do que alguns erros, reveja os detalhes do problema e verifique se existe algo que precise de corrigir para que a consulta seja executada corretamente.WARN Por exemplo, se o utilizador da base de dados que especificou quando executou a ferramenta de extração não tiver autorizações para ler todos os metadados, tente novamente com um utilizador com as autorizações corretas.

Ficheiro ZIP danificado

Para validar o ficheiro ZIP da ferramenta dwh-migration-dumper, transfira o ficheiro SHA256SUMS.txt e execute o seguinte comando:

Bash

sha256sum --check SHA256SUMS.txt

O resultado OK confirma a validação da soma de verificação bem-sucedida. Qualquer outra mensagem indica um erro de validação:

  • FAILED: computed checksum did NOT match: o ficheiro ZIP está danificado e tem de ser transferido novamente.
  • FAILED: listed file could not be read: não é possível localizar a versão do ficheiro ZIP. Certifique-se de que os ficheiros ZIP e de soma de verificação são transferidos a partir da mesma versão de lançamento e colocados no mesmo diretório.

Windows PowerShell

(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

Substitua RELEASE_ZIP_FILENAME pelo nome do ficheiro ZIP transferido da versão da ferramenta de extração de linhas de comando dwh-migration-dumper, por exemplo, dwh-migration-tools-v1.0.52.zip

O resultado True confirma a validação da soma de verificação bem-sucedida.

O resultado False indica um erro de validação. Certifique-se de que os ficheiros ZIP e de soma de verificação são transferidos a partir da mesma versão de lançamento e colocados no mesmo diretório.

A extração de registos de consultas do Teradata é lenta

Para melhorar o desempenho da união de tabelas especificadas pelas flags -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table, pode incluir uma coluna adicional do tipo DATE na condição JOIN. Esta coluna tem de ser definida em ambas as tabelas e tem de fazer parte do índice principal particionado. Para incluir esta coluna, use a flag -Dteradata-logs.log-date-column.

Exemplo:

Bash

dwh-migration-dumper \
  -Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV \
  -Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl \
  -Dteradata-logs.log-date-column=ArchiveLogDate

Windows PowerShell

dwh-migration-dumper `
  "-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV" `
  "-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl" `
  "-Dteradata-logs.log-date-column=ArchiveLogDate"

O limite de tamanho das linhas do Teradata foi excedido

O Teradata 15 tem um limite de tamanho de linha de 64 KB. Se o limite for excedido, o dumper falha com a seguinte mensagem: none [Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow

Para resolver este erro, aumente o limite de linhas para 1 MB ou divida as linhas em várias linhas:

  • Instale e ative a funcionalidade de linhas permanentes e de respostas de 1 MB e o software TTU atual. Para mais informações, consulte o artigo Teradata Database Message 9804
  • Divida o texto da consulta longo em várias linhas usando as flags -Dteradata.metadata.max-text-length e -Dteradata-logs.max-sql-length.

O comando seguinte mostra a utilização da flag -Dteradata.metadata.max-text-length para dividir o texto da consulta longo em várias linhas de, no máximo, 10 000 carateres cada:

Bash

dwh-migration-dumper \
  --connector teradata \
  -Dteradata.metadata.max-text-length=10000

Windows PowerShell

dwh-migration-dumper `
  --connector teradata `
  "-Dteradata.metadata.max-text-length=10000"

O comando seguinte mostra a utilização da flag -Dteradata-logs.max-sql-length para dividir o texto da consulta longo em várias linhas de, no máximo, 10 000 carateres cada:

Bash

dwh-migration-dumper \
  --connector teradata-logs \
  -Dteradata-logs.max-sql-length=10000

Windows PowerShell

dwh-migration-dumper `
  --connector teradata-logs `
  "-Dteradata-logs.max-sql-length=10000"

Problema de ligação da Oracle

Em casos comuns, como uma palavra-passe ou um nome do anfitrião inválido, a ferramenta dwh-migration-dumperimprime uma mensagem de erro significativa que descreve o problema principal. No entanto, em alguns casos, a mensagem de erro devolvida pelo servidor Oracle pode ser genérica e difícil de investigar.

Um destes problemas é IO Error: Got minus one from a read call. Este erro indica que a ligação ao servidor Oracle foi estabelecida, mas o servidor não aceitou o cliente e fechou a ligação. Normalmente, este problema ocorre quando o servidor aceita apenas ligações TCPS. Por predefinição, a ferramenta dwh-migration-dumper usa o protocolo TCP. Para resolver este problema, tem de substituir o URL de ligação JDBC da Oracle.

Em vez de fornecer as flags oracle-service, host e port, pode resolver este problema fornecendo a flag url no seguinte formato: jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}. Normalmente, o número da porta usado pelo servidor Oracle é 2484.TCPS

Exemplo de comando do dumper:

  dwh-migration-dumper \
    --connector oracle-stats \
    --url "jdbc:oracle:thin:@tcps://host:port/oracle_service" \
    --assessment \
    --driver "jdbc_driver_path" \
    --user "user" \
    --password

Além de alterar o protocolo de ligação para TCPS, pode ter de fornecer a configuração SSL trustStore necessária para validar o certificado do servidor Oracle. Uma configuração SSL em falta resulta numa mensagem de erro Unable to find valid certification path. Para resolver este problema, defina a variável de ambiente JAVA_OPTS:

  set JAVA_OPTS=-Djavax.net.ssl.trustStore="jks_file_location" -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword="password"

Consoante a configuração do servidor Oracle, também pode ter de fornecer a configuração do keyStore. Consulte o artigo SSL com o controlador JDBC da Oracle para mais informações sobre as opções de configuração.

O que se segue?

Depois de executar a dwh-migration-dumper ferramenta, carregue a saída para o Cloud Storage juntamente com os ficheiros de origem para tradução.