יצירת מטא-נתונים לתרגום ולבדיקה
במאמר הזה מוסבר איך ליצור מטא-נתונים וקובצי יומן של שאילתות באמצעות כלי החילוץ של שורת הפקודה dwh-migration-dumper. קבצי המטא-נתונים מתארים את אובייקטי ה-SQL במערכת המקור.
שירות ההעברה ל-BigQuery משתמש במידע הזה כדי לשפר את התרגום של סקריפטים של SQL מהדיאלקט של מערכת המקור ל-GoogleSQL.
הכלי להערכת מיגרציה של BigQuery משתמש בקובצי מטא-נתונים ובקובצי יומן של שאילתות כדי לנתח את מחסן הנתונים הקיים שלכם ולעזור לכם להעריך את המאמץ שנדרש להעברת מחסן הנתונים ל-BigQuery.
סקירה כללית
אתם יכולים להשתמש בכלי dwh-migration-dumper כדי לחלץ מידע על מטא-נתונים מפלטפורמת מסד הנתונים שאתם מעבירים ל-BigQuery. לא צריך להשתמש בכלי לחילוץ כדי לתרגם, אבל צריך להשתמש בו כדי לבצע הערכה של העברה ל-BigQuery, ומומלץ מאוד להשתמש בו לכל משימות ההעברה.
מידע נוסף זמין במאמר בנושא יצירת קובצי מטא-נתונים.
אפשר להשתמש בכלי dwh-migration-dumper כדי לחלץ מטא-נתונים מפלטפורמות מסדי הנתונים הבאות:
- Teradata
- 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 migration assessment, צריך לספק מטא-נתונים ויומני שאילתות שחולצו באמצעות הכלי.
דרישות התאימות
אנחנו מספקים את הקובץ הבינארי של הכלי 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בשם הקובץ של כלי החילוץ משורת הפקודה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 עם כלי החילוץ:
- שם משתמש וסיסמה.
- מזהה מפתח גישה ומפתח סודי של AWS Identity and Access Management (IAM).
- שם פרופיל 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 system views ו-Redshift system catalog tables.
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 שלהם. בדרך כלל אפשר לקבל את מנהל ההתקן מהספרייה במארח של מכשיר IBM Netezza./nz/kit/sbin אם אתם לא מוצאים אותו שם, אתם יכולים לבקש עזרה מאדמין המערכת או לקרוא את המאמר 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
כדי לאפשר לכלי dwh-migration-dumper להתחבר ל-Oracle, צריך להוריד את דרייבר ה-JDBC שלו מדף ההורדה של Oracle.
בטבלה הבאה מפורטים הדגלים הנפוצים לחילוץ מטא-נתונים של 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 |
השם של מסד הנתונים לחילוץ. אפשר לחלץ מ-Snowflake רק ממסד נתונים אחד בכל פעם. אסור להשתמש בדגל הזה במצב הערכה. |
לתרגום בלבד. | |
--host |
localhost | שם המארח או כתובת ה-IP של שרת מסד הנתונים. | לא |
--private-key-file |
הנתיב למפתח הפרטי של RSA שמשמש לאימות. מומלץ להשתמש במשתמש |
לא, אם לא מספקים את המידע הזה, כלי החילוץ משתמש באימות מבוסס סיסמה. | |
--private-key-password |
הסיסמה שבה השתמשתם כשיצרתם את המפתח הפרטי של RSA. |
לא, הוא נדרש רק אם המפתח הפרטי מוצפן. | |
--password |
הסיסמה שמשמשת לחיבור למסד הנתונים. | אם לא מציינים את המידע, כלי החילוץ משתמש בהנחיה מאובטחת כדי לבקש אותו. עם זאת, מומלץ להשתמש במקום זאת באימות שמבוסס על צמד מפתחות. | |
--query-log-start |
שעת ההתחלה (כולל) של יומני השאילתות לחילוץ. הערך נחתך לשעה. הדגל הזה זמין רק עבור מחבר
לדוגמה: |
לא | |
--query-log-end |
שעת הסיום (לא כולל) של יומני השאילתות לחילוץ. הערך נחתך לשעה. הדגל הזה זמין רק עבור מחבר
לדוגמה: |
לא | |
--role |
תפקיד Snowflake שישמש להרשאה. צריך לציין את זה רק בהתקנות גדולות שבהן צריך לקבל מטא-נתונים מסכימת SNOWFLAKE.ACCOUNT_USAGE במקום מ-INFORMATION_SCHEMA. מידע נוסף זמין במאמר בנושא עבודה עם מופעי 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 בשם הקובץ של כלי החילוץ משורת הפקודה dwh-migration-dumper שהורד, למשל dwh-migration-tools-v1.0.52.zip
התוצאה True מאשרת שהאימות של סכום הביקורת הצליח.
התוצאה False מציינת שגיאת אימות. מוודאים שקובץ ה-checksum וקובץ ה-ZIP הורדו מאותה גרסת הפצה והוצבו באותה ספרייה.
המידע מיומני השאילתות של Teradata נשלף לאט
כדי לשפר את הביצועים של צירוף טבלאות שצוינו באמצעות הדגלים -Dteradata-logs.query-logs-table ו--Dteradata-logs.sql-logs-table, אפשר לכלול עמודה נוספת מהסוג DATE בתנאי JOIN. העמודה הזו צריכה להיות מוגדרת בשתי הטבלאות, והיא צריכה להיות חלק מהאינדקס הראשי המחולק. כדי לכלול את העמודה הזו, משתמשים בדגל -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 על גודל השורה. אם חורגים מהמגבלה, הכלי ליצירת dump נכשל ומוצגת ההודעה הבאה:
none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
כדי לפתור את השגיאה הזו, אפשר להגדיל את מגבלת השורות ל-1MB או לפצל את השורות לכמה שורות:
- מתקינים ומפעילים את התכונה 1MB 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}. בדרך כלל, מספר היציאה שמשמש את שרת Oracle הוא TCPS.2484
פקודה לדוגמה של כלי ה-dumper:
dwh-migration-dumper \
--connector oracle-stats \
--url "jdbc:oracle:thin:@tcps://host: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 עם Oracle JDBC Driver.
המאמרים הבאים
אחרי שמריצים את הכלי dwh-migration-dumper, צריך להעלות את הפלט ל-Cloud Storage יחד עם קובצי המקור לתרגום.