יצירת סביבת עבודה להמרות והמרת סכימה

בדף הזה מוסבר איך ליצור סביבת עבודה להמרת מסדי נתונים ולהשתמש בה כדי לבצע באופן מיידי המרה דטרמיניסטית של קוד וסכימה מ-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.apply
  • datamigration.conversionworkspaces.commit
  • datamigration.conversionworkspaces.convert
  • datamigration.conversionworkspaces.create
  • datamigration.conversionworkspaces.delete
  • datamigration.conversionworkspaces.get
  • datamigration.conversionworkspaces.getIamPolicy
  • datamigration.conversionworkspaces.list
  • datamigration.conversionworkspaces.rollback
  • datamigration.conversionworkspaces.seed
  • datamigration.conversionworkspaces.setIamPolicy
  • datamigration.conversionworkspaces.update

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

יצירת סביבת עבודה להמרת מסדי נתונים עם פרופיל חיבור

כדי ליצור סביבת עבודה להמרת מסדי נתונים שבה Database Migration Service מתחבר למסד הנתונים של המקור ומכין את תמונת המצב הראשונית של האובייקטים במסד הנתונים של המקור:

  1. במסוף Google Cloud , נכנסים לדף סביבות עבודה להמרת מסדי נתונים.

    לדף Conversion workspaces

  2. לוחצים על הגדרת סביבת עבודה.
  3. בדף Create a conversion workspace, מבצעים את הפעולות הבאות:
    1. מזינים את השם, המזהה והאזור של סביבת העבודה להמרת מסדי נתונים.
    2. בתפריט הנפתח המנוע של מסד הנתונים של המקור, בוחרים באפשרות Oracle.
    3. ב-המנוע של מסד הנתונים של היעד בוחרים באפשרות AlloyDB ל-PostgreSQL.
    4. בקטע Enable Gemini settings for your workspace, מסמנים את התיבות כדי להפעיל את תכונות ההמרה שמבוססות על Gemini. אתם יכולים גם להפעיל את התכונות האלה מאוחר יותר, כשאתם רוצים להמיר קוד וסכימה בעזרת Gemini.

      כדי להשתמש בתכונות ההמרה שמבוססות על Gemini, צריך את Gemini for Google Cloud API. מידע נוסף זמין במאמר תכונות מבוססות-Gemini להמרות.

    5. לוחצים על יצירת סביבת עבודה והמשך.
  4. בדף Define source and pull schema snapshot, מבצעים את הפעולות הבאות:
    1. בקטע Source connection method, בוחרים באפשרות Connection profile.
    2. בתפריט הנפתח Source connection profile, בוחרים את פרופיל החיבור של מסד הנתונים של המקור.
    3. לוחצים על Pull schema snapshot and continue (שליפת תמונת מצב של הסכימה והמשך).

    עכשיו Database Migration Service מתחבר למסד הנתונים של המקור ומאחזר את הסכימה. התהליך הזה יכול להימשך כמה דקות.

  5. בדף Select and convert objects, מסמנים את התיבות של האובייקטים שרוצים להמיר לתחביר של PostgreSQL.

    אתם לא חייבים להמיר את כל האובייקטים בבת אחת. אתם יכולים לבחור רק כמה אובייקטים עכשיו ולהוסיף עוד אובייקטים להמרה מאוחר יותר.

  6. לוחצים על המרת הקמפיין והמשך.

    סביבת העבודה להמרת מסדי נתונים נפתחת.

שימוש בקובצי סכימה שמאוחסנים ב-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.apply
  • datamigration.conversionworkspaces.commit
  • datamigration.conversionworkspaces.convert
  • datamigration.conversionworkspaces.create
  • datamigration.conversionworkspaces.delete
  • datamigration.conversionworkspaces.get
  • datamigration.conversionworkspaces.getIamPolicy
  • datamigration.conversionworkspaces.list
  • datamigration.conversionworkspaces.rollback
  • datamigration.conversionworkspaces.seed
  • datamigration.conversionworkspaces.setIamPolicy
  • datamigration.conversionworkspaces.update

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

יצירת סביבת עבודה להמרת מסדי נתונים עם קובצי סכימה

כדי ליצור סביבת עבודה להמרת מסדי נתונים עם קובצי סכימה:

  1. מאחזרים את הסקריפטים של Python ממסוף Google Cloud . כך עושים את זה:
    1. במסוף Google Cloud , נכנסים לדף סביבות עבודה להמרת מסדי נתונים.

      לדף Conversion workspaces

    2. לוחצים על הגדרת סביבת עבודה.
    3. בדף יצירת סביבת עבודה להמרת מסדי נתונים:
      1. מזינים את השם, המזהה והאזור של סביבת העבודה.
      2. בתפריט הנפתח המנוע של מסד הנתונים של המקור, בוחרים באפשרות Oracle.
      3. בתפריט הנפתח המנוע של מסד הנתונים של היעד, בוחרים באפשרות AlloyDB ל-PostgreSQL.
      4. בקטע הפעלת ההגדרות של Gemini בסביבת העבודה, מסמנים את התיבות כדי להפעיל את תכונות ההמרה שמבוססות על Gemini ולוחצים על המשך.

        אתם יכולים גם להפעיל את התכונות האלה מאוחר יותר, כשרוצים להמיר קוד וסכימה בעזרת Gemini. כדי להשתמש בתכונות ההמרה שמבוססות על Gemini, צריך את Gemini for Google Cloud API. מידע נוסף זמין במאמר תכונות המרה מבוססות-Gemini.

    4. בדף Define source and pull schema snapshot, בקטע Source connection method, בוחרים באפשרות Cloud Storage.
    5. בקטע Before selecting a folder, ליד הכותרת Oracle metadata extractor, לוחצים על Open. פועלים לפי ההוראות שבחלונית הצדדית כדי להוריד את כלי החילוץ ולהריץ אותו במסד הנתונים של המקור, כדי ליצור את קובצי ה-JSON של המטא-נתונים של הסכימה. כדי להשתמש בכלי הזה, צריך להיות חיבור לרשת עם מסד הנתונים של המקור.
  2. יוצרים קטגוריה ייעודית ב-Cloud Storage ומעלים אליה את קובצי ה-JSON של המטא-נתונים של הסכימה. מידע נוסף על יצירת קטגוריות של Cloud Storage זמין במאמר יצירת קטגוריות במסמכי התיעוד של Cloud Storage.
  3. בתוך הקטגוריה הייעודית של Cloud Storage, יוצרים תיקייה ריקה ייעודית לקובצי הסכימה של מסד הנתונים שייצאתם בשלבים הקודמים. מידע נוסף על יצירת תיקיות ב-Cloud Storage זמין במאמר יצירה וניהול של תיקיות במסמכי התיעוד של Cloud Storage.
  4. מעלים רק את קובצי הסכימה של המטא-נתונים בפורמט JSON שיצרתם באמצעות הסקריפטים של Python שאחזרתם ממסוף Google Cloud בשלבים הקודמים, לתיקיית מסד הנתונים הייעודית והריקה בקטגוריה של Cloud Storage.
  5. ממשיכים ליצור את סביבת העבודה במסוף Google Cloud , או יוצרים סביבת עבודה חדשה באמצעות Google Cloud CLI.

    המסוף

    1. אחרי שמעלים את קובצי המטא-נתונים של הסכימה שחולצה לקטגוריה של Cloud Storage, ממשיכים בדף Define source and pull schema snapshot.
    2. בשדה Folder, לוחצים על Browse ובוחרים את התיקייה שמכילה את קובצי הסכימה.
    3. לוחצים על Pull schema snapshot and continue (שליפת תמונת מצב של הסכימה והמשך).

      עכשיו Database Migration Service מנתח את המטא-נתונים של הסכימה מהקטגוריה.

    4. בדף Select and convert objects, בוחרים את האובייקטים שרוצים להמיר ולוחצים על Convert and continue.

    gcloud

    אחרי שמעלים את קובצי המטא-נתונים של הסכימה שחולצו לקטגוריה של Cloud Storage, אפשר ליצור סביבת עבודה חדשה ולהפעיל אותה באמצעות Google Cloud CLI. איך לעשות את זה?

    1. יוצרים סביבת עבודה ריקה להמרת סכימות.
      מריצים את הפקודה הבאה (לוחצים כדי להרחיב):

      gcloud database-migration conversion-workspaces create

        gcloud database-migration conversion-workspaces create WORKSPACE_ID \
            --region=REGION \
            --source-database-engine=ORACLE \
            --destination-database-engine=POSTGRESQL

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫WORKSPACE_ID: המזהה של סביבת העבודה להמרת מסדי נתונים.
      • ‫REGION: האזור שבו רוצים ליצור את סביבת העבודה.
    2. מאתחלים את סביבת העבודה באמצעות קובצי הסכימה ב-Cloud Storage.
      כדי לנתח ולטעון את קובצי המטא-נתונים של הסכימה שמאוחסנים בקטגוריה לסביבת העבודה להמרת מסדי נתונים, מריצים את הפקודה הבאה (לוחצים כדי להרחיב):

      gcloud database-migration conversion-workspaces seed

        gcloud database-migration conversion-workspaces seed WORKSPACE_ID \
            --region=REGION \
            --gcs-path=gs://BUCKET_NAME/PREFIX/

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫WORKSPACE_ID: המזהה של סביבת העבודה להמרת מסדי נתונים.
      • ‫REGION: האזור שבו רוצים ליצור את סביבת העבודה.
      • ‫BUCKET_NAME: השם של הקטגוריה ב-Cloud Storage שמכילה את קובצי הסכימה.
      • ‫PREFIX: הנתיב לתיקייה שמכילה את קובצי המטא-נתונים של הסכימה שחולצו.

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

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