Gerar metadados para tradução e avaliação
Neste documento, descrevemos como criar metadados e arquivos de registros de consultas usando a
ferramenta de linha de comando dwh-migration-dumper
. Os arquivos de metadados descrevem os objetos SQL no sistema de origem.
O serviço de migração do BigQuery usa essas informações para melhorar a conversão dos scripts SQL do dialeto do sistema de origem para o GoogleSQL.
A avaliação de migração do BigQuery usa arquivos de metadados e de registro de consulta para analisar seu data warehouse atual e ajudar a avaliar o esforço de migrar o data warehouse para o BigQuery.
Visão geral
Use a ferramenta dwh-migration-dumper
para extrair informações de metadados da plataforma de banco de dados que você está migrando para o BigQuery. Não é necessário usar a
ferramenta de extração não é necessária para
a avaliação de migração do BigQuery. Recomendamos usá-la para todas as tarefas de migração.
Para conferir mais informações, consulte Criar arquivos de metadados.
É possível usar a ferramenta dwh-migration-dumper
para extrair metadados das
seguintes plataformas de banco de dados:
- Teradata
- Amazon Redshift
- Apache Hive
- Apache Spark
- Azure Synapse
- Greenplum
- Microsoft SQL Server
- IBM Netezza
- Oracle
- PostgreSQL
- Snowflake
- Trino ou PrestoSQL
- Vertica
Para a maioria desses bancos de dados, também é possível extrair registros de consulta.
A ferramenta dwh-migration-dumper
consulta tabelas do sistema para reunir instruções de linguagem de definição de dados (DDL) relacionadas a bancos de dados do usuário e do sistema. Ele não
consulta o conteúdo de bancos de dados de usuários. A ferramenta salva as informações de metadados
das tabelas do sistema como arquivos CSV e, em seguida, compacta esses arquivos em
um único pacote. Depois disso, você faz upload desse arquivo ZIP no Cloud Storage ao fazer upload
dos arquivos de origem para tradução ou avaliação.
Ao usar a opção de registros de consulta, a ferramenta dwh-migration-dumper
consulta nas tabelas do sistema as instruções DDL e os registros de consultas relacionados a bancos de dados do usuário e do sistema. Eles são salvos em formato CSV ou yaml em um subdiretório e compactados em um pacote ZIP. O conteúdo dos bancos de dados do usuário não é consultado em nenhum momento. A avaliação de migração do BigQuery requer arquivos CSV, YAML e de texto para registros de consulta. Por isso, descompacte todos esses arquivos no arquivo ZIP e faça upload para avaliação.
A ferramenta dwh-migration-dumper
pode ser executada no Windows, macOS e Linux.
A ferramenta dwh-migration-dumper
está disponível sob a
licença Apache 2.
Se você optar por não usar a ferramenta dwh-migration-dumper
para tradução, forneça manualmente
arquivos de metadados coletando as instruções da linguagem de definição de dados (DDL, na sigla em inglês)
dos objetos SQL no seu sistema de origem em arquivos de texto separados.
É necessário fornecer metadados e registros de consulta extraídos com a ferramenta para fazer a avaliação da migração com o BigQuery.
Requisitos de conformidade
Fornecemos o binário da ferramenta dwh-migration-dumper
compilado para facilitar o uso. Se você
precisa auditar a ferramenta para garantir que ela atende aos requisitos de conformidade,
analise o código-fonte do
repositório da ferramenta dwh-migration-dumper
do GitHub.
e compilar seu próprio binário.
Pré-requisitos
Instalar o Java
O servidor em que você planeja executar a ferramenta dwh-migration-dumper
precisa ter o
Java 8 ou mais recente instalado. Caso contrário, faça o download do Java da
página de downloads do Java
e instale-o.
Permissões necessárias
A conta de usuário especificada para conectar a ferramenta dwh-migration-dumper
ao
sistema de origem precisa ter permissões para ler metadados desse sistema.
Confirme se essa conta tem os papéis apropriados para consultar os recursos de metadados disponíveis na sua plataforma. Por exemplo, INFORMATION_SCHEMA
é um
recurso de metadados comum em várias plataformas.
Instalar a ferramenta dwh-migration-dumper
Para instalar a ferramenta dwh-migration-dumper
, siga estas etapas:
- Na máquina em que você quer executar a ferramenta
dwh-migration-dumper
, faça o download do arquivo ZIP do repositório do GitHub da ferramentadwh-migration-dumper
. - Para validar o arquivo ZIP da ferramenta
dwh-migration-dumper
, faça o download do arquivoSHA256SUMS.txt
e execute o seguinte comando:
Bash
sha256sum --check SHA256SUMS.txt
Se a verificação falhar, consulte a Solução de problemas.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Substitua RELEASE_ZIP_FILENAME
pelo nome de arquivo zip baixado da versão da ferramenta de extração de linha de comando dwh-migration-dumper
, por exemplo, dwh-migration-tools-v1.0.52.zip
O resultado True
confirma a verificação com êxito do checksum.
O resultado False
indica um erro de verificação. Verifique se o checksum e os arquivos ZIP são da mesma versão de lançamento ao fazer o download e foram colocados no mesmo diretório.
- Extraia o arquivo ZIP. O binário da ferramenta
/bin
está no subdiretório da pasta criada extraindo o arquivo ZIP. - Atualize a variável de ambiente
PATH
para incluir o caminho de instalação da ferramenta.
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 arquivo de saída chamado
dwh-migration-<source platform>-metadata.zip
, por exemplo, dwh-migration-teradata-metadata.zip
,
no seu diretório de trabalho.
Use as instruções a seguir para saber como executar a ferramenta dwh-migration-dumper
para sua plataforma de origem.
Teradata
Para permitir que a ferramenta dwh-migration-dumper
se conecte ao Teradata, faça o download
do driver JDBC na
página de download do Teradata.
A tabela a seguir descreve as sinalizações mais usadas para extrair metadados e registros de consulta do Teradata com a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--assessment |
Ativa o modo de avaliação ao gerar registros do banco de dados ou extrair metadados.
A ferramenta |
Obrigatória para a execução de avaliações, mas não para tradução. | |
--connector |
O nome do conector a ser usado. Neste caso, teradata para metadados ou teradata-logs para registros de consulta. | Sim | |
--database |
Uma lista dos bancos de dados a serem despejados, separados por vírgulas. Os nomes dos bancos de dados podem diferenciar maiúsculas de minúsculas, dependendo da configuração do servidor do Teradata. Se essa sinalização for usada em combinação com o conector Essa sinalização não pode ser usada em combinação com o conector |
Não | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Se não for especificada, a ferramenta usará uma solicitação segura para solicitá-la. | |
--port |
1025 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. |
Sim | |
--query-log-alternates |
Apenas para o conector Para extrair os registros de consulta de um local alternativo, recomendamos o uso das
flags
Por padrão, os registros de consulta são extraídos das tabelas Exemplo:
|
Não | |
-Dteradata.tmode |
O modo de transação da conexão. Os valores a seguir são compatíveis:
Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.log-date-column |
Apenas para o conector
Para melhorar o desempenho da mesclagem de tabelas especificadas pelas flags Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.query-logs-table |
Apenas para o conector
Por padrão, os registros da consulta são extraídos da tabela Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.sql-logs-table |
Apenas para o conector
Por padrão, os registros de consulta que contêm texto SQL são extraídos da tabela Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.utility-logs-table |
Apenas para o conector
Por padrão, os registros do utilitário são extraídos da tabela
Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.res-usage-scpu-table |
Apenas para o conector
Por padrão, os registros de uso de recursos da SCPU são extraídos da tabela Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.res-usage-spma-table |
Apenas para o conector
Por padrão, os registros de uso de recursos SPMA são extraídos da tabela Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
--query-log-start |
O horário de início (inclusivo) dos registros de consulta que serão extraídos. O valor é truncado por hora. Essa flag só está disponível para o conector teradata-logs.
Exemplo: |
Não | |
--query-log-end |
O horário de término (exclusivo) dos registros de consulta que serão extraídos. O valor é truncado por hora. Essa flag só está disponível para o conector teradata-logs.
Exemplo: |
Não | |
-Dteradata.metadata.tablesizev.max-rows |
Apenas para o conector Limite o número de linhas extraídas da visualização Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata.metadata.diskspacev.max-rows |
Apenas para o conector Limite o número de linhas extraídas da visualização Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata.metadata.databasesv.users.max-rows |
Apenas para o conector
Limite o número de linhas que representam usuários ( Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Apenas para o conector Limite o número de linhas que representam bancos de dados ( Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata.metadata.max-text-length |
Apenas para o conector Tamanho máximo da coluna de texto ao extrair os dados da
visualização Exemplo (Bash): Exemplo (Windows PowerShell): |
Não | |
-Dteradata-logs.max-sql-length |
Apenas para o conector Comprimento máximo da coluna Exemplo (Bash): Exemplo (Windows PowerShell): |
Não |
Exemplos
O exemplo a seguir mostra como despejar metadados de dois bancos de dados do Teradata no host local:
dwh-migration-dumper \
--connector teradata \
--user user \
--password password \
--database database1,database2 \
--driver path/terajdbc4.jar
O exemplo a seguir mostra como despejar registros de consulta para avaliação no host local para autenticação:
dwh-migration-dumper \
--connector teradata-logs \
--assessment \
--user user \
--password password \
--driver path/terajdbc4.jar
Tabelas e visualizações extraídas pela ferramenta dwh-migration-dumper
As tabelas e visualizações a seguir são extraídas quando você usa o conector teradata
:
DBC.ColumnsV
DBC.DatabasesV
DBC.DBCInfo
DBC.FunctionsV
DBC.IndicesV
DBC.PartitioningConstraintsV
DBC.TablesV
DBC.TableTextV
As tabelas e visualizações adicionais a seguir são extraídas quando você usa o conector teradata
com a sinalização --assessment
:
DBC.All_RI_ChildrenV
DBC.All_RI_ParentsV
DBC.AllTempTablesVX
DBC.DiskSpaceV
DBC.RoleMembersV
DBC.StatsV
DBC.TableSizeV
As tabelas e visualizações a seguir são extraídas quando você usa o conector teradata-logs
:
DBC.DBQLogTbl
(mudanças paraDBC.QryLogV
se a sinalização--assessment
for usada)DBC.DBQLSqlTbl
As tabelas e visualizações adicionais a seguir são extraídas quando você usa o conector teradata-logs
com a sinalização --assessment
:
DBC.DBQLUtilityTbl
DBC.ResUsageScpu
DBC.ResUsageSpma
Redshift
É possível usar qualquer um dos seguintes mecanismos de autenticação e autorização do Amazon Redshift com a ferramenta de extração:
- um nome de usuário e senha;
- Um ID da chave de acesso e uma chave secreta do AWS Identity and Access Management (IAM).
- Um nome de perfil do IAM da AWS.
Para autenticar com o nome de usuário e a senha, use o driver JDBC padrão do PostgreSQL do Amazon Redshift. Para autenticar com o IAM da AWS, use o driver JDBC do Amazon Redshift, que pode ser baixado na página de download.
A tabela a seguir descreve as sinalizações mais usadas para extrair
metadados e registros de consulta do Amazon Redshift com a ferramenta dwh-migration-dumper
. Para informações
sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--assessment |
Ativar o modo de avaliação ao gerar registros do banco de dados ou extrair metadados. Ele gera as estatísticas de metadados necessárias para a avaliação de migração do BigQuery quando usado para extração de metadados. Quando usado para extração de registros de consulta, ele gera estatísticas de métricas de consulta para a avaliação de migração do BigQuery. |
Obrigatório no modo de avaliação e não para tradução. | |
--connector |
O nome do conector a ser usado. Neste caso, redshift para metadados ou redshift-raw-logs para registros de consulta. | Sim | |
--database |
Se não for especificado, o Amazon Redshift usará o valor --user como o nome padrão do banco de dados. |
O nome do banco de dados a ser conectado. |
Não |
--driver |
Se não for especificado, o Amazon Redshift usará o driver JDBC padrão do PostgreSQL. | O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Não |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--iam-accesskeyid |
O ID da chave de acesso do IAM da AWS a ser usado para autenticação. A chave de acesso é uma string de caracteres, algo como
Use em conjunto com a sinalização |
Não explicitamente, mas você precisa fornecer informações de autenticação por meio de um dos seguintes métodos:
|
|
--iam-profile |
O perfil do IAM da AWS a ser usado para autenticação. É possível recuperar um
valor de perfil para usar examinando o
arquivo
Não use essa sinalização com as sinalizações |
Não explicitamente, mas você precisa fornecer informações de autenticação por meio de um dos seguintes métodos:
|
|
--iam-secretaccesskey |
A chave de acesso secreta do IAM da AWS que será usada para a autenticação. A chave de acesso do secret é uma string de caracteres, algo como
Use em conjunto com a sinalização |
Não explicitamente, mas você precisa fornecer informações de autenticação por meio de um dos seguintes métodos:
|
|
--password |
A senha a ser usada na conexão do banco de dados.
Não use essa sinalização com as sinalizações |
Não explicitamente, mas você precisa fornecer informações de autenticação por meio de um dos seguintes métodos:
|
|
--port |
5439 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim | |
--query-log-start |
O horário de início (inclusivo) dos registros de consulta que serão extraídos. O valor é truncado por hora. Essa flag só está disponível para o conector redshift-raw-logs.
Exemplo: |
Não | |
--query-log-end |
O horário de término (exclusivo) dos registros de consulta que serão extraídos. O valor é truncado por hora. Essa flag só está disponível para o conector redshift-raw-logs.
Exemplo: |
Não |
Exemplos
O exemplo a seguir mostra como despejar metadados de um banco de dados do Amazon Redshift em um host especificado, usando chaves de IAM da AWS 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 a seguir mostra como despejar metadados de um banco de dados do Amazon Redshift no host padrão, usando o nome de usuário e a senha para autenticação:
dwh-migration-dumper \
--connector redshift \
--database database \
--password password \
--user user
O exemplo a seguir mostra como despejar metadados de um banco de dados do Amazon Redshift em um host especificado, usando um perfil do IAM da AWS 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 a seguir mostra como despejar registros de consultas de avaliação de um banco de dados do Amazon Redshift em um host especificado, usando um perfil do IAM da AWS 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 visualizações extraídas pela ferramenta dwh-migration-dumper
As tabelas e visualizações a seguir são extraídas quando você 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 tabelas e visualizações adicionais a seguir são extraídas quando você usa o conector redshift
com a sinalização --assessment
:
SVV_DISKUSAGE
STV_MV_INFO
STV_WLM_SERVICE_CLASS_CONFIG
STV_WLM_SERVICE_CLASS_STATE
As tabelas e visualizações a seguir são extraídas quando você usa o conector redshift-raw-logs
:
STL_DDLTEXT
STL_QUERY
STL_QUERYTEXT
PG_USER
As tabelas e visualizações adicionais a seguir são extraídas quando você usa o conector redshift-raw-logs
com a sinalização --assessment
:
STL_QUERY_METRICS
SVL_QUERY_QUEUE_INFO
STL_WLM_QUERY
Para saber mais sobre as visualizações do sistema e as tabelas no Redshift, consulte Visualizações 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ó dá suporte à autenticação no metastore do Apache Hive
por meio do Kerberos. Portanto, as flags --user
e --password
não são usadas. Use
a flag --hive-kerberos-url
para fornecer os detalhes de autenticação do Kerberos.
A tabela a seguir descreve as flags usadas com frequência para extrair metadados do Apache Hive, do Spark, do Presto ou do Trino com a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte as Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--assessment |
Ativa o modo de avaliação ao extrair metadados.
A ferramenta |
Obrigatório para a avaliação. Não é necessário para a tradução. | |
--connector |
O nome do conector a ser usado, neste caso hiveql. | Sim | |
--hive-metastore-dump-partition-metadata |
verdadeiro |
Faz com que a ferramenta
Não use essa flag com a flag |
Não |
--hive-metastore-version |
2.3.6 |
Quando você executa a ferramenta |
Não |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--port |
9083 | A porta do servidor de banco de dados. | Não |
--hive-kerberos-url |
O principal e o host do Kerberos a serem usados para autenticação. | Obrigatório para clusters com a autenticação Kerberos ativada. | |
-Dhiveql.rpc.protection |
O nível de configuração de proteção RPC. Isso determina a qualidade
de proteção (QOP, na sigla em inglês) da conexão da Camada de autenticação e segurança simples
(SASL, na sigla em inglês) entre o cluster e a ferramenta Precisa ser igual ao valor do parâmetro
Exemplo (Bash): Exemplo (Windows PowerShell): |
Obrigatório para clusters com a autenticação Kerberos ativada. |
Exemplos
Confira no exemplo a seguir como despejar metadados de um banco de dados Hive 2.3.7 em um host especificado, sem autenticação e usando uma porta alternativa para conexão:
dwh-migration-dumper \
--connector hiveql \
--hive-metastore-version 2.3.7 \
--host host \
--port port
Para usar a autenticação do Kerberos, faça login como um usuário que tenha permissões de leitura no metastore do Hive e gere um tíquete do Kerberos. Em seguida, gere o arquivo 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 conecte ao Azure Synapse ou ao Microsoft SQL Server, faça o download do driver JDBC na página de download da Microsoft.
Na tabela a seguir, descrevemos as sinalizações usadas com frequência para extrair metadados do Azure Synapse ou do Microsoft SQL Server usando a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte as Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso sqlserver. | Sim | |
--database |
O nome do banco de dados a ser conectado. |
Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Sim | |
--port |
1433 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim |
Exemplos
O exemplo a seguir mostra como despejar metadados de um banco de dados do Azure Synapse em um host 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 conecte ao Greenplum, faça o download do
driver JDBC na
página de download do VMware Greenplum.
A tabela a seguir descreve as flags mais usadas para extrair metadados do Greenplum usando a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso greenplum. | Sim | |
--database |
O nome do banco de dados a ser conectado. |
Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Se não for especificada, a ferramenta usará uma solicitação segura para solicitá-la. | |
--port |
5432 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim |
Exemplos
O exemplo a seguir mostra como extrair metadados de um banco de dados do Greenplum em um host 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 conecte ao IBM Netezza, você precisa
receber o driver JDBC. Geralmente, é possível conseguir o driver do diretório /nz/kit/sbin
no host do dispositivo IBM Netezza. Se não conseguir encontrá-lo, peça
a ajuda ao administrador do sistema ou leia
Como instalar e configurar o JDBC
na documentação do IBM Netezza.
A tabela a seguir descreve as sinalizações normalmente usadas para extrair metadados IBM Netezza usando a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso netezza. | Sim | |
--database |
Uma lista dos bancos de dados a serem despejados, separados por vírgulas. |
Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Sim | |
--port |
5480 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim |
Exemplos
O exemplo a seguir mostra como despejar metadados de dois bancos de dados IBM Netezza em um host 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 conecte ao PostgreSQL, faça o download do
driver JDBC na
página de download do PostgreSQL.
A tabela a seguir descreve as flags mais usadas para extrair metadados do PostgreSQL usando a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso postgresql. | Sim | |
--database |
O nome do banco de dados a ser conectado. |
Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Se não for especificada, a ferramenta usará uma solicitação segura para solicitá-la. | |
--port |
5432 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim |
Exemplos
O exemplo a seguir mostra como extrair metadados de um banco de dados PostgreSQL em um host 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 conecte ao Oracle, faça o download do
driver JDBC na
página de download do Oracle.
A tabela a seguir descreve as sinalizações mais usadas para extrair metadados da Oracle usando a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso, oracle. | Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--oracle-service |
O nome do serviço Oracle a ser usado para a conexão. |
Não explicitamente, mas você precisa especificar essa sinalização ou a sinalização --oracle-sid . |
|
--oracle-sid |
O identificador de sistema Oracle (SID) a ser usado para a conexão. |
Não explicitamente, mas você precisa especificar essa sinalização ou a sinalização --oracle-service . |
|
--password |
A senha a ser usada na conexão do banco de dados. | Se não for especificada, a ferramenta usará uma solicitação segura para solicitá-la. | |
--port |
1521 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados.
O usuário especificado precisa ter o papel |
Sim |
Exemplos
O exemplo a seguir mostra como extrair metadados de um banco de dados Oracle em um host especificado, usando o serviço Oracle para a conexão:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
Snowflake
A tabela a seguir descreve as flags usadas com frequência para extrair metadados do Snowflake pela ferramenta dwh-migration-dumper
. Para
informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso, snowflake. | Sim | |
--database |
O nome do banco de dados a ser conectado. Só é possível extrair de um banco de dados por vez do Snowflake. |
Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Se não for especificada, a ferramenta usará uma solicitação segura para solicitá-la. | |
--role |
O papel de floco de neve a ser usado para autorização. Só é necessário especificar
isso para instalações grandes em que você precisa receber metadados do esquema
SNOWFLAKE.ACCOUNT_USAGE em vez de
INFORMATION_SCHEMA . Para mais informações, consulte
Como trabalhar com grandes instâncias do Snowflake.
|
Não | |
--user |
O nome de usuário a ser usado na conexão do banco de dados. |
Sim | |
--warehouse |
O armazenamento de Snowflake a ser usado para processar consultas de metadados. |
Sim |
Exemplos
O exemplo a seguir mostra como extrair metadados de um banco de dados do Snowflake de tamanho normal no host local:
dwh-migration-dumper \
--connector snowflake \
--database database \
--password password \
--user user \
--warehouse warehouse
O exemplo a seguir mostra como extrair metadados de um grande banco de dados do Snowflake em um host especificado:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--role role \
--user user \
--warehouse warehouse
Como trabalhar com grandes instâncias do Snowflake
A ferramenta dwh-migration-dumper
lê metadados da INFORMATION_SCHEMA
do Snowflake. No entanto, há um limite para a quantidade de dados que é possível
recuperar de INFORMATION_SCHEMA
. Se você executar a ferramenta de extração e receber o erro SnowflakeSQLException:
Information schema query returned too much data
, será necessário seguir as seguintes etapas para ler os metadados do esquema SNOWFLAKE.ACCOUNT_USAGE
em vez disso:
- Abra a opção Shares na interface da Web do Snowflake.
Crie um banco de dados a partir do compartilhamento
SNOWFLAKE.ACCOUNT_USAGE
:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
Crie um papel:
CREATE ROLE role;
Conceda privilégios
IMPORTED
ao novo banco de dados para o papel:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
Conceda o papel ao usuário que você 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 conecte à Vertica,
faça o download do driver JDBC na
página de download.
A tabela a seguir descreve as sinalizações comumente usadas para extrair metadados da Vertica com a ferramenta de extração. Para informações sobre todas as sinalizações compatíveis, consulte Sinalizações globais.
Nome | Valor padrão | Descrição | Obrigatório |
---|---|---|---|
--connector |
O nome do conector a ser usado, neste caso vertica. | Sim | |
--database |
O nome do banco de dados a ser conectado. |
Sim | |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado para essa conexão. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. | Sim | |
--host |
localhost | O nome do host ou o endereço IP do servidor de banco de dados. | Não |
--password |
A senha a ser usada na conexão do banco de dados. | Sim | |
--port |
5433 | A porta do servidor de banco de dados. | Não |
--user |
O nome de usuário a ser usado na conexão do banco de dados. | Sim |
Exemplos
O exemplo a seguir mostra como extrair metadados de um banco de dados Vertica no host local:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
Sinalizações globais
A tabela a seguir descreve as sinalizações que podem ser usadas em qualquer uma das plataformas de origem compatíveis.
Nome | Descrição |
---|---|
--connector |
Nome do conector do sistema de origem. |
--database |
O uso varia de acordo com o sistema de origem. |
--driver |
O caminho absoluto ou relativo para o arquivo JAR do driver a ser usado ao se conectar ao sistema de origem. É possível especificar vários arquivos JAR do driver, separando-os por vírgulas. |
--dry-run ou -n |
Mostre quais ações a ferramenta de extração faria sem executá-las. |
--help |
Exibe a ajuda da linha de comando. |
--host |
O nome do host ou o endereço IP do servidor de banco de dados a que se conectar. |
--jdbcDriverClass |
Como opção, modifica o nome da classe do driver JDBC especificado pelo fornecedor. Use essa opção se você tiver um cliente JDBC personalizado. |
--output |
O caminho do arquivo ZIP de saída. Por exemplo,
dir1/dir2/teradata-metadata.zip . Se você não especificar um caminho, o arquivo de saída será criado no diretório de trabalho. Se você especificar o caminho para um diretório, o nome do arquivo ZIP padrão será criado no diretório especificado. Se o diretório não existir, ele será criado.
Para usar o Cloud Storage, use o seguinte formato: Para autenticar usando credenciais do Google Cloud, consulte Autenticar para usar bibliotecas de cliente. |
--password |
A senha a ser usada na conexão do banco de dados. |
--port |
A porta do servidor de banco de dados. |
--save-response-file |
Salva suas flags de linha de comando em um arquivo JSON para facilitar a reutilização. O arquivo é chamado dumper-response-file.json e é criado no diretório de trabalho. Para usar o arquivo de resposta, forneça o caminho para ele
com o prefixo @ ao executar a ferramenta dwh-migration-dumper @path/to/dumper-response-file.json , por
exemplo, .
|
--schema |
Uma lista dos esquemas a serem extraídos, separados por vírgulas.
O Oracle não faz distinção entre um
esquema
e o usuário do banco de dados que criou o esquema. Portanto, é possível usar
nomes de esquema ou de usuário com a sinalização |
--thread-pool-size |
Define o tamanho do pool de linhas de execução, o que afeta o tamanho do pool de conexões.
O tamanho padrão do pool de linhas de execução é o número de núcleos no servidor que executa a ferramenta Se a ferramenta de extração parecer lenta ou precisar de mais recursos, aumente o número de linhas de execução usadas. Se houver indicações de que outros processos no servidor exigem mais largura de banda, reduza o número de linhas de execução usadas. |
--url |
O URL a ser usado para a conexão do banco de dados, em vez do URI gerado pelo driver JDBC. O URI gerado é suficiente na maioria dos casos. Só substitua o URI gerado quando você precisar usar uma configuração de conexão JDBC específica para a plataforma de origem e que ainda não esteja definida por uma das sinalizações listadas nesta tabela. |
--user |
O nome de usuário a ser usado na conexão do banco de dados. |
--version |
Exibe a versão do produto. |
Solução de problemas
Nesta seção, explicamos alguns problemas comuns e técnicas de resolução para a ferramenta dwh-migration-dumper
.
Erro por falta de memória
O erro java.lang.OutOfMemoryError
na saída do terminal da ferramenta dwh-migration-dumper
geralmente está relacionado à memória insuficiente para processar os dados recuperados.
Para resolver esse problema, aumente a memória disponível ou reduza o número de
linhas de execução de processamento.
É possível aumentar a memória máxima exportando a variável de ambiente JAVA_OPTS
:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Reduza o número de linhas de execução de processamento (o padrão é 32) incluindo
a flag --thread-pool-size
. Essa opção é compatível apenas com os conectores hiveql
e redshift*
.
dwh-migration-dumper --thread-pool-size=1
Como processar um erro WARN...Task failed
Às vezes, pode ser exibido um erro WARN [main]
o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: …
na saída do terminal da ferramenta dwh-migration-dumper
. A ferramenta de extração
envia várias consultas ao sistema de origem, e a saída de cada consulta
é gravada no próprio arquivo. Esse problema indica que uma dessas
consultas falhou. No entanto, a falha de uma consulta não impede a execução das outras. Se você vir mais de alguns erros WARN
, analise os detalhes do problema e confira se há algo que precisa ser corrigido para que a consulta seja executada corretamente.
Por exemplo, se o usuário do banco de dados especificado ao executar a
ferramenta de extração não tiver permissões para ler todos os metadados, tente novamente
com um usuário com as permissões corretas.
Arquivo ZIP corrompido
Para validar o arquivo ZIP da ferramenta dwh-migration-dumper
, faça o download do arquivo SHA256SUMS.txt
e execute o seguinte comando:
Bash
sha256sum --check SHA256SUMS.txt
O resultado OK
confirma a verificação com êxito do checksum. Qualquer outra mensagem indica um erro de verificação:
FAILED: computed checksum did NOT match
: o arquivo ZIP está corrompido, e o download dele precisa ser refeito.FAILED: listed file could not be read
: não é possível localizar a versão do arquivo ZIP. Verifique se o checksum e os arquivos ZIP são da mesma versão de lançamento ao fazer o download e foram 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 de arquivo zip baixado da versão da ferramenta de extração de linha de comando dwh-migration-dumper
, por exemplo, dwh-migration-tools-v1.0.52.zip
O resultado True
confirma a verificação com êxito do checksum.
O resultado False
indica um erro de verificação. Verifique se o checksum e os arquivos ZIP são da mesma versão de lançamento ao fazer o download e foram colocados no mesmo diretório.
A extração de registros de consulta do Teradata é lenta
Para melhorar o desempenho da mesclagem de tabelas especificadas pelas flags -Dteradata-logs.query-logs-table
e -Dteradata-logs.sql-logs-table
, inclua mais uma coluna do tipo DATE
na condição JOIN
. Essa coluna precisa ser definida em ambas as tabelas e fazer parte do índice primário particionado. Para incluir
essa 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 destrutor
falhará com a seguinte mensagem:
none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Para resolver esse erro, aumente o limite para 1 MB ou divida as linhas em várias linhas:
- Instale e ative o recurso de linhas de resposta e de permissões de 1 MB e o software TTU atual. Para mais informações, consulte a mensagem 9804 do banco de dados do Teradata.
- Divida o texto longo de consulta em várias linhas usando as flags
-Dteradata.metadata.max-text-length
e-Dteradata-logs.max-sql-length
.
O comando a seguir mostra o uso da
flag -Dteradata.metadata.max-text-length
para dividir o texto de consulta longo em
várias linhas de, no máximo, 10.000 caracteres 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 a seguir mostra o uso da
flag -Dteradata-logs.max-sql-length
para dividir o texto de consulta longo em
várias linhas de, no máximo, 10.000 caracteres 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 conexão com o Oracle
Em casos comuns, como senha ou nome de host inválidos, a ferramenta dwh-migration-dumper
imprime uma mensagem de erro significativa que descreve o problema raiz. No entanto, em alguns
casos, a mensagem de erro retornada pelo servidor Oracle pode ser genérica e
difícil de investigar.
Uma delas é IO Error: Got minus one from a read call
. Esse erro
indica que a conexão com o servidor Oracle foi estabelecida, mas o
servidor não aceitou o cliente e fechou a conexão. Esse problema geralmente
ocorre quando o servidor aceita apenas conexões TCPS
. Por padrão,
a ferramenta dwh-migration-dumper
usa o protocolo TCP
. Para resolver esse problema, você precisa
substituir o URL de conexão JDBC do Oracle.
Em vez de fornecer as flags oracle-service
, host
e port
, você pode
resolver esse problema fornecendo a flag url
no seguinte formato:
jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}
. Normalmente, o
número da porta TCPS
usado pelo servidor Oracle é 2484
.
Exemplo de comando de 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 mudar o protocolo de conexão para TCPS, talvez seja necessário fornecer
a configuração de SSL do repositório de confiança, que é necessária para verificar o certificado do servidor
Oracle. Uma configuração SSL ausente resultará em uma mensagem de erro Unable to find valid
certification path
. Para resolver isso, 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"
Dependendo da configuração do servidor Oracle, talvez seja necessário fornecer a configuração do keyStore. Consulte SSL com o driver JDBC do Oracle para mais informações sobre as opções de configuração.
A seguir
Depois de executar a ferramenta dwh-migration-dumper
,
faça upload da saída para o Cloud Storage
junto com os arquivos de origem para tradução.