Note
- In V4.3.x, this view was introduced in V4.3.5.
- In V4.2.x, this view was introduced in V4.2.2.
Purpose
The GV$OB_ACTIVE_SESSION_HISTORY view displays the active session history of all OBServer nodes in the tenant.
Columns
| Column | Type | Nullable? | Description |
|---|---|---|---|
| SVR_IP | varchar(46) | NO | IP address of the server where the sample is located. |
| SVR_PORT | bigint(20) | NO | Port number of the server where the sample is located. |
| SAMPLE_ID | bigint(20) | NO | Unique ID of the sample on the local server. |
| SAMPLE_TIME | timestamp(6) | NO | Sampling time. |
| CON_ID | bigint(20) | NO | Tenant ID. |
| USER_ID | bigint(20) | NO | User ID of the sampled session. |
| SESSION_ID | bigint(20) | NO | ID of the sampled session. For V4.3.x:
|
| SESSION_TYPE | varchar(10) | NO | Session type. Valid values include:
|
| SESSION_STATE | varchar(7) | NO | Session status. Valid values include:
|
| SQL_ID | varchar(32) | NO | SQL ID. |
| PLAN_ID | bigint(20) | NO | ID of the plan in the plan cache to which the sampled SQL statement is associated. |
| TRACE_ID | varchar(64) | NO | Trace ID of the operator. |
| EVENT | varchar(64) | NO | Description of the waiting event. |
| EVENT_NO | bigint(20) | NO | Internal ID of the waiting event, which is used for queries across tables. |
| EVENT_ID | bigint(20) | YES | ID of the current waiting event. |
| P1TEXT | varchar(64) | NO | Name of parameter 1 of the waiting event. The name varies depending on the event. |
| P1 | bigint(20) | NO | Value of parameter 1 of the waiting event. |
| P2TEXT | varchar(64) | NO | Name of parameter 2 of the waiting event. The name varies depending on the event. |
| P2 | bigint(20) | NO | Value of parameter 2 of the waiting event. |
| P3TEXT | varchar(64) | NO | Name of parameter 3 of the waiting event. The name varies depending on the event. |
| P3 | bigint(20) | NO | Value of parameter 3 of the waiting event. |
| WAIT_CLASS | varchar(64) | NO | Type of the waiting event. |
| WAIT_CLASS_ID | bigint(20) | NO | ID of the type of the waiting event, which is used for queries across tables. |
| TIME_WAITED | bigint(20) | NO | Total waiting time of the waiting event in microseconds (us). |
| SQL_PLAN_LINE_ID | bigint(20) | YES | Number of the SQL operator in the SQL plan when the session is sampled. |
| GROUP_ID | bigint(20) | YES | ID of the resource group to which the session belongs. |
| PLAN_HASH | bigint(20) unsigned | YES | Plan hash value of the current SQL statement. |
| THREAD_ID | bigint(20) | YES | ID of the thread where the active session is located. |
| STMT_TYPE | bigint(20) | YES | SQL type of the active session. |
| TIME_MODEL | bigint(20) | NO | time model information, which is a collection of IN_XXX fields (such as IN_PARSE and IN_PL_PARSE). |
| IN_PARSE | varchar(1) | NO | Whether the session is parsing an SQL statement when it is sampled. |
| IN_PL_PARSE | varchar(1) | NO | Whether the session is parsing a PL/SQL statement when it is sampled. |
| IN_PLAN_CACHE | varchar(1) | NO | Whether the session is matching a plan in the plan cache when it is sampled. |
| IN_SQL_OPTIMIZE | varchar(1) | NO | Whether the session is optimizing an SQL statement when it is sampled. |
| IN_SQL_EXECUTION | varchar(1) | NO | Whether the session is executing an SQL statement when it is sampled. |
| IN_PX_EXECUTION | varchar(1) | NO | Whether the session is executing an SQL statement in parallel when it is sampled. When the session is in this state, it is also in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | varchar(1) | NO | Whether the session is fetching values from an auto-increment column or a sequence when it is sampled. |
| IN_COMMITTING | varchar(1) | NO | Whether the current sampling point is in the transaction commit phase. |
| IN_STORAGE_READ | varchar(1) | NO | Whether the current sampling point is in the storage read phase. |
| IN_STORAGE_WRITE | varchar(1) | NO | Whether the current sampling point is in the storage write phase. |
| IN_REMOTE_DAS_EXECUTION | varchar(1) | NO | Whether the current sampling point is in the remote DAS execution phase. |
| IN_FILTER_ROWS | varchar(1) | NO | Whether the current sampling point is in the storage pushdown execution phase. |
| PROGRAM | varchar(64) | YES | Name of the program being executed at the current sampling point:
|
| MODULE | varchar(64) | YES | MODULE value recorded when the session is sampled. This value is set by the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | varchar(64) | YES | ACTION value recorded when the session is sampled. This value is set by the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | varchar(64) | YES | CLIENT_ID value recorded when the session is sampled. This value is set by the DBMS_SESSION.set_identifier package. |
| BACKTRACE | varchar(512) | YES | Auxiliary debugging field that records the code call stack when the event occurs. The value of this field is always NULL. |
| TM_DELTA_TIME | bigint(20) | YES | Time interval for calculating the time model, in microseconds. |
| TM_DELTA_CPU_TIME | bigint(20) | YES | CPU time spent in the past TM_DELTA_TIME time period. |
| TM_DELTA_DB_TIME | bigint(20) | YES | Database call time spent in the past TM_DELTA_TIME time period. |
| TOP_LEVEL_SQL_ID | varchar(32) | YES | ID of the top-level SQL statement. |
| IN_PLSQL_COMPILATION | varchar(1) | NO | PL compilation status: Y/N |
| IN_PLSQL_EXECUTION | varchar(1) | NO | PL execution status: Y/N |
| PLSQL_ENTRY_OBJECT_ID | bigint(20) | YES | ID of the top-level PL object. |
| PLSQL_ENTRY_SUBPROGRAM_ID | bigint(20) | YES | ID of the top-level PL subprogram. |
| PLSQL_ENTRY_SUBPROGRAM_NAME | varchar(32) | YES | Name of the top-level PL subprogram. |
| PLSQL_OBJECT_ID | bigint(20) | YES | ID of the PL object being executed. |
| PLSQL_SUBPROGRAM_ID | bigint(20) | YES | ID of the PL subprogram being executed. |
| PLSQL_SUBPROGRAM_NAME | varchar(32) | YES | Name of the PL subprogram being executed. |
| TX_ID | bigint(20) | YES | ID of the current transaction. |
| BLOCKING_SESSION_ID | bigint(20) | YES | ID of the session that blocks the current session. This field is effective only in lock conflict scenarios and displays the ID of the session holding the lock. |
| TABLET_ID | bigint(20) | YES | ID of the tablet being processed by the current SQL statement. |
| PROXY_SID | bigint(20) | YES | ID of the proxy session. |
Sample query
View the active session history of all OBServer nodes in the tenant.
obclient [oceanbase]> SELECT * FROM oceanbase.GV$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: 2253214
SAMPLE_TIME: 2024-12-11 11:31:24.634424
CON_ID: 1003
USER_ID: 0
SESSION_ID: 29910152249344
SESSION_TYPE: BACKGROUND
SESSION_STATE: WAITING
SQL_ID: NULL
PLAN_ID: 0
TRACE_ID: NULL
EVENT: thread idling condition wait
EVENT_NO: 39
EVENT_ID: 15112
P1TEXT: address
P1: 140453969663880
P2TEXT:
P2: 0
P3TEXT:
P3: 0
WAIT_CLASS: IDLE
WAIT_CLASS_ID: 106
TIME_WAITED: 0
SQL_PLAN_LINE_ID: NULL
GROUP_ID: 0
PLAN_HASH: NULL
THREAD_ID: 2955
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: T1003_TFSwap
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
TX_ID: NULL
BLOCKING_SESSION_ID: NULL
TABLET_ID: NULL
PROXY_SID: 29910152249344
1 row in set (0.049 sec)