התחברות ל-Oracle
אדמינים ב-BigQuery יכולים ליצור חיבור כדי לגשת לנתונים ב-Oracle. החיבור הזה מאפשר למנתחי נתונים לשלוח שאילתות לגבי נתונים ב-Oracle.
גרסאות וסביבות נתמכות של Oracle
איחוד הנתונים של BigQuery תומך בסביבות הפריסה הבאות של Oracle:
- Oracle Database@Google Cloud
- Oracle Exadata Database Service
- מכונות Oracle מקומיות שמחוברות ל- Google Cloud באמצעות Cloud VPN או Cloud Interconnect
איחוד BigQuery תומך בגרסאות הבאות של Oracle:
- Oracle Database 23.x (23ai)
- Oracle Database 21.x
- Oracle Database 19.x (19c)
לפני שמתחילים
מפעילים את ממשקי ה-API הנדרשים, מגדירים את מסד הנתונים של Oracle ומקצים תפקידים בניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה במסמך הזה.
מפעילים את BigQuery Connection API.
אם אתם מתכננים לנתב תנועה דרך רשתות פרטיות באמצעות חיבורי רשת, צריך להפעיל גם את Compute Engine API.
במסד הנתונים של Oracle, יוצרים פרטי כניסה ייעודיים למשתמש ב-BigQuery:
- יוצרים פרטי כניסה של משתמש במסד הנתונים של Oracle.
נותנים הרשאות מערכת ל-
CREATE SESSIONכדי לאפשר למשתמש ליצור סשן של מסד נתונים:GRANT CREATE SESSION TO USER_NAME;
נותנים הרשאות
SELECTבלבד בטבלאות או בתצוגות שרוצים לשלוח אליהן שאילתות:GRANT SELECT ON SCHEMA_NAME.TABLE_NAME TO USER_NAME;
מחליפים את מה שכתוב בשדות הבאים:
-
USER_NAME: שם המשתמש של המשתמש במסד הנתונים. -
SCHEMA_NAME: הסכימה של הטבלה שרוצים לשלוח אליה שאילתה. -
TABLE_NAME: הטבלה שרוצים לשלוח אליה שאילתה.
מגדירים את הקישוריות לרשת של המכונה של מסד הנתונים של Oracle באחת מהדרכים הבאות:
- אם אתם מנתבים תנועה דרך רשתות פרטיות, צרו מחבר רשת באותו אזור שבו נמצא החיבור ל-BigQuery. אין תמיכה בקישור בין רשתות שכנות (peering) ב-DNS. צריך להתחבר באמצעות כתובת IP או שם מארח שאפשר לזהות ברשת ה-VPC.
- אם אתם מתחברים דרך האינטרנט הציבורי, הוסיפו את כל טווחי כתובות ה-IP של Google לכללי חומת האש של מסד הנתונים של Oracle.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להתחברות ל-Oracle, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:
-
כדי ליצור חיבור:
BigQuery Connection Admin (
roles/bigquery.connectionAdmin) בפרויקט -
כדי להגדיר חיבורי רשת: אדמין של Compute (
roles/compute.admin) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
חיבור של BigQuery ל-Oracle
אפשר לקשר את BigQuery ל-Oracle במסוףGoogle Cloud או בכלי שורת הפקודה של BigQuery.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית Explorer, לוחצים על Add data.
הדף Add data נפתח.
בחלונית Filter By, בקטע Data Source Type בוחרים באפשרות Databases.
אפשר גם להזין
oracleבשדה חיפוש מקורות נתונים.בקטע מקורות נתונים נבחרים, לוחצים על Oracle.
בקטע Access external data in place, לוחצים על כרטיס הפתרון BigQuery Federation עם התיאור שאילתות מאוחדות ל-Oracle.
החלונית External data source נפתחת.
בחלונית External data source, מגדירים את הפרטים הבאים:
- בשדה Connection ID, מזינים מזהה חיבור ייחודי (לדוגמה,
oracle_prod_conn). - בקטע Location type, בוחרים באפשרות Region ואז בוחרים את האזור שבו נמצא מערך הנתונים ב-BigQuery. שאילתות שמשתמשות בחיבור הזה חייבות לפעול מהאזור הזה.
- (אופציונלי) בשדה Friendly name, מזינים שם תיאורי לחיבור.
- (אופציונלי) בשדה Description, מזינים תיאור למשאב החיבור.
- בקטע Encryption, בוחרים באפשרות Google-managed encryption key או באפשרות Cloud KMS key כדי להשתמש במפתח הצפנה בניהול הלקוח (CMEK).
- בשדה Host:port, מזינים את המארח והיציאה של שרת מסד הנתונים של Oracle בפורמט
HOST:PORT(לדוגמה,10.10.1.2:1521אוdb.example.com:2484). - בשדה Username, מזינים את משתמש מסד הנתונים שיצרתם בדרישות המוקדמות.
- בשדה Password, מזינים את הסיסמה של המשתמש במסד הנתונים.
- בשדה מסד נתונים, מזינים את שם השירות של מסד הנתונים של Oracle.
- (אופציונלי) בשדה Network attachment, אם אתם משתמשים בקישוריות פרטית, מזינים את נתיב המשאב של חיבור הרשת בפורמט
projects/PROJECT_ID/regions/NA_REGION/networkAttachments/ATTACHMENT_NAME. - ברשימה מצב TLS, בוחרים באחד ממצבי ה-TLS הנתמכים (לדוגמה, הצפנת נתונים, אימות של רשות האישורים (CA) ושם המארח (מומלץ)).
- ברשימה רשות אישורים (CA), בוחרים באפשרות רשות אישורים ציבורית (Web PKI), או בוחרים רשות אישורים בהתאמה אישית ומדביקים את האישור בפורמט PEM.
- בשדה Connection ID, מזינים מזהה חיבור ייחודי (לדוגמה,
לוחצים על יצירת חיבור.
BQ
משתמשים בפקודה bq mk עם הדגל --connection:
bq mk --connection \ --location=LOCATION \ --project_id=PROJECT_ID \ --connector_configuration '{ "connector_id": "oracle", "endpoint": { "host_port": "HOST_PORT" }, "asset": { "database": "DATABASE" }, "authentication": { "username_password": { "username": "USERNAME", "password": { "plaintext": "PASSWORD" } } }, "tls": { "mode": "TLS_MODE" }, "network": { "private_service_connect": { "network_attachment": "projects/PROJECT_ID/regions/NA_REGION/networkAttachments/ATTACHMENT_NAME" } } }' \ CONNECTION_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: האזור ב-BigQuery (לדוגמה,us-central1) שתואם למערך הנתונים שאתם מתכוונים לשלוח אליו שאילתות יחד עם Oracle. צריך להריץ מהאזור הזה שאילתות שמשתמשות בחיבור הזה. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
HOST_PORT: המארח והיציאה של שרת מסד הנתונים של Oracle בפורמטHOST:PORT(לדוגמה,10.10.1.2:1521). -
DATABASE: שם השירות של מסד הנתונים של Oracle. -
USERNAME: המשתמש במסד הנתונים של Oracle. -
PASSWORD: הסיסמה של המשתמש במסד הנתונים. -
TLS_MODE: מצב ההצפנה של TLS (ENCRYPT_VERIFY_CA_AND_HOST,ENCRYPT_VERIFY_CA,ENCRYPT_VERIFY_NONEאוDISABLE). אם משתמשים באישור CA בהתאמה אישית עםENCRYPT_VERIFY_CA_AND_HOSTאוENCRYPT_VERIFY_CA, צריך לכלול את האובייקט"private_pki": { "trusted_certificates_pem": "CERT_CONTENT" }בקטע"tls". -
NA_REGION: האזור שבו נמצא מחבר הרשת. -
ATTACHMENT_NAME: השם של חיבור הרשת. אם מתחברים באמצעות כתובת IP ציבורית, משמיטים את האובייקט"network". -
CONNECTION_ID: המזהה הייחודי של החיבור הזה. -
--kms_key_name=KMS_KEY_NAME(אופציונלי): מפתח הצפנה בניהול הלקוח (CMEK). אם לא מציינים את הפרמטר, פרטי הכניסה מוגנים על ידי ברירת המחדל של Google-owned and Google-managed encryption key.
הגדרת Transport Layer Security (TLS)
המחבר של Oracle תומך ב-Transport Layer Security (TLS) כדי להצפין את תנועת השאילתות במעבר בין BigQuery למסד הנתונים של Oracle.כשמחברים את BigQuery ל-Oracle, בוחרים אחד ממצבי ה-TLS הבאים:
הצפנת נתונים ואימות של רשות האישורים (CA) ושם המארח (מצב
ENCRYPT_VERIFY_CA_AND_HOST). מבצע אימות מלא של השרת באמצעות TLS. הצפנה של כל הנתונים במעבר, אימות שהאישור של שרת מסד הנתונים חתום על ידי רשות אישורים (CA) מהימנה, ובדיקה ששם המארח שאליו מתחברים תואם לשם הנפוץ (CN) או לשם החלופי של הבעלים (SAN) באישור. חובה לחיבורים דרך כתובות IP ציבוריות.הצפנת נתונים ואימות של רשות האישורים בלבד (מצב
ENCRYPT_VERIFY_CA). הצפנה של כל הנתונים במעבר ואימות שהאישור של השרת נחתם על ידי רשות אישורים (CA) מהימנה, אבל בלי לאמת את שם המארח של השרת. השתמשו במצב הזה אם אישור השרת חתום על ידי רשות אישורים (CA) מהימנה, אבל אתם מתחברים באמצעות כתובת IP או שם מארח שלא תואמים ל-CN או ל-SAN של האישור.הצפנה בלבד (מצב
ENCRYPT_VERIFY_NONE). הצפנה של כל הנתונים שמועברים בין BigQuery לבין השרת באמצעות הצפנת רשת של Oracle דרך יציאת ה-TCP הרגילה. לא מבצע אימות של האישור או של שם המארח. מומלץ רק בתוך רשתות VPC פרטיות.ללא הצפנה או אימות (מצב
DISABLE). לא מצפין נתונים ולא מבצע אימות של אישור או של שם מארח. מותר רק כשמתחברים דרך חיבורי רשת פרטיים ברשתות VPC מוגנות.
אישורי שרת מהימנים בפורמט PEM
אם אתם משתמשים במצב ENCRYPT_VERIFY_CA_AND_HOST או במצב ENCRYPT_VERIFY_CA:
- אם האישור של שרת מסד הנתונים נחתם על ידי רשות אישורים ציבורית (כמו אלה שכלולות בתוכנית Mozilla Root CA, כולל Let's Encrypt, DigiCert או Google Trust Services), אתם לא צריכים לספק אישור. אישורי בסיס של רשויות אישורים ציבוריות נחשבים מהימנים כברירת מחדל.
- אם אתם משתמשים באישור שחתום על ידי רשות אישורים פנימית או פרטית בארגון, או באישור בחתימה עצמית, אתם צריכים לספק את שרשרת האישורים המלאה בפורמט PEM (דואר עם פרטיות משודרגת) בשדה אישור PEM מהימן במהלך הגדרת החיבור.
שיתוף חיבורים עם משתמשים
כדי לאפשר למשתמשים לשלוח שאילתות לגבי נתונים ולנהל חיבורים, אתם יכולים להקצות את התפקידים הבאים:
roles/bigquery.connectionUser: מאפשרת למשתמשים להשתמש בחיבורים כדי להתחבר למקורות נתונים חיצוניים ולהריץ עליהם שאילתות.
roles/bigquery.connectionAdmin: מאפשר למשתמשים לנהל חיבורים.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידים והרשאות של IAM ב-BigQuery.
בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
החיבורים מופיעים בפרויקט בקבוצה שנקראת Connections.
בחלונית הימנית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
לוחצים על הפרויקט, לוחצים על Connections ובוחרים חיבור.
בחלונית פרטים, לוחצים על שיתוף כדי לשתף חיבור. לאחר מכן מבצעים את הפעולות הבאות:
בתיבת הדו-שיח Connection permissions, משתפים את החיבור עם חשבונות משתמשים אחרים על ידי הוספה או עריכה של חשבונות משתמשים.
לוחצים על Save.
BQ
אי אפשר לשתף חיבור באמצעות כלי שורת הפקודה של BigQuery. כדי לשתף חיבור, משתמשים במסוף Google Cloud או ב-BigQuery Connections API.
API
משתמשים בשיטה projects.locations.connections.setIAM בקטע של מאמרי העזרה של BigQuery Connections REST API, ומספקים מופע של המשאב policy.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
תמחור
שאילתות מאוחדות וחיבורים כפופים לחיובים הבאים:
- החיוב מתבצע לפי התמחור הרגיל של שאילתות מאוחדות.
- השימוש ב-VPC כפוף לתמחור של ענן וירטואלי פרטי.
- השימוש ב-Cloud VPN כפוף לתמחור של Cloud VPN.
- השימוש ב-Cloud NAT כפוף לתמחור של Cloud NAT.