
דוחות AWR הינם דרך מעולה לבצע Tuning ב-Oracle. כולנו מכירים את הדרך הרגילה והלא כל כך נוחה ליצירה של דו”ח AWR – התחברות לשרת ה-Database ב-Remote desktop או SSH, ביצוע login כ-SYS ל-Instance והרצה של סקריפט ה-awrrpt.sql.
למרות שזו הדרך המוכרת לרובנו, היא לא תמיד הנוחה ביותר. לא תמיד יש לנו גישה מרחוק לשרת ולפעמים העתקה של קבצי ה-AWR שנוצרו על השרת למחשב שלנו אינו תהליך קל או נוח.
קיימת דרך נוספת וקלה במיוחד לייצר דוח AWR ישירות מתוך SQL*Plus או SQL*Developer על ידי שימוש בפרוצדורת PL/SQL בשם dbms_workload_repository.awr_report_html. ה-Package הנ”ל מאפשר לנו לייצר בקלות דוח AWR מרחוק – מבלי להתחבר לשרת ה-DB וללא צורך להעתיק קבצים מקומית למחשב שלנו.
בשביל לייצר דוח AWR בשיטה זו אנחנו נריץ את dbms_workload_repository.awr_report_html ונעביר כפרמטרים את ה-SNAP_IDs עבורם אנחנו רוצים לייצר את דו”ח ה-AWR.
הפלט של הריצה הינו תוכן ה-HTML של קובץ ה-AWR. ביצוע Copy and paste פשוט לתוך קובץ ריק ושמירה של הקובץ כ-HTML מייצר עבורנו את דוח ה–AWR בצורה קלה ומהירה.
דוגמא – יצירת דוח AWR באמצעות dbms_workload_repository.awr_report_html:
1. בשלב ראשון עלינו לבחור את ה-Snapshot IDs של תקופת הזמן עליה אנחנו רוצים לייצר את דוח ה-AWR. ניתן לשלוף רשימה של כל ה-Snapshot IDs ב-Database על ידי הרצה של הפקודה הבאה:
SELECT DBID, snap_id, begin_interval_time, end_interval_time FROM dba_hist_snapshot ORDER BY 2 desc;
DBID SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME ---------------------- ---------------------- ------------------------- ------------------- 2464432 23819 16-MAR-11 15.00.16.718000000 16-MAR-11 15.15.4 2464432 23818 16-MAR-11 14.45.43.625000000 16-MAR-11 15.00.1 …
שאילתא זו תחזיר לנו פלט הכולל את ה-DBID של ה-Database אליו אנחנו מחוברים, ה-Sanpshot ID וזמן ההתחלה והסיום של כל Snapshot.
2. על מנת לייצר את דוח AWR עצמו בטווח של שני Snapshot IDs נריץ את הפקודה הבאה (שימו לב שהעברנו לפרוצדורה את הפרמטרים של ה-DBID וה-Snapshots IDs ששלפנו בסעיף הקודם):
select * from table(dbms_workload_repository.awr_report_html(<DBID>, <INSTANCE NUMBER>, <BEGIN_SNAP>, <END_SNAP>));
לדוגמא:
select * from table(dbms_workload_repository.awr_report_html(2464432, 1, 27245, 27256));
הפלט של הרצת הפקודה הינו דוח AWR מלא בפורמט HTML. כל שורה בפלט הינה שורה בקובץ ה-HTML של דו”ח ה-AWR.
3. על מנת לייצר מהפלט דוח AWR קריא נבצע Ctrl+A על מנת לבחור את כל השורות בפלט ו-Ctrl+C על מנת להעתיק את השורות.
4. נייצר קובץ טקסט ריק על ה-Desktop ונבצע Paste לשורות שהעתקנו.
5. נשנה את הסיומת של הקובץ ל- my_awr_report.html. לחיצה כפולה על הקובץ תפתח את דוח ה-AWR ישירות בדפדפן. פשוט וקל!
Happy tuning!