V$SQLAREA_PLAN_HASH
displays statistics on shared SQL area (V$SQL
) by grouping on the SQL_ID
and PLAN_HASH_VALUE
columns. It can potentially create several rows for one parent cursor, one for each distinct value of the column PLAN_HASH_VALUE
.
Column | Datatype | Description |
---|---|---|
SQL_TEXT |
VARCHAR2(1000) |
First thousand characters of the SQL text for the current cursor |
SQL_FULLTEXT |
CLOB |
All characters of the SQL text for the current cursor |
ADDRESS |
RAW(4) |
Address of the handle to the parent for this cursor |
HASH_VALUE |
NUMBER |
Hash value of the parent statement in the library cache |
SQL_ID |
VARCHAR2(13) |
SQL identifier of the parent cursor in the library cache |
PLAN_HASH_VALUE |
NUMBER |
Numerical representation of the SQL plan for this cursor. Comparing one PLAN_HASH_VALUE to another easily identifies whether or not two plans are the same (rather than comparing the two plans line by line) |
VERSION_COUNT |
NUMBER |
Number of child cursors that are present in the cache under this parent |
LAST_ACTIVE_CHILD_ADDRESS |
RAW(4) |
Address (identifier) of the child cursor that was the last to be active in the group (that is, the child cursor on behalf of which statistics in V$SQL were updated) |
SHARABLE_MEM |
NUMBER |
Amount of shared memory used by a cursor. If multiple child cursors exist, then it is the sum of all shared memory used by all child cursors. |
PERSISTENT_MEM |
NUMBER |
Fixed amount of memory used for the lifetime of an open cursor. If multiple child cursors exist, it is the fixed sum of memory used for the lifetime of all the child cursors. |
RUNTIME_MEM |
NUMBER |
Fixed amount of memory required during execution of a cursor. If multiple child cursors exist, the fixed sum of all memory required during execution of all the child cursors. |
SORTS |
NUMBER |
Sum of the number of sorts that were done for all the child cursors |
LOADED_VERSIONS |
NUMBER |
Number of child cursors that are present in the cache and that have their context heap (KGL heap 6) loaded |
OPEN_VERSIONS |
NUMBER |
The number of child cursors that are currently open under this parent |
USERS_OPENING |
NUMBER |
Number of users that have any of the child cursors open |
USERS_EXECUTING |
NUMBER |
Total number of users executing the statement over all child cursors |
FETCHES |
NUMBER |
Number of fetches associated with the SQL statement |
EXECUTIONS |
NUMBER |
Total number of executions, totalled over all the child cursors |
PK_SERVERS_EXECUTIONS |
NUMBER |
Total number of executions performed by Parallel eXecution Servers. The value is 0 when the statement has never been executed in parallel. |
END_OF_FETCH_COUNT |
NUMBER |
Number of times this cursor was fully executed since the cursor was brought into the library cache. The value of this statistic is not incremented when the cursor is partially executed, either because it failed during the execution or because only the first few rows produced by this cursor are fetched before the cursor is closed or re-executed. By definition, the value of the END_OF_FETCH_COUNT column should be less or equal to the value of the EXECUTIONS column. |
LOADS |
NUMBER |
Number of times the object was loaded or reloaded |
FIRST_LOAD_TIME |
DATE |
Timestamp of the parent creation time |
LAST_LOAD_TIME |
DATE |
Time at which the query plan (heap 6) was loaded into the library cache |
LAST_ACTIVE_TIME |
DATE |
TIme at which the query plan was last active |
INVALIDATIONS |
NUMBER |
Total number of invalidations over all the child cursors |
PARSE_CALLS |
NUMBER |
Sum of all parse calls to all the child cursors under this parent |
DISK_READS |
NUMBER |
Sum of the number of disk reads over all child cursors |
DIRECT_WRITES |
NUMBER |
Sum of the number of direct writes over all child cursors |
BUFFER_GETS |
NUMBER |
Sum of buffer gets over all child cursors |
CPU_TIME |
NUMBER |
CPU time (in microseconds) used by this cursor for parsing, executing, and fetching |
ELAPSED_TIME |
NUMBER |
Elapsed time (in microseconds) used by this cursor for parsing, executing, and fetching |
APPLICATION_WAIT_TIME |
NUMBER |
Application wait time (in microseconds) |
CONCURRENCY_WAIT_TIME |
NUMBER |
Concurrency wait time (in microseconds) |
CLUSTER_WAIT_TIME |
NUMBER |
Cluster wait time (in microseconds) |
USER_IO_WAIT_TIME |
NUMBER |
User I/O wait time (in microseconds) |
PLSQL_EXEC_TIME |
NUMBER |
PL/SQL execution time (in microseconds) |
JAVA_EXEC_TIME |
NUMBER |
Java execution time (in microseconds) |
ROWS_PROCESSED |
NUMBER |
Total number of rows processed on behalf of this SQL statement |
COMMAND_TYPE |
NUMBER |
Oracle command type definition |
OPTIMIZER_MODE |
VARCHAR2(10) |
Mode under which the SQL statement was executed |
OPTIMIZER_COST |
NUMBER |
Cost of this query given by the optimizer |
OPTIMIZER_ENV |
RAW(695) |
Optimizer environment |
OPTIMIZER_ENV_HASH_VALUE |
NUMBER |
Hash value for the optimizer environment |
PARSING_USER_ID |
NUMBER |
User ID of the user that has parsed the very first cursor under this parent |
PARSING_SCHEMA_ID |
NUMBER |
Schema ID that was used to parse this child cursor |
PARSING_SCHEMA_NAME |
VARCHAR2(30) |
Schema name that was used to parse this child cursor |
KEPT_VERSIONS |
NUMBER |
Number of child cursors that have been marked to be kept using the DBMS_SHARED_POOL package |
MODULE |
VARCHAR2(64) |
Contains the name of the module that was executing at the time that the SQL statement was first parsed as set by calling DBMS_APPLICATION_INFO .SET_MODULE |
MODULE_HASH |
NUMBER |
Hash value of the module that is named in the MODULE column |
ACTION |
VARCHAR2(64) |
Contains the name of the action that was executing at the time that the SQL statement was first parsed as set by calling DBMS_APPLICATION_INFO.SET_ACTION |
ACTION_HASH |
NUMBER |
Hash value of the action that is named in the ACTION column |
SERIALIZABLE_ABORTS |
NUMBER |
Number of times the transaction fails to serialize, producing ORA-08177 errors, totalled over all the child cursors |
OUTLINE_CATEGORY |
VARCHAR2(64) |
If an outline was applied during construction of the cursor, then this column displays the category of that outline. Otherwise, the column is left blank. |
OUTLINE_SID |
VARCHAR2(40) |
Outline session identifier |
REMOTE |
VARCHAR2(1) |
Indicates whether the cursor is remote mapped (Y ) or not (N ) |
OBJECT_STATUS |
VARCHAR2(19) |
Status of the cursor:
|
LITERAL_HASH_VALUE |
NUMBER |
Hash value of the literals which are replaced with system-generated bind variables and are to be matched, when CURSOR_SHARING is used. This is not the hash value for the SQL statement. If CURSOR_SHARING is not used, then the value is 0. |
SQL_PROFILE |
VARCHAR2(64) |
SQL profile |
PROGRAM_ID |
NUMBER |
Program identifier |
PROGRAM_LINE# |
NUMBER |
Program line number |
EXACT_MATCHING_SIGNATURE |
NUMBER |
The signature used when the CURSOR_SHARING parameter is set to EXACT |
FORCE_MATCHING_SIGNATURE |
NUMBER |
The signature used when the CURSOR_SHARING parameter is set to FORCE |
BIND_DATA |
RAW(2000) |
Bind data |