עבודה עם קובצי יומן Redo של מסד נתונים של Oracle

במהלך סימון נתונים שהשתנו (CDC), Datastream קורא קבצים של יומן Redo של Oracle כדי לעקוב אחרי שינויים במסדי הנתונים של המקור ולשכפל אותם למכונה היעד. לכל מסד נתונים של Oracle יש קבוצה של קבצים של יומני שינויים (redo log) באינטרנט. כל רשומות העסקאות במסד הנתונים מתועדות בקבצים. כשקובץ היומן הנוכחי של הפעולות החוזרות עובר רוטציה (או מוחלף), תהליך הארכיון מעתיק את הקובץ הזה לאחסון ארכיון. בינתיים, מסד הנתונים מקדם קובץ אחר כדי שישמש כקובץ הנוכחי.

המחבר של Datastream Oracle מחלץ אירועים של לכידת נתוני שינוי (CDC) מקובצי יומן שינויים של Oracle שנשמרו בארכיון.

גישה לקובצי יומן Redo

ב-Datastream אפשר להשתמש ב-Oracle LogMiner API או בשיטה של קריאת קבצים בינאריים כדי לגשת לקובצי יומן Redo:

  • Oracle LogMiner: כלי מוכן לשימוש שכלול במסדי נתונים של Oracle. אם מגדירים את Datastream לשימוש ב-Oracle LogMiner API,‏ Datastream יכול לעבוד רק עם קובצי יומן שינויים שנשמרו בארכיון. אין תמיכה בקובצי יומן שינויים אונליין. השיטה LogMiner API היא בעלת ת'רד יחיד, ולכן היא כפופה לזמן אחזור גבוה יותר ולתפוקה נמוכה יותר כשעובדים עם מסדי נתונים של מקורות עם מספר גדול של עסקאות. ‫LogMiner תומך ברוב סוגי הנתונים ובתכונות של מסד הנתונים של Oracle.

  • Binary reader (תצוגה מקדימה): כלי מיוחד עם ביצועים גבוהים שפועל עם קובצי יומן Redo באינטרנט וגם עם קובצי יומן Redo בארכיון. הכלי Binary reader יכול לגשת לקובצי היומן באמצעות Automatic Storage Management‏ (ASM) או על ידי קריאת הקבצים ישירות באמצעות אובייקטים של ספריות מסד נתונים. קורא הבינארי הוא ריבוי-הליכי משנה ותומך ב-CDC עם השהיה נמוכה. בנוסף, היא יוצרת השפעה נמוכה על מסד הנתונים המקורי, כי יומני הרישום מנותחים מחוץ לפעולות של מסד הנתונים. שיטת ה-CDC של קורא בינארי כוללת תמיכה מוגבלת בסוגים מסוימים של נתונים או בתכונות מסוימות. מידע נוסף זמין במאמר בנושא מגבלות ידועות.

הגדרת פרמטרים של קובצי יומן Redo של Oracle

לעיצוב הזה יש השלכות משמעותיות על זמן האחזור הפוטנציאלי של Datastream. אם יומני ה-Redo של Oracle מוחלפים בתדירות גבוהה או נשמרים בגודל קטן יותר (למשל, < 256MB), ‏ Datastream יכול לשכפל שינויים מהר יותר.

יש פרמטרים להגדרות שאפשר להגדיר כדי לשלוט בתדירות של סבב קובצי היומן:

  • גודל: הגודל המינימלי של קובצי יומן Redo אונליין הוא 4MB, והגודל שמוגדר כברירת מחדל תלוי במערכת ההפעלה. אפשר לשנות את הגודל של קובצי היומן על ידי יצירת קובצי יומן חדשים באינטרנט והסרת קובצי היומן הישנים.

    כדי למצוא את הגודל של קובצי יומן Redo באינטרנט, מריצים את השאילתה הבאה:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • הזמן: הפרמטר ARCHIVE_LAG_TARGET מספק מגבלה עליונה של משך הזמן (בשניות) שיומן הרישום הנוכחי של מסד הנתונים הראשי יכול להימשך.

    זה לא הזמן המדויק של החלפת היומן, כי הוא כולל את הזמן שיידרש לארכיון של היומן. ערך ברירת המחדל הוא 0 (ללא גבול עליון), ומומלץ להשתמש בערך סביר של 1800 (או 30 דקות) או פחות.

    אפשר להשתמש בפקודות הבאות כדי להגדיר את הפרמטר ARCHIVE_LAG_TARGET, במהלך האתחול או בזמן שהמסד נתונים פועל:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; הפקודה הזו מציגה את מספר השניות שיידרשו כדי שהיומן הנוכחי יכסה את כל התקופה.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; משתמשים בפקודה הזו כדי לשנות את הגבול העליון.

      לדוגמה, כדי להגדיר את המגבלה העליונה ל-10 דקות (או 600 שניות), מזינים ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;

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