Note
- For V4.3.x, the view was renamed to GV$OB_ACTIVE_SESSION_HISTORY since V4.3.5. For V4.2.x, the view was renamed to GV$OB_ACTIVE_SESSION_HISTORY since V4.2.2.
- This view is introduced in V4.0.0.
Purpose
The GV$ACTIVE_SESSION_HISTORY view displays the active session history of all OBServer nodes in 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 on the local server. |
| SAMPLE_TIME | timestamp(6) | NO | The sampling time. |
| CON_ID | bigint(20) | NO | The tenant ID. |
| USER_ID | bigint(20) | NO | The user ID of the sampled session. |
| SESSION_ID | bigint(20) | NO | The ID of the sampled session. For V4.3.x:
|
| SESSION_TYPE | varchar(10) | NO | Session type. |
| SESSION_STATE | varchar(7) | NO | Session state. EVENT field. |
| SQL_ID | varchar(32) | NO | The ID of the SQL statement. |
| PLAN_ID | bigint(20) | NO | The plan ID of the SQL statement in the plan cache. This field associates 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 field is used for queries across tables. |
| EVENT_ID | bigint(20) | NO | The ID of the current waiting event.
Note
|
| P1TEXT | varchar(64) | NO | The name of parameter 1 of the waiting event. The name of this parameter varies with the value of the EVENT field. |
| 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 of this parameter varies with the value of the EVENT field. |
| 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 of this parameter varies with the value of the EVENT field. |
| P3 | bigint(20) | NO | The value of parameter 3 of the waiting event. |
| WAIT_CLASS | varchar(64) | NO | The type to which the waiting event belongs. |
| WAIT_CLASS_ID | bigint(20) | NO | The ID of the type to which the waiting event belongs. This field is used for queries across 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 sampling time. |
| GROUP_ID | bigint(20) | NO | The ID of the resource group to which the sample belongs. |
| PLAN_HASH | bigint(20) unsigned | NO | The plan hash value of the SQL statement being executed. |
| THREAD_ID | bigint(20) | NO | The ID of the thread in which the active session is located. |
| STMT_TYPE | bigint(20) | NO | The SQL type of the active session. |
| TIME_MODEL | bigint(20) | NO | The time model information, which is a collection of IN_XXX fields (such as IN_PARSE and IN_PL_PARSE). |
| IN_PARSE | varchar(1) | NO | Specifies whether the sampled session is performing SQL parse at the sampling time. |
| IN_PL_PARSE | varchar(1) | NO | Specifies whether the sampled session is performing PL/SQL parse at the sampling time. |
| IN_PLAN_CACHE | varchar(1) | NO | Specifies whether the sampled session is performing plan cache matching at the sampling time. |
| IN_SQL_OPTIMIZE | varchar(1) | NO | Specifies whether the sampled session is performing SQL parsing optimization at the sampling time. |
| IN_SQL_EXECUTION | varchar(1) | NO | Specifies whether the sampled session is performing SQL execution at the sampling time. |
| IN_PX_EXECUTION | varchar(1) | NO | Specifies whether the sampled session is performing parallel SQL execution at the sampling time. The session is in this state only if it is also in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | varchar(1) | NO | Specifies whether the sampled session is performing auto-increment column or sequence value retrieval at the sampling time. |
| IN_COMMITTING | varchar(1) | NO | Specifies whether the current sampling point is in the transaction commit phase.
NoteThis field was introduced in V4.2.1. |
| IN_STORAGE_READ | varchar(1) | NO | Specifies whether the current sampling point is in the storage read phase.
NoteThis field was introduced in V4.2.1. |
| IN_STORAGE_WRITE | varchar(1) | NO | Specifies whether the current sampling point is in the storage write phase.
NoteThis field was introduced in V4.2.1. |
| IN_REMOTE_DAS_EXECUTION | varchar(1) | NO | Specifies whether the current sampling point is in the remote DAS execution phase.
NoteThis field was introduced in V4.2.1. |
| MODULE | varchar(64) | NO | The MODULE value recorded for the sampled session at the sampling time. This value is set by using the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | varchar(64) | NO | The ACTION value recorded for the sampled session at the sampling time. This value is set by using the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | varchar(64) | NO | The CLIENT_ID value recorded for the sampled session at the sampling time. This value is set by using the DBMS_SESSION.set_identifier package. |
| BACKTRACE | varchar(512) | NO | The code 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.
Note
|
| TM_DELTA_CPU_TIME | bigint(20) | NO | The amount of time spent in CPU in the last TM_DELTA_TIME period.
Note
|
| TM_DELTA_DB_TIME | bigint(20) | NO | The amount of time spent in database calls in the last TM_DELTA_TIME period.
Note
|
| TOP_LEVEL_SQL_ID | CHAR(32) | NO | The ID of the top-level SQL statement.
Note
|
| IN_PLSQL_COMPILATION | varchar(1) | NO | The current PL compilation status: Y/N.
Note
|
| IN_PLSQL_EXECUTION | varchar(1) | NO | The current PL execution status: Y/N.
Note
|
| PLSQL_ENTRY_OBJECT_ID | bigint(20) | NO | The OBJECT ID of the top-level PL statement.
Note
|
| PLSQL_ENTRY_SUBPROGRAM_ID | bigint(20) | NO | The subprogram ID of the top-level PL statement.
Note
|
| PLSQL_ENTRY_SUBPROGRAM_NAME | varchar(32) | NO | The name of the subprogram of the top-level PL statement.
Note
|
| PLSQL_OBJECT_ID | bigint(20) | NO | The ID of the PL object being executed.
Note
|
| PLSQL_SUBPROGRAM_ID | bigint(20) | NO | The ID of the PL subprogram being executed.
Note
|
| PLSQL_SUBPROGRAM_NAME | varchar(32) | NO | The name of the PL subprogram being executed.
Note
|
| TX_ID | bigint(20) | NO | The ID of the current transaction.
Note
|
| BLOCKING_SESSION_ID | bigint(20) | NO | The ID of the session that blocks the current session. This field takes effect only in lock conflict scenarios and displays the ID of the session that holds the lock.
Note
|
| TABLET_ID | bigint(20) | NO | The ID of the tablet on which the current SQL statement is being processed.
Note
|
| PROXY_SID | bigint(20) | NO | The ID of the proxy session.
Note
|
| DELTA_READ_IO_REQUESTS | bigint(20) | NO | The number of reads between two samplings.
Note
|
| DELTA_READ_IO_BYTES | bigint(20) | NO | The cumulative size of files read between two samplings.
Note
|
| DELTA_WRITE_IO_REQUESTS | bigint(20) | NO | The number of writes between two samplings.
Note
|
| DELTA_WRITE_IO_BYTES | bigint(20) | NO | The cumulative size of files written between two samplings.
Note
|
Sample query
Query the active session history of all OBServer nodes in the current tenant.
obclient [oceanbase]> SELECT * FROM oceanbase.GV$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: 1163161
SAMPLE_TIME: 2025-04-28 17:21:27.585628
CON_ID: 1002
USER_ID: 0
SESSION_ID: 2305843009213709012
SESSION_TYPE: BACKGROUND
SESSION_STATE: WAITING
SQL_ID: NULL
PLAN_ID: 0
TRACE_ID: NULL
EVENT: latch: config lock wait
EVENT_NO: 132
EVENT_ID: 40
P1TEXT: address
P1: 140013133706752
P2TEXT: number
P2: 1073791886
P3TEXT: tries
P3: 0
WAIT_CLASS: CONCURRENCY
WAIT_CLASS_ID: 104
TIME_WAITED: 10547
SQL_PLAN_LINE_ID: NULL
GROUP_ID: 0
PLAN_HASH: NULL
THREAD_ID: 50828
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: T1002_ServerProbeSrv
MODULE: ServerProbeSrv
ACTION: NULL
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 2033101
TM_DELTA_CPU_TIME: 4670
TM_DELTA_DB_TIME: 1070464
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: 2305843009213709012
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 ASH, you can generate an ASH report for analysis as needed. For more information about ASH, see ASH report.