Note
- For V4.3.x, this view was renamed to GV$OB_ACTIVE_SESSION_HISTORY starting with V4.3.5. For V4.2.x, this view was renamed to GV$OB_ACTIVE_SESSION_HISTORY starting with V4.2.2.
- This view is available starting with V4.0.0.
Purpose
The GV$ACTIVE_SESSION_HISTORY view displays the active session history of all OBServer nodes in all tenants.
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 | timestamp(6) | NO | The time when the sample was taken. |
| CON_ID | bigint(20) | NO | The tenant ID. |
| USER_ID | bigint(20) | NO | The user ID of the session that was sampled. |
| SESSION_ID | bigint(20) | NO | The ID of the session that was sampled. For V4.3.x versions:
|
| 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 ID of the plan of the sampled SQL in the plan cache. This ID is used to associate the sample 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 sample point with other tables. |
| EVENT_ID | bigint(20) | NO | The ID of the waiting event.
Note
|
| P1TEXT | varchar(64) | NO | The name of the first parameter of the waiting event. The name varies depending on the value of the EVENT field. |
| P1 | bigint(20) | NO | The value of the first parameter of the waiting event. |
| P2TEXT | varchar(64) | NO | The name of the second parameter of the waiting event. The name varies depending on the value of the EVENT field. |
| P2 | bigint(20) | NO | The value of the second parameter of the waiting event. |
| P3TEXT | varchar(64) | NO | The name of the third parameter of the waiting event. The name varies depending on the value of the EVENT field. |
| P3 | bigint(20) | NO | The value of the third parameter 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 sample 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 ID of the SQL operator in the SQL plan of the session at the time when the sample was taken. |
| 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 of the SQL command that is currently being executed. |
| THREAD_ID | bigint(20) | NO | The ID of the thread to which the active session belongs. |
| STMT_TYPE | bigint(20) | NO | The SQL type of the current active session. |
| TIME_MODEL | bigint(20) | 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 | varchar(1) | NO | Indicates whether the session is performing SQL parsing at the sampling time. |
| IN_PL_PARSE | varchar(1) | NO | Indicates whether the session is performing SQL PL parsing at the sampling time. |
| IN_PLAN_CACHE | varchar(1) | NO | Indicates whether the session is performing plan cache matching at the sampling time. |
| IN_SQL_OPTIMIZE | varchar(1) | NO | Indicates whether the session is performing SQL parsing optimization at the sampling time. |
| IN_SQL_EXECUTION | varchar(1) | NO | Indicates whether the session is performing SQL execution at the sampling time. |
| IN_PX_EXECUTION | varchar(1) | NO | Indicates whether the session is performing SQL parallel execution at the sampling time. 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 performing value retrieval for an auto-increment column or SEQUENCE at the sampling time. |
| IN_COMMITTING | varchar(1) | NO | Indicates whether the sampling point is in the transaction commit phase.
NoteThis column is available starting with V4.2.1. |
| IN_STORAGE_READ | varchar(1) | NO | Indicates whether the sampling point is in the storage read phase.
NoteThis column is available starting with V4.2.1. |
| IN_STORAGE_WRITE | varchar(1) | NO | Indicates whether the sampling point is in the storage write phase.
NoteThis column is available starting with V4.2.1. |
| IN_REMOTE_DAS_EXECUTION | varchar(1) | NO | Indicates whether the sampling point is in the DAS remote execution phase.
NoteThis column is available starting with V4.2.1. |
| IN_FILTER_ROWS | varchar(1) | NO | Indicates whether the sampling point is in the storage push-down execution phase.
NoteThis column is available starting with V4.2.2. |
| IN_RPC_ENCODE | varchar(1) | NO | The serialization operation being performed by the current SQL statement.
NoteThis column is available starting with V4.2.5 in V4.2.x. |
| IN_RPC_DECODE | varchar(1) | NO | The deserialization operation being performed by the current SQL statement.
NoteThis column is available starting with V4.2.5 in V4.2.x. |
| IN_CONNECTION_MGR | varchar(1) | NO | The connection establishment operation being performed by the current SQL statement.
NoteThis column is available starting with V4.2.5 in V4.2.x. |
| PROGRAM | varchar(64) | NO | The name of the program being executed at the sampling point:
NoteThis column is available starting with V4.2.2. |
| MODULE | varchar(64) | NO | The MODULE value recorded by the session at the sampling time, which is set by using the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | varchar(64) | NO | The ACTION value recorded by the session at the sampling time, which is set by using the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | varchar(64) | NO | The CLIENT_ID value recorded by the session at the sampling time, which is set by using the DBMS_SESSION.set_identifier package. |
| BACKTRACE | varchar(512) | NO | An auxiliary debugging field used to record 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 of the time model, in microseconds.
Note
|
| TM_DELTA_CPU_TIME | bigint(20) | NO | The amount of time spent on the CPU in the last TM_DELTA_TIME period.
Note
|
| TM_DELTA_DB_TIME | bigint(20) | NO | The amount of time spent on 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 PL compilation status: Y/N.
Note
|
| IN_PLSQL_EXECUTION | varchar(1) | NO | The 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 subprogram name of the top-level PL statement.
Note
|
| PLSQL_OBJECT_ID | bigint(20) | NO | The object ID of the PL statement being executed.
Note
|
| PLSQL_SUBPROGRAM_ID | bigint(20) | NO | The subprogram ID of the PL statement being executed.
Note
|
| PLSQL_SUBPROGRAM_NAME | varchar(32) | NO | The subprogram name of the PL statement being executed.
Note
|
| TX_ID | bigint(20) | NO | The ID of the current transaction.
Note
|
| BLOCKING_SESSION_ID | bigint(20) | NO | If the current session is blocked, the ID of the session that blocks the current session. This column is effective 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 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 read requests between two sampling intervals.
Note
|
| DELTA_READ_IO_BYTES | bigint(20) | NO | The cumulative size of files read between two sampling intervals.
Note
|
| DELTA_WRITE_IO_REQUESTS | bigint(20) | NO | The number of write requests between two sampling intervals.
Note
|
| DELTA_WRITE_IO_BYTES | bigint(20) | NO | The cumulative size of files written between two sampling intervals.
Note
|
Sample query
Query the active session history (ASH) of all OBServer nodes in all tenants.
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: 1147927
SAMPLE_TIME: 2025-04-28 16:50:43.134698
CON_ID: 1002
USER_ID: 200001
SESSION_ID: 2305843009213708985
SESSION_TYPE: BACKGROUND
SESSION_STATE: ON CPU
SQL_ID: NULL
PLAN_ID: 0
TRACE_ID: YB42AC1E87E9-000XXXXXXXXXXXXXXXXXXXXXXX-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: 50802
STMT_TYPE: NULL
TIME_MODEL: 65536
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: Y
PROGRAM: T1002_TimerWK
MODULE: TimerWK
ACTION: NULL
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 4067194
TM_DELTA_CPU_TIME: 9149
TM_DELTA_DB_TIME: 55108
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: 2305843009213708985
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 records, you can generate an ASH report for analysis. For more information about ASH, see ASH report.
