ניטור מתקדם של השימוש באינדקסים במערכת - ilDBA Portal

ניטור מתקדם של השימוש באינדקסים במערכת

21/02/2011 | פורסם על ידי

קראתי את הפוסט “מציאת אינדקסים אשר אינם בשימוש” שכתבה רוני ורד באתר, ומצאתי לנכון להרחיב.

נכון, אורקל מספקת החל מגירסא 9 את היכולת לנטר באמצעות monitoring שימוש באינדקסים.
ניטור זה נותן לנו תשובה כללית: “כן היה שימוש” או “לא היה שימוש” אך לא מספק מידע אודות אופי השימוש והתדירות שלו – מידע שיכול להיות בעל חשיבות רבה בעת ההחלטה האם להשאירו/לשנותו או לוותר עליו לגמרי.

במקום, או אולי בנוסף אם תרצו, תרשו לי להציע את האפשרות לסרוק את v$sql_plan, או אם תרצו לדגום אחורנית, אז את wrh$_sql_plan  וללמוד מהם איזה sql_id עבדו עם האינדקס הרצוי,  באיזה תדירות השתמשו בו ובאיזה אופן השתמשו בו (range scan, full scan etc).

לדוגמא:

select a.executions,a.sql_id,b.operation, options
from
v$sql a,
v$sql_plan b
where a.sql_id=b.sql_id
and b.object_type='INDEX'
and object_name='MY_INDEX_NAME';

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

באופן זה אפשר להוסיף חיתוכים רבים (לפי מינימום IO/מינימום ריצות/לפי schema מסויימת וכדומה).  עם תוצר שכזה, אפשר להתקדם קדימה בבטחה ולהחליט מה יהיה גורלו של האינדקס.  ואגב, זה המקום אולי לומר שגם אם האינדקס בשימוש – אין זה אומר שאין לו בהכרח חלופה טובה ושצריך לבדוק את הcursors שמשתמשים בו לעומק לפני שנופלת החלטה.

ובשביל הקוריוז…  החל מגירסא 11g, ניתן להעביר אינדקס למצב Invisible. מצב זה מאפשר לאורקל להמשיך ולתחזק את האינדקס בצורה מלאה, אבל מונע מה-Optimizer מלראות אותו ולכן לא יהיה בו שימוש.

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

כאמור, זה יותר קוריוז מהמלצה 🙂 – בוודאי לא במערכות ייצור או Production

פרטים נוספים על Unusable Indexes:

נ.ב – מספרים לי במערכת האתר שכבר מתבשלים מאמרים נוספים על אינדקסים שימשיכו להעשיר את הידע שלנו בנושא.

מקווים שזה עוזר,

נתראה ברשומה הבאה !
גלית קוקה אלעד, יועצת בכירה ב-Oracle ACS
The following two tabs change content below.

השאר תגובה:

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

*



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

איך לבצע 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 בלוגרים אהבו את זה: