שינוי קבצי redo log בסביבה של data guard - ilDBA Portal

שינוי קבצי redo log בסביבה של data guard

02/06/2014 | פורסם על ידי

לא מזמן הייתי אצל לקוח שהיה צריך לשנות את גודל קבצי ה-Redo Logs שלו בסביבה שבה היו מספר בסיסי נתונים של data guard.

שינוי גודל קבצי ה-redo log לא אמורה להיות בעיה קשה או מסובך במיוחד אבל כאשר מוסיפים את האלמנט של Data Guard אחד (או יותר) זה הופך להיות קצת יותר מאתגר.

אז איך מבצעים את הפעילות?

דבר ראשון ניזכר איך עושים resize לקבצי ה-redo log: יש למחוק את הקבצים ואז ליצור אותם מחדש.

כדי שנוכל לבצע מחיקה של קבצי redo log אנחנו צריכים לבדוק מה ה-status של הקבצים. אם הקבצים נמצאים במצב של Current (כלומר ה-commit-ים כותבים עכשיו לתוך הקובץ הזה) או במצב של Active (הקובץ עדיין לא סיים להיכתב כ-Archive log) אז לא ניתן יהיה לזרוק את הקובץ. אם הקבצים "תפוסים" אנחנו נצטרף לשחרר אותם ואת זה ניתן לבצע בכמה דרכים:

  1. נמתין שהם ישתחררו
  2. נבצע Alter system switch logfile וזה ישחרר את הקובץ מסטטוס של Current אבל יעביר אותו במרבית המקרים ל-Active.
  3. נבצע alter system checkpoint ו"נכריח" את בסיס הנתונים לסגור את הקבצים. זה ישחרר את כל הקבצים פרט לאחד שיהפוך להיות Current.
  4. נבצע פקודת Alter system archivelog current שתכתוב את הקובץ הנוכחי לדיסק בצורה סינכרונית.

אני באופן אישי מעדיף לעשות switch ואז checkpoint.

כדי לבדוק את הסטטוס:

 Select group#, status, bytes/1024/1024 from v$log; 

כדי למחוק redo group:

 Alter database drop logfile group 1; 

לאחר שנמחק את ה-redo log group (יש לשים לב אם יש יותר מ-member אחד ב-group) יש ליצור את ה-group מחדש. אם בחרנו לשמור על אותם השמות של קבצים יש להשתמש בפרמטר "reuse" שאומר לבסיס הנתונים שאם הקובץ כבר קיים, אנחנו נשתמש מחדש בשם שלו:

 Alter database add logfile group 1 file '/oracle/rdbms/orcl/redo/redo01.log' size 100m reuse; 

ניתן לבצע את הפעולה הזו לכל הקבצים פרט ל-group-ים שנמצאים ב-mode של current. לאחר שסיימנו להגדיל את כל הקבצים נוכל לבצע switch ו-checkpoint ולבצע את זה לקבוצה האחרונה. שאר הקבצים יסומנו בסטטוס של unused וזה תקין.

עד כאן, לא חידשתי כלום (אני מקווה). השאלה היא מה קורה כאשר יש לנו Physical data guard ועכשיו את השינוי הזה יש להעביר גם לבסיסי הנתונים של ה-DR?

הדבר הראשון שצריך להבין זה שהשינוי הזה, למרות העובדה שכנראה כיוונו את הפרמטר standby_file_managment ל-auto לא עובר לשאר בסיסי הנתונים. כדי שהשינוי הזה יקרה גם בסביבת ה-DR נצטרך לעבור בכל אחד מבסיסי הנתונים של ה-DR ולבצע את הפקודות האלה גם שם.

כדי לבצע את השינוי בסביבת Data guard נצטרך קודם כל להפסיק את ה-apply (לטובת הנוחות אני מראה את השלבים בשימוש ב-broker אבל אם אין לכם, אז אפשר לבצע את זה גם בלי זה):

dgmgrl sys/oracle

edit database orcldg set state=apply-off;

לאחר מכן, נפסיק את ניהול הקבצים האוטומטי (בלי זה, לא נוכל לעשות שינויים):

 edit database orcldg
set property StandbyFileManagement='manual';

נתחבר לבסיס הנתונים ב-Primary ונבצע מחיקה של ה-redo group כמו שביצענו קודם (כולל switch ו-checkpoint, אם צריך) וניצור את הקובץ מחדש.

alter database drop logfile group 2;

alter database add logfile '/home/oracle/app/oracle/oradata/orcl/redo02.log' size 100m reuse;

לאחר מכן, נתחבר לבסיס הנתונים של ה-standby ונבצע את אותו הדבר:

 alter database drop logfile group 2; 

אם ה-group תפוס נוכל לבצע משהו שלא יכולנו לבצע ב-primary – נרוקן בצורה יזומה את קובץ ה-redo log.

שימו לב: אין לבצע clear ל-redo group ב-primary. זה יגרום לכך שהשינויים שנכתבו ל-redo לא יכתבו ל-archive log וה-data guard שלנו יתקלקל. כדי לתקן אותו נצטרף להקים אותו מחדש!

 alter database clear logfile group 2; 

לאחר מכן ניצור את הקובץ מחדש:

 alter database add logfile '/home/oracle/app/oracle/oradata/orcldg/redo02.log' size 100m reuse; 

לאחר שנסיים את התהליך, נחזיר את ניהול הקבצים ל-auto ואת ה-apply ל-on:

 

dgmgrl sys/oracle

edit database orcldg set property StandbyFileManagement='auto';

edit database orcldg set state=apply-on;

זה כל הסיפור. לא מדובר בסיפור מורכב אבל עדיין יכול להיות קצת מבלבל כשלא רגילים… 🙂

The following two tabs change content below.
זהר אלקיים הוא Oracle DBA מאז 1998 ויועץ בכיר מאז 2007 ובעל תואר Oracle ACE Associate. הוא מתמחה בתשתיות בסיסי נתונים, ארכיטקטורה ושיפור ביצועים. זהר הוא גם מדריך, מרצה בכנסים ובלוגר באתר www.realdbamagic.com מאז 2010. כיום הוא משמש כיום כ-CTO בחברת בריליקס ומנהל את האתר ilDBA.

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

איך לבצע Sizing DB ב-Datacenter בארגונך בקלות (חלק א')

כחלק מהטמעות מוצרי IT תשתיתיים (כגון FWDB, מוצרי גיבוי, חוות Storage, מוצרי שו"ב ועוד…) בארגוני, אנו נדרשים המון פעמים לענות על שאלות לספקים כגון : מה גודל הכולל של ה –  Datacenter  ? מה חלוקת גודל ה [...]
מבוא

מבוא לבעיות ביצועים באורקל

The following two tabs change content below.BioLatest Posts עודד רז עודד רז, מנכ"ל חברת בריליקס ומייסד אתר זה. עודד הוא Oracle ACE Director ואחד מה-DBA-ים הבכירים ביותר בישראל, עם מעל 15 שנות ניסיון כ-DBA תשתיתי ואפליקטיבי. לעודד [...]

ה-SQL Performance Analyzer ב-Real Application Testing

בפוסט הקודם הזכרתי בקצרה את ה-SQL Performance Analyzer, בפוסט הזה אני אציג את ה-SPA, יתרונות וחסרונות של המוצר ואיך כדאי להשתמש [...]

מבוא ל- Real Application Testing

הפעם רציתי לסקור feature שלם שנקרא RAT (או בשמו המלא Real Application Testing). ה- feature הזה הוא database option של Oracle Enterprise Edition והוא לא חדש בכלל. הוא הוצג ב- 11gR1 וגם נמצא בשימוש לא מועט בעולם. משום מה, אצלנו בארץ לא יוצא [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: