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 current tenant.
Columns
| Column | Type | Nullable? | Description |
|---|---|---|---|
| SVR_IP | VARCHAR2(46) | No | IP address of the server where the sample is located. |
| SVR_PORT | NUMBER | No | Port number of the server where the sample is located. |
| SAMPLE_ID | NUMBER | No | Unique ID of the sample on the local server. |
| SAMPLE_TIME | TIMESTAMP(6) | No | Sampling time. |
| CON_ID | NUMBER | No | Tenant ID. |
| USER_ID | NUMBER | No | User ID of the sampled session. |
| SESSION_ID | bigint(20) | NO | ID of the sampled session. For V4.3.x:
|
| SESSION_TYPE | VARCHAR2(10) | No | Session type. Valid values include:
|
| SESSION_STATE | VARCHAR2(7) | No | Session state. Valid values include:
|
| SQL_ID | VARCHAR2(32) | Yes | SQL ID. |
| PLAN_ID | NUMBER | No | ID of the plan of the sampled SQL statement in the plan cache, which is used to associate the sampling point with the plan. |
| TRACE_ID | VARCHAR2(64) | Yes | Trace ID of the operator. |
| EVENT | VARCHAR2(64) | No | Description of the waiting event. |
| EVENT_NO | NUMBER | No | Internal ID of the waiting event, which is used to join with other tables. |
| EVENT_ID | NUMBER | Yes | ID of the current waiting event. |
| P1TEXT | VARCHAR2(64) | No | Name of parameter 1 of the waiting event. The name varies based on the event. |
| P1 | NUMBER | No | Value of parameter 1 of the waiting event. |
| P2TEXT | VARCHAR2(64) | No | Name of parameter 2 of the waiting event. The name varies based on the event. |
| P2 | NUMBER | No | Value of parameter 2 of the waiting event. |
| P3TEXT | VARCHAR2(64) | No | Name of parameter 3 of the waiting event. The name varies based on the event. |
| P3 | NUMBER | No | Value of parameter 3 of the waiting event. |
| WAIT_CLASS | VARCHAR2(64) | No | Type of the waiting event. |
| WAIT_CLASS_ID | NUMBER | No | ID of the type of the waiting event, which is used to join with other tables. |
| TIME_WAITED | NUMBER | No | Total waiting time of the waiting event in microseconds (us). |
| SQL_PLAN_LINE_ID | NUMBER | Yes | Line number of the SQL operator in the SQL plan when the session was sampled. |
| GROUP_ID | NUMBER | Yes | ID of the resource group to which the session belongs. |
| PLAN_HASH | NUMBER | Yes | Plan hash value of the current SQL statement. |
| THREAD_ID | NUMBER | Yes | ID of the thread where the active session is located. |
| STMT_TYPE | NUMBER | Yes | SQL type of the active session. |
| TIME_MODEL | NUMBER | No | 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 | Whether the session is parsing an SQL statement when it is sampled. |
| IN_PL_PARSE | VARCHAR2(1) | No | Whether the session is parsing a PL/SQL statement when it is sampled. |
| IN_PLAN_CACHE | VARCHAR2(1) | No | Whether the session is matching a plan in the plan cache when it is sampled. |
| IN_SQL_OPTIMIZE | VARCHAR2(1) | No | Whether the session is optimizing an SQL statement when it is sampled. |
| IN_SQL_EXECUTION | VARCHAR2(1) | No | Whether the session is executing an SQL statement when it is sampled. |
| IN_PX_EXECUTION | VARCHAR2(1) | No | Whether the session is executing an SQL statement in parallel when it is sampled. When the session is in this state, it must also be in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | VARCHAR2(1) | No | Whether the session is fetching values from an auto-increment column or a sequence when it is sampled. |
| IN_COMMITTING | VARCHAR2(1) | No | Whether the current sampling point is in the commit phase of a transaction. |
| IN_STORAGE_READ | VARCHAR2(1) | No | Whether the current sampling point is in the storage read phase. |
| IN_STORAGE_WRITE | VARCHAR2(1) | No | Whether the current sampling point is in the storage write phase. |
| IN_REMOTE_DAS_EXECUTION | VARCHAR2(1) | No | Whether the current sampling point is in the remote DAS execution phase. |
| IN_FILTER_ROWS | VARCHAR2(1) | No | Whether the current sampling point is in the storage downpress execution phase. |
| PROGRAM | VARCHAR2(64) | Yes | Name of the program being executed at the current sampling point:
|
| MODULE | VARCHAR2(64) | Yes | MODULE value recorded at the current sampling point. The value is set by the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | VARCHAR2(64) | Yes | ACTION value recorded at the current sampling point. The value is set by the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | VARCHAR2(64) | Yes | CLIENT_ID value recorded at the current sampling point. The value is set by the DBMS_SESSION.set_identifier package. |
| BACKTRACE | VARCHAR2(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 | NUMBER | Yes | Time interval for calculating the time model in microseconds. |
| TM_DELTA_CPU_TIME | NUMBER | Yes | CPU time spent in the past TM_DELTA_TIME time interval. |
| TM_DELTA_DB_TIME | NUMBER | Yes | Database call time spent in the past TM_DELTA_TIME time interval. |
| TOP_LEVEL_SQL_ID | CHAR(32) | Yes | ID of the top-level SQL statement. |
| IN_PLSQL_COMPILATION | VARCHAR2(1) | No | PL compilation status: Y/N |
| IN_PLSQL_EXECUTION | VARCHAR2(1) | No | PL execution status: Y/N |
| PLSQL_ENTRY_OBJECT_ID | NUMBER | Yes | OBJECT ID of the top-level PL. |
| PLSQL_ENTRY_SUBPROGRAM_ID | NUMBER | Yes | Subprogram ID of the top-level PL. |
| PLSQL_ENTRY_SUBPROGRAM_NAME | VARCHAR2(32) | Yes | Subprogram name of the top-level PL. |
| PLSQL_OBJECT_ID | NUMBER | Yes | ID of the PL object being executed. |
| PLSQL_SUBPROGRAM_ID | NUMBER | Yes | ID of the PL subprogram being executed. |
| PLSQL_SUBPROGRAM_NAME | VARCHAR2(32) | Yes | Name of the PL subprogram being executed. |
| TX_ID | NUMBER | Yes | ID of the current transaction. |
| BLOCKING_SESSION_ID | NUMBER | Yes | If the session is blocked, the ID of the session that blocks it. This field takes effect only in lock conflict scenarios and displays the ID of the session that holds the lock. |
| TABLET_ID | NUMBER | Yes | ID of the tablet being processed by the current SQL statement. |
| PROXY_SID | NUMBER | Yes | ID of the proxy session. |
Sample query
View 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: 2255456
SAMPLE_TIME: 11-DEC-24 11.33.48.880769 AM
CON_ID: 1004
USER_ID: 0
SESSION_ID: 29476360552448
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: 140454303586184
P2TEXT: NULL
P2: 0
P3TEXT: NULL
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: 2838
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_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: 29476360552448
1 row in set (0.121 sec)