Genera metadati per la traduzione e la valutazione

Questo documento descrive come creare metadati ed eseguire query sui file di log utilizzando lo strumento di estrazione da riga di comando dwh-migration-dumper. I file di metadati descrivono gli oggetti SQL nel sistema di origine.

BigQuery Migration Service utilizza queste informazioni per migliorare la traduzione degli script SQL dal dialetto del sistema di origine a GoogleSQL.

La valutazione della migrazione BigQuery utilizza i file di metadati e i file di log delle query per analizzare il data warehouse esistente e contribuire a valutare l'impegno necessario per spostare il data warehouse in BigQuery.

Panoramica

Puoi utilizzare lo strumento dwh-migration-dumper per estrarre le informazioni sui metadati dalla piattaforma di database di cui stai eseguendo la migrazione a BigQuery. Sebbene l'utilizzo dello strumento di estrazione non sia obbligatorio per la traduzione, è necessario per la valutazione della migrazione di BigQuery e ti consigliamo vivamente di utilizzarlo per tutte le attività di migrazione.

Per saperne di più, vedi Creare file di metadati.

Puoi utilizzare lo strumento dwh-migration-dumper per estrarre i metadati dalle seguenti piattaforme di database:

  • Teradata
  • Amazon Redshift
  • Apache Hive
  • Apache Spark
  • Azure Synapse
  • Greenplum
  • Microsoft SQL Server
  • IBM Netezza
  • Oracle
  • PostgreSQL
  • Snowflake
  • Trino o PrestoSQL
  • Vertica

Per la maggior parte di questi database puoi anche estrarre i log delle query.

Lo strumento dwh-migration-dumper esegue query sulle tabelle di sistema per raccogliere istruzioni DDL (Data Definition Language) relative ai database utente e di sistema. Non esegue query sui contenuti dei database utente. Lo strumento salva le informazioni sui metadati dalle tabelle di sistema come file CSV e poi comprime questi file in un unico pacchetto. Poi carichi questo file zip in Cloud Storage quando carichi i file di origine per la traduzione o la valutazione.

Quando utilizzi l'opzione dei log delle query, lo strumento dwh-migration-dumper esegue query sulle tabelle di sistema per le istruzioni DDL e i log delle query relativi ai database utente e di sistema. Questi file vengono salvati in formato CSV o YAML in una sottodirectory e poi compressi in un pacchetto zip. In nessun momento vengono eseguite query sui contenuti dei database utente. A questo punto, la valutazione della migrazione di BigQuery richiede singoli file CSV, YAML e di testo per i log delle query, quindi devi decomprimere tutti questi file dal file ZIP dei log delle query e caricarli per la valutazione.

Lo strumento dwh-migration-dumper può essere eseguito su Windows, macOS e Linux.

Lo strumento dwh-migration-dumper è disponibile con la licenza Apache 2.

Se scegli di non utilizzare lo strumento dwh-migration-dumper per la traduzione, puoi fornire manualmente i file di metadati raccogliendo le istruzioni DDL (Data Definition Language) per gli oggetti SQL nel sistema di origine in file di testo separati.

Per la valutazione della migrazione utilizzando BigQuery Migration Assessment, è necessario fornire i log di metadati e query estratti con lo strumento.

Requisiti di conformità

Per facilità d'uso, forniamo il file binario dello strumento dwh-migration-dumper compilato. Se devi controllare lo strumento per assicurarti che soddisfi i requisiti di conformità, puoi esaminare il codice sorgente dal repository GitHub dello strumento dwh-migration-dumper e compilare il tuo binario.

Prerequisiti

Installare Java

Sul server su cui prevedi di eseguire lo strumento dwh-migration-dumper deve essere installato Java 8 o versioni successive. In caso contrario, scarica Java dalla pagina dei download di Java e installalo.

Autorizzazioni obbligatorie

L'account utente specificato per connettere lo strumento dwh-migration-dumper al sistema di origine deve disporre delle autorizzazioni per leggere i metadati da questo sistema. Conferma che questo account disponga dell'appartenenza al ruolo appropriata per eseguire query sulle risorse di metadati disponibili per la tua piattaforma. Ad esempio, INFORMATION_SCHEMA è una risorsa di metadati comune a diverse piattaforme.

Installa lo strumento dwh-migration-dumper

Per installare lo strumento dwh-migration-dumper:

  1. Sulla macchina in cui vuoi eseguire lo strumento dwh-migration-dumper, scarica il file zip dal repository GitHub dello strumento dwh-migration-dumper.
  2. Per convalidare il file zip dello strumento dwh-migration-dumper, scarica il file SHA256SUMS.txt ed esegui questo comando:

    Bash

    sha256sum --check SHA256SUMS.txt

    Se la verifica non va a buon fine, consulta la sezione Risoluzione dei problemi.

    Windows PowerShell

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

    Sostituisci RELEASE_ZIP_FILENAME con il nome del file zip scaricato della release dello strumento di estrazione da riga di comando dwh-migration-dumper, ad esempio dwh-migration-tools-v1.0.52.zip.

    Il risultato True conferma la verifica riuscita del checksum.

    Il risultato False indica un errore di verifica. Assicurati che i file checksum e zip siano scaricati dalla stessa versione e inseriti nella stessa directory.

  3. Estrai il file ZIP. Il file binario dello strumento di estrazione si trova nella sottodirectory /bin della cartella creata estraendo il file zip.

  4. Aggiorna la variabile di ambiente PATH in modo da includere il percorso di installazione dello strumento di estrazione.

Esegui lo strumento dwh-migration-dumper

Lo strumento dwh-migration-dumper utilizza il seguente formato:

dwh-migration-dumper [FLAGS]

L'esecuzione dello strumento dwh-migration-dumper crea un file di output denominato dwh-migration-<source platform>-metadata.zip, ad esempio dwh-migration-teradata-metadata.zip, nella directory di lavoro.

Segui le istruzioni riportate di seguito per scoprire come eseguire lo strumento dwh-migration-dumper per la tua piattaforma di origine.

Teradata

Per consentire allo strumento dwh-migration-dumper di connettersi a Teradata, scarica il driver JDBC dalla pagina di download di Teradata.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati e i log delle query di Teradata utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--assessment

Attiva la modalità di valutazione durante la generazione dei log del database o l'estrazione dei metadati. Lo strumento dwh-migration-dumper genera le statistiche dei metadati richieste per la valutazione della migrazione di BigQuery quando viene utilizzato per l'estrazione dei metadati. Se utilizzato per i log delle query, estrae colonne aggiuntive per la valutazione della migrazione di BigQuery.

Obbligatorio se utilizzato per la valutazione della corsa, non obbligatorio per la traduzione.
--connector Il nome del connettore da utilizzare, in questo caso teradata per i metadati o teradata-logs per i log delle query.
--database

Un elenco dei database da estrarre, separati da virgole. I nomi dei database potrebbero essere sensibili alle maiuscole/minuscole, a seconda della configurazione del server Teradata.

Se questo flag viene utilizzato in combinazione con il connettore teradata, lo strumento dwh-migration-dumper filtra le tabelle e le viste dei metadati in base all'elenco fornito di database. Le eccezioni sono le visualizzazioni DatabasesV e RoleMembersV: lo strumento dwh-migration-dumper estrae i database e gli utenti da queste visualizzazioni senza filtrare in base al nome del database.

Questo flag non può essere utilizzato in combinazione con il connettore teradata-logs. I log delle query vengono sempre estratti per tutti i database.

No
--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 1025 La porta del server di database. No
--user

Il nome utente da utilizzare per la connessione al database.

--query-log-alternates

Solo per il connettore teradata-logs.

Per estrarre i log delle query da una posizione alternativa, ti consigliamo di utilizzare i flag -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table.

Per impostazione predefinita, i log delle query vengono estratti dalle tabelle dbc.DBQLogTbl e dbc.DBQLSQLTbl. Se utilizzi il flag --assessment, i log delle query vengono estratti dalla visualizzazione dbc.QryLogV e dalla tabella dbc.DBQLSQLTbl. Se devi estrarre i log delle query da una posizione alternativa, puoi specificare i nomi completi delle tabelle o delle viste utilizzando il flag --query-log-alternates. Il primo parametro fa riferimento all'alternativa alla tabella dbc.DBQLogTbl, mentre il secondo parametro fa riferimento all'alternativa alla tabella dbc.DBQLSQLTbl. Sono necessari entrambi.
Il flag -Dteradata-logs.log-date-column può essere utilizzato per migliorare le prestazioni di estrazione quando entrambe le tabelle hanno una colonna indicizzata di tipo DATE.

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

No
-Dteradata.tmode

La modalità di transazione per la connessione. Sono supportati i seguenti valori:

  • ANSI: modalità ANSI. Questa è la modalità predefinita (se il flag non è specificato)
  • TERA: Teradata transaction mode (BTET)
  • DEFAULT: utilizza la modalità di transazione predefinita configurata sul server di database
  • NONE: nessuna modalità impostata per la connessione

Esempio (Bash):
-Dteradata.tmode=TERA

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

No
-Dteradata-logs.log-date-column

Solo per il connettore teradata-logs.

Per migliorare il rendimento dell'unione delle tabelle specificate dai flag -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table, puoi includere una colonna aggiuntiva di tipo DATE nella condizione JOIN. Questa colonna deve essere definita in entrambe le tabelle e deve far parte dell'indice primario partizionato.

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

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

No
-Dteradata-logs.query-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log delle query vengono estratti dalla tabella dbc.DBQLogTbl. Se utilizzi il flag --assessment, i log delle query vengono estratti dalla vista dbc.QryLogV. Se devi estrarre i log delle query da una posizione alternativa, puoi specificare il nome completo della tabella o della vista utilizzando questo flag.
Consulta il flag -Dteradata-logs.log-date-column per migliorare le prestazioni di estrazione.

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

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

No
-Dteradata-logs.sql-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log delle query contenenti testo SQL vengono estratti dalla tabella dbc.DBQLSqlTbl. Se devi estrarli da una posizione alternativa, puoi specificare il nome completo della tabella o della vista utilizzando questo flag.
Consulta il flag -Dteradata-logs.log-date-column per migliorare le prestazioni di estrazione.

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

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

No
-Dteradata-logs.utility-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log dell'utilità vengono estratti dalla tabella dbc.DBQLUtilityTbl. Se devi estrarre i log di utilità da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando il flag -Dteradata-logs.utility-logs-table.

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

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

No
-Dteradata-logs.res-usage-scpu-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log di utilizzo delle risorse SCPU vengono estratti dalla tabella dbc.ResUsageScpu. Se devi estrarli da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando il flag -Dteradata-logs.res-usage-scpu-table.

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

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

No
-Dteradata-logs.res-usage-spma-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log di utilizzo delle risorse SPMA vengono estratti dalla tabella dbc.ResUsageSpma. Se devi estrarre questi log da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando il flag -Dteradata-logs.res-usage-spma-table.

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

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

No
--query-log-start

L'ora di inizio (inclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.

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

No
--query-log-end

L'ora di fine (esclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.

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

No
-Dteradata.metadata.tablesizev.max-rows

Solo per il connettore teradata.

Limita il numero di righe estratte dalla visualizzazione TableSizeV. Le righe sono raggruppate per le colonne DatabaseName, AccountName e TableName, quindi ordinate in ordine decrescente in base alle dimensioni dello spazio permanente (l'espressione SUM(CurrentPerm)). Viene quindi estratto il numero specificato di righe.

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

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

No
-Dteradata.metadata.diskspacev.max-rows

Solo per il connettore teradata.

Limita il numero di righe estratte dalla visualizzazione DiskSpaceV. Le righe vengono ordinate in ordine decrescente in base alle dimensioni dello spazio permanente (colonna CurrentPerm), dopodiché viene estratto il numero specificato di righe.

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

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

No
-Dteradata.metadata.databasesv.users.max-rows

Solo per il connettore teradata.

Limita il numero di righe che rappresentano gli utenti (DBKind='U') estratte dalla vista DatabasesV. Le righe vengono ordinate in ordine decrescente in base alla colonna PermSpace, quindi viene estratto il numero specificato di righe.

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

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

No
-Dteradata.metadata.databasesv.dbs.max-rows

Solo per il connettore teradata.

Limita il numero di righe che rappresentano i database (DBKind='D') estratti dalla vista DatabasesV. Le righe vengono ordinate in ordine decrescente in base alla colonna PermSpace, quindi viene estratto il numero specificato di righe.

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

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

No
-Dteradata.metadata.max-text-length

Solo per il connettore teradata.

Lunghezza massima della colonna di testo durante l'estrazione dei dati dalla visualizzazione TableTextV. Il testo più lungo del limite definito verrà suddiviso in più righe. Intervallo consentito: tra 5000 e 32.000 (incluso).

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

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

No
-Dteradata-logs.max-sql-length

Solo per il connettore teradata-logs.

Lunghezza massima della colonna DBQLSqlTbl.SqlTextInfo. Il testo della query più lungo del limite definito verrà suddiviso in più righe. Intervallo consentito: tra 5000 e 31.000 (inclusi).

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

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

No

Esempi

L'esempio seguente mostra come estrarre i metadati per due database Teradata sull'host locale:

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

L'esempio seguente mostra come estrarre i log delle query per Assessment sull'host locale per l'autenticazione:

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

Tabelle e visualizzazioni estratte dallo strumento dwh-migration-dumper

Quando utilizzi il connettore teradata, vengono estratte le seguenti tabelle e viste:

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

Quando utilizzi il connettore teradata con il flag --assessment, vengono estratte le seguenti tabelle e viste aggiuntive:

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

Quando utilizzi il connettore teradata-logs, vengono estratte le seguenti tabelle e viste:

  • DBC.DBQLogTbl (modifiche a DBC.QryLogV se viene utilizzato il flag --assessment)
  • DBC.DBQLSqlTbl

Quando utilizzi il connettore teradata-logs con il flag --assessment, vengono estratte le seguenti tabelle e viste aggiuntive:

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

Redshift

Puoi utilizzare uno dei seguenti meccanismi di autenticazione e autorizzazione di Amazon Redshift con lo strumento di estrazione:

  • Un nome utente e una password.
  • Un ID chiave di accesso e una chiave segreta di AWS Identity and Access Management (IAM).
  • Un nome di profilo AWS IAM.

Per l'autenticazione con nome utente e password, utilizza il driver JDBC PostgreSQL predefinito di Amazon Redshift. Per l'autenticazione con AWS IAM, utilizza il driver JDBC di Amazon Redshift, che puoi scaricare dalla relativa pagina di download.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati e i log delle query di Amazon Redshift utilizzando lo strumento dwh-migration-dumper. Per informazioni su tutti i flag supportati, vedi flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--assessment

Attivazione della modalità di valutazione durante la generazione dei log del database o l'estrazione dei metadati. Quando viene utilizzato per l'estrazione dei metadati, genera le statistiche sui metadati richieste per la valutazione della migrazione BigQuery. Se utilizzato per l'estrazione dei log delle query, genera statistiche sulle metriche delle query per la valutazione della migrazione di BigQuery.

Obbligatorio quando viene eseguito in modalità di valutazione, non obbligatorio per la traduzione.
--connector Il nome del connettore da utilizzare, in questo caso redshift per i metadati o redshift-raw-logs per i log delle query.
--database Se non specificato, Amazon Redshift utilizza il valore --user come nome del database predefinito.

Il nome del database a cui connettersi.

No
--driver Se non specificato, Amazon Redshift utilizza il driver JDBC PostgreSQL predefinito. Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. No
--host localhost Il nome host o l'indirizzo IP del server di database. No
--iam-accesskeyid

L'ID chiave di accesso AWS IAM da utilizzare per l'autenticazione. La chiave di accesso è una stringa di caratteri, ad esempio AKIAIOSFODNN7EXAMPLE.

Utilizza questo attributo insieme al flag --iam-secretaccesskey. Non utilizzare questo flag quando specifichi i flag --iam-profile o --password.

Non esplicitamente, ma devi fornire i dati di autenticazione tramite uno dei seguenti metodi:

  • Utilizzo di questo flag in combinazione con il flag --iam-secretaccesskey.
  • Utilizzando il flag --iam-profile.
  • Utilizzando il flag --password insieme al flag --user.
--iam-profile

Il profilo AWS IAM da utilizzare per l'autenticazione. Puoi recuperare un valore del profilo da utilizzare esaminando il file $HOME/.aws/credentials o eseguendo aws configure list-profiles.

Non utilizzare questo flag con i flag --iam-accesskeyid, --iam-secretaccesskey o --password.

Non esplicitamente, ma devi fornire i dati di autenticazione tramite uno dei seguenti metodi:

  • Utilizzando questo flag.
  • Utilizzando il flag --iam-accesskeyid in combinazione con il flag --iam-secretaccesskey.
  • Utilizzando il flag --password insieme al flag --user.
--iam-secretaccesskey

La chiave di accesso segreta AWS IAM da utilizzare per l'autenticazione. La chiave di accesso segreta è una stringa di caratteri, ad esempio wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Utilizza questo attributo insieme al flag --iam-accesskeyid. Non utilizzare questo flag con i flag --iam-profile o --password.

Non esplicitamente, ma devi fornire i dati di autenticazione tramite uno dei seguenti metodi:

  • Utilizzo di questo flag in combinazione con il flag --iam-accesskeyid.
  • Utilizzando il flag --iam-profile.
  • Utilizzando il flag --password insieme al flag --user.
--password La password da utilizzare per la connessione al database.

Non utilizzare questo flag con i flag --iam-accesskeyid, --iam-secretaccesskey o --iam-profile.

Non esplicitamente, ma devi fornire i dati di autenticazione tramite uno dei seguenti metodi:

  • Utilizzo di questo flag in combinazione con il flag --user.
  • Utilizzando il flag --iam-accesskeyid in combinazione con il flag --iam-secretaccesskey.
  • Utilizzando il flag --password.
--port 5439 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.
--query-log-start

L'ora di inizio (inclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.

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

No
--query-log-end

L'ora di fine (esclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.

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

No

Esempi

L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato, utilizzando le chiavi AWS IAM per l'autenticazione:

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

L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift sull'host predefinito, utilizzando il nome utente e la password per l'autenticazione:

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

L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato, utilizzando un profilo AWS IAM per l'autenticazione:

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

L'esempio seguente mostra come estrarre i log delle query per la valutazione da un database Amazon Redshift su un host specificato, utilizzando un profilo AWS IAM per l'autenticazione:

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

Tabelle e visualizzazioni estratte dallo strumento dwh-migration-dumper

Quando utilizzi il connettore redshift, vengono estratte le seguenti tabelle e viste:

  • 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

Quando utilizzi il connettore redshift con il flag --assessment, vengono estratte le seguenti tabelle e viste aggiuntive:

  • SVV_DISKUSAGE
  • STV_MV_INFO
  • STV_WLM_SERVICE_CLASS_CONFIG
  • STV_WLM_SERVICE_CLASS_STATE

Quando utilizzi il connettore redshift-raw-logs, vengono estratte le seguenti tabelle e viste:

  • STL_DDLTEXT
  • STL_QUERY
  • STL_QUERYTEXT
  • PG_USER

Quando utilizzi il connettore redshift-raw-logs con il flag --assessment, vengono estratte le seguenti tabelle e viste aggiuntive:

  • STL_QUERY_METRICS
  • SVL_QUERY_QUEUE_INFO
  • STL_WLM_QUERY

Per informazioni sulle tabelle e sulle viste di sistema in Redshift, consulta Viste di sistema Redshift e Tabelle del catalogo di sistema Redshift.

Apache Hive/Spark o Trino/PrestoSQL

Lo strumento dwh-migration-dumper supporta solo l'autenticazione al metastore Apache Hive tramite Kerberos. Pertanto, i flag --user e --password non vengono utilizzati. Utilizza invece il flag --hive-kerberos-url per fornire i dettagli di autenticazione Kerberos.

La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati di Apache Hive, Spark, Presto o Trino utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, vedi flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--assessment

Attiva la modalità di valutazione durante l'estrazione dei metadati. Lo strumento dwh-migration-dumper genera le statistiche dei metadati richieste per la valutazione della migrazione a BigQuery quando viene utilizzato per l'estrazione dei metadati.

Obbligatorio per la valutazione. Non richiesto per la traduzione.
--connector Il nome del connettore da utilizzare, in questo caso hiveql.
--hive-metastore-dump-partition-metadata true

Fa sì che lo strumento dwh-migration-dumper estragga i metadati della partizione. Ti consigliamo di impostare questo flag su false per il metastore di produzione con un numero significativo di partizioni, a causa delle implicazioni sul rendimento del client Thrift. Ciò migliora le prestazioni dello strumento di estrazione, ma causa una perdita di ottimizzazione delle partizioni lato BigQuery.

Non utilizzare questo flag con il flag --assessment, in quanto non avrà alcun effetto.

No
--hive-metastore-version 2.3.6

Quando esegui lo strumento dwh-migration-dumper, questo seleziona la specifica Thrift appropriata da utilizzare per comunicare con il server Apache Hive, in base al valore di questo flag. Se lo strumento di estrazione non dispone di una specifica Thrift appropriata, utilizza il client 2.3.6 ed emette un avviso a stdout. In questo caso, contatta l'assistenza e fornisci il numero di versione di Apache Hive che hai richiesto.

No
--host localhost Il nome host o l'indirizzo IP del server di database. No
--port 9083 La porta del server di database. No
--hive-kerberos-url L'entità Kerberos e l'host da utilizzare per l'autenticazione. Obbligatorio per i cluster con autenticazione Kerberos abilitata.
-Dhiveql.rpc.protection

Il livello di configurazione della protezione RPC. Determina la qualità della protezione (QOP) della connessione SASL (Simple Authentication and Security Layer) tra il cluster e lo strumento dwh-migration-dumper.

Deve essere uguale al valore del parametro hadoop.rpc.protection all'interno del file /etc/hadoop/conf/core-site.xml sul cluster, con uno dei seguenti valori:

  • authentication
  • integrity
  • privacy

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

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

Obbligatorio per i cluster con autenticazione Kerberos abilitata.

Esempi

L'esempio seguente mostra come estrarre i metadati per un database Hive 2.3.7 su un host specificato, senza autenticazione e utilizzando una porta alternativa per la connessione:

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

Per utilizzare l'autenticazione Kerberos, accedi come utente con autorizzazioni di lettura al metastore Hive e genera un ticket Kerberos. Quindi, genera il file zip dei metadati con il seguente 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 o Microsoft SQL Server

Per consentire allo strumento dwh-migration-dumper di connettersi ad Azure Synapse o Microsoft SQL Server, scarica il driver JDBC dalla pagina di download di Microsoft.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati di Azure Synapse o Microsoft SQL Server utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, vedi flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso sqlserver.
--database

Il nome del database a cui connettersi.

--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database.
--port 1433 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati da un database Azure Synapse su un host specificato:

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

Greenplum

Per consentire allo strumento dwh-migration-dumper di connettersi a Greenplum, scarica il driver JDBC dalla pagina di download di VMware Greenplum.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati di Greenplum utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso greenplum.
--database

Il nome del database a cui connettersi.

--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 5432 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati per un database Greenplum su un host specificato:

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

Netezza

Per consentire allo strumento dwh-migration-dumper di connettersi a IBM Netezza, devi ottenere il driver JDBC. In genere, puoi ottenere il driver dalla directory /nz/kit/sbin sull'host dell'appliance IBM Netezza. Se non riesci a trovarlo, chiedi aiuto all'amministratore di sistema o leggi Installazione e configurazione di JDBC nella documentazione di IBM Netezza.

La tabella seguente descrive i flag utilizzati di frequente per estrarre i metadati di IBM Netezza utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso netezza.
--database

Un elenco dei database da estrarre, separati da virgole.

--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database.
--port 5480 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati per due database IBM Netezza su un host specificato:

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

PostgreSQL

Per consentire allo strumento dwh-migration-dumper di connettersi a PostgreSQL, scarica il driver JDBC dalla pagina di download di PostgreSQL.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati PostgreSQL utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso postgresql.
--database

Il nome del database a cui connettersi.

--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 5432 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati per un database PostgreSQL su un host specificato:

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

Oracle

Per consentire allo strumento dwh-migration-dumper di connettersi a Oracle, scarica il driver JDBC dalla pagina di download di Oracle.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati Oracle utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso oracle.
--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--oracle-service

Il nome del servizio Oracle da utilizzare per la connessione.

Non esplicitamente, ma devi specificare questo flag o il flag --oracle-sid.
--oracle-sid

L'identificatore di sistema (SID) Oracle da utilizzare per la connessione.

Non esplicitamente, ma devi specificare questo flag o il flag --oracle-service.
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 1521 La porta del server di database. No
--user

Il nome utente da utilizzare per la connessione al database.

L'utente specificato deve avere il ruolo SELECT_CATALOG_ROLE per estrarre i metadati. Per verificare se l'utente dispone del ruolo richiesto, esegui la query select granted_role from user_role_privs; sul database Oracle.

Esempi

Il seguente esempio mostra come estrarre i metadati per un database Oracle su un host specificato, utilizzando il servizio Oracle per la connessione:

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

Snowflake

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati di Snowflake utilizzando lo strumento dwh-migration-dumper. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso snowflake.
--database

Il nome del database a cui connettersi.

Puoi estrarre dati da un solo database alla volta da Snowflake.

--host localhost Il nome host o l'indirizzo IP del server di database. No
--private-key-file

Il percorso della chiave privata RSA utilizzata per l'autenticazione. Ti consigliamo di utilizzare un utente SERVICE con un'autenticazione basata su coppie di chiavi. In questo modo viene fornito il metodo sicuro per accedere alla piattaforma di dati Snowflake senza la necessità di generare token MFA.

No, se non viene fornito, lo strumento di estrazione utilizza un'autenticazione basata su password.
--private-key-password

La password utilizzata durante la creazione della chiave privata RSA.

No, è obbligatoria solo se la chiave privata è criptata.
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. Tuttavia, consigliamo di utilizzare l'autenticazione basata su coppie di chiavi.
--role Il ruolo Snowflake da utilizzare per l'autorizzazione. Devi specificare questo valore solo per le installazioni di grandi dimensioni in cui devi recuperare i metadati dallo schema SNOWFLAKE.ACCOUNT_USAGE anziché da INFORMATION_SCHEMA. Per ulteriori informazioni, vedi Utilizzare istanze Snowflake di grandi dimensioni. No
--user

Il nome utente da utilizzare per la connessione al database.

--warehouse

Il data warehouse Snowflake da utilizzare per l'elaborazione delle query sui metadati.

Esempi

L'esempio seguente mostra come estrarre i metadati per un database Snowflake di dimensioni tipiche sull'host locale:

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

Il seguente esempio mostra come estrarre i metadati per un database Snowflake di grandi dimensioni su un host specificato:

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

In alternativa, puoi utilizzare il seguente esempio per estrarre i metadati utilizzando l'autenticazione basata su password:

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

Utilizzo di istanze Snowflake di grandi dimensioni

Lo strumento dwh-migration-dumper legge i metadati da Snowflake INFORMATION_SCHEMA. Tuttavia, esiste un limite alla quantità di dati che puoi recuperare da INFORMATION_SCHEMA. Se esegui lo strumento di estrazione e ricevi l'errore SnowflakeSQLException: Information schema query returned too much data, devi seguire i passaggi riportati di seguito per poter leggere i metadati dallo schema SNOWFLAKE.ACCOUNT_USAGE:

  1. Apri l'opzione Condivisioni nell'interfaccia web di Snowflake.
  2. Crea un database dalla condivisione SNOWFLAKE.ACCOUNT_USAGE:

    -- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
    
  3. Per creare un ruolo:

    CREATE ROLE role;
    
  4. Concedi al ruolo i privilegi IMPORTED sul nuovo database:

    GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
    
  5. Concedi il ruolo all'utente che intendi utilizzare per eseguire lo strumento dwh-migration-dumper:

    GRANT ROLE role TO USER user;
    

Vertica

Per consentire allo strumento dwh-migration-dumper di connettersi a Vertica, scarica il driver JDBC dalla pagina di download.

La seguente tabella descrive i flag utilizzati di frequente per estrarre i metadati di Vertica utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso vertica.
--database

Il nome del database a cui connettersi.

--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole.
--host localhost Il nome host o l'indirizzo IP del server di database. No
--password La password da utilizzare per la connessione al database.
--port 5433 La porta del server di database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati da un database Vertica sull'host locale:

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

Flag globali

La seguente tabella descrive i flag che possono essere utilizzati con una qualsiasi delle piattaforme di origine supportate.

Nome Descrizione
--connector Il nome del connettore per il sistema di origine.
--database L'utilizzo varia in base al sistema di origine.
--driver Il percorso assoluto o relativo del file JAR del driver da utilizzare quando ti connetti al sistema di origine. Puoi specificare più file JAR del driver, separandoli con virgole.
--dry-run o -n Mostra le azioni che lo strumento di estrazione eseguirebbe senza eseguirle.
--help Visualizza la guida della riga di comando.
--host Il nome host o l'indirizzo IP del server di database a cui connettersi.
--jdbcDriverClass Esegue l'override facoltativo del nome della classe del driver JDBC specificato dal fornitore. Utilizza questa opzione se hai un client JDBC personalizzato.
--output Il percorso del file ZIP di output. Ad esempio, dir1/dir2/teradata-metadata.zip. Se non specifichi un percorso, il file di output viene creato nella directory di lavoro. Se specifichi il percorso di una directory, il nome file ZIP predefinito viene creato nella directory specificata. Se la directory non esiste, viene creata.

Per utilizzare Cloud Storage, utilizza il seguente formato:
gs://<BUCKET>/<PATH>

Per autenticarti utilizzando le credenziali Google Cloud , vedi Autenticarsi per l'utilizzo delle librerie client.

--password La password da utilizzare per la connessione al database.
--port La porta del server di database.
--save-response-file Salva i flag della riga di comando in un file JSON per un facile riutilizzo. Il file si chiama dumper-response-file.json e viene creato nella directory di lavoro. Per utilizzare il file di risposta, fornisci il percorso preceduto da @ quando esegui lo strumento di estrazione, ad esempio dwh-migration-dumper @path/to/dumper-response-file.json.
--schema

Un elenco degli schemi da estrarre, separati da virgole.

Oracle non fa distinzione tra uno schema e l'utente del database che ha creato lo schema, quindi puoi utilizzare i nomi degli schemi o i nomi utente con il flag --schema. Ad esempio, --schema schema1,user2,schema3.

--thread-pool-size

Imposta la dimensione del pool di thread, che influisce sulla dimensione del pool di connessioni. La dimensione predefinita del pool di thread è il numero di core sul server che esegue lo strumento dwh-migration-dumper.

Se lo strumento di estrazione sembra lento o ha bisogno di più risorse, puoi aumentare il numero di thread utilizzati. Se ci sono indicazioni che altri processi sul server richiedono più larghezza di banda, puoi ridurre il numero di thread utilizzati.

--url

L'URL da utilizzare per la connessione al database, anziché l'URI generato dal driver JDBC.

L'URI generato dovrebbe essere sufficiente nella maggior parte dei casi. Esegui l'override dell'URI generato solo quando devi utilizzare un'impostazione di connessione JDBC specifica per la piattaforma di origine e non ancora impostata da uno dei flag elencati in questa tabella.

--user Il nome utente da utilizzare per la connessione al database.
--version Mostra la versione del prodotto.

Risoluzione dei problemi

Questa sezione spiega alcuni problemi comuni e le tecniche di risoluzione dei problemi per lo strumento dwh-migration-dumper.

Errore di memoria insufficiente

L'errore java.lang.OutOfMemoryError nell'output del terminale dello strumento dwh-migration-dumper è spesso correlato a una memoria insufficiente per l'elaborazione dei dati recuperati. Per risolvere il problema, aumenta la memoria disponibile o riduci il numero di thread di elaborazione.

Puoi aumentare la memoria massima esportando la variabile di ambiente JAVA_OPTS:

Linux

export JAVA_OPTS="-Xmx4G"

Windows

set JAVA_OPTS="-Xmx4G"

Puoi ridurre il numero di thread di elaborazione (il valore predefinito è 32) includendo il flag --thread-pool-size. Questa opzione è supportata solo per i connettori hiveql e redshift*.

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

Gestione dell'errore WARN...Task failed

A volte potresti visualizzare un errore WARN [main] o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: … nell'output del terminale dello strumento dwh-migration-dumper. Lo strumento di estrazione invia più query al sistema di origine e l'output di ogni query viene scritto nel proprio file. La visualizzazione di questo problema indica che una di queste query non è andata a buon fine. Tuttavia, l'errore di una query non impedisce l'esecuzione delle altre query. Se visualizzi più di un paio di errori WARN, esamina i dettagli del problema e verifica se devi correggere qualcosa affinché la query venga eseguita correttamente. Ad esempio, se l'utente del database specificato durante l'esecuzione dello strumento di estrazione non dispone delle autorizzazioni per leggere tutti i metadati, riprova con un utente con le autorizzazioni corrette.

File ZIP danneggiato

Per convalidare il file zip dello strumento dwh-migration-dumper, scarica il file SHA256SUMS.txt ed esegui questo comando:

Bash

sha256sum --check SHA256SUMS.txt

Il risultato OK conferma la verifica riuscita del checksum. Qualsiasi altro messaggio indica un errore di verifica:

  • FAILED: computed checksum did NOT match: il file ZIP è danneggiato e deve essere scaricato di nuovo.
  • FAILED: listed file could not be read: non è possibile trovare la versione del file zip. Assicurati che i file di checksum e zip vengano scaricati dalla stessa versione e inseriti nella stessa directory.

Windows PowerShell

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

Sostituisci RELEASE_ZIP_FILENAME con il nome del file zip scaricato della release dello strumento di estrazione da riga di comando dwh-migration-dumper, ad esempio dwh-migration-tools-v1.0.52.zip.

Il risultato True conferma la verifica riuscita del checksum.

Il risultato False indica un errore di verifica. Assicurati che i file checksum e zip siano scaricati dalla stessa versione e inseriti nella stessa directory.

L'estrazione dei log delle query Teradata è lenta

Per migliorare il rendimento dell'unione delle tabelle specificate dai flag -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table, puoi includere una colonna aggiuntiva di tipo DATE nella condizione JOIN. Questa colonna deve essere definita in entrambe le tabelle e deve far parte dell'indice primario partizionato. Per includere questa colonna, utilizza il flag -Dteradata-logs.log-date-column.

Esempio:

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"

Limite di dimensioni delle righe Teradata superato

Teradata 15 ha un limite di 64 kB per le dimensioni delle righe. Se il limite viene superato, il dumper non funziona e viene visualizzato il seguente messaggio: none [Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow

Per risolvere questo errore, estendi il limite di righe a 1 MB o dividi le righe in più righe:

  • Installa e attiva la funzionalità 1MB Perm and Response Rows e il software TTU corrente. Per ulteriori informazioni, consulta Teradata Database Message 9804
  • Suddividi il testo della query lunga in più righe utilizzando i flag -Dteradata.metadata.max-text-length e -Dteradata-logs.max-sql-length.

Il seguente comando mostra l'utilizzo del flag -Dteradata.metadata.max-text-length per dividere il testo della query lunga in più righe di massimo 10.000 caratteri ciascuna:

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"

Il seguente comando mostra l'utilizzo del flag -Dteradata-logs.max-sql-length per dividere il testo della query lunga in più righe di massimo 10.000 caratteri ciascuna:

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 di connessione Oracle

In casi comuni come password o nome host non validi, lo strumento dwh-migration-dumper stampa un messaggio di errore significativo che descrive il problema principale. Tuttavia, in alcuni casi, il messaggio di errore restituito dal server Oracle potrebbe essere generico e difficile da analizzare.

Uno di questi problemi è IO Error: Got minus one from a read call. Questo errore indica che la connessione al server Oracle è stata stabilita, ma il server non ha accettato il client e ha chiuso la connessione. Questo problema si verifica in genere quando il server accetta solo connessioni TCPS. Per impostazione predefinita, lo strumento dwh-migration-dumper utilizza il protocollo TCP. Per risolvere il problema, devi ignorare l'URL di connessione JDBC Oracle.

Anziché fornire i flag oracle-service, host e port, puoi risolvere il problema fornendo il flag url nel seguente formato: jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}. In genere, il numero di porta TCPS utilizzato dal server Oracle è 2484.

Comando dumper di esempio:

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

Oltre a modificare il protocollo di connessione in TCPS, potrebbe essere necessario fornire la configurazione SSL trustStore necessaria per verificare il certificato del server Oracle. Una configurazione SSL mancante genererà un messaggio di errore Unable to find valid certification path. Per risolvere il problema, imposta la variabile di ambiente JAVA_OPTS:

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

A seconda della configurazione del server Oracle, potrebbe essere necessario fornire anche la configurazione del keystore. Per ulteriori informazioni sulle opzioni di configurazione, consulta SSL con il driver JDBC di Oracle.

Passaggi successivi

Dopo aver eseguito lo strumento dwh-migration-dumper, carica l'output su Cloud Storage insieme ai file di origine per la traduzione.