בדף הזה מוסבר איך ליצור סביבת עבודה להמרת מסדי נתונים ולהשתמש בה כדי לבצע באופן מיידי המרה דטרמיניסטית של קוד וסכימה מ-Oracle ל-PostgreSQL.
יש שתי דרכים ליצור סביבות עבודה אינטראקטיביות להמרת מסדי נתונים:
באמצעות חיבור ישיר למסד הנתונים: השירות Database Migration Service מתחבר ישירות למסד הנתונים הפעיל במקור באמצעות פרופיל חיבור, ומאחזר את הסכימה דרך חיבור לרשת.
באמצעות קובצי סכימה ב-Cloud Storage: אתם יכולים לחלץ את המטא-נתונים של הסכימה באופן מקומי באמצעות סקריפטים לחילוץ ש-Google מספקת, להעלות את הקבצים שנוצרו לקטגוריה של Cloud Storage ולהכין את סביבת העבודה בלי להתחבר למסד הנתונים של המקור.
התחברות ישירות למסד הנתונים של המקור
אתם יכולים ליצור סביבת עבודה אינטראקטיבית להמרת מסדי נתונים ולהמיר את הסכימה באמצעות התחברות ישירה למסד הנתונים של המקור ב-Database Migration Service. לפני שיוצרים את סביבת העבודה בדרך הזו, חשוב לוודא ש יצרתם פרופיל חיבור למסד הנתונים של המקור.
התפקידים הנדרשים לשיטת הקישור הישיר
כדי לקבל את ההרשאות שנדרשות ליצירת סביבת עבודה להמרת מסדי נתונים, בקשו מהאדמין להקצות לכם את התפקיד
אדמין של Database Migration (roles/datamigration.admin) ב-IAM בפרויקט.
למידע נוסף על הקצאת תפקידים, קראו את המאמר ניהול הגישה במרכז העזרה של "ניהול זהויות והרשאות גישה".
התפקיד המוגדר מראש הזה מכיל את ההרשאות שנדרשות כדי ליצור סביבת עבודה להמרת מסדי נתונים ב-Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:
ההרשאות הנדרשות
כדי ליצור סביבת עבודה להמרת מסדי נתונים ב-Database Migration Service, נדרשות ההרשאות הבאות:
cloudaicompanion.entitlements.getההרשאה הזו כלולה בתפקיד
roles/datamigration.admin. הוא נדרש כדי להשתמש בתכונות ההמרות המשופרות של Gemini.datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת סביבת עבודה להמרת מסדי נתונים עם פרופיל חיבור
כדי ליצור סביבת עבודה להמרת מסדי נתונים שבה Database Migration Service מתחבר למסד הנתונים של המקור ומכין את תמונת המצב הראשונית של האובייקטים במסד הנתונים של המקור:
- במסוף Google Cloud , נכנסים לדף סביבות עבודה להמרת מסדי נתונים.
- לוחצים על הגדרת סביבת עבודה.
- בדף Create a conversion workspace, מבצעים את הפעולות הבאות:
- מזינים את השם, המזהה והאזור של סביבת העבודה להמרת מסדי נתונים.
- בתפריט הנפתח המנוע של מסד הנתונים של המקור, בוחרים באפשרות Oracle.
- ב-המנוע של מסד הנתונים של היעד בוחרים באפשרות AlloyDB ל-PostgreSQL.
-
בקטע Enable Gemini settings for your workspace, מסמנים את התיבות כדי להפעיל את תכונות ההמרה שמבוססות על Gemini. אפשר גם להפעיל את התכונות האלה מאוחר יותר, כשרוצים להמיר קוד וסכימה בעזרת Gemini.
כדי להשתמש בתכונות ההמרה שמבוססות על Gemini, צריך את Gemini for Google Cloud API. מידע נוסף זמין במאמר תכונות מבוססות-Gemini להמרות.
- לוחצים על יצירת סביבת עבודה והמשך.
- בדף Define source and pull schema snapshot, מבצעים את הפעולות הבאות:
- בקטע Source connection method, בוחרים באפשרות Connection profile.
- בתפריט הנפתח Source connection profile, בוחרים את פרופיל החיבור של מסד הנתונים של המקור.
- לוחצים על שליפת תמונת מצב של הסכימה והמשך.
עכשיו Database Migration Service מתחבר למסד הנתונים של המקור ומאחזר את הסכימה. התהליך הזה יכול להימשך כמה דקות.
- בדף Select and convert objects, מסמנים את התיבות של האובייקטים שרוצים להמיר לתחביר של PostgreSQL.
אתם לא חייבים להמיר את כל האובייקטים בבת אחת. אתם יכולים לבחור רק כמה אובייקטים עכשיו ו להוסיף עוד אובייקטים להמרה מאוחר יותר.
- לוחצים על המרה והמשך.
סביבת העבודה להמרת מסדי נתונים נפתחת.
שימוש בקובצי סכימה שמאוחסנים ב-Cloud Storage
אתם יכולים לחלץ את המטא-נתונים של הסכימה באופן מקומי באמצעות סקריפטים לחילוץ ש-Google מספקת, להעלות את הקבצים שנוצרו לקטגוריה של Cloud Storage ולהכין את סביבת העבודה בלי להתחבר למסד הנתונים של המקור.
התפקידים שנדרשים כדי להשתמש בקובצי הסכימה ב-Cloud Storage
כדי לקבל את ההרשאות שנדרשות ליצירת סביבת עבודה להמרת מסדי נתונים באמצעות קובצי סכימה שמאוחסנים ב-Cloud Storage, צריך לבקש מהאדמין להקצות את תפקידי ה-IAM הנדרשים בפרויקט ל חשבונות הבאים שמעורבים בתהליך ההעברה:
- חשבון המשתמש שיוצר את סביבת העבודה להמרת מסדי נתונים:
אדמין של Database Migration (
roles/datamigration.admin) - חשבון השירות של Database Migration Service: התפקיד
צפייה באובייקט אחסון (
roles/storage.objectViewer) בקטגוריה של Cloud Storage שבה מאוחסנים קובצי הסכימה.כתובת האימייל של חשבון השירות של Database Migration Service היא בפורמט הבא:
service-PROJECT_NUMBER@gcp-sa-datamigration.. מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud . מידע נוסף על חשבון השירות הזה זמין במאמר חשבון השירות של Database Migration Service.
למידע נוסף על הקצאת תפקידים, קראו את המאמר ניהול הגישה במרכז העזרה של "ניהול זהויות והרשאות גישה".
התפקיד המוגדר מראש roles/datamigration.admin כולל את ההרשאות שנדרשות כדי ליצור סביבת עבודה להמרת מסדי נתונים ב-Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required permissions:
ההרשאות הנדרשות
כדי ליצור סביבת עבודה להמרת מסדי נתונים ב-Database Migration Service, נדרשות ההרשאות הבאות:
cloudaicompanion.entitlements.getההרשאה הזו כלולה בתפקיד
roles/datamigration.admin. הוא נדרש כדי להשתמש בתכונות ההמרות המשופרות של Gemini.datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת סביבת עבודה להמרת מסדי נתונים עם קובצי סכימה
כדי ליצור סביבת עבודה להמרת מסדי נתונים עם קובצי סכימה:
- מאחזרים את הסקריפטים של Python ממסוף Google Cloud . כך עושים את זה:
- במסוף Google Cloud , נכנסים לדף סביבות עבודה להמרת מסדי נתונים.
- לוחצים על הגדרת סביבת עבודה.
- בדף יצירת סביבת עבודה להמרת מסדי נתונים:
- מזינים את השם, המזהה והאזור של סביבת העבודה.
- בתפריט הנפתח המנוע של מסד הנתונים של המקור, בוחרים באפשרות Oracle.
- בתפריט הנפתח המנוע של מסד הנתונים של היעד, בוחרים באפשרות AlloyDB ל-PostgreSQL.
-
בקטע הפעלת ההגדרות של Gemini בסביבת העבודה, מסמנים את התיבות כדי להפעיל את תכונות ההמרה שמבוססות על Gemini ולוחצים על המשך.
אתם יכולים גם להפעיל את התכונות האלה מאוחר יותר, כשאתם רוצים להמיר קוד וסכימה בעזרת Gemini. כדי להשתמש בתכונות של המרות שמבוססות על Gemini, צריך את Gemini for Google Cloud API. מידע נוסף זמין במאמר תכונות המרה מבוססות-Gemini.
- בדף Define source and pull schema snapshot, בקטע Source connection method, בוחרים באפשרות Cloud Storage.
- בקטע Before selecting a folder, ליד הכותרת Oracle metadata extractor, לוחצים על Open. פועלים לפי ההוראות שבחלונית הצדדית כדי להוריד את כלי החילוץ ולהריץ אותו במסד הנתונים של המקור, כדי ליצור את קובצי ה-JSON של המטא-נתונים של הסכימה. כדי להשתמש בכלי הזה, צריך להיות חיבור לרשת עם מסד הנתונים של המקור.
- יוצרים קטגוריה ייעודית ב-Cloud Storage ומעלים אליה את קובצי ה-JSON של המטא-נתונים של הסכימה. מידע נוסף על יצירת קטגוריות של Cloud Storage זמין במאמר יצירת קטגוריות במסמכי התיעוד של Cloud Storage.
- בתוך הקטגוריה הייעודית של Cloud Storage, יוצרים תיקייה ייעודית ריקה לקובצי הסכימה של מסד הנתונים שייצאתם בשלבים הקודמים. מידע נוסף על יצירת תיקיות ב-Cloud Storage זמין במאמר יצירה וניהול של תיקיות במסמכי התיעוד של Cloud Storage.
- מעלים רק את קובצי הסכימה של המטא-נתונים בפורמט JSON שיצרתם באמצעות הסקריפטים של Python שאחזרתם ממסוף Google Cloud בשלבים הקודמים, לתיקיית מסד הנתונים הייעודית והריקה בקטגוריה של Cloud Storage.
- ממשיכים ליצור את סביבת העבודה במסוף Google Cloud , או יוצרים סביבת עבודה חדשה באמצעות Google Cloud CLI.
המסוף
- אחרי שמעלים את קובצי המטא-נתונים של הסכימה שחולצה לקטגוריה של Cloud Storage, ממשיכים בדף Define source and pull schema snapshot.
- בשדה Folder, לוחצים על Browse ובוחרים את התיקייה שמכילה את קובצי הסכימה.
- לוחצים על שליפת תמונת מצב של הסכימה והמשך.
עכשיו Database Migration Service מנתח את המטא-נתונים של הסכימה מהקטגוריה.
- בדף Select and convert objects, בוחרים את האובייקטים שרוצים להמיר ולוחצים על Convert and continue.
gcloud
אחרי שמעלים את קובצי המטא-נתונים של הסכימה שחולצו לקטגוריה של Cloud Storage, אפשר ליצור ולהפעיל סביבת עבודה חדשה באמצעות Google Cloud CLI. איך לעשות את זה?
-
יוצרים סביבת עבודה ריקה להמרת סכימות.
מריצים את הפקודה הבאה (לוחצים כדי להרחיב):gcloud database-migration conversion-workspaces creategcloud database-migration conversion-workspaces create WORKSPACE_ID \ --region=REGION \ --source-database-engine=ORACLE \ --destination-database-engine=POSTGRESQL
מחליפים את מה שכתוב בשדות הבאים:
- WORKSPACE_ID: המזהה של סביבת העבודה להמרת מסדי נתונים.
- REGION: האזור שבו רוצים ליצור את סביבת העבודה.
-
מאתחלים את סביבת העבודה באמצעות קובצי הסכימה ב-Cloud Storage.
כדי לנתח ולטעון את קובצי המטא-נתונים של הסכימה שמאוחסנים בקטגוריה לסביבת העבודה להמרת מסדי נתונים, מריצים את הפקודה הבאה (לוחצים כדי להרחיב):gcloud database-migration conversion-workspaces seedgcloud database-migration conversion-workspaces seed WORKSPACE_ID \ --region=REGION \ --gcs-path=gs://BUCKET_NAME/PREFIX/
מחליפים את מה שכתוב בשדות הבאים:
- WORKSPACE_ID: המזהה של סביבת העבודה להמרת מסדי נתונים.
- REGION: האזור שבו רוצים ליצור את סביבת העבודה.
- BUCKET_NAME: השם של הקטגוריה ב-Cloud Storage שמכילה את קובצי הסכימה.
- PREFIX: הנתיב לתיקייה שמכילה את קובצי המטא-נתונים של הסכימה שחולצו.
סביבות עבודה מדור קודם להמרת מסדי נתונים
סביבות עבודה מדור קודם להמרת סכימות הן סביבות עבודה ישנות ומוגבלות יותר. אנחנו לא ממליצים להשתמש בסוג הקודם של סביבות עבודה להמרת מסדי נתונים לצורך ההעברות. אם אתם צריכים להשתמש בסביבת עבודה מדור קודם להמרת מסדי נתונים, הרחיבו את הקטע יצירת סביבת עבודה מדור קודם להמרת מסדי נתונים והמרת סכימה כדי לקבל מידע נוסף.
יצירת סביבת עבודה להמרת מסדי נתונים מדור קודם והמרת סכימה
בסביבות עבודה מדור קודם להמרת מסדי נתונים משתמשים בקובצי תצורה של Ora2Pg. לפני שיוצרים סביבת עבודה להמרת מסדי נתונים בגרסה הקודמת, צריך ליצור את הגדרת Ora2Pg מחוץ ל-Database Migration Service. מידע נוסף זמין במאמר עבודה עם סביבות עבודה להמרת מסדי נתונים מדור קודם.
- במסוף Google Cloud , נכנסים לדף סביבות עבודה להמרת מסדי נתונים.
- לוחצים על הגדרת סביבת עבודה.
- בדף יצירת סביבת עבודה להמרת מסדי נתונים, מבצעים את הפעולות הבאות:
- מזינים את השם, המזהה והאזור של סביבת העבודה להמרת מסדי נתונים.
- בתפריט הנפתח המנוע של מסד הנתונים של המקור, בוחרים באפשרות Oracle.
- ב-המנוע של מסד הנתונים של היעד בוחרים באפשרות AlloyDB ל-PostgreSQL.
- מרחיבים את הקטע Customize workspace configurations ובוחרים באפשרות Enable legacy conversion workspace.
- לוחצים על יצירת סביבת עבודה והמשך.
- בדף Connect to source and convert objects, מבצעים את הפעולות הבאות:
- בתפריט הנפתח Source connection profile, בוחרים את פרופיל החיבור של מסד הנתונים של המקור.
-
בתיבה קובץ תצורה, לוחצים על Browse ומשתמשים בכלי לבחירת קבצים של המערכת כדי לבחור את קובץ מיפוי ההמרות.
אפשר להעלות כמה קובצי מיפוי של המרות בלחיצה על הוספת קובץ.
-
בקטע Convert the configuration, לוחצים על Pull schema and convert.
Database Migration Service מתחבר עכשיו למסד הנתונים של המקור, מאחזר את הסכימה וממיר אותה לסכימת ה-SQL של היעד בהתאם לכללים שהוגדרו בקובץ מיפוי ההמרה. התהליך הזה יכול להימשך כמה דקות.
- לוחצים על שמירה וסגירה.
נפתח דף הפרטים של סביבת העבודה להמרת מסדי נתונים.
עכשיו אפשר להחיל את הסכימה שהומרה על מסד הנתונים של היעד. אם מסד הנתונים של המקור כולל טבלאות שאין בהן מפתחות ראשיים, צריך גם ליצור באופן ידני אילוצים של מפתחות ראשיים בטבלאות שהומרו במסד הנתונים של היעד, אחרי שמחילים את הסכימה שהומרה. מידע נוסף זמין במאמר עבודה עם סביבות עבודה להמרת מסדי נתונים מדור קודם.
המאמרים הבאים
עכשיו אתם יכולים לעבוד עם סביבת העבודה להמרת מסדי נתונים כדי לתקן בעיות בהמרה, לשנות את האובייקטים באמצעות הכלי האינטראקטיבי לעריכה ולהחיל את הסכימה שהומרת על מסד הנתונים של היעד. המרת קוד וסכימה של Oracle לתחביר של PostgreSQL