יצירת מטא-נתונים לתרגום ולהערכה
כלי החילוץ dwh-migration-dumper בשורת הפקודה מאפשר לחלץ מטא-נתונים וקובצי יומן של שאילתות ממחסן הנתונים הקיים, כדי שתוכלו להעריך את עומסי העבודה ולהעביר אותם ל-BigQuery. קובצי המטא-נתונים מתארים את אובייקטי ה-SQL במערכת המקור.
שירות ההעברה ל-BigQuery משתמש במטא-נתונים האלה כדי לשפר את הדיוק של תרגום הסקריפטים של SQL ל-GoogleSQL. בנוסף, הערכת ההעברה ל-BigQuery מנתחת את המטא-נתונים ואת קובצי היומן של השאילתות כדי לעזור לכם להעריך את מחסן הנתונים הקיים ואת המאמץ שנדרש כדי להעביר אותו ל-BigQuery.
סקירה כללית
אתם יכולים להשתמש בכלי dwh-migration-dumper כדי לחלץ מטא-נתונים מפלטפורמת מסד הנתונים שאתם מעבירים ל-BigQuery. לא חובה להשתמש בכלי החילוץ לצורך תרגום, אבל חובה להשתמש בו לצורך הערכת ההעברה ל-BigQuery, ואנחנו ממליצים מאוד להשתמש בו לכל משימות ההעברה.
מידע נוסף זמין במאמר יצירת קובצי מטא-נתונים.
אתם יכולים להשתמש בכלי dwh-migration-dumper כדי לחלץ מטא-נתונים מפלטפורמות מסדי הנתונים הבאות:
- Teradata בגרסה 15 ואילך, ו-Teradata VantageCore מקומי
- Amazon Redshift
- Apache Hive
- Apache Impala
- Apache Spark
- Azure Synapse
- Greenplum
- שרת SQL
- IBM Netezza
- Oracle
- PostgreSQL
- פתית שלג
- Trino או PrestoSQL
- Vertica
- BigQuery
ברוב מסדי הנתונים האלה אפשר גם לחלץ יומני שאילתות.
הכלי dwh-migration-dumper שולח שאילתות לטבלאות המערכת כדי לאסוף הצהרות של שפת הגדרת נתונים (DDL) שקשורות למסדי נתונים של המשתמשים ושל המערכת. הוא לא שולח שאילתות לתוכן של מסדי נתונים של משתמשים. הכלי שומר את המטא-נתונים מטבלאות המערכת כקובצי CSV, ואז דוחס את הקבצים האלה לחבילה אחת. את קובץ ה-ZIP הזה מעלים ל-Cloud Storage כשמעלים את קובצי המקור לתרגום או להערכה.
כשמשתמשים באפשרות של יומני השאילתות, הכלי dwh-migration-dumper שולח שאילתות לטבלאות המערכת כדי לקבל הצהרות DDL ויומני שאילתות שקשורים למסדי נתונים של המשתמשים ושל המערכת. הם נשמרים בפורמט CSV או YAML בספריית משנה, ואז נארזים בחבילת ZIP. בשלב כלשהו, המערכת לא שולחת שאילתות לתוכן של מסדי הנתונים של המשתמשים.
אפשר להריץ את הכלי dwh-migration-dumper ב-Windows, ב-macOS וב-Linux.
הכלי dwh-migration-dumper זמין במסגרת רישיון Apache 2.
אם אתם לא רוצים להשתמש בכלי dwh-migration-dumper לתרגום, אתם יכולים לספק קובצי מטא-נתונים באופן ידני. לשם כך, צריך לאסוף את הצהרות שפת הגדרת הנתונים (DDL) של אובייקטי ה-SQL במערכת המקור בקובצי טקסט נפרדים.
כדי להעריך את ההעברה באמצעות BigQuery migration assessment, צריך לספק מטא-נתונים ויומני שאילתות שחולצו באמצעות הכלי.
הדרישות בהתאם לסיווג
כדי להקל על השימוש, אנחנו מספקים את הקובץ הבינארי של הכלי dwh-migration-dumper שעבר הידור. אם אתם צריכים לבדוק את הכלי כדי לוודא שהוא עומד בדרישות התאימות, אתם יכולים לבדוק את קוד המקור ממאגר GitHub של הכלי dwh-migration-dumper ולקמפל קובץ בינארי משלכם.
דרישות מוקדמות
התקנת Java
בשרת שבו אתם מתכננים להפעיל את הכלי dwh-migration-dumper צריכה להיות מותקנת גרסה 8 ומעלה של Java. אם לא, מורידים את Java מדף ההורדות של Java ומתקינים אותה.
ההרשאות הנדרשות
לחשבון המשתמש שאתם מציינים כדי לחבר את הכלי dwh-migration-dumper למערכת המקור צריכות להיות הרשאות לקריאת מטא-נתונים מהמערכת הזו.
מוודאים שלחשבון הזה יש תפקיד מתאים כדי לשלוח שאילתות למשאבי המטא-נתונים שזמינים לפלטפורמה. לדוגמה, INFORMATION_SCHEMA הוא משאב מטא-נתונים שמשותף לכמה פלטפורמות.
התקנת הכלי dwh-migration-dumper
כדי להתקין את הכלי dwh-migration-dumper:
- במחשב שבו רוצים להריץ את הכלי
dwh-migration-dumper, מורידים את קובץ ה-ZIP ממאגר ה-GitHub של הכליdwh-migration-dumper. כדי לאמת את קובץ ה-ZIP של הכלי
dwh-migration-dumper, מורידים את הקובץSHA256SUMS.txtומריצים את הפקודה הבאה:Bash
sha256sum --check SHA256SUMS.txt
אם האימות נכשל, עיינו בקטע פתרון בעיות.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
מחליפים את
RELEASE_ZIP_FILENAMEבשם קובץ ה-ZIP שהורדתם של גרסת כלי החילוץ שלdwh-migration-dumperבשורת הפקודה – לדוגמה,dwh-migration-tools-v1.0.52.zipהתוצאה
Trueמאשרת שאימות סיכום הביקורת (checksum) הצליח.התוצאה
Falseמצביעה על שגיאת אימות. חשוב לוודא שקובצי ה-checksum וקובצי ה-ZIP הורדו מאותה גרסת הפצה והם נמצאים באותה ספרייה.מחלצים את קובץ ה-ZIP. הקובץ הבינארי של כלי החילוץ נמצא בתיקיית המשנה
/binשל התיקייה שנוצרה על ידי חילוץ קובץ ה-ZIP.מעדכנים את משתנה הסביבה
PATHכך שיכלול את נתיב ההתקנה של כלי החילוץ.
מפעילים את הכלי dwh-migration-dumper
הכלי dwh-migration-dumper משתמש בפורמט הבא:
dwh-migration-dumper [FLAGS]
הפעלת הכלי dwh-migration-dumper יוצרת קובץ פלט בשם dwh-migration-<source platform>-metadata.zip, לדוגמה dwh-migration-teradata-metadata.zip, בספריית העבודה.
כדי להפעיל את הכלי dwh-migration-dumper בפלטפורמת המקור, צריך לפעול לפי ההוראות הבאות.
Teradata
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Teradata, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה של Teradata.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים ויומני שאילתות של Teradata באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--assessment |
הפעלת מצב הערכה כשיוצרים יומני מסד נתונים או מחלצים מטא-נתונים.
כשמשתמשים בכלי |
נדרש כשמשתמשים להרצת הערכה, לא נדרש לתרגום. | |
--connector |
שם המחבר שבו משתמשים, במקרה הזה teradata למטא-נתונים או teradata-logs ליומני שאילתות. | כן | |
--database |
רשימה של מסדי הנתונים לחילוץ, מופרדים בפסיקים. יכול להיות שהשמות של מסדי הנתונים תלויי אותיות רישיות, בהתאם להגדרות של שרת Teradata. אם משתמשים בדגל הזה בשילוב עם המחבר אי אפשר להשתמש בדגל הזה בשילוב עם המחבר |
לא | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את הסיסמה, כלי החילוץ משתמש בהנחיה מאובטחת כדי לבקש אותה. | |
--port |
1025 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. |
כן | |
--query-log-alternates |
רק למחבר כדי לחלץ את יומני השאילתות ממיקום חלופי, מומלץ להשתמש בדגלים
כברירת מחדל, יומני השאילתות נשלפים מהטבלאות לדוגמה:
|
לא | |
-Dteradata.tmode |
מצב העסקה של החיבור. אלה הערכים הנתמכים:
דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.log-date-column |
רק למחבר
כדי לשפר את הביצועים של טבלאות איחוד שצוינו בדגלים דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.query-logs-table |
רק למחבר
כברירת מחדל, יומני השאילתות נשלפים מהטבלה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.sql-logs-table |
רק למחבר
כברירת מחדל, יומני השאילתות שמכילים טקסט SQL נשלפים מהטבלה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.utility-logs-table |
רק למחבר
כברירת מחדל, יומני השירות נשלפים מהטבלה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.res-usage-scpu-table |
רק למחבר
כברירת מחדל, יומני השימוש במשאבים של SCPU נשלפים מהטבלה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.res-usage-spma-table |
רק למחבר
כברירת מחדל, יומני השימוש במשאבים של SPMA נשלפים מהטבלה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
--query-log-start |
שעת ההתחלה (כולל) של יומני השאילתות לחילוץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר teradata-logs.
לדוגמה: |
לא | |
--query-log-end |
שעת הסיום (לא כולל) של יומני השאילתות שרוצים לחלץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר teradata-logs.
לדוגמה: |
לא | |
-Dteradata.metadata.tablesizev.max-rows |
רק למחבר מגבילים את מספר השורות שנשלפות מהתצוגה
דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata.metadata.diskspacev.max-rows |
רק למחבר הגבלת מספר השורות שנשלפות מהתצוגה
דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata.metadata.databasesv.users.max-rows |
רק למחבר
מגבילים את מספר השורות שמייצגות משתמשים ( דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata.metadata.databasesv.dbs.max-rows |
רק למחבר מגבילים את מספר השורות שמייצגות מסדי נתונים ( דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata.metadata.max-text-length |
רק למחבר האורך המקסימלי של עמודת הטקסט כשמחלצים את הנתונים מהתצוגה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא | |
-Dteradata-logs.max-sql-length |
רק למחבר האורך המקסימלי של העמודה דוגמה (Bash): דוגמה (Windows PowerShell): |
לא |
דוגמאות
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים של שני מסדי נתונים של Teradata במארח המקומי:
dwh-migration-dumper \
--connector teradata \
--user user \
--password password \
--database database1,database2 \
--driver path/terajdbc4.jar
בדוגמה הבאה אפשר לראות איך לחלץ יומני שאילתות להערכה במארח המקומי לצורך אימות:
dwh-migration-dumper \
--connector teradata-logs \
--assessment \
--user user \
--password password \
--driver path/terajdbc4.jar
טבלאות ותצוגות שחולצו על ידי הכלי dwh-migration-dumper
כשמשתמשים במחבר teradata, המערכת מחלצת את הטבלאות והתצוגות הבאות:
DBC.ColumnsVDBC.DatabasesVDBC.DBCInfoDBC.FunctionsVDBC.IndicesVDBC.PartitioningConstraintsVDBC.TablesVDBC.TableTextV
כשמשתמשים במחבר teradata עם הדגל --assessment, המערכת מחלצת את הטבלאות והתצוגות הנוספות הבאות:
DBC.All_RI_ChildrenVDBC.All_RI_ParentsVDBC.AllTempTablesVXDBC.DiskSpaceVDBC.RoleMembersVDBC.StatsVDBC.TableSizeV
כשמשתמשים במחבר teradata-logs, המערכת מחלצת את הטבלאות והתצוגות הבאות:
-
DBC.DBQLogTbl(משתנה ל-DBC.QryLogVאם משתמשים בדגל--assessment) DBC.DBQLSqlTbl
כשמשתמשים במחבר teradata-logs עם הדגל --assessment, המערכת מחלצת את הטבלאות והתצוגות הנוספות הבאות:
DBC.DBQLUtilityTblDBC.ResUsageScpuDBC.ResUsageSpma
Redshift
אתם יכולים להשתמש בכל אחד ממנגנוני האימות וההרשאה הבאים של Amazon Redshift עם כלי החילוץ:
- שם משתמש וסיסמה.
- מזהה מפתח גישה ומפתח סודי של AWS Identity and Access Management (ניהול זהויות והרשאות גישה (IAM)).
- שם פרופיל AWS IAM.
כדי לבצע אימות באמצעות שם המשתמש והסיסמה, משתמשים במנהל ההתקן של PostgreSQL JDBC שמוגדר כברירת מחדל ב-Amazon Redshift. כדי לבצע אימות באמצעות AWS IAM, צריך להשתמש במנהל ההתקן של Amazon Redshift JDBC, שאפשר להוריד מדף ההורדה שלהם.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים ויומני שאילתות של Amazon Redshift באמצעות הכלי dwh-migration-dumper. למידע על כל הדגלים הנתמכים, ראו דגלים גלובליים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--assessment |
הפעלת מצב הערכה כשיוצרים יומנים של מסד נתונים או מחלצים מטא-נתונים. כשמשתמשים בו לחילוץ מטא-נתונים, הוא יוצר נתונים סטטיסטיים של מטא-נתונים שנדרשים להערכת ההעברה ל-BigQuery. כשמשתמשים בו לחילוץ יומני שאילתות, הוא יוצר נתונים סטטיסטיים של מדדי שאילתות להערכת ההעברה ל-BigQuery. |
נדרש כשמפעילים במצב הערכה, לא נדרש לתרגום. | |
--connector |
שם המחבר שבו משתמשים, במקרה הזה redshift למטא-נתונים או redshift-raw-logs ליומני שאילתות. | כן | |
--database |
אם לא מציינים שם, Amazon Redshift משתמש בערך --user כשם ברירת המחדל של מסד הנתונים. |
שם מסד הנתונים שאליו רוצים להתחבר. |
לא |
--driver |
אם לא מציינים מנהל התקן, Amazon Redshift משתמש במנהל ההתקן של PostgreSQL JDBC שמוגדר כברירת מחדל. | הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | לא |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--iam-accesskeyid |
מזהה מפתח הגישה של AWS IAM שמשמש לאימות. מפתח הגישה הוא מחרוזת של תווים, כמו
משתמשים בשילוב עם הדגל |
לא באופן מפורש, אבל צריך לספק פרטי אימות באחת מהשיטות הבאות:
|
|
--iam-profile |
פרופיל AWS IAM שמשמש לאימות. כדי לאחזר ערך של פרופיל לשימוש, אפשר לבדוק את הקובץ
אל תשתמשו בדגל הזה עם הדגלים |
לא באופן מפורש, אבל צריך לספק פרטי אימות באחת מהשיטות הבאות:
|
|
--iam-secretaccesskey |
מפתח הגישה הסודי של AWS IAM שמשמש לאימות. מפתח הגישה הסודי הוא מחרוזת של תווים, למשל
משתמשים בשילוב עם הדגל |
לא באופן מפורש, אבל צריך לספק פרטי אימות באחת מהשיטות הבאות:
|
|
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים.
אל תשתמשו בדגל הזה עם הדגלים |
לא באופן מפורש, אבל צריך לספק פרטי אימות באחת מהשיטות הבאות:
|
|
--port |
5439 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן | |
--query-log-start |
שעת ההתחלה (כולל) של יומני השאילתות לחילוץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר redshift-raw-logs.
לדוגמה: |
לא | |
--query-log-end |
שעת הסיום (לא כולל) של יומני השאילתות שרוצים לחלץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר redshift-raw-logs.
לדוגמה: |
לא |
דוגמאות
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים ממסד נתונים של Amazon Redshift במארח מסוים, באמצעות מפתחות AWS IAM לאימות:
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
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים ממסד נתונים של Amazon Redshift במארח ברירת המחדל, באמצעות שם המשתמש והסיסמה לאימות:
dwh-migration-dumper \
--connector redshift \
--database database \
--password password \
--user user
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים ממסד נתונים של Amazon Redshift במארח מסוים, באמצעות פרופיל AWS IAM לאימות:
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
בדוגמה הבאה מוסבר איך לחלץ יומני שאילתות להערכה ממסד נתונים של Amazon Redshift במארח שצוין, באמצעות פרופיל AWS IAM לאימות:
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
טבלאות ותצוגות שחולצו על ידי הכלי dwh-migration-dumper
כשמשתמשים במחבר redshift, המערכת מחלצת את הטבלאות והתצוגות הבאות:
SVV_COLUMNSSVV_EXTERNAL_COLUMNSSVV_EXTERNAL_DATABASESSVV_EXTERNAL_PARTITIONSSVV_EXTERNAL_SCHEMASSVV_EXTERNAL_TABLESSVV_TABLESSVV_TABLE_INFOINFORMATION_SCHEMA.COLUMNSPG_CASTPG_DATABASEPG_LANGUAGEPG_LIBRARYPG_NAMESPACEPG_OPERATORPG_PROCPG_TABLE_DEFPG_TABLESPG_TYPEPG_VIEWS
כשמשתמשים במחבר redshift עם הדגל --assessment, המערכת מחלצת את הטבלאות והתצוגות הנוספות הבאות:
SVV_DISKUSAGESTV_MV_INFOSTV_WLM_SERVICE_CLASS_CONFIGSTV_WLM_SERVICE_CLASS_STATE
כשמשתמשים במחבר redshift-raw-logs, המערכת מחלצת את הטבלאות והתצוגות הבאות:
STL_DDLTEXTSTL_QUERYSTL_QUERYTEXTPG_USER
כשמשתמשים במחבר redshift-raw-logs עם הדגל --assessment, המערכת מחלצת את הטבלאות והתצוגות הנוספות הבאות:
STL_QUERY_METRICSSVL_QUERY_QUEUE_INFOSTL_WLM_QUERY
מידע נוסף על התצוגות והטבלאות של המערכת ב-Redshift זמין במאמרים תצוגות המערכת של Redshift וטבלאות הקטלוג של מערכת Redshift.
Hive/Impala/Spark או Trino/PrestoSQL
הכלי dwh-migration-dumper תומך רק באימות ל-Apache Hive metastore באמצעות Kerberos. לכן לא משתמשים בדגלים --user ו---password, אלא בדגל --hive-kerberos-url כדי לספק את פרטי האימות של Kerberos.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Apache Hive, Impala, Spark, Presto או Trino באמצעות כלי החילוץ. למידע על כל הדגלים הנתמכים, ראו דגלים גלובליים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--assessment |
הפעלת מצב הערכה בזמן חילוץ מטא-נתונים.
כשמשתמשים בכלי |
נדרש להערכה. לא נדרש לתרגום. | |
--connector |
שם המחבר שבו משתמשים, במקרה הזה hiveql. | כן | |
--hive-metastore-dump-partition-metadata |
TRUE |
גורם לכלי
אל תשתמשו בדגל הזה עם הדגל |
לא |
--hive-metastore-version |
2.3.6 |
כשמריצים את הכלי |
לא |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--port |
9083 | היציאה של שרת מסד הנתונים. | לא |
--hive-kerberos-url |
הישות והמארח של Kerberos שמשמשים לאימות. | נדרש לאשכולות שמופעל בהם אימות Kerberos. | |
-Dhiveql.rpc.protection |
רמת ההגדרה של הגנת RPC. ההגדרה הזו קובעת את איכות ההגנה (QOP) של החיבור של שכבת האבטחה והאימות הפשוטה (SASL) בין האשכול לבין הכלי חייב להיות זהה לערך של הפרמטר
דוגמה (Bash): דוגמה (Windows PowerShell): |
נדרש לאשכולות שמופעל בהם אימות Kerberos. |
דוגמאות
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים של מסד נתונים ב-Hive 2.3.7 במארח שצוין, בלי אימות ובאמצעות יציאה חלופית לחיבור:
dwh-migration-dumper \
--connector hiveql \
--hive-metastore-version 2.3.7 \
--host host \
--port port
כדי להשתמש באימות Kerberos, צריך להיכנס כמשתמש עם הרשאות קריאה למטא-חנות של Hive וליצור כרטיס Kerberos. לאחר מכן, יוצרים את קובץ ה-ZIP של המטא-נתונים באמצעות הפקודה הבאה:
JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false" \
dwh-migration-dumper \
--connector hiveql \
--host host \
--port port \
--hive-kerberos-url principal/kerberos_host
Azure Synapse או Microsoft SQL Server
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Azure Synapse או ל-Microsoft SQL Server, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה של Microsoft.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Azure Synapse או Microsoft SQL Server באמצעות כלי החילוץ. למידע על כל הדגלים הנתמכים, ראו דגלים גלובליים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה sqlserver. | כן | |
--database |
שם מסד הנתונים שאליו רוצים להתחבר. |
כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | כן | |
--port |
1433 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן |
דוגמאות
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים ממסד נתונים של Azure Synapse במארח שצוין:
dwh-migration-dumper \
--connector sqlserver \
--database database \
--driver path/mssql-jdbc.jar \
--host server_name.sql.azuresynapse.net \
--password password \
--user user
Greenplum
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Greenplum, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה של VMware Greenplum.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Greenplum באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה greenplum. | כן | |
--database |
שם מסד הנתונים שאליו רוצים להתחבר. |
כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את הסיסמה, כלי החילוץ משתמש בהנחיה מאובטחת כדי לבקש אותה. | |
--port |
5432 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן |
דוגמאות
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים של מסד נתונים ב-Greenplum במארח מסוים:
dwh-migration-dumper \
--connector greenplum \
--database database \
--driver path/greenplum.jar \
--host host \
--password password \
--user user \
Netezza
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-IBM Netezza, צריך להוריד את מנהל ההתקן של JDBC. בדרך כלל אפשר לקבל את מנהל ההתקן מהספרייה /nz/kit/sbin במארח של מכשיר IBM Netezza. אם אתם לא מוצאים אותו שם, בקשו עזרה מהאדמין של המערכת או קראו את המאמר התקנה והגדרה של JDBC במסמכי התיעוד של IBM Netezza.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של IBM Netezza באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה netezza. | כן | |
--database |
רשימה של מסדי הנתונים שרוצים לחלץ, מופרדים בפסיקים. |
כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | כן | |
--port |
5480 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן |
דוגמאות
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים של שני מסדי נתונים של IBM Netezza במארח מסוים:
dwh-migration-dumper \
--connector netezza \
--database database1,database2 \
--driver path/nzjdbc.jar \
--host host \
--password password \
--user user
PostgreSQL
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-PostgreSQL, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה של PostgreSQL.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של PostgreSQL באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה postgresql. | כן | |
--database |
שם מסד הנתונים שאליו רוצים להתחבר. |
כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את הסיסמה, כלי החילוץ משתמש בהנחיה מאובטחת כדי לבקש אותה. | |
--port |
5432 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן |
דוגמאות
הדוגמה הבאה מראה איך לחלץ מטא-נתונים של מסד נתונים ב-PostgreSQL במארח שצוין:
dwh-migration-dumper \
--connector postgresql \
--database database \
--driver path/postgresql-version.jar \
--host host \
--password password \
--user user
Oracle / Oracle Exadata
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Oracle, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה של Oracle.
המחברים oracle ו-oracle-stats תומכים גם ב-Oracle Exadata.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Oracle באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה oracle. | כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--oracle-service |
שם השירות של Oracle שבו משתמשים לחיבור. |
לא באופן מפורש, אבל צריך לציין את הדגל הזה או את הדגל --oracle-sid. |
|
--oracle-sid |
מזהה המערכת (SID) של Oracle שבו משתמשים לחיבור. |
לא באופן מפורש, אבל צריך לציין את הדגל הזה או את הדגל --oracle-service. |
|
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את הסיסמה, כלי החילוץ משתמש בהנחיה מאובטחת כדי לבקש אותה. | |
--port |
1521 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים.
כדי לחלץ מטא-נתונים, למשתמש שמציינים צריך להיות התפקיד |
כן |
דוגמאות
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים של מסד נתונים של Oracle במארח מסוים, באמצעות שירות Oracle לחיבור:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
פתית שלג
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Snowflake באמצעות הכלי dwh-migration-dumper. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--assessment |
הפעלת מצב הערכה בזמן יצירת יומנים של מסד נתונים או חילוץ מטא-נתונים.
כשמשתמשים בכלי |
רק לצורך הערכה. | |
--connector |
שם המחבר שבו רוצים להשתמש, במקרה הזה snowflake. | כן | |
--database |
רשימה מופרדת בפסיקים של שמות מסדי הנתונים שרוצים לחלץ. אי אפשר להשתמש בדגל הזה במצב הערכה. |
רק לתרגום. | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--private-key-file |
הנתיב למפתח הפרטי של RSA שמשמש לאימות. אנחנו ממליצים להשתמש במשתמש |
לא, אם לא מספקים מפתח, כלי החילוץ משתמש באימות מבוסס-סיסמה. | |
--private-key-password |
הסיסמה ששימשה ליצירת המפתח הפרטי של RSA. |
לא, צריך אותה רק אם המפתח הפרטי מוצפן. | |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את הסיסמה, כלי החילוץ מבקש אותה באמצעות הנחיה מאובטחת. עם זאת, מומלץ להשתמש באימות שמבוסס על זוג מפתחות. | |
--query-log-start |
שעת ההתחלה (כולל) של יומני השאילתות לחילוץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר
לדוגמה: |
לא | |
--query-log-end |
שעת הסיום (לא כולל) של יומני השאילתות שרוצים לחלץ. הערך נחתך לשעה. הדגל הזה זמין רק למחבר
לדוגמה: |
לא | |
--role |
התפקיד ב-Snowflake שמשמש להרשאה. אם לתפקיד ברירת המחדל שלכם יש מספיק הרשאות, מבחינה טכנית אתם לא חייבים לציין תפקיד. עם זאת, מומלץ מאוד לציין תפקיד, כמו ACCOUNTADMIN, כדי לוודא שלסשן יש את ההרשאות הנדרשות כדי לגשת לסכימה SNOWFLAKE.ACCOUNT_USAGE. מידע נוסף זמין במאמר עבודה עם מכונות גדולות של Snowflake.
|
לא, אבל מומלץ מאוד. | |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. |
כן | |
--warehouse |
מחסן הנתונים של Snowflake שמשמש לעיבוד שאילתות לקבלת מטא נתונים. |
כן |
דוגמאות
בדוגמה הבאה אפשר לראות איך לחלץ מטא-נתונים לצורך הערכה:
dwh-migration-dumper \
--connector snowflake \
--assessment \
--host "account.snowflakecomputing.com" \
--role role \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים של מסד נתונים של Snowflake בגודל רגיל במארח המקומי:
dwh-migration-dumper \
--connector snowflake \
--database database \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
בדוגמה הבאה מוסבר איך לחלץ מטא-נתונים ממסד נתונים גדול ב-Snowflake במארח מסוים:
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
לחלופין, אתם יכולים להשתמש בדוגמה הבאה כדי לחלץ מטא-נתונים באמצעות אימות מבוסס-סיסמה:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--user user \
--warehouse warehouse
עבודה עם מכונות גדולות של Snowflake
הכלי dwh-migration-dumper קורא מטא-נתונים מ-INFORMATION_SCHEMA של Snowflake. עם זאת, יש מגבלה על כמות הנתונים שאפשר לאחזר מ-INFORMATION_SCHEMA. אם מפעילים את כלי החילוץ ומוצגת השגיאה SnowflakeSQLException:
Information schema query returned too much data, צריך לבצע את הפעולות הבאות כדי לקרוא מטא-נתונים מהסכימה SNOWFLAKE.ACCOUNT_USAGE:
- פותחים את האפשרות Shares בממשק האינטרנט של Snowflake.
יוצרים מסד נתונים מהשיתוף של
SNOWFLAKE.ACCOUNT_USAGE:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;יצירת תפקיד:
CREATE ROLE role;נותנים לתפקיד הרשאות
IMPORTEDבמסד הנתונים החדש:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;מקצים את התפקיד למשתמש שבאמצעותו רוצים להפעיל את הכלי
dwh-migration-dumper:GRANT ROLE role TO USER user;
Vertica
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Vertica, צריך להוריד את מנהל ההתקן של JDBC מדף ההורדה שלהם.
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של Vertica באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו משתמשים, במקרה הזה vertica. | כן | |
--database |
שם מסד הנתונים שאליו רוצים להתחבר. |
כן | |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים בחיבור הזה. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. | כן | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | כן | |
--port |
5433 | היציאה של שרת מסד הנתונים. | לא |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. | כן |
דוגמאות
הדוגמה הבאה מראה איך לחלץ מטא-נתונים ממסד נתונים של Vertica במארח המקומי:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
BigQuery
בטבלה הבאה מתוארים הדגלים הנפוצים לחילוץ מטא-נתונים של BigQuery באמצעות כלי החילוץ. במאמר דגלים גלובליים מפורט מידע על כל הדגלים הנתמכים.
| שם | ערך ברירת המחדל | תיאור | חובה |
|---|---|---|---|
--connector |
שם המחבר שבו רוצים להשתמש, במקרה הזה bigquery. | כן | |
--database |
רשימת הפרויקטים שמהם רוצים לחלץ מטא-נתונים ויומני שאילתות, מופרדים בפסיקים. |
כן | |
--schema |
רשימת מערכי הנתונים שמהם צריך לחלץ מטא-נתונים ויומני שאילתות, מופרדים בפסיקים. |
כן |
דוגמאות
הדוגמה הבאה מראה איך לחלץ מטא-נתונים ממסד נתונים של Vertica במארח המקומי:
dwh-migration-dumper \
--connector bigquery \
--database PROJECT1, PROJECT2
--schema DATASET1, DATASET2
דגלים כלליים
בטבלה הבאה מתוארים הדגלים שאפשר להשתמש בהם בכל אחת מפלטפורמות המקור הנתמכות.
| שם | תיאור |
|---|---|
--connector |
שם המחבר של מערכת המקור. |
--database |
השימוש משתנה בהתאם למערכת המקור. |
--driver |
הנתיב המוחלט או היחסי לקובץ ה-JAR של מנהל ההתקן שבו משתמשים כשמתחברים למערכת המקור. אפשר לציין כמה קובצי JAR של מנהלי התקנים, ולהפריד ביניהם באמצעות פסיקים. |
--dry-run או -n |
הצגת הפעולות שכלי החילוץ יבצע בלי להפעיל אותן. |
--help |
הצגת עזרה לגבי שורת הפקודה. |
--host |
שם המארח או כתובת ה-IP של שרת מסד הנתונים שאליו רוצים להתחבר. |
--jdbcDriverClass |
אפשר לשנות את שם המחלקה של מנהל ההתקן של JDBC שצוין על ידי הספק. האפשרות הזו מתאימה אם יש לכם לקוח JDBC בהתאמה אישית. |
--output |
הנתיב של קובץ ה-ZIP שנוצר. לדוגמה,
dir1/dir2/teradata-metadata.zip. אם לא מציינים נתיב, קובץ הפלט נוצר בספריית העבודה. אם מציינים את הנתיב לספרייה, שם הקובץ של קובץ ה-ZIP שמוגדר כברירת מחדל נוצר בספרייה שצוינה. אם הספרייה לא קיימת, היא נוצרת.
כדי להשתמש ב-Cloud Storage, משתמשים בפורמט הבא: כדי לבצע אימות באמצעות פרטי הכניסה של Google Cloud , קראו את המאמר אימות לצורך שימוש בספריות לקוח. |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. |
--port |
היציאה של שרת מסד הנתונים. |
--save-response-file |
שומר את הגדרות ה-flag בשורת הפקודה בקובץ JSON כדי שיהיה קל להשתמש בהן שוב. הקובץ נקרא dumper-response-file.json והוא נוצר בספריית העבודה. כדי להשתמש בקובץ התגובה, צריך לציין את הנתיב שלו עם הקידומת @ כשמריצים את כלי החילוץ, לדוגמה dwh-migration-dumper @path/to/dumper-response-file.json.
|
--schema |
רשימה של הסכימות לחילוץ, מופרדות בפסיקים.
ב-Oracle אין הבדל בין סכימה לבין משתמש מסד הנתונים שיצר את הסכימה, כך שאפשר להשתמש בשמות של סכימות או בשמות משתמשים עם הדגל |
--thread-pool-size |
הגדרת הגודל של מאגר ה-threads, שמשפיע על הגודל של מאגר החיבורים.
גודל ברירת המחדל של מאגר הליכי המשנה הוא מספר הליבות בשרת שמריץ את הכלי אם נראה שכלי החילוץ איטי או שצריך יותר משאבים, אפשר להגדיל את מספר השרשורים שבהם משתמשים. אם יש סימנים לכך שתהליכים אחרים בשרת דורשים יותר רוחב פס, אפשר להקטין את מספר ה-threads שבהם נעשה שימוש. |
--url |
כתובת ה-URL שבה צריך להשתמש לחיבור למסד הנתונים, במקום ה-URI שנוצר על ידי מנהל ההתקן של JDBC. ברוב המקרים, ה-URI שנוצר אמור להספיק. צריך לשנות את ה-URI שנוצר רק אם אתם צריכים להשתמש בהגדרת חיבור JDBC שספציפית לפלטפורמת המקור, ולא מוגדרת כבר על ידי אחד מהדגלים שמופיעים בטבלה הזו. |
--user |
שם המשתמש שבו משתמשים כדי להתחבר למסד הנתונים. |
--version |
מציג את גרסת המוצר. |
--telemetry |
אוסף תובנות לגבי מאפייני הביצועים של ההרצות, כמו משך הזמן, מספר ההרצות וניצול המשאבים. ההגדרה הזו מופעלת כברירת מחדל. כדי להשבית את הטלמטריה, מגדירים את הדגל הזה לערך |
פתרון בעיות
בקטעים הבאים מוסברות כמה בעיות נפוצות ושיטות לפתרון בעיות בכלי dwh-migration-dumper.
שגיאה: אין זיכרון פנוי
השגיאה java.lang.OutOfMemoryError בפלט של מסוף הכלי dwh-migration-dumper קשורה בדרך כלל לכך שאין מספיק זיכרון לעיבוד הנתונים שאוחזרו.
כדי לפתור את הבעיה, צריך להגדיל את הזיכרון הזמין או להקטין את מספר השרשורים לעיבוד.
כדי להגדיל את הזיכרון המקסימלי, אפשר לייצא את משתנה הסביבה JAVA_OPTS:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
אפשר להקטין את מספר השרשורים לעיבוד (ברירת המחדל היא 32) על ידי הוספת ערך הדגל --thread-pool-size. האפשרות הזו נתמכת רק במחברים של hiveql ו-redshift*:
dwh-migration-dumper --thread-pool-size=1
טיפול בשגיאה WARN...Task failed
לפעמים יכול להיות שתופיע השגיאה WARN [main] o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: … בפלט של מסוף הכלי dwh-migration-dumper. כלי החילוץ שולח כמה שאילתות למערכת המקור, והפלט של כל שאילתה נכתב בקובץ משלו. אם הבעיה הזו מופיעה, סימן שאחת מהשאילתות האלה נכשלה. עם זאת, אם שאילתה אחת נכשלת, זה לא מונע את ההרצה של השאילתות האחרות. אם מופיעות יותר מכמה שגיאות WARN, צריך לבדוק את פרטי הבעיה ולראות אם יש משהו שצריך לתקן כדי שהשאילתה תפעל כמו שצריך. לדוגמה, אם למשתמש במסד הנתונים שציינתם כשאתם מפעילים את כלי החילוץ אין הרשאות לקרוא את כל המטא-נתונים, נסו שוב עם משתמש שיש לו את ההרשאות המתאימות.
קובץ ZIP פגום
כדי לאמת את קובץ ה-ZIP של הכלי dwh-migration-dumper, מורידים את הקובץ SHA256SUMS.txt ומריצים את הפקודה הבאה:
Bash
sha256sum --check SHA256SUMS.txt
התוצאה OK מאשרת שאימות סיכום הביקורת (checksum) הצליח. כל הודעה אחרת מצביעה על שגיאה באימות:
-
FAILED: computed checksum did NOT match: קובץ ה-ZIP פגום וצריך להוריד אותו שוב. -
FAILED: listed file could not be read: לא ניתן לאתר את גרסת קובץ ה-ZIP. מורידים את קובץ סיכום הביקורת וקובץ ה-ZIP מאותה גרסת הפצה וממקמים אותם באותה ספרייה.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
מחליפים את RELEASE_ZIP_FILENAME בשם קובץ ה-ZIP שהורדתם של גרסת כלי החילוץ של dwh-migration-dumper בשורת הפקודה, לדוגמה dwh-migration-tools-v1.0.52.zip.
התוצאה True מאשרת שאימות סיכום הביקורת (checksum) הצליח.
התוצאה False מצביעה על שגיאת אימות. מורידים את קובץ סיכום הביקורת ואת קובץ ה-ZIP מאותה גרסת הפצה וממקמים אותם באותה ספרייה.
חילוץ יומני השאילתות של Teradata איטי
כדי לשפר את הביצועים של צירוף טבלאות שצוינו בדגלים -Dteradata-logs.query-logs-table ו--Dteradata-logs.sql-logs-table, אפשר לכלול עמודה נוספת מסוג DATE בתנאי JOIN.
העמודה הזו צריכה להיות מוגדרת בשתי הטבלאות ולהיות חלק מהאינדקס הראשי המפוצל. כדי לכלול את העמודה הזו, משתמשים בדגל -Dteradata-logs.log-date-column.
בדוגמה הבאה אפשר לראות איך משתמשים בדגל -Dteradata-logs.log-date-column:
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"
חריגה ממגבלת הגודל של שורה ב-Teradata
ב-Teradata גרסה 15 יש מגבלה של 64KB על גודל השורה. אם חורגים מהמגבלה, כלי החילוץ נכשל ומוצגת ההודעה הבאה:
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
כדי לפתור את השגיאה, צריך להגדיל את מגבלת השורות ל-1MB או לפצל את השורות לכמה שורות:
- מתקינים ומפעילים את התכונה "1 MB Perm and Response Rows" ואת הגרסה הנוכחית של תוכנת TTU. מידע נוסף זמין במאמר Teradata Database Message 9804.
- מפצלים את טקסט השאילתה הארוך לכמה שורות באמצעות הדגלים
-Dteradata.metadata.max-text-lengthו--Dteradata-logs.max-sql-length.
הפקודה הבאה מראה איך להשתמש בדגל -Dteradata.metadata.max-text-length כדי לפצל טקסט ארוך של שאילתה לכמה שורות, שכל אחת מהן מכילה עד 10,000 תווים:
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"
הפקודה הבאה מראה איך להשתמש בדגל -Dteradata-logs.max-sql-length כדי לפצל טקסט ארוך של שאילתה לכמה שורות, שכל אחת מהן מכילה עד 10,000 תווים:
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"
בעיה בחיבור ל-Oracle
במקרים נפוצים כמו סיסמה או שם מארח לא חוקיים, הכלי dwh-migration-dumper מדפיס הודעת שגיאה משמעותית שמתארת את הבעיה הבסיסית. עם זאת, במקרים מסוימים הודעת השגיאה שמוחזרת על ידי שרת Oracle עשויה להיות כללית וקשה לחקירה.
אחת מהבעיות האלה היא IO Error: Got minus one from a read call. השגיאה הזו מציינת שהחיבור לשרת Oracle נוצר, אבל השרת לא קיבל את הלקוח וסגר את החיבור.
הבעיה הזו בדרך כלל מתרחשת כשהשרת מקבל רק חיבורי TCPS. כברירת מחדל, הכלי dwh-migration-dumper משתמש בפרוטוקול TCP. כדי לפתור את הבעיה, צריך לשנות את כתובת ה-URL של חיבור Oracle JDBC.
במקום לספק את הדגלים oracle-service, host ו-port, אתם יכולים לפתור את הבעיה על ידי ציון הדגל url בפורמט הבא: jdbc:oracle:thin:@tcps://HOST_NAME:PORT/ORACLE_SERVICE.
בדרך כלל, מספר היציאה של TCPS שמשמש את שרת Oracle הוא 2484.
בדוגמה הבאה מוסבר איך לציין את כתובת ה-URL של החיבור בפקודה:
dwh-migration-dumper \
--connector oracle-stats \
--url "jdbc:oracle:thin:@tcps://HOST_NAME:PORT/ORACLE_SERVICE" \
--assessment \
--driver "JDBC_DRIVER_PATH" \
--user "USER" \
--password
בנוסף לשינוי פרוטוקול החיבור ל-TCPS, יכול להיות שתצטרכו לספק את הגדרת ה-SSL של trustStore שנדרשת כדי לאמת את אישור השרת של Oracle. אם חסרה הגדרת SSL, תופיע הודעת השגיאה Unable to find valid certification path. כדי לפתור את הבעיה, מגדירים את משתנה הסביבה JAVA_OPTS:
set JAVA_OPTS=-Djavax.net.ssl.trustStore="JKS_FILE_LOCATION" -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword="PASSWORD"
בהתאם להגדרות של שרת Oracle, יכול להיות שתצטרכו לספק גם את הגדרות ה-keyStore. מידע נוסף על אפשרויות ההגדרה זמין במאמר SSL With Oracle JDBC Driver.
המאמרים הבאים
אחרי שמריצים את הכלי dwh-migration-dumper, מעלים את הפלט ל-Cloud Storage יחד עם קובצי המקור לתרגום.