Monitoring Progress of a SQL execution plan

posted Apr 26, 2012, 7:05 AM by Sachchida Ojha

You can monitor the progress of the execution plan of a SQL using the following SQL,

SQL> Select sid,sql_id,status,plan_line_id,plan_operation||' '||plan_options operation, output_rows
from v$sql_plan_monitor
where status not like '%DONE%'
order by 1,4;

SQL> desc v$sql_plan_monitor;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 KEY                            NUMBER
 STATUS                         VARCHAR2(19)
 FIRST_REFRESH_TIME                    DATE
 LAST_REFRESH_TIME                    DATE
 FIRST_CHANGE_TIME                    DATE
 LAST_CHANGE_TIME                    DATE
 REFRESH_COUNT                        NUMBER
 SID                            NUMBER
 PROCESS_NAME                        VARCHAR2(5)
 SQL_ID                         VARCHAR2(13)
 SQL_EXEC_START                     DATE
 SQL_EXEC_ID                        NUMBER
 SQL_PLAN_HASH_VALUE                    NUMBER
 SQL_CHILD_ADDRESS                    RAW(8)
 PLAN_PARENT_ID                     NUMBER
 PLAN_LINE_ID                        NUMBER
 PLAN_OPERATION                     VARCHAR2(30)
 PLAN_OPTIONS                        VARCHAR2(30)
 PLAN_OBJECT_OWNER                    VARCHAR2(30)
 PLAN_OBJECT_NAME                    VARCHAR2(30)
 PLAN_OBJECT_TYPE                    VARCHAR2(20)
 PLAN_DEPTH                        NUMBER
 PLAN_POSITION                        NUMBER
 PLAN_COST                        NUMBER
 PLAN_CARDINALITY                    NUMBER
 PLAN_BYTES                        NUMBER
 PLAN_TIME                        NUMBER
 PLAN_PARTITION_START                    VARCHAR2(64)
 PLAN_PARTITION_STOP                    VARCHAR2(64)
 PLAN_CPU_COST                        NUMBER
 PLAN_IO_COST                        NUMBER
 PLAN_TEMP_SPACE                    NUMBER
 STARTS                         NUMBER
 OUTPUT_ROWS                        NUMBER
 IO_INTERCONNECT_BYTES                    NUMBER
 PHYSICAL_READ_REQUESTS                 NUMBER
 PHYSICAL_READ_BYTES                    NUMBER
 PHYSICAL_WRITE_REQUESTS                NUMBER
 PHYSICAL_WRITE_BYTES                    NUMBER
 WORKAREA_MEM                        NUMBER
 WORKAREA_MAX_MEM                    NUMBER
 WORKAREA_TEMPSEG                    NUMBER
 WORKAREA_MAX_TEMPSEG                    NUMBER

SQL>


Comments