Note
- This view is available starting with V4.3.5 for V4.3.x.
- This view is available starting with V4.2.2 for V4.2.x.
Purpose
The GV$OB_ACTIVE_SESSION_HISTORY 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 time when the sample was taken. |
| CON_ID | NUMBER | NO | The tenant ID. |
| USER_ID | NUMBER | NO | The user ID of the session being sampled. |
| SESSION_ID | NUMBER | NO | The ID of the session being sampled. For V4.3.x versions:
|
| SESSION_TYPE | VARCHAR2(10) | NO | The session type:
|
| SESSION_STATE | VARCHAR2(7) | NO | The session state:
|
| SQL_ID | VARCHAR2(32) | YES | 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) | YES | 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, which is used to associate the sampling point with other tables. |
| EVENT_ID | NUMBER | YES | The ID of the current wait event. |
| P1TEXT | VARCHAR2(64) | NO | The name of the first parameter of the wait event. This name changes with the EVENT field. |
| P1 | NUMBER | NO | The value of the first parameter of the wait event. |
| P2TEXT | VARCHAR2(64) | NO | The name of the second parameter of the wait event. This name changes with the EVENT field. |
| P2 | NUMBER | NO | The value of the second parameter of the wait event. |
| P3TEXT | VARCHAR2(64) | NO | The name of the third parameter of the wait event. This name changes with the EVENT field. |
| P3 | NUMBER | NO | The value of the third parameter of the wait event. |
| WAIT_CLASS | VARCHAR2(64) | NO | The type of the wait event. |
| WAIT_CLASS_ID | NUMBER | NO | The ID of the type of the wait event. This ID is used to associate the sampling point with other tables. |
| TIME_WAITED | NUMBER | NO | The total wait time of the wait event, in microseconds (us). |
| SQL_PLAN_LINE_ID | NUMBER | YES | The line number of the SQL operator in the SQL plan at the time the sample was taken. |
| GROUP_ID | NUMBER | YES | The ID of the resource group to which the session belongs. |
| PLAN_HASH | NUMBER | YES | The plan hash corresponding to the SQL command being executed. |
| THREAD_ID | NUMBER | YES | The thread ID of the active session. |
| STMT_TYPE | NUMBER | YES | The SQL type of the active session. |
| TIME_MODEL | NUMBER | NO | The time model information, which is a collection of data from all IN_XXX fields (such as IN_PARSE and IN_PL_PARSE). |
| IN_PARSE | VARCHAR2(1) | NO | Indicates whether the session is parsing SQL at the time the sample was taken. |
| IN_PL_PARSE | VARCHAR2(1) | NO | Indicates whether the session is parsing SQL PL at the time the sample was taken. |
| IN_PLAN_CACHE | VARCHAR2(1) | NO | Indicates whether the session is matching a plan in the plan cache at the time the sample was taken. |
| IN_SQL_OPTIMIZE | VARCHAR2(1) | NO | Indicates whether the session is optimizing SQL at the time the sample was taken. |
| IN_SQL_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session is executing SQL at the time the sample was taken. |
| IN_PX_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session is executing SQL in parallel at the time the sample was taken. When a session is in this state, it is also in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | VARCHAR2(1) | NO | Indicates whether the session is fetching values from an auto-increment column or a sequence at the time the sample was taken. |
| IN_COMMITTING | VARCHAR2(1) | NO | Indicates whether the sample was taken during the transaction commit phase. |
| IN_STORAGE_READ | VARCHAR2(1) | NO | Indicates whether the sample was taken during the storage read phase. |
| IN_STORAGE_WRITE | VARCHAR2(1) | NO | Indicates whether the sample was taken during the storage write phase. |
| IN_REMOTE_DAS_EXECUTION | VARCHAR2(1) | NO | Indicates whether the sample was taken during the DAS remote execution phase. |
| IN_FILTER_ROWS | VARCHAR2(1) | NO | Indicates whether the sample was taken during the storage push-down execution phase. |
| IN_RPC_ENCODE | VARCHAR2(1) | NO | The serialization operation being performed by the current SQL. |
| IN_RPC_DECODE | VARCHAR2(1) | NO | The deserialization operation being performed by the current SQL. |
| IN_CONNECTION_MGR | VARCHAR2(1) | NO | The connection operation being performed by the current SQL. |
| PROGRAM | VARCHAR2(64) | NO | The name of the program that is being executed at the current sampling point:
|
| MODULE | VARCHAR2(64) | YES | The MODULE value recorded by the session at the time of sampling. This value is set by using the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | VARCHAR2(64) | YES | The ACTION value recorded by the session at the time of sampling. This value is set by using the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | VARCHAR2(64) | YES | The CLIENT_ID value recorded by the session at the time of sampling. This value is set by using the DBMS_SESSION.set_identifier package. |
| BACKTRACE | VARCHAR2(512) | YES | A debug field used to record the call stack at the time of the event. The value of this field is always NULL. |
| TM_DELTA_TIME | NUMBER | YES | The time interval for calculating the time model, in microseconds. |
| TM_DELTA_CPU_TIME | NUMBER | YES | The amount of time spent on the CPU during the TM_DELTA_TIME period. |
| TM_DELTA_DB_TIME | NUMBER | YES | The amount of time spent on database calls during the TM_DELTA_TIME period. |
| TOP_LEVEL_SQL_ID | CHAR(32) | YES | The ID of the top-level SQL statement. |
| IN_PLSQL_COMPILATION | VARCHAR2(1) | NO | The PL compilation status: Y/N. |
| IN_PLSQL_EXECUTION | VARCHAR2(1) | NO | The PL execution status: Y/N. |
| PLSQL_ENTRY_OBJECT_ID | NUMBER | YES | The OBJECT ID of the top-level PL statement. |
| PLSQL_ENTRY_SUBPROGRAM_ID | NUMBER | YES | The subprogram ID of the top-level PL statement. |
| PLSQL_ENTRY_SUBPROGRAM_NAME | VARCHAR2(32) | YES | The subprogram name of the top-level PL statement. |
| PLSQL_OBJECT_ID | NUMBER | YES | The ID of the PL object being executed. |
| PLSQL_SUBPROGRAM_ID | NUMBER | YES | The subprogram ID of the PL object being executed. |
| PLSQL_SUBPROGRAM_NAME | VARCHAR2(32) | YES | The subprogram name of the PL object being executed. |
| TX_ID | NUMBER | YES | The ID of the current transaction. |
| BLOCKING_SESSION_ID | NUMBER | YES | If the current session is blocked, the ID of the session that blocks the current session is displayed. This field is effective only in lock conflict scenarios, displaying the session ID that holds the lock. |
| TABLET_ID | NUMBER | YES | The ID of the tablet being processed by the current SQL statement. |
| PROXY_SID | NUMBER | YES | The ID of the proxy session. |
| DELTA_READ_IO_REQUESTS | NUMBER | NO | The number of read requests between two sampling points.
Note
|
| DELTA_READ_IO_BYTES | NUMBER | NO | The total size of files read between two sampling points.
Note
|
| DELTA_WRITE_IO_REQUESTS | NUMBER | NO | The number of write requests between two sampling points.
Note
|
| DELTA_WRITE_IO_BYTES | NUMBER | NO | The total size of files written between two sampling points.
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: 628811
SAMPLE_TIME: 29-MAY-25 04.16.39.893939 PM
CON_ID: 1004
USER_ID: 200001
SESSION_ID: 2305843009213713064
SESSION_TYPE: BACKGROUND
SESSION_STATE: WAITING
SQL_ID: NULL
PLAN_ID: 0
TRACE_ID: YB42AC1E87E0-XXXXXXXXXXX-0-0
EVENT: exec inner sql wait
EVENT_NO: 100
EVENT_ID: 30000
P1TEXT: wait inner sql class
P1: 50006
P2TEXT: inner session id
P2: 4611686018587899329
P3TEXT: NULL
P3: 0
WAIT_CLASS: OTHER
WAIT_CLASS_ID: 100
TIME_WAITED: 474
SQL_PLAN_LINE_ID: NULL
GROUP_ID: 0
PLAN_HASH: NULL
THREAD_ID: 83439
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_LSRecoveryService
MODULE: LSRecoveryReportor
ACTION: LS Stat
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 87478852
TM_DELTA_CPU_TIME: 284992
TM_DELTA_DB_TIME: 616617
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: 4611686018587899329
TABLET_ID: NULL
PROXY_SID: 2305843009213713064
DELTA_READ_IO_REQUESTS: 0
DELTA_READ_IO_BYTES: 0
DELTA_WRITE_IO_REQUESTS: 0
DELTA_WRITE_IO_BYTES: 0