כדי להבין איך הנתונים עוברים מהמקור למכונה ביעד, צריך להבין שני מושגים חשובים: סוגי ההעברה ושלבי ההעברה. Database Migration Service תומך בשני סוגים של העברה: רציפה וחד-פעמית.
בהעברות רציפות, הנתונים מועברים בשני שלבים: dump מלא וסימון נתונים שהשתנו (CDC). העברות חד-פעמיות כוללות רק שלב של העברה מלאה.
שלב ה-dump המלא
שלב ה-dump המלא הוא החלק הראשון בתהליך ההעברה. במהלך ה-dump המלא, שירות Database Migration Service מתחבר למכונה של המקור, קורא את התוכן של מסדי הנתונים שבחרתם להעביר, ואז טוען את הנתונים למכונה של היעד ב-Cloud SQL ל-PostgreSQL. בשלב הזה, Database Migration Service מתעד את התוכן בפועל של מסד הנתונים. בהעברות חד-פעמיות, שינויים שבוצעו בנתונים באצווה שכבר נקראה לא מועברים.
בשלב ה-dump המלא, Database Migration Service יכול לפתוח כמה חיבורים למסדי הנתונים של המקור כדי לשפר את הביצועים. אתם יכולים להגדיר את מספר החיבורים בו-זמנית כשאתם יוצרים משימת העברה.
כדי לשלוט באופן פרטני בהעברת הנתונים, אתם יכולים גם לבצע את ה-dump המלא ולטעון את הנתונים למכונה של היעד בעצמכם, מחוץ ל-Database Migration Service. אם תבחרו לבצע את השלב הזה באופן ידני, משימת ההעברה תתחיל בשלב ה-CDC, ו-Database Migration Service יצפה שתספקו את מספר השינוי במערכת (SCN) של קובצי יומן ה-Redo כנקודת ההתחלה.
סימון נתונים שהשתנו (CDC)
בסיום שלב ההעברה המלאה (או אם בחרתם לבצע את ההעברה המלאה בעצמכם ולהתחיל בשלב ה-CDC), שירות Database Migration Service עובר לשלב ה-CDC, שבו הוא ממשיך לעקוב אחרי השינויים במסדי הנתונים של המקור, ואז משכפל אותם באופן רציף במכונה של היעד. בשלב הזה, Database Migration Service לא מעתיק נתונים בפועל ממסדי הנתונים של המקור, אלא קורא קובצי יומן כדי לשכפל את השינויים ביעד.
Database Migration Service משתמש ב-Oracle LogMiner API כדי לגשת לקובצי יומן Redo של Oracle שהועברו לארכיון במסד הנתונים של המקור, ולנתח אותם. לפני שמעבירים את מסדי הנתונים של Oracle ל-Cloud SQL ל-PostgreSQL באמצעות Database Migration Service, מומלץ לשנות את ההגדרות של קובצי יומן ה-Redo של Oracle כדי לשפר את הביצועים ואת נאמנות הנתונים. למידע נוסף, קראו את המאמר עבודה עם קובצי יומן Redo של Oracle.