Note
- This view is available starting with V4.3.5 for V4.3.x.
- This view is available starting with V4.2.2 for V4.2.x.
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 | VARCHAR2(46) | NO | The IP address of the server to which the sample belongs. |
| SVR_PORT | NUMBER | NO | The port number of the server to which the sample belongs. |
| SAMPLE_ID | NUMBER | NO | The unique ID of the sample. |
| SAMPLE_TIME | TIMESTAMP(6) | NO | The time when the sample was collected. |
| CON_ID | NUMBER | NO | The tenant ID. |
| USER_ID | NUMBER | NO | The ID of the user of the session that was sampled. |
| SESSION_ID | NUMBER | NO | The ID of the session that was sampled. For V4.3.x:
|
| SESSION_TYPE | VARCHAR2(10) | NO | The session type.
|
| SESSION_STATE | VARCHAR2(7) | NO | The session state.
|
| SQL_ID | VARCHAR2(32) | NO | The SQL ID. |
| PLAN_ID | NUMBER | 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 | VARCHAR2(64) | NO | The trace ID of the operator. |
| EVENT | VARCHAR2(64) | NO | The description of the wait event. |
| EVENT_NO | NUMBER | NO | The internal number of the wait event, which is used for cross-table queries. |
| EVENT_ID | NUMBER | NO | The ID of the current wait event. |
| P1TEXT | VARCHAR2(64) | NO | The name of parameter 1 of the wait event. The name varies with the value of the EVENT field. |
| P1 | NUMBER | NO | The value of parameter 1 of the wait event. |
| P2TEXT | VARCHAR2(64) | NO | The name of parameter 2 of the wait event. The name varies with the value of the EVENT field. |
| P2 | NUMBER | NO | The value of parameter 2 of the wait event. |
| P3TEXT | VARCHAR2(64) | NO | The name of parameter 3 of the wait event. The name varies with the value of the EVENT field. |
| P3 | NUMBER | NO | The value of parameter 3 of the wait event. |
| WAIT_CLASS | VARCHAR2(64) | NO | The type of the wait event. |
| WAIT_CLASS_ID | NUMBER | NO | The ID of the type of the wait event. This ID is used for cross-table queries. |
| TIME_WAITED | NUMBER | NO | The total wait time of the wait event, in microseconds (us). |
| SQL_PLAN_LINE_ID | NUMBER | NO | The number of the SQL operator in the SQL plan at the time of sampling. |
| GROUP_ID | NUMBER | NO | The ID of the resource group to which the sample belongs. |
| PLAN_HASH | NUMBER | YES | The plan hash of the SQL statement that is currently being executed. |
| THREAD_ID | NUMBER | YES | The ID of the thread to which the active session belongs. |
| STMT_TYPE | NUMBER | YES | The SQL type of the active session. |
| TIME_MODEL | NUMBER | 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 | VARCHAR2(1) | NO | Indicates whether the session was parsing an SQL statement at the time of sampling. |
| IN_PL_PARSE | VARCHAR2(1) | NO | Indicates whether the session was parsing an SQL PL statement at the time of sampling. |
| IN_PLAN_CACHE | VARCHAR2(1) | NO | Indicates whether the session was matching a plan in the plan cache at the time of sampling. |
| IN_SQL_OPTIMIZE | VARCHAR2(1) | NO | Indicates whether the session was optimizing the SQL statement at the time of sampling. |
| IN_SQL_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session was executing the SQL statement at the time of sampling. |
| IN_PX_EXECUTION | VARCHAR2(1) | NO | Indicates whether the session was executing the SQL statement in parallel at the time of sampling. If the session is in this state, it must also be in the IN_SQL_EXECUTION state. |
| IN_SEQUENCE_LOAD | VARCHAR2(1) | NO | Indicates whether the session is performing an incremental column or SEQUENCE value operation during sampling. |
| IN_COMMITTING | VARCHAR2(1) | NO | Indicates whether the current sampling point is in the transaction commit phase. |
| IN_STORAGE_READ | VARCHAR2(1) | NO | Indicates whether the current sampling point is in the storage read phase. |
| IN_STORAGE_WRITE | VARCHAR2(1) | NO | Indicates whether the current sampling point is in the storage write phase. |
| IN_REMOTE_DAS_EXECUTION | VARCHAR2(1) | NO | Indicates whether the current sampling point is in the DAS remote execution phase. |
| IN_FILTER_ROWS | VARCHAR2(1) | NO | Indicates whether the current sampling point is in the storage pushdown execution phase. |
| IN_RPC_ENCODE | VARCHAR2(1) | NO | Indicates whether the current SQL is performing a serialization operation. |
| IN_RPC_DECODE | VARCHAR2(1) | NO | Indicates whether the current SQL is performing a deserialization operation. |
| IN_CONNECTION_MGR | VARCHAR2(1) | NO | Indicates whether the current SQL is performing a connection establishment operation. |
| PROGRAM | VARCHAR2(64) | NO | The name of the program being executed at the current sampling point:
|
| MODULE | VARCHAR2(64) | NO | The MODULE value recorded at the sampling point, set by the DBMS_APPLICATION_INFO.SET_MODULE package. |
| ACTION | VARCHAR2(64) | NO | The ACTION value recorded at the sampling point, set by the DBMS_APPLICATION_INFO.SET_ACTION package. |
| CLIENT_ID | VARCHAR2(64) | NO | The CLIENT_ID value recorded at the sampling point, set by the DBMS_SESSION.set_identifier package. |
| BACKTRACE | VARCHAR2(512) | NO | A 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 | NUMBER | NO | The time interval for calculating the time model, in microseconds. |
| TM_DELTA_CPU_TIME | NUMBER | NO | The amount of time spent on the CPU during the TM_DELTA_TIME period. |
| TM_DELTA_DB_TIME | NUMBER | NO | The amount of time spent on database calls during the TM_DELTA_TIME period. |
| TOP_LEVEL_SQL_ID | CHAR(32) | NO | The ID of the top-level SQL. |
| IN_PLSQL_COMPILATION | VARCHAR2(1) | NO | The PL compilation status: Y/N |
| IN_PLSQL_EXECUTION | VARCHAR2(1) | NO | The PL execution status: Y/N |
| PLSQL_ENTRY_OBJECT_ID | NUMBER | NO | The OBJECT ID of the top-level PL. |
| PLSQL_ENTRY_SUBPROGRAM_ID | NUMBER | NO | The subprogram ID of the top-level PL. |
| PLSQL_ENTRY_SUBPROGRAM_NAME | VARCHAR2(32) | NO | The subprogram name of the top-level PL. |
| PLSQL_OBJECT_ID | NUMBER | NO | The ID of the currently executing PL object. |
| PLSQL_SUBPROGRAM_ID | NUMBER | NO | The ID of the currently executing PL subprogram. |
| PLSQL_SUBPROGRAM_NAME | VARCHAR2(32) | NO | The name of the currently executing PL subprogram. |
| TX_ID | NUMBER | NO | The ID of the current transaction. |
| BLOCKING_SESSION_ID | NUMBER | NO | If the current session is blocked, it displays the session ID of the session that is blocking the current session. Currently, this field is effective only in lock conflict scenarios and displays the session ID of the session that holds the lock. |
| TABLET_ID | NUMBER | NO | The ID of the tablet being processed by the current SQL. |
| PROXY_SID | NUMBER | NO | The ID of the proxy session. |
| TX_ID | NUMBER | NO | The ID of the current transaction. |
| DELTA_READ_IO_REQUESTS | NUMBER | NO | The number of reads between two sampling points.
Note
|
| DELTA_READ_IO_BYTES | NUMBER | NO | The cumulative size of the files read between two sampling points.
Note
|
| DELTA_WRITE_IO_REQUESTS | NUMBER | NO | The number of write requests between two samples.
Note
|
| DELTA_WRITE_IO_BYTES | NUMBER | NO | The total size of files written between two samples.
Note
|
Sample query
Query the active session history of the current OBServer node in the current tenant.
obclient [SYS]> SELECT * FROM SYS.V$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: 628769
SAMPLE_TIME: 29-MAY-25 04.15.13.233653 PM
CON_ID: 1004
USER_ID: 200001
SESSION_ID: 4611686018587887275
SESSION_TYPE: BACKGROUND
SESSION_STATE: WAITING
SQL_ID: EC1E4162DDF070F6FE0E5BD0B2DAB6B6
PLAN_ID: 149247
TRACE_ID: YB42AC1E87E0-XXXXXXXXXXXXXX-0-0
EVENT: exec inner sql wait
EVENT_NO: 100
EVENT_ID: 30000
P1TEXT: wait inner sql class
P1: 0
P2TEXT: inner session id
P2: 4611686018587887275
P3TEXT: NULL
P3: 0
WAIT_CLASS: OTHER
WAIT_CLASS_ID: 100
TIME_WAITED: 0
SQL_PLAN_LINE_ID: 0
GROUP_ID: 0
PLAN_HASH: 7229639134749364469
THREAD_ID: 83439
STMT_TYPE: 1
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_LSRecoveryService
MODULE: LOCAL INNER SQL EXEC
ACTION: NULL_INNER_SQL
CLIENT_ID: NULL
BACKTRACE: NULL
TM_DELTA_TIME: 238
TM_DELTA_CPU_TIME: 130
TM_DELTA_DB_TIME: 208
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: 16124478
BLOCKING_SESSION_ID: 4611686018587887275
TABLET_ID: NULL
PROXY_SID: 4611686018587887275
DELTA_READ_IO_REQUESTS: 0
DELTA_READ_IO_BYTES: 0
DELTA_WRITE_IO_REQUESTS: 0
DELTA_WRITE_IO_BYTES: 0