9.59 V$SQL_PLAN_MONITOR
V$SQL_PLAN_MONITOR
displays plan level monitoring statistics for each SQL statement found in V$SQL_MONITOR
. Each row in V$SQL_PLAN_MONITOR
corresponds to an operation of the execution plan being monitored. As with V$SQL_MONITOR
, statistics exposed in V$SQL_PLAN_MONITOR
are generally updated every second when the statement executes. These statistics are recycled on the same basis as V$SQL_MONITOR
.
To eliminate the overhead of SQL plan monitoring, statistics collected for each operation of the plan do not record timing information such as elapsed time, CPU time, or I/O time. Instead, this timing information can be estimated quite accurately by joining V$SQL_PLAN_MONITOR
with V$ACTIVE_SESSION_HISTORY
on SQL_ID
, SQL_EXEC_START
, SQL_EXEC_ID
, and SQL_PLAN_LINE_ID
(simply named PLAN_LINE_ID
in V$SQL_PLAN_MONITOR
). The result of that join is a sample of the activity performed by each operation in the plan, from which an estimate of CPU time and wait time can be derived. This can be achieved by breaking statement level monitoring time statistics found in V$SQL_MONITOR
in proportion to the number of samples found in V$ACTIVE_SESSION_HISTORY
for the corresponding activity type.
Column | Datatype | Description |
---|---|---|
|
|
The ID of the container to which the data pertains. Possible values include:
|
|
|
Foreign key to efficiently join |
|
|
SQL execution status:
|
|
|
Time when monitoring of the SQL statement started |
|
|
Time when statistics were last updated for the SQL statement |
|
|
First time a row was produced by this operation |
|
|
Last time a row was produced by this operation |
|
|
Number of times statistics have been refreshed |
|
|
Session identifier executing (or having executed) the SQL statement being monitored |
|
|
Process name identifier |
|
|
SQL identifier |
|
|
Time when the execution started |
|
|
Execution identifier |
|
|
SQL plan hash value |
|
|
Address of the child cursor |
|
|
ID of the next execution step that operates on the output of the current step |
|
|
Plan line number for the entry |
|
|
Plan operation name (from |
|
|
Plan option name (from |
|
|
Name of the user who owns the schema containing the table or index |
|
|
Name of the table or index |
|
|
Type of the object |
|
|
Depth (or level) of the operation in the tree. It is not necessary to issue a |
|
|
Order of processing for all operations that have the same |
|
|
Cost of the operation as estimated by the optimizer's cost-based approach. For statements that use the rule-based approach, this column is NULL. |
|
|
Estimate, by the cost-based optimizer, of the number of rows produced by the operation |
|
|
Estimate, by the cost-based optimizer, of the number of bytes produced by the operation |
|
|
Elapsed time (in seconds) of the operation as estimated by the optimizer's cost-based approach. For statements that use the rule-based approach, this column is NULL. |
|
|
Start partition of a range of accessed partitions |
|
|
Stop partition of a range of accessed partitions |
|
|
CPU cost of the operation as estimated by the optimizer's cost-based approach. For statements that use the rule-based approach, this column is NULL. |
|
|
I/O cost of the operation as estimated by the optimizer's cost-based approach. For statements that use the rule-based approach, this column is NULL. |
|
|
Temporary space usage of the operation (sort or hash-join) as estimated by the optimizer's cost-based approach. For statements that use the rule-based approach, this column is NULL. |
|
|
Number of times this operation was executed. For example, an operation is executed multiple times when it is on the right side of a nested-loop join (once for each row of the left input of that nested-loop join). |
|
|
Number of rows produced by this operation since the execution started. This number is cumulated for all executions of this operation. Divide by the value of the STARTS column to compute the average number of rows per execution of the operation. Note that the value in the |
|
|
Number of I/O bytes exchanged between Oracle Database and the storage system. Maintained only after Oracle starts to monitor the execution. |
|
|
Number of physical read I/O requests issued by the monitored SQL. Maintained only after Oracle starts to monitor the execution. |
|
|
Number of bytes read from disks by the monitored SQL. Maintained only after Oracle starts to monitor the execution. |
|
|
Number of physical write I/O requests issued by the monitored SQL. Maintained only after Oracle starts to monitor the execution. |
|
|
Number of bytes written to disks by the monitored SQL. Maintained only after Oracle starts to monitor the execution. |
|
|
Amount of memory (in bytes) used by the operation when the query is executing; NULL if the execution is done. This applies only to operations using a work area, such as sort, hash-join, group-by, and so on. |
|
|
Maximum value (in bytes) for |
|
|
Amount of temporary space (in bytes) used by the operation when the query is executing; NULL if the operation has not spilled to disk or if the execution is finished |
|
|
Maximum value (in bytes) for |
|
|
Plan line statistic group identifier (see |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 1 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 2 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 3 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 4 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 5 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 6 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 7 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 8 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 9 of that plan line |
|
|
Statistic identifier (see |
|
|
Reserved for internal use |
|
|
Value of statistic number 10 of that plan line |
|
|
Provides extra information specific to an execution step of the execution plan. The content of this column is structured using XML because it allows multiple pieces of information to be stored, including the following:
|
|
|
Indicates whether this plan operation was part of the final resolved plan |
See Also: