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

אפשר לטעון נתונים מ-Oracle ל-BigQuery באמצעות המחבר של שירות העברת הנתונים ל-BigQuery ב-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 הבאות:

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

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

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

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

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

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

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

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

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

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

מצב כתיבה Append

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

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

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

מצב כתיבה Upsert

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

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

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

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

בקטעים הבאים מפורטים השלבים שצריך לבצע לפני שיוצרים העברה של 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. עוברים לדף 'העברות נתונים' במסוף Google Cloud .

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

  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. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
  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 (אופציונלי): מזהה הפרויקט ב- Google Cloud . אם לא מציינים את --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, אפשר לעיין במאמר בנושא התמחור של שירות העברת נתונים.

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