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