פוסטים

פיצ'ר חדש: המרה של אינדקסים באורקל 12c

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

הבעיה עם הפעילות הייתה שהאינדקס החדש שרצינו ליצור הכיל את אותן עמודות של האינדקס הקודם. זה אמר שאם רצינו ליצור אינדקס נוסף, לא יכולנו – אורקל מניח (ובצדק) שאין משמעות לשני אינדקסים על אותן עמודות ובאותו סדר ולא מאפשר את זה (ORA-1408).

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

אז מה עושים?
המשך קריאה…

בעיה מוזרה של תזמוני AWR (וגם איך מבצעים שינוי Timezone ב-RAC)

לאחרונה נתקלתי אצל לקוח בתופעה מוזרה – למרות ששרתי הלקוח היו בארצות הברית, הזמנים שנרשמו על דגימות ה-AWR הופיעו עם שעות של ישראל. באופן עקרוני לא אמורה להיות בעיה עם כזה דבר (לפעמים זה אפילו דיי נוח) אבל כשמתחילים להשתמש ב-ASH אז "לפני שעתיים" מוגדר אצלו לפי אזור הזמן המקומי (שהוא לוס אנג'לס) ולא לפי זה שמתחשב בדגימה (שהוא ישראל).
כשעשינו דגימה ידנית, אז הדגימה נכנסה עם השעה של המשתמש המקומי (לוס אנג'לס) ואחר כך חזרה לדגימות לפי שעון ישראל:

instance 1:
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ ----
8346 17 Mar 2014 17:00 1
8347 17 Mar 2014 08:07 1
8348 17 Mar 2014 17:30 1

instance 2:
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ ----
8346 17 Mar 2014 17:00 1
8347 17 Mar 2014 17:07 1
8348 17 Mar 2014 17:30 1

מה שיותר בלבל את העניינים היה שמדובר היה ב-RAC כך שהזמן של הדגימה בשני השרתים לא היה אותו הדבר!
המשך קריאה…

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

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

המשך קריאה…

הזזת קבצי datafile ב-online בגרסה Oracle 12c

לא מעט תכונות חדשות באורקל 12 גרמו לי להשמיע גרגורי עונג אבל הפיצ'ר הזה פשוט גרם לי להתפלא מה לקח להם כל כך הרבה זמן.
עד אורקל 12, כשרצינו להזיז קובץ של datafile ממקום למקום היינו צריכים לבצע את הפעולות הבאות (שהכריחו אותנו, בן היתר, להשבית בצורה חלקית את ה-tablespace):

  1. להעביר את ה-tablespace ל-offline.
  2. להעתיק או להעביר את הקובץ למיקום החדש באמצעות מערכת ההפעלה.
  3. לשנות את ההגדרה של ה-data file ב-control file:
  4. Alter database datafile '/old/datafile.dbf' rename to '/new/datafile.dbf';
    
  5. להחזיר את ה-tablespace למצב של online.

החל מגרסה 12, הפעולה של הזזת קובץ datafile יכולה להתבצע ב-online ללא השבתה של ה-tablespace.
המשך קריאה…

הרצאה שלי בפורום DBA מרכז של ilOUG

אהלן,

לא יצא לי לכתוב לאחרונה אבל רציתי לספר שמחר (יום שלישי (10/12/13) אני מרצה בפורום DBA מרכז של ilOUG. ההרצאה שלי היא ההרצאה המסכמת של הכנס (מתחילה ב-17:00) והיא תהיה בנושא Pluggable Database ב-Oracle 12c. מדובר באחד הפיצ'רים המעניינים ביותר בגרסה החדשה של אורקל – פיצ'ר שגורר אחריו שינוי ארכיטקטוני משמעותי במבנה ה-DB. זהו נושא שיצא לי לחקור לא מעט במסגרת פעילות אצל לקוח ואפילו הייתי בכמה הרצאות בנושא ב-Open World 2013 בסן פרנסיסקו.

לצערי אין לי יותר מדי זמן לכתוב לאחרונה אבל אני מבטיח להעלות הרבה ממה שחקרתי בעתיד הקרוב.. 🙂

רשמים על הכנס אעדכן מחר – אתם מוזמנים לבוא להקשיב להרצאה (מקורות מוסרים שיהיו למעלה מ-110 משתתפים בהרצאה).

סמינר שבוע אורקל: Oracle Data Guard from A to Z – הסקריפט

במסגרת שבוע אורקל העברתי מצגת על Oracle Data Guard – A to Z. זה הסמינר האהוב עלי – יצרתי אותו לפני כשנתיים ובשנה שעבר לא העברתי אותו מסיבות בירוקרטיות-טכניות. במסגרת הסמינר אני מעביר המון אינפורמציה על הארכיטקטורה של הפתרון, איך משתמשים בו ואיך עובדים איתו – את כל זה ניתן למצוא בפוסט שפרסמתי כאן עם המצגת של הסמינר.

במסגרת הסמינר אני מבצע גם דמו ארוך ועתיר שלבים שמציג איך יוצרים, עובדים ומנהלים סביבה כזו של Data Guard ו-DG Broker.

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

המשך קריאה…