טעינת נתונים מ-Oracle ל-BigQuery

אפשר לטעון נתונים מ-Oracle ל-BigQuery באמצעות המחבר BigQuery Data Transfer Service ל-Oracle. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Oracle ל-BigQuery.

מגבלות

העברות מ-Oracle כפופות למגבלות הבאות:

  • המספר המקסימלי של חיבורים בו-זמניים למסד נתונים של Oracle מוגבל, ולכן גם מספר ההפעלות של העברות בו-זמניות למסד נתונים יחיד של Oracle מוגבל למספר המקסימלי הזה.
  • אם אין כתובת IP ציבורית לחיבור למסד נתונים של Oracle, צריך להגדיר קובץ מצורף לרשת, עם הדרישות הבאות:
    • צריכה להיות גישה למקור הנתונים מרשת המשנה שבה נמצאת ההצמדה לרשת.
    • הקובץ המצורף לרשת לא יכול להיות ברשת המשנה בטווח 240.0.0.0/24.
    • אי אפשר למחוק קבצים מצורפים לרשת אם יש חיבורים פעילים לקובץ המצורף. כדי למחוק קובץ מצורף לרשת, פונים ל-Cloud Customer Care.
    • במיקום us שכולל מספר אזורים, קובץ הרשת המצורף חייב להיות באזור us-central1. במיקום eu שכולל מספר אזורים, קובץ הרשת המצורף חייב להיות באזור europe-west4.
  • מרווח הזמן המינימלי בין העברות חוזרות של Oracle הוא 15 דקות. מרווח הזמן שמוגדר כברירת מחדל להעברה חוזרת הוא 24 שעות.
  • הגדרת העברה יחידה יכולה לתמוך רק בהרצת העברת נתונים אחת בכל זמן נתון. אם מתוכננת העברת נתונים שנייה לפני שההעברה הראשונה מסתיימת, רק ההעברה הראשונה תושלם, והעברות נתונים אחרות שחופפות לה ידלגו.
    • כדי להימנע מדילוג על העברות במסגרת הגדרת העברה אחת, מומלץ להגדיר את תדירות החזרה כדי להגדיל את משך הזמן בין העברות של נתונים בכמות גדולה.
  • במהלך העברת נתונים, מחבר Oracle מזהה עמודות מפתח עם אינדקס וחלוקה למחיצות כדי להעביר את הנתונים שלכם באצוות מקבילות. לכן, מומלץ לציין עמודות של מפתח ראשי או להשתמש בעמודות עם אינדקס בטבלה כדי לשפר את הביצועים ולהפחית את שיעור השגיאות בהעברות הנתונים.
    • אם יש לכם אילוצים של אינדקס או של מפתח ראשי, אפשר ליצור אצוות מקבילות רק עם סוגי העמודות הבאים:
      • INTEGER
      • TINYINT
      • SMALLINT
      • FLOAT
      • REAL
      • DOUBLE
      • NUMERIC
      • BIGINT
      • DECIMAL
      • DATE
    • העברות נתונים של Oracle שלא משתמשות במפתח ראשי או בעמודות עם אינדקס לא יכולות לתמוך ביותר מ-2,000,000 רשומות לכל טבלה.
  • אם המכונה הווירטואלית (VM) והחיבור לרשת שהגדרתם נמצאים באזורים שונים, יכול להיות שתהיה תנועה של נתונים בין אזורים כשמעבירים נתונים מ-Oracle.

מגבלות על העברות מצטברות

העברות מצטברות של Oracle כפופות למגבלות הבאות:

  • אפשר לבחור רק TIMESTAMP עמודות כעמודות של סימן מים.
  • הטמעה מצטברת נתמכת רק בנכסים עם עמודות סימן מים תקינות.
  • הערכים בעמודת סימן המים חייבים להיות בסדר עולה.
  • העברות מצטברות לא יכולות לסנכרן פעולות מחיקה בטבלת המקור.
  • הגדרת העברה אחת יכולה לתמוך רק בהעברה מצטברת או בהעברה מלאה.
  • אחרי ההפעלה הראשונה של ההעלאה המצטברת, אי אפשר לעדכן אובייקטים ברשימה asset.
  • אי אפשר לשנות את מצב הכתיבה בהגדרת העברה אחרי ההפעלה הראשונה של הטמעה מצטברת.
  • אי אפשר לשנות את העמודה של סימן המים או את המפתח הראשי אחרי ההפעלה הראשונה של הטמעת נתונים מצטברת.
  • הטבלה ב-BigQuery שמוגדרת כיעד מסודרת באשכולות באמצעות המפתח הראשי שצוין, והיא כפופה למגבלות של טבלאות מסודרות באשכולות.
  • כשמעדכנים הגדרת העברה קיימת למצב של העברה מצטברת בפעם הראשונה, ההעברה הראשונה של הנתונים אחרי העדכון מעבירה את כל הנתונים הזמינים ממקור הנתונים. כל העברה מצטברת של נתונים שתתבצע לאחר מכן תעביר רק את השורות החדשות והמעודכנות ממקור הנתונים.

אפשרויות להטמעת נתונים

בקטעים הבאים מוסבר בהרחבה על האפשרויות להעברת נתונים כשמגדירים העברת נתונים מ-Oracle.

הגדרת TLS

המחבר של Oracle תומך בהגדרה של אבטחה ברמת התעבורה (TLS) כדי להצפין את העברות הנתונים ל-BigQuery. מחבר Oracle תומך בהגדרות ה-TLS הבאות:

  • מצב הצפנת נתונים ואימות של רשות האישורים ושם המארח. במצב הזה מתבצע אימות מלא של השרת באמצעות TLS דרך פרוטוקול TCPS. הוא מצפין את כל הנתונים בזמן ההעברה ומוודא שהאישור של שרת מסד הנתונים נחתם על ידי רשות אישורים (CA) מהימנה. בנוסף, במצב הזה נבדק ששם המארח שאליו מתחברים תואם בדיוק לשם הנפוץ (CN) או לשם חלופי של בעלים (subject) (SAN) באישור של השרת. המצב הזה מונע מהתוקפים להשתמש באישור תקף לדומיין אחר כדי להתחזות לשרת מסד הנתונים שלכם.

    אם שם המארח לא תואם ל-CN או ל-SAN באישור, החיבור נכשל. צריך להגדיר פתרון DNS שתואם לאישור או להשתמש במצב אבטחה אחר. מומלץ להשתמש במצב הזה כדי למנוע מתקפות מסוג 'אדם באמצע' (PITM) בצורה הכי מאובטחת.

  • המצב הצפנת נתונים ואימות CA בלבד. במצב הזה, כל הנתונים מוצפנים באמצעות TLS על גבי פרוטוקול TCPS, ונבדק אם האישור של השרת חתום על ידי רשות אישורים שהלקוח סומך עליה. עם זאת, במצב הזה לא מתבצע אימות של שם המארח של השרת. החיבור במצב הזה יתבצע בהצלחה כל עוד האישור תקף והונפק על ידי רשות אישורים מהימנה, בלי קשר לשאלה אם שם המארח באישור תואם לשם המארח שאליו מתחברים.

    משתמשים במצב הזה אם רוצים לוודא שמתחברים לשרת שהאישור שלו חתום על ידי רשות מהימנה שמנפיקה אישורים (CA), אבל אי אפשר לאמת את שם המארח או שאין לכם שליטה על הגדרת שם המארח.

  • המצב הצפנה בלבד. במצב הזה, כל הנתונים שמועברים בין הלקוח לשרת מוצפנים באמצעות הצפנת הרשת המקורית של Oracle דרך יציאת ה-TCP הרגילה. היא לא מבצעת אימות של אישורים או של שמות מארחים.

    המצב הזה מספק רמת אבטחה מסוימת על ידי הגנה על נתונים במעבר, אבל הוא עלול להיות פגיע למתקפות PITM.

    משתמשים במצב הזה אם רוצים לוודא שכל הנתונים מוצפנים, אבל לא יכולים או לא רוצים לאמת את זהות השרת. מומלץ להשתמש במצב הזה כשעובדים עם רשתות VPC פרטיות.

  • מצב ללא הצפנה או אימות. במצב הזה לא מתבצעת הצפנה של נתונים ולא מתבצע אימות של אישורים או שמות מארחים. כל הנתונים נשלחים כטקסט פשוט.

    לא מומלץ להשתמש במצב הזה בסביבה שבה מתבצע טיפול במידע אישי רגיש. מומלץ להשתמש במצב הזה רק למטרות בדיקה ברשת מבודדת שבה האבטחה לא מהווה בעיה.

אישור שרת מהימן (PEM)

אם אתם משתמשים במצב הצפנת נתונים ואימות של רשות אישורים ושם מארח או במצב הצפנת נתונים ואימות של רשות אישורים, אתם יכולים גם לספק אישור אחד או יותר בקידוד PEM. האישורים האלה נדרשים בתרחישים מסוימים שבהם שירות העברת הנתונים ל-BigQuery צריך לאמת את הזהות של שרת מסד הנתונים במהלך חיבור TLS:

  • אם אתם משתמשים באישור שחתום על ידי רשות אישורים פרטית בארגון שלכם או באישור עם חתימה עצמית, אתם צריכים לספק את שרשרת האישורים המלאה או את האישור היחיד עם החתימה העצמית. הדרישה הזו חלה על אישורים שהונפקו על ידי רשויות אישורים פנימיות של שירותי ספקי ענן מנוהלים, כמו Amazon Relational Database Service‏ (RDS).
  • אם האישור של שרת מסד הנתונים שלכם חתום על ידי רשות אישורים ציבורית (לדוגמה, Let's Encrypt,‏ DigiCert או GlobalSign), אתם לא צריכים לספק אישור. אישורי הבסיס של רשויות ה-CA הציבוריות האלה מותקנים מראש ומהימנים על ידי שירות העברת הנתונים ל-BigQuery.

אפשר לציין אישורים בקידוד PEM בשדה Trusted PEM Certificate (אישור PEM מהימן) בהגדרות ההעברה, עם הדרישות הבאות:

  • האישור צריך להיות שרשרת אישורים חוקית בקידוד PEM.
  • האישור חייב להיות נכון לחלוטין. אם יש אישורים חסרים בשרשרת או תוכן שגוי, חיבור ה-TLS ייכשל.
  • אם יש לכם אישור אחד, אתם יכולים לספק אישור אחד עם חתימה עצמית משרת מסד הנתונים.
  • כדי לספק שרשרת אישורים מלאה שהונפקה על ידי רשות אישורים פרטית, צריך לספק את שרשרת האמון המלאה. הוא כולל את האישור משרת מסד הנתונים ואת כל אישורי הביניים והאישורים הבסיסיים של רשות האישורים (CA).

העברות מלאות או מצטברות

כשמגדירים העברה מ-Oracle, אפשר לציין איך הנתונים ייטענו ל-BigQuery על ידי בחירה באפשרות מלאה או מצטברת בהעדפות הכתיבה בהגדרות ההעברה. העברות מצטברות נתמכות בגרסת Preview.

אפשר להגדיר העברת נתונים מלאה כדי להעביר את כל הנתונים ממערכי הנתונים של Oracle בכל העברת נתונים.

לחלופין, אפשר להגדיר העברת נתונים מצטברת (בגרסת Preview) כדי להעביר רק את הנתונים שהשתנו מאז העברת הנתונים האחרונה, במקום לטעון את כל מערך הנתונים בכל העברת נתונים. אם בוחרים באפשרות מצטבר להעברת הנתונים, צריך לציין את מצבי הכתיבה הוספה או עדכון והוספה כדי להגדיר איך הנתונים ייכתבו ל-BigQuery במהלך העברת נתונים מצטברת. בקטעים הבאים מתוארים מצבי הכתיבה הזמינים.

הוספה למצב כתיבה

מצב הכתיבה 'הוספה' מוסיף רק שורות חדשות לטבלת היעד. האפשרות הזו מוסיפה את הנתונים שהועברו בלי לבדוק אם קיימות רשומות, ולכן המצב הזה עלול לגרום לשכפול נתונים בטבלת היעד.

כשבוחרים במצב הוספה, צריך לבחור עמודה של סימן מים. כדי לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים למחבר Oracle.

בהעברות של Oracle, מומלץ לבחור עמודה שמתעדכנת רק כשהרשומה נוצרת, ולא משתנה בעדכונים הבאים. לדוגמה, העמודה CREATED_AT.

מצב כתיבה של Upsert

במצב הכתיבה upsert, המערכת מעדכנת שורה או מוסיפה שורה חדשה בטבלת היעד על ידי בדיקה של מפתח ראשי. אתם יכולים לציין מפתח ראשי כדי שמחבר Oracle יוכל לקבוע אילו שינויים נדרשים כדי שהטבלה ביעד תהיה מעודכנת בהתאם לטבלה במקור. אם המפתח הראשי שצוין קיים בטבלת היעד ב-BigQuery במהלך העברת נתונים, המחבר של Oracle מעדכן את השורה הזו בנתונים חדשים מטבלת המקור. אם מפתח ראשי לא קיים במהלך העברת נתונים, מחבר Oracle מוסיף שורה חדשה.

כשבוחרים במצב upsert, צריך לבחור עמודה של סימן מים ומפתח ראשי:

  • כדי לעקוב אחרי שינויים בטבלת המקור באמצעות מחבר Oracle, צריך להוסיף עמודה של סימן מים.
    • בוחרים עמודת סימן מים שמתעדכנת בכל פעם שמשנים שורה. מומלץ להשתמש בעמודות דומות לעמודות UPDATED_AT או LAST_MODIFIED.
  • המפתח הראשי יכול להיות עמודה אחת או יותר בטבלה, שנדרשות למחבר Oracle כדי לקבוע אם צריך להוסיף או לעדכן שורה.

    בוחרים עמודות שמכילות ערכים לא ריקים שהם ייחודיים בכל השורות של הטבלה. מומלץ להשתמש בעמודות שכוללות מזהים שנוצרו על ידי המערכת, קודי הפניה ייחודיים (לדוגמה, מזהים עם הגדלה אוטומטית) או מזהים של רצפים קבועים על בסיס זמן.

    כדי למנוע אובדן נתונים או פגיעה בנתונים, בעמודות של המפתח הראשי שבוחרים צריכים להיות ערכים ייחודיים. אם יש לכם ספק לגבי הייחודיות של עמודת המפתח הראשי שבחרתם, מומלץ להשתמש במקום זאת במצב כתיבה של הוספה.

התנהגות של הוספה מצטברת

כשמבצעים שינויים בסכימת הטבלה במקור הנתונים, העברות נתונים מצטברות מהטבלאות האלה משתקפות ב-BigQuery בדרכים הבאות:

שינויים במקור הנתונים התנהגות של הוספה מצטברת
הוספת עמודה חדשה עמודה חדשה נוספת לטבלת היעד ב-BigQuery. כל הרשומות הקודמות בעמודה הזו יקבלו ערכי null.
מחיקת עמודה העמודה שנמחקה נשארת בטבלת היעד ב-BigQuery. ערכים חדשים בעמודה שנמחקה יאכלסו בערכי null.
שינוי סוג הנתונים בעמודה המחבר תומך רק בהמרות של סוגי נתונים שנתמכות על ידי הצהרת ה-DDL‏ ALTER COLUMN. המרות של סוגי נתונים אחרים גורמות לכך שהעברת הנתונים תיכשל.

אם נתקלים בבעיות, מומלץ ליצור הגדרת העברה חדשה.

שינוי שם של עמודה העמודה המקורית נשארת בטבלת היעד ב-BigQuery כמו שהיא, ועמודה חדשה מתווספת לטבלת היעד עם השם המעודכן.

לפני שמתחילים

בקטעים הבאים מפורטים השלבים שצריך לבצע לפני שיוצרים העברה של Oracle.

דרישות מוקדמות של Oracle

כשיוצרים העברה של Oracle, צריך גם את פרטי מסד הנתונים הבאים של Oracle.

שם הפרמטר תיאור
database השם של מסד הנתונים.
host

שם המארח או כתובת ה-IP של מסד הנתונים.

port

מספר היציאה של מסד הנתונים.

username

שם המשתמש לגישה למסד הנתונים.

password

סיסמה לגישה למסד הנתונים.

דרישות מוקדמות ל-BigQuery

התפקידים הנדרשים ב-BigQuery

כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin ‏ (roles/bigquery.admin) ב-IAM בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:

  • הרשאות של שירות העברת נתונים ל-BigQuery:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • הרשאות ב-BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.

טעינת נתונים מ-Oracle ל-BigQuery

כדי להוסיף נתוני Oracle ל-BigQuery, צריך להגדיר העברה באמצעות אחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף 'העברות נתונים' במסוף Cloud de Confiance .

    מעבר אל 'העברות נתונים'

  2. לוחצים על Create transfer (יצירת העברה).

  3. בקטע Source type, בשדה Source, בוחרים באפשרות Oracle.

  4. בקטע Data source details (פרטים של מקור הנתונים), מבצעים את הפעולות הבאות:

    • בקטע Network attachment (צירוף לרשת), בוחרים צירוף קיים לרשת או לוחצים על Create Network Attachment (יצירת צירוף לרשת).
    • בשדה מארח, מזינים את שם המארח או את כתובת ה-IP של מסד הנתונים.
    • בשדה יציאה, מזינים את מספר היציאה שמשמש את מסד הנתונים של Oracle לחיבורים נכנסים, כמו 1521.
    • בשדה שם מסד הנתונים, מזינים את השם של מסד הנתונים של Oracle.
    • בקטע סוג החיבור, מזינים את סוג כתובת ה-URL של החיבור: SERVICE,‏ SID או TNS.
    • בשדה Username (שם משתמש), מזינים את שם המשתמש של המשתמש שיזם את החיבור למסד הנתונים של Oracle.
    • בשדה סיסמה, מזינים את הסיסמה של המשתמש שיזם את החיבור למסד הנתונים של Oracle.
    • בתפריט הנפתח TLS Mode (מצב TLS), בוחרים באחת מהאפשרויות. מידע נוסף על מצבי TLS זמין במאמר בנושא הגדרת TLS.
    • בשדה Trusted PEM Certificate (אישור PEM מהימן), מזינים את האישור הציבורי של רשות האישורים (CA) שהנפיקה את אישור ה-TLS של שרת מסד הנתונים. מידע נוסף זמין במאמר אישור שרת מהימן (PEM).
    • בקטע סוג ההעברה, בוחרים באפשרות מלאה או מצטברת.
    • כדי להעביר אובייקטים של Oracle, לוחצים על עיון:
      • בוחרים את האובייקטים שרוצים להעביר למערך הנתונים של היעד ב-BigQuery. אפשר גם להזין באופן ידני את כל האובייקטים שרוצים לכלול בהעברת הנתונים בשדה הזה.
      • אם בחרתם באפשרות הוספה כמצב הכתיבה המצטברת, אתם חייבים לבחור עמודה כעמודת סימן המים.
      • אם בחרתם באפשרות Upsert (עדכון והוספה) כמצב הכתיבה המצטבר, אתם צריכים לבחור עמודה כעמודת סימן המים, ואז לבחור עמודה אחת או יותר כמפתח הראשי.
  5. בקטע הגדרות יעד, בשדה מערך נתונים, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.

  6. בקטע Transfer config name (שם הגדרת ההעברה), בשדה Display name (שם מוצג), מזינים שם להעברת הנתונים.

  7. בקטע אפשרויות תזמון:

    • ברשימה תדירות החזרה, בוחרים אפשרות כדי לציין באיזו תדירות יתבצע העברת הנתונים. כדי לציין תדירות חזרה מותאמת אישית, בוחרים באפשרות בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה הזו תתבצע כשמפעילים אותה באופן ידני.
    • אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך הפעלה.
  8. אופציונלי: בקטע אפשרויות התראות, מבצעים את הפעולות הבאות:

    • כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. אם מפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל כשהרצת ההעברה נכשלת.
    • כדי להפעיל התראות על הפעלת העברה ב-Pub/Sub להעברה הזו, לוחצים על המתג Pub/Sub notifications. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
  9. לוחצים על Save.

BQ

מזינים את הפקודה bq mk ומספקים את הדגל ליצירת העברה --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

כאשר:

  • PROJECT_ID (אופציונלי): מזהה הפרויקט ב- Cloud de Confiance by S3NS . אם לא מציינים את --project_id כדי לציין פרויקט מסוים, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • DATA_SOURCE: מקור הנתונים – oracle.
  • DISPLAY_NAME: השם המוצג של הגדרות ההעברה. שם העברת הנתונים יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
  • DATASET: מערך הנתונים של היעד בתצורת ההעברה.
  • PARAMETERS: הפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה: --params='{"param":"param_value"}'. אלה הפרמטרים להעברת נתונים מ-Oracle:

    • connector.networkAttachment (אופציונלי): שם הקובץ המצורף לרשת שאליו רוצים להתחבר למסד הנתונים של Oracle.
    • connector.authentication.Username: שם המשתמש בחשבון Oracle.
    • connector.authentication.Password: הסיסמה של חשבון Oracle.
    • connector.database: השם של מסד הנתונים של Oracle.
    • connector.endpoint.host: שם המארח או כתובת ה-IP של מסד הנתונים.
    • connector.endpoint.port: מספר היציאה שבה מסד הנתונים של Oracle משתמש לחיבורים נכנסים, כמו 1520.
    • connector.connectionType: סוג כתובת ה-URL של החיבור, יכול להיות SERVICE,‏ SID או TNS.
    • connector.tls.mode: מציינים תצורת TLS לשימוש בהעברה הזו:
      • ENCRYPT_VERIFY_CA_AND_HOST כדי להצפין נתונים ולאמת את ה-CA ואת שם המארח
      • ENCRYPT_VERIFY_CA להצפנת נתונים ולאימות CA בלבד
      • ENCRYPT_VERIFY_NONE להצפנת נתונים בלבד
      • DISABLE ללא הצפנה או אימות
    • connector.tls.trustedServerCertificate: (אופציונלי) מציינים אישור אחד או יותר בפורמט PEM. חובה רק אם הערך של connector.tls.mode הוא ENCRYPT_VERIFY_CA_AND_HOST או ENCRYPT_VERIFY_CA.
    • ingestionType: מציינים full או incremental. העברות מצטברות נתמכות בגרסת טרום-השקה. מידע נוסף זמין במאמר בנושא העברות מלאות או מצטברות.
    • writeMode: מציינים WRITE_MODE_APPEND או WRITE_MODE_UPSERT.
    • watermarkColumns: מציינים עמודות בטבלה כעמודות של סימן מים. חובה למלא את השדה הזה כדי לבצע העברות מצטברות.
    • primaryKeys: ציון עמודות בטבלה כמפתחות ראשיים. חובה למלא את השדה הזה כדי לבצע העברות מצטברות.
    • assets: הנתיב לאובייקטים של Oracle שיועברו אל BigQuery, בפורמט: DATABASE_NAME/SCHEMA_NAME/TABLE_NAME

כשמציינים כמה נכסים במהלך העברה מצטברת, הערכים בשדות watermarkColumns ו-primaryKeys תואמים למיקום הערכים בשדה assets. בדוגמה הבאה, dep_id תואם לטבלה DB1/USER1/DEPARTMENT, ו-report_by ו-report_title תואמים לטבלה DB1/USER1/EMPLOYEES.

      "primaryKeys":[['dep_id'], ['report_by','report_title']],
      "assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
  

לדוגמה, הפקודה הבאה יוצרת העברת נתונים מ-Oracle בפרויקט ברירת המחדל עם כל הפרמטרים הנדרשים:

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=oracle
    --display_name='My Transfer'
    --params='{"assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
        "connector.authentication.username": "User1",
        "connector.authentication.password":"ABC12345",
        "connector.database":"DB1",
        "connector.endpoint.host":"192.168.0.1",
        "connector.endpoint.port":1520,
        "connector.connectionType":"SERVICE",
        "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST",
        "connector.tls.trustedServerCertificate": "PEM-encoded certificate",
        "connector.networkAttachment":
        "projects/dev-project1/regions/us-central1/networkattachments/na1"
        "ingestionType":"incremental",
        "writeMode":"WRITE_MODE_APPEND",
        "watermarkColumns":["createdAt","createdAt"],
        "primaryKeys":[['dep_id'], ['report_by','report_title']]}'

API

משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.

כששומרים את הגדרות ההעברה, מחבר Oracle מפעיל באופן אוטומטי את ההעברה בהתאם לאפשרות של לוח הזמנים שהגדרתם. בכל הפעלה של העברה, המחבר של Oracle מעביר את כל הנתונים הזמינים מ-Oracle אל BigQuery.

כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצה של מילוי חוסרים.

מיפוי סוגי נתונים

בטבלה הבאה מפורט מיפוי של סוגי נתונים ב-Oracle לסוגי הנתונים התואמים ב-BigQuery.

סוג הנתונים של Oracle סוג נתונים ב-BigQuery
BFILE BYTES
BINARY_DOUBLE FLOAT
BINARY_FLOAT FLOAT
BLOB BYTES
CHAR STRING
CLOB STRING
DATE DATETIME
FLOAT FLOAT
INTERVAL DAY TO SECOND STRING
INTERVAL YEAR TO MONTH STRING
LONG STRING
LONG RAW BYTES
NCHAR STRING
NCLOB STRING
NUMBER (without precision and scale) STRING
NUMBER (with precision and scale lower than the BigQuery Numeric range) NUMERIC
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) BIGNUMERIC
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) STRING
NVARCHAR2 STRING
RAW BYTES
ROWID STRING
TIMESTAMP DATETIME
TIMESTAMP WITH LOCAL TIME ZONE DATETIME
TIMESTAMP WITH TIME ZONE TIMESTAMP
UROWID STRING
VARCHAR STRING
VARCHAR2 STRING

פתרון בעיות בהגדרת ההעברה

אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בעיות בהעברה של Oracle.

תמחור

למידע על התמחור של העברות Oracle, אפשר לעיין במאמר בנושא התמחור של שירות העברת נתונים.

העברת מטא-נתונים

אפשר גם להשתמש במחבר Oracle כדי להעביר מטא נתונים אל Knowledge Catalog. מידע נוסף זמין במאמר טעינת מטא-נתונים של Oracle ל-Knowledge Catalog.

המאמרים הבאים