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

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

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

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

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

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

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

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

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

  • גודל: הגודל המינימלי של קובצי יומן 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;

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