Note
- For V4.3.x, this view was renamed to GV$OB_ACTIVE_SESSION_HISTORY starting from V4.3.5. For V4.2.x, this view was renamed to GV$OB_ACTIVE_SESSION_HISTORY starting from V4.2.2.
- This view is available starting with V4.0.0.
Purpose
This view displays the active session history of all OBServer nodes in the current tenant.
Columns
| Column | Type | Nullable? | Description |
|---|---|---|---|
| SVR_IP | VARCHAR2(46) | NO | The IP address of the server to which the sample belongs. |
| SVR_PORT | NUMBER | NO | The port number of the server to which the sample belongs. |
| SAMPLE_ID | NUMBER | NO | The unique ID of the sample. |
| SAMPLE_TIME | TIMESTAMP(6) | NO | The sample time. |
| CON_ID | NUMBER | NO | The tenant ID. |
| USER_ID | NUMBER | NO | The user ID of the sampled session. |
| SESSION_ID | NUMBER | NO | The ID of the sampled session. For V4.3.x:
|
| SESSION_TYPE | VARCHAR2(10) | NO | The session type. Valid values: |
| SESSION_STATE | VARCHAR2(7) | NO | The session state. Valid values: EVENT field. |
| SQL_ID | VARCHAR2(32) | NO | The SQL ID. |
| PLAN_ID | NUMBER | NO | The plan ID of the sampled SQL in the plan cache. This ID is used to associate the sampling point with the plan. |
| TRACE_ID | VARCHAR2(64) | NO | The trace ID of the operator. |
| EVENT | VARCHAR2(64) | NO | The description of the wait event. |
| EVENT_NO | NUMBER | NO | The internal number of the wait event. This number is used to associate the wait event with other tables. |
| EVENT_ID | NUMBER | NO | The ID of the current wait event.
Note
|
| P1TEXT | VARCHAR2(64) | NO | The name of parameter 1 of the wait event. The name varies with the value of the EVENT field. |
| P1 | NUMBER | NO | The value of parameter 1 of the wait event. |
| P2TEXT | VARCHAR2(64) | NO | The name of parameter 2 of the wait event. The name varies with the value of the EVENT field. |
| P2 | NUMBER | NO | The value of parameter 2 of the wait event. |
| P3TEXT | VARCHAR2(64) | NO | The name of parameter 3 of the wait event. The name varies with the value of the EVENT field. |
| P3 | NUMBER | NO | The value of parameter 3 of the wait event. |
| WAIT_CLASS | VARCHAR2(64) | NO | The type of the wait event. |
| WAIT_CLASS_ID | NUMBER | NO | The ID of the wait event type. This ID is used to associate the wait event with other tables. |
| TIME_WAITED | NUMBER | NO | The total waiting time of the wait event, in microseconds (us). |
| SQL_PLAN_LINE_ID | NUMBER | NO | The ID of the SQL operator in the SQL plan at the time of sampling. |
| GROUP_ID | NUMBER | NO | The ID of the resource group to which the session belongs. |
| PLAN_HASH | NUMBER | NO | The plan hash of the SQL statement currently being executed. |
| THREAD_ID | NUMBER | NO | The ID of the thread to which the active session belongs. |
| STMT_TYPE | NUMBER | NO | The type of the SQL statement of the active session. |
| TIME_MODEL | NUMBER | NO | time model information. This column contains the data of all IN_XXX fields, such as IN_PARSE and IN_PL_PARSE. |
| IN_PARSE | VARCHAR2(1) | NO | Indicates whether the session is performing SQL parsing at the sampling time. |
| IN_PL_PARSE | VARCHAR2(1) | NO | Indicates whether the session is performing SQL PL parsing at the sampling time. |
| IN_PLAN_CACHE | VARCHAR2(1) | NO | Indicates whether the session is performing plan cache matching at the sampling time. |
| IN_SQL_OPTIMIZE | VARCHAR2(1) | NO | Indicates whether the session is performing SQL parsing optimization at the sampling time. |
| IN_SQL_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session is performing SQL execution at the sampling time. |
| IN_PX_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session is performing parallel SQL execution at the sampling time. When the session is in this state, it must also be in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | VARCHAR2(1) | NO | Indicates whether the session is performing value retrieval for an auto-increment column or a sequence at the sampling time. |
| IN_COMMITTING | VARCHAR2(1) | NO | Indicates whether the sampling point is in the transaction commit phase.
NoteThis column is available starting with V4.2.1. |
| IN_STORAGE_READ | VARCHAR2(1) | NO | Indicates whether the sampling point is in the storage read phase.
NoteThis column is available starting with V4.2.1. |
| IN_STORAGE_WRITE | VARCHAR2(1) | NO | Indicates whether the sampling point is in the storage write phase.
NoteThis column is available starting with V4.2.1. |
| IN_REMOTE_DAS_EXECUTION | VARCHAR2(1) | NO | Indicates whether the sampling point is in the DAS remote execution phase.
NoteThis column is available starting with V4.2.1. |
| IN_FILTER_ROWS | VARCHAR2(1) | NO | Indicates whether the sampling point is in the storage push-down execution phase. |
| IN_RPC_ENCODE | VARCHAR2(1) | NO | Indicates whether the current SQL is performing serialization. |
| IN_RPC_DECODE | VARCHAR2(1) | NO | Indicates whether the current SQL is performing deserialization. |
| IN_CONNECTION_MGR | VARCHAR2(1) | NO | Indicates whether the current SQL is performing connection establishment. |
| PROGRAM | VARCHAR2(64) | NO | The name of the program being executed at the sampling point:
|
| MODULE | VARCHAR2(64) | NO | The MODULE value recorded by the session at the sampling time. This value is set by using the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | VARCHAR2(64) | NO | The ACTION value recorded by the session at the sampling time. This value is set by using the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | VARCHAR2(64) | NO | The CLIENT_ID value recorded by the session at the sampling time. This value is set by using the DBMS_SESSION.set_identifier package. |
| BACKTRACE | VARCHAR2(512) | NO | An auxiliary debugging field used to record the code call stack at the time of the event. The value of this field is always NULL. |
| TM_DELTA_TIME | NUMBER | NO | The time interval for calculating the time model, in microseconds.
Note
|
| TM_DELTA_CPU_TIME | NUMBER | NO | The amount of time spent on the CPU during the TM_DELTA_TIME period.
Note
|
| TM_DELTA_DB_TIME | NUMBER | NO | The amount of time spent on database calls during the TM_DELTA_TIME period.
Note
|
| TOP_LEVEL_SQL_ID | CHAR(32) | NO | The SQL ID of the top-level SQL statement.
Note
|
| IN_PLSQL_COMPILATION | VARCHAR2(1) | NO | The PL compilation status: Y or N.
Note
|
| IN_PLSQL_EXECUTION | VARCHAR2(1) | NO | The PL execution status: Y or N.
Note
|
| PLSQL_ENTRY_OBJECT_ID | NUMBER | NO | The object ID of the top-level PL statement.
Note
|
| PLSQL_ENTRY_SUBPROGRAM_ID | NUMBER | NO | The subprogram ID of the top-level PL statement.
Note
|
| PLSQL_ENTRY_SUBPROGRAM_NAME | VARCHAR2(32) | NO | The subprogram name of the top-level PL statement.
Note
|
| PLSQL_OBJECT_ID | NUMBER | NO | The object ID of the PL statement currently being executed.
Note
|
| PLSQL_SUBPROGRAM_ID | NUMBER | NO | The subprogram ID of the PL statement currently being executed.
Note
|
| PLSQL_SUBPROGRAM_NAME | VARCHAR2(32) | NO | The subprogram name of the PL statement currently being executed.
Note
|
| TX_ID | NUMBER | NO | The transaction ID.
Note
|
| BLOCKING_SESSION_ID | NUMBER | NO | The session ID of the session that is blocking the current session. This column is valid only in lock conflict scenarios, and displays the session ID of the session that holds the lock.
Note
|
| TABLET_ID | NUMBER | NO | The ID of the tablet that is being processed by the current SQL statement.
Note
|
| PROXY_SID | NUMBER | NO | The proxy session ID.
Note
|
| DELTA_READ_IO_REQUESTS | NUMBER(38) | NO | The number of read requests between two sampling intervals.
Note
|
| DELTA_READ_IO_BYTES | NUMBER(38) | NO | The total size of files read between two samples.
Note
|
| DELTA_WRITE_IO_REQUESTS | NUMBER(38) | NO | The number of writes between two samples.
Note
|
| DELTA_WRITE_IO_BYTES | NUMBER(38) | NO | The total size of files written between two samples.
Note
|
Sample query
Query the active session history of all OBServer nodes in the current tenant.
obclient [SYS]> SELECT * FROM SYS.GV$OB_ACTIVE_SESSION_HISTORY WHERE ROWNUM = 1\G
The query result is as follows:
*************************** 1. row ***************************
SVR_IP: xx.xx.xx.xx
SVR_PORT: 2882
SAMPLE_ID: 1163912
SAMPLE_TIME: 28-APR-25 05.23.05.458664 PM
CON_ID: 1004
USER_ID: 200001
SESSION_ID: 2305843009213714851
SESSION_TYPE: BACKGROUND
SESSION_STATE: WAITING
SQL_ID: NULL
PLAN_ID: 0
TRACE_ID: NULL
EVENT: exec inner sql wait
EVENT_NO: 100
EVENT_ID: 30000
P1TEXT: wait inner sql class
P1: 30001
P2TEXT: inner session id
P2: 4611686018518671575
P3TEXT: NULL
P3: 0
WAIT_CLASS: OTHER
WAIT_CLASS_ID: 100
TIME_WAITED: 19578
SQL_PLAN_LINE_ID: NULL
GROUP_ID: 0
PLAN_HASH: NULL
THREAD_ID: 51154
STMT_TYPE: NULL
TIME_MODEL: 0
IN_PARSE: N
IN_PL_PARSE: N
IN_PLAN_CACHE: N
IN_SQL_OPTIMIZE: N
IN_SQL_EXECUTION: N
IN_PX_EXECUTION: N
IN_SEQUENCE_LOAD: N
IN_COMMITTING: N
IN_STORAGE_READ: N
IN_STORAGE_WRITE: N
IN_REMOTE_DAS_EXECUTION: N
IN_FILTER_ROWS: N
IN_RPC_ENCODE: N
IN_RPC_DECODE: N
IN_CONNECTION_MGR: N
PROGRAM: T1004_TenantWeakReadService
MODULE: TenantWeakReadService
ACTION: gen_cluster_version
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 5086155
TM_DELTA_CPU_TIME: 45447
TM_DELTA_DB_TIME: 915630
TOP_LEVEL_SQL_ID: NULL
IN_PLSQL_COMPILATION: N
IN_PLSQL_EXECUTION: N
PLSQL_ENTRY_OBJECT_ID: NULL
PLSQL_ENTRY_SUBPROGRAM_ID: NULL
PLSQL_ENTRY_SUBPROGRAM_NAME: NULL
PLSQL_OBJECT_ID: NULL
PLSQL_SUBPROGRAM_ID: NULL
PLSQL_SUBPROGRAM_NAME: NULL
TX_ID: NULL
BLOCKING_SESSION_ID: 4611686018518671575
TABLET_ID: NULL
PROXY_SID: 2305843009213714851
DELTA_READ_IO_REQUESTS: 0
DELTA_READ_IO_BYTES: 0
DELTA_WRITE_IO_REQUESTS: 0
DELTA_WRITE_IO_BYTES: 0
References
After you obtain the active session history, you can generate an ASH report for analysis as needed. For more information about ASH, see ASH report.