יצירת מטא-נתונים לתרגום ולהערכה
במסמך הזה מוסבר איך ליצור מטא-נתונים וקובצי יומן שאילתות באמצעות כלי החילוץ משורת הפקודה dwh-migration-dumper. קבצי המטא-נתונים מתארים את אובייקטי ה-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. במהלך התהליך, המערכת אף פעם לא שולחת שאילתות ישירות למסדי נתונים של משתמשים. בשלב הזה, כדי להעריך את ההעברה ל-BigQuery, צריך קובצי CSV, YAML וטקסט נפרדים של יומני השאילתות. לכן צריך לבטל את הדחיסה של כל הקבצים האלה מקובץ ה-ZIP של יומני השאילתות ולהעלות אותם להערכה.
אפשר להריץ את הכלי dwh-migration-dumper ב-Windows, ב-macOS וב-Linux.
הכלי dwh-migration-dumper זמין במסגרת רישיון Apache 2.
אם אתם בוחרים שלא להשתמש בכלי dwh-migration-dumper לתרגום, אתם יכולים לספק באופן ידני קובצי מטא-נתונים על ידי איסוף של הצהרות בשפת הגדרת הנתונים (DDL) עבור אובייקטים של SQL במערכת המקור שלכם בקובצי טקסט נפרדים.
כדי להשתמש בכלי להערכת מידת המוכנות להעברה של BigQuery, צריך לספק מטא-נתונים ויומני שאילתות שחולצו באמצעות הכלי.
דרישות התאימות
כדי להקל על השימוש, אנחנו מספקים את הקובץ הבינארי של הכלי dwh-migration-dumper שעבר קומפילציה. אם אתם צריכים לבדוק את הכלי כדי לוודא שהוא עומד בדרישות התאימות, אתם יכולים לעיין בקוד המקור ממאגר GitHub של הכלי dwh-migration-dumper, ולקמפל בינארי משלכם.
דרישות מוקדמות
התקנת Java
בשרת שבו אתם מתכננים להריץ את כלי dwh-migration-dumper צריכה להיות מותקנת Java מגרסה 8 ואילך. אם היא לא מותקנת, מורידים את 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מאשרת שהאימות של סכום הביקורת הצליח.התוצאה
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 עם כלי החילוץ:
- שם משתמש וסיסמה.
- מזהה מפתח גישה ומפתח סודי של ניהול זהויות והרשאות גישה (IAM) ב-AWS.
- שם פרופיל AWS IAM.
כדי לבצע אימות באמצעות שם המשתמש והסיסמה, משתמשים במנהל התקן של Amazon Redshift PostgreSQL JDBC שמוגדר כברירת מחדל. כדי לבצע אימות באמצעות 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) של חיבור Simple Authentication and Security Layer (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 מדף ההורדות של מיקרוסופט.
בטבלה הבאה מתוארים הפלאגים הנפוצים לחילוץ מטא-נתונים מ-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. אם אתם לא מוצאים אותו שם, אתם יכולים לבקש עזרה מהאדמין של המערכת או לקרוא את המאמר Installing and Configuring JDBC (התקנה והגדרה של 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 קורא מטא-נתונים מ-Snowflake INFORMATION_SCHEMA. עם זאת, יש מגבלה על כמות הנתונים שאפשר לאחזר מ-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 |
שומר את הדגלים של שורת הפקודה בקובץ JSON לשימוש חוזר בקלות. הקובץ נקרא dumper-response-file.json והוא נוצר בספריית העבודה. כדי להשתמש בקובץ התגובה, צריך לספק את הנתיב אליו עם הקידומת @ כשמריצים את כלי החילוץ, לדוגמה dwh-migration-dumper @path/to/dumper-response-file.json.
|
--schema |
רשימה של הסכימות לחילוץ, מופרדות בפסיקים.
ב-Oracle אין הבדל בין סכימה לבין משתמש מסד הנתונים שיצר את הסכימה, ולכן אפשר להשתמש בשמות של סכימות או בשמות של משתמשים עם הדגל |
--thread-pool-size |
ההגדרה קובעת את גודל מאגר השרשורים, שמשפיע על גודל מאגר החיבורים.
גודל ברירת המחדל של מאגר השרשורים הוא מספר ליבות המעבד בשרת שבו פועל הכלי אם נראה שכלי החילוץ פועל לאט או שהוא זקוק למשאבים נוספים, אפשר להגדיל את מספר השרשורים שבהם נעשה שימוש. אם יש אינדיקציות לכך שתהליכים אחרים בשרת דורשים רוחב פס גדול יותר, אפשר להקטין את מספר השרשורים שנעשה בהם שימוש. |
--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 מאשרת שהאימות של סכום הביקורת הצליח. כל הודעה אחרת
מצביעה על שגיאה באימות:
-
FAILED: computed checksum did NOT match: קובץ ה-ZIP פגום וצריך להוריד אותו מחדש. -
FAILED: listed file could not be read: לא ניתן לאתר את גרסת קובץ ה-ZIP. מורידים את קובצי ה-checksum ו-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 מאשרת שהאימות של סכום הביקורת הצליח.
התוצאה False מציינת שגיאת אימות. מורידים את קובצי ה-ZIP ואת קובץ ה-checksum מאותה גרסת הפצה וממקמים אותם באותה ספרייה.
המידע מיומני השאילתות של 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. מידע נוסף זמין במאמר בנושא הודעה 9804 של Teradata Database.
- כדי לפצל את הטקסט הארוך של השאילתה לכמה שורות, משתמשים בדגלים
-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"
יכול להיות שיהיה צורך לספק גם את ההגדרות של keyStore, בהתאם להגדרות של שרת Oracle. מידע נוסף על אפשרויות ההגדרה זמין במאמר בנושא SSL עם Oracle JDBC Driver.
המאמרים הבאים
אחרי שמריצים את הכלי dwh-migration-dumper, צריך להעלות את הפלט ל-Cloud Storage יחד עם קובצי המקור לתרגום.