אז מה קורה עם השליפה הזו?!?

כדי לדעת מה הסטטוס של שליפה שרצה ב-Parallel, כותבת ל-Temp ובכלל עושה המון שלבים, אפשר להשתמש בשליפה הזו:

SELECT TO_NUMBER(DECODE(sid, 65535, NULL, sid)) || '(' || qcsid || ')' sid,
       gv$sql_workarea_active.sql_id,
       operation_type || '(' || operation_id || ')' operation,
       TRUNC(work_area_size / 1024 / 1024) wsize,
       TRUNC(expected_size / 1024 / 1024) esize,
       TRUNC(actual_mem_used / 1024 / 1024) "MEM_USE(MB)",
       TRUNC(max_mem_used / 1024 / 1024) "MAX MEM(MB)",
       number_passes passes,
       active_time / 1000000 / 60 active_time,
       tempseg_size / 1024 / 1024 tempseg_size,
       ROWS_PROCESSED,
       tablespace tbs
  FROM gv$sql_workarea_active
  join gv$sqlarea
    on gv$sql_workarea_active.sql_id = gv$sqlarea.sql_id
 where gv$sql_workarea_active.sql_id like '1b66186na1r25%'
 ORDER BY tempseg_size desc nulls last

השליפה מקבלת SQL_ID וצריך לשים לב שאם יש יותר משליפה כזו בזמן מסויים, היא תחזיר את הסטטוס של כל השליפות מאותו ID שרצות באותו זמן.

1 תגובה
  1. אופיר
    אופיר says:

    הי זוהר,
    אני קצת מרפרף על הבלוג ונתקלתי בפוסט הזה.
    אם הלקוח מריץ 11g ויש לו רישיון ל-diagnostic/tuning, יש יכולת יפיפיה בשם SQL Monitoring שיכולה להיות רלבנטית.
    בעיקרון אורקל מנטר אוטומטית כל הרצה מקבילית וכל הרצה מעל חמש שניות. אתה יכול לקבל מידע מפורט על ההרצה בזמן שהיא קורית ואחרי שהיא הסתיימה, כולל איפה ב-plan אתה נמצא, כמה רשומות חזרו בפועל מכל שלב לעומת הצפי ועוד מידע מפורט לגבי מקביליות.
    מנסיוני זה עובד ממש יפה. תציץ בדוגמא פה:
    http://structureddata.org/2008/01/06/oracle-11g-real-time-sql-monitoring-using-dbms_sqltunereport_sql_monitor/

    הגב

השאירו תגובה

Want to join the discussion?
Feel free to contribute!

השאר תגובה

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