Note
This view is available starting with V4.2.2.
Purpose
The V$OB_ACTIVE_SESSION_HISTORY view displays the active session history of the current OBServer node for the current tenant.
Columns
| Column | Type | Nullable | Description |
|---|---|---|---|
| SVR_IP | varchar(46) | NO | The IP address of the server to which the sample belongs. |
| SVR_PORT | bigint(20) | NO | The port number of the server to which the sample belongs. |
| SAMPLE_ID | bigint(20) | NO | The unique ID of the sample. |
| SAMPLE_TIME | datetime | NO | The time when the sample was collected. |
| CON_ID | bigint(20) | NO | The tenant ID. |
| USER_ID | bigint(20) | NO | The ID of the user of the session that was sampled. |
| SESSION_ID | bigint(20) | NO | The ID of the session that was sampled. For V4.2.x:
|
| SESSION_TYPE | varchar(10) | NO | The session type.
|
| SESSION_STATE | varchar(7) | NO | The session state.
|
| SQL_ID | varchar(32) | NO | The SQL ID. |
| PLAN_ID | bigint(20) | 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 | varchar(64) | NO | The trace ID of the operator. |
| EVENT | varchar(64) | NO | The description of the waiting event. |
| EVENT_NO | bigint(20) | NO | The internal number of the waiting event. This number is used to associate the sampling point with other tables. |
| EVENT_ID | bigint(20) | NO | The ID of the current waiting event. |
| P1TEXT | varchar(64) | NO | The name of parameter 1 of the waiting event. The name varies based on the value of EVENT. |
| P1 | bigint(20) | NO | The value of parameter 1 of the waiting event. |
| P2TEXT | varchar(64) | NO | The name of parameter 2 of the waiting event. The name varies based on the value of EVENT. |
| P2 | bigint(20) | NO | The value of parameter 2 of the waiting event. |
| P3TEXT | varchar(64) | NO | The name of parameter 3 of the waiting event. The name varies based on the value of EVENT. |
| P3 | bigint(20) | NO | The value of parameter 3 of the waiting event. |
| WAIT_CLASS | varchar(64) | NO | The type of the waiting event. |
| WAIT_CLASS_ID | bigint(20) | NO | The ID of the type of the waiting event. This ID is used to associate the sampling point with other tables. |
| TIME_WAITED | bigint(20) | NO | The total waiting time of the waiting event, in microseconds (us). |
| SQL_PLAN_LINE_ID | bigint(20) | NO | The number of the SQL operator in the SQL plan at the time of sampling. |
| GROUP_ID | bigint(20) | NO | The group information of the sampling point.
NoteThis column is available starting with V4.2.3. |
| PLAN_HASH | bigint(20) unsigned | NO | The plan_hash of the SQL command that is being executed.
NoteThis column is available starting with V4.2.4. |
| THREAD_ID | bigint(20) | NO | The ID of the thread to which the active session belongs.
NoteThis column is available starting with V4.2.4. |
| STMT_TYPE | bigint(20) | NO | The SQL type of the active session.
NoteThis column is available starting with V4.2.4. |
| TIME_MODEL | bigint(20) | NO | The time model information, which is a collection of all IN_XXX fields (such as IN_PARSE and IN_PL_PARSE).
NoteThis column is available starting with V4.2.4. |
| IN_PARSE | varchar(1) | NO | Indicates whether the session is performing SQL parsing during sampling. |
| IN_PL_PARSE | varchar(1) | NO | Indicates whether the session is performing SQL PL parsing during sampling. |
| IN_PLAN_CACHE | varchar(1) | NO | Indicates whether the session is performing plan cache matching during sampling. |
| IN_SQL_OPTIMIZE | varchar(1) | NO | Indicates whether the session is performing SQL parsing optimization during sampling. |
| IN_SQL_EXECUTION | varchar(1) | NO | Indicates whether the session is performing SQL execution during sampling. |
| IN_PX_EXECUTION | varchar(1) | NO | Indicates whether the session is performing parallel execution of SQL during sampling. When the session is in this state, it must also be in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | varchar(1) | NO | Indicates whether the session is retrieving values for an auto-increment column or sequence during sampling. |
| IN_COMMITTING | varchar(1) | NO | Indicates whether the sampling point is in the transaction commit phase. |
| IN_STORAGE_READ | varchar(1) | NO | Indicates whether the sampling point is in the storage read phase. |
| IN_STORAGE_WRITE | varchar(1) | NO | Indicates whether the sampling point is in the storage write phase. |
| IN_REMOTE_DAS_EXECUTION | varchar(1) | NO | Indicates whether the sampling point is in the DAS remote execution phase. |
| IN_FILTER_ROWS | varchar(1) | NO | Indicates whether the sampling point is in the storage push-down execution phase. |
| IN_RPC_ENCODE | varchar(1) | NO | Indicates the current serialization operation being performed by the SQL.
NoteFor V4.2.x versions, this field was introduced starting with V4.2.5. |
| IN_RPC_DECODE | varchar(1) | NO | Indicates the current deserialization operation being performed by the SQL.
NoteFor V4.2.x versions, this field was introduced starting with V4.2.5. |
| IN_CONNECTION_MGR | varchar(1) | NO | Indicates the current connection establishment operation being performed by the SQL.
NoteFor V4.2.x versions, this field was introduced starting with V4.2.5. |
| PROGRAM | varchar(64) | NO | The name of the program being executed at the sampling point:
|
| MODULE | varchar(64) | NO | The MODULE value recorded by the session during sampling. This value is set by using the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | varchar(64) | NO | The ACTION value recorded by the session during sampling. This value is set by using the DBMS_APPLICATION_INFO.SET_ACTION package.
NoteThis field was introduced starting with V4.2.3. |
| CLIENT_ID | varchar(64) | NO | The CLIENT_ID value recorded by the session during sampling. This value is set by using the DBMS_APPLICATION_INFO.set_identifier package.
NoteThis field was introduced starting with V4.2.3. |
| BACKTRACE | varchar(512) | NO | A debugging field used to record the call stack at the time of the event. The value of this field is always NULL. |
| TM_DELTA_TIME | bigint(20) | NO | The time interval for calculating the time model, in microseconds. |
| TM_DELTA_CPU_TIME | bigint(20) | NO | The amount of time spent on the CPU during the TM_DELTA_TIME period. |
| TM_DELTA_DB_TIME | bigint(20) | NO | The amount of time spent on database calls during the TM_DELTA_TIME period. |
| TOP_LEVEL_SQL_ID | varchar(32) | NO | The ID of the top-level SQL statement. |
| IN_PLSQL_COMPILATION | varchar(1) | NO | The PL compilation status: Y/N. |
| IN_PLSQL_EXECUTION | varchar(1) | NO | The PL execution status: Y/N. |
| PLSQL_ENTRY_OBJECT_ID | bigint(20) | NO | The object ID of the top-level PL statement. |
| PLSQL_ENTRY_SUBPROGRAM_ID | bigint(20) | NO | The subprogram ID of the top-level PL statement. |
| PLSQL_ENTRY_SUBPROGRAM_NAME | varchar(32) | NO | The subprogram name of the top-level PL statement. |
| PLSQL_OBJECT_ID | bigint(20) | NO | The object ID of the PL statement being executed. |
| PLSQL_SUBPROGRAM_ID | bigint(20) | NO | The subprogram ID of the PL statement being executed. |
| PLSQL_SUBPROGRAM_NAME | varchar(32) | NO | The name of the PL subprogram that is being executed. |
| BLOCKING_SESSION_ID | bigint(20) | NO | If the current session is blocked, the session 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.
Note
|
| TABLET_ID | bigint(20) | NO | The ID of the tablet that is being processed by the current SQL statement.
Note
|
| PROXY_SID | bigint(20) | NO | The ID of the proxy session.
Note
|
| TX_ID | bigint(20) | NO | The ID of the current transaction.
Note
|
| DELTA_READ_IO_REQUESTS | bigint(20) | NO | The number of reads between two sampling intervals.
NoteFor V4.2.x versions, this field was introduced starting from V4.2.5 BP3. |
| DELTA_READ_IO_BYTES | bigint(20) | NO | The total size of files read between two sampling intervals.
NoteFor V4.2.x versions, this field was introduced starting from V4.2.5 BP3. |
| DELTA_WRITE_IO_REQUESTS | bigint(20) | NO | The number of writes between two sampling intervals.
NoteFor V4.2.x versions, this field was introduced starting from V4.2.5 BP3. |
| DELTA_WRITE_IO_BYTES | bigint(20) | NO | The total size of files written between two sampling intervals.
NoteFor V4.2.x versions, this field was introduced starting from V4.2.5 BP3. |
Sample query
Query the active session history of the current OBServer node.
obclient [oceanbase]> SELECT * FROM oceanbase.V$OB_ACTIVE_SESSION_HISTORY LIMIT 1\G
The query result is as follows:
*************************** 1. row ***************************
SVR_IP: xx.xx.xx.xx
SVR_PORT: 2882
SAMPLE_ID: 232333
SAMPLE_TIME: 2024-06-17 15:19:48.593606
CON_ID: 1002
USER_ID: 0
SESSION_ID: 3809635991552
SESSION_TYPE: BACKGROUND
SESSION_STATE: ON CPU
SQL_ID:
PLAN_ID: 0
TRACE_ID: YBXXXXXXXX-000XXXXXXXX-0-0
EVENT:
EVENT_NO: 0
EVENT_ID: NULL
P1TEXT:
P1: 0
P2TEXT:
P2: 0
P3TEXT:
P3: 0
WAIT_CLASS: OTHER
WAIT_CLASS_ID: 100
TIME_WAITED: 0
SQL_PLAN_LINE_ID: NULL
GROUP_ID: 0
PLAN_HASH: NULL
THREAD_ID: 81715
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
PROGRAM: RPC PROCESS (T1002_L5_G0)_1308
MODULE: NULL
ACTION: NULL
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 0
TM_DELTA_CPU_TIME: 0
TM_DELTA_DB_TIME: 0
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
1 row in set (0.044 sec)