Note
Introduced in version V4.0.0.
Purpose
The V$OB_SQL_AUDIT view displays statistics such as the source and execution status of each SQL request on the current OBServer node. The view is tenant-scoped. Tenants other than the system tenant cannot query across tenants.
Columns
| Column | Type | Nullable? | Description |
|---|---|---|---|
| SVR_IP | varchar(46) | NO | IP address |
| SVR_PORT | bigint(20) | NO | Port number |
| REQUEST_ID | bigint(20) | NO | ID of the request |
| SQL_EXEC_ID | bigint(20) | NO | ID of the current execution |
| TRACE_ID | varchar(128) | NO | Trace ID of the statement |
| SID | bigint(20) unsigned | NO | For V4.3.x:
|
| CLIENT_IP | varchar(46) | NO | |
| CLIENT_PORT | bigint(20) | NO | Port number of the client that sends the request |
| TENANT_ID | bigint(20) | NO | ID of the tenant that sends the request |
| TENANT_NAME | varchar(64) | NO | Name of the tenant that sends the request |
| EFFECTIVE_TENANT_ID | bigint(20) | NO | ID of the tenant |
| USER_ID | bigint(20) | NO | ID of the user that sends the request |
| USER_NAME | varchar(64) | NO | Name of the user that sends the request |
| USER_GROUP | bigint(20) | NO | ID of the resource group to which the user belongs |
| USER_CLIENT_IP | varchar(46) | NO | IP address of the client that sends the request |
| DB_ID | bigint(20) unsigned | NO | ID of the database |
| DB_NAME | varchar(128) | NO | Name of the database |
| SQL_ID | varchar(32) | NO | ID of the SQL statement
Note
|
| QUERY_SQL | longtext | NO | Actual SQL statement |
| PLAN_ID | bigint(20) | NO | ID of the execution plan |
| AFFECTED_ROWS | bigint(20) | NO | Number of affected rows |
| RETURN_ROWS | bigint(20) | NO | Number of returned rows |
| PARTITION_CNT | bigint(20) | NO | Number of partitions involved in the request |
| RET_CODE | bigint(20) | NO | Return code of the execution result: |
| QC_ID | bigint(20) unsigned | NO | ID of the scheduler in parallel execution scenarios |
| DFO_ID | bigint(20) | NO | ID of the current subplan in parallel execution scenarios |
| SQC_ID | bigint(20) | NO | ID of the local coordinator in parallel execution scenarios |
| WORKER_ID | bigint(20) | NO | ID of the worker thread in parallel execution scenarios |
| EVENT | varchar(64) | NO | Name of the longest waiting event |
| P1TEXT | varchar(64) | NO | Parameter 1 of the waiting event |
| P1 | bigint(20) unsigned | NO | Value of parameter 1 of the waiting event |
| P2TEXT | varchar(64) | NO | Parameter 2 of the waiting event |
| P2 | bigint(20) unsigned | NO | Value of parameter 2 of the waiting event |
| P3TEXT | varchar(64) | NO | Parameter 3 of the waiting event |
| P3 | bigint(20) unsigned | NO | Value of parameter 3 of the waiting event |
| LEVEL | bigint(20) | NO | Level of the waiting event |
| WAIT_CLASS_ID | bigint(20) | NO | ID of the Class to which the waiting event belongs |
| WAIT_CLASS# | bigint(20) | NO | Index of the Class to which the waiting event belongs |
| WAIT_CLASS | varchar(64) | NO | Name of the Class to which the waiting event belongs |
| STATE | varchar(19) | NO | Status of the waiting event |
| WAIT_TIME_MICRO | bigint(20) | NO | Waiting time of the waiting event, in microseconds |
| TOTAL_WAIT_TIME_MICRO | bigint(20) | NO | Total waiting time of all waiting events, in microseconds |
| TOTAL_WAITS | bigint(20) | NO | Total number of waiting events |
| RPC_COUNT | bigint(20) | NO | Number of RPCs sent |
| PLAN_TYPE | bigint(20) | NO | Type of the execution plan: |
| IS_INNER_SQL | tinyint(4) | NO | Whether the request is an internal SQL request |
| IS_EXECUTOR_RPC | tinyint(4) | NO | Whether the current request is an RPC request |
| IS_HIT_PLAN | tinyint(4) | NO | Whether the plan is hit in plan_cache |
| REQUEST_TIME | bigint(20) | NO | Start time of execution, in microseconds |
| ELAPSED_TIME | bigint(20) | NO | Total time consumed from receiving the request to the end of execution, in microseconds |
| NET_TIME | bigint(20) | NO | Time from sending the RPC to receiving the request, in microseconds |
| NET_WAIT_TIME | bigint(20) | NO | Time from receiving the request to entering the queue, in microseconds |
| QUEUE_TIME | bigint(20) | NO | Waiting time of the request in the queue, in microseconds |
| DECODE_TIME | bigint(20) | NO | Time to decode the request after it is dequeued, in microseconds |
| GET_PLAN_TIME | bigint(20) | NO | Time from starting to process the request to obtaining the execution plan, in microseconds |
| EXECUTE_TIME | bigint(20) | NO | Time consumed for executing the plan, in microseconds |
| APPLICATION_WAIT_TIME | bigint(20) unsigned | NO | Total time of all application events, in microseconds |
| CONCURRENCY_WAIT_TIME | bigint(20) unsigned | NO | Total time of all concurrency events, in microseconds |
| USER_IO_WAIT_TIME | bigint(20) unsigned | NO | Total time of all user_io events, in microseconds |
| SCHEDULE_TIME | bigint(20) unsigned | NO | Total time of all schedule events, in microseconds |
| ROW_CACHE_HIT | bigint(20) | NO | Number of row cache hits |
| BLOOM_FILTER_CACHE_HIT | bigint(20) | NO | Number of Bloom filter cache hits |
| BLOCK_CACHE_HIT | bigint(20) | NO | Number of block cache hits |
| DISK_READS | bigint(20) | NO | Number of physical reads |
| RETRY_CNT | bigint(20) | NO | Number of retries |
| TABLE_SCAN | tinyint(4) | NO | Whether the request contains a full table scan |
| CONSISTENCY_LEVEL | bigint(20) | NO | Consistency level, which can be one of the following values:
|
| MEMSTORE_READ_ROW_COUNT | bigint(20) | NO | Number of rows read from MemStore |
| SSSTORE_READ_ROW_COUNT | bigint(20) | NO | Number of rows read from SSStore |
| DATA_BLOCK_READ_CNT | bigint(20) | NO | Number of data microblocks accessed |
| DATA_BLOCK_CACHE_HIT | bigint(20) | NO | Number of data microblocks hit in cache |
| INDEX_BLOCK_READ_CNT | bigint(20) | NO | Number of intermediate layer microblocks accessed |
| INDEX_BLOCK_CACHE_HIT | bigint(20) | NO | Number of intermediate layer microblocks hit in cache |
| BLOCKSCAN_BLOCK_CNT | bigint(20) | NO | Number of data microblocks scanned unilaterally |
| BLOCKSCAN_ROW_CNT | bigint(20) | NO | Number of data rows scanned unilaterally |
| PUSHDOWN_STORAGE_FILTER_ROW_CNT | bigint(20) | NO | Number of rows filtered by the storage filter |
| REQUEST_MEMORY_USED | bigint(20) | NO | Memory consumed by the request |
| EXPECTED_WORKER_COUNT | bigint(20) | NO | Expected number of worker threads for the request |
| USED_WORKER_COUNT | bigint(20) | NO | Actual number of worker threads used by the request |
| SCHED_INFO | varchar(16384) | NO | Scheduling information of the request |
| FUSE_ROW_CACHE_HIT | bigint(20) | NO | Not supported. The field is NULL by default. |
| PS_CLIENT_STMT_ID | bigint(20) | NO | Prepare ID corresponding to the request:
|
| PS_INNER_STMT_ID | bigint(20) | NO | Prepare ID corresponding to the request:
|
| TX_ID | bigint(20) | NO | ID of the transaction corresponding to the request |
| SNAPSHOT_VERSION | bigint(20) | NO | Read snapshot version used by the SQL statement |
| REQUEST_TYPE | bigint(20) | NO | Type of the request: |
| IS_BATCHED_MULTI_STMT | tinyint(4) | NO | Whether to optimize batch multi statement |
| OB_TRACE_INFO | varchar(4096) | NO | Trace information set by the user |
| PLAN_HASH | bigint(20) unsigned | NO | Hash value of the execution plan |
| LOCK_FOR_READ_TIME | bigint(20) | NO | Time to wait for a lock when reading data, in microseconds |
| PARAMS_VALUE | longtext | NO | Values of parameters bound by PS |
| RULE_NAME | varchar(256) | NO | Rule name
NoteThis field was introduced in V4.1.0. |
| PARTITION_HIT | tinyint(4) | NO |
NoteThis field was introduced in V4.1.0. |
| TX_INTERNAL_ROUTING | bigint(20) | NO | Whether the SQL statement is internally routed:
NoteThis field was introduced in V4.1.0. |
| TX_STATE_VERSION | bigint(20) unsigned | NO | Transaction state version of the SQL statement
NoteThis field was introduced in V4.1.0. |
| FLT_TRACE_ID | varchar(1024) | NO | Trace ID for full-link tracing of the record. If the value is empty, full-link tracing is not enabled for the record. The value is a UUID, which is different from the trace ID. The value is in the format of 000600d6-a5de-038c-6c80-df07e4e79149.
NoteThis field was introduced in V4.2.1. |
| PL_TRACE_ID | varchar(128) | NO | Trace ID of the outer PL of the current SQL statement (NULL if no outer PL exists)
Note
|
| PLSQL_EXEC_TIME | bigint(20) | NO | PL execution time (excluding SQL execution time), in microseconds
Note
|
| TOTAL_MEMSTORE_READ_ROW_COUNT | bigint(20) | NO | Total number of rows read from MemStore (displayed only in threads that display query_text)
Note
|
| TOTAL_SSSTORE_READ_ROW_COUNT | bigint(20) | NO | Total number of rows read from SSSTORE (displayed only in threads that display query_text)
Note
|
| PROXY_USER | varchar(128) | NO |
Note
|
| SEQ_NUM | bigint(20) | NO | Statement sequence number in the transaction
Note
|
| NETWORK_WAIT_TIME | bigint(20) unsigned | YES | Total time of all network events, in microseconds
Note
|
Sample query
Query the statistics of each SQL request on the current OBServer node, including the source and execution status.
obclient [oceanbase]> SELECT * FROM oceanbase.V$OB_SQL_AUDIT LIMIT 1\G
The query result is as follows:
*************************** 1. row ***************************
SVR_IP: xx.xx.xx.xx
SVR_PORT: 2882
REQUEST_ID: 30867456
SQL_EXEC_ID: 94137199
TRACE_ID: YB42AC1E87E9-000XXXXXXXXX-0-0
SID: 3221746140
CLIENT_IP: 0.0.0.0
CLIENT_PORT: 0
TENANT_ID: 1
TENANT_NAME: sys
EFFECTIVE_TENANT_ID: 1
USER_ID: 200001
USER_NAME: root
USER_GROUP: 0
USER_CLIENT_IP: 0.0.0.0
DB_ID: 201001
DB_NAME: oceanbase
SQL_ID: 664BF7B4A5CCEC68B4A59C0132E738BA
QUERY_SQL: SELECT * FROM __all_ls_status WHERE tenant_id = 1 ORDER BY tenant_id, ls_id
PLAN_ID: 15939
AFFECTED_ROWS: 0
RETURN_ROWS: 1
PARTITION_CNT: 1
RET_CODE: 0
QC_ID: 0
DFO_ID: 0
SQC_ID: 0
WORKER_ID: 0
EVENT: exec inner sql wait
P1TEXT: wait inner sql class
P1: 0
P2TEXT: inner session id
P2: 4611686018499956160
P3TEXT:
P3: 0
LEVEL: 0
WAIT_CLASS_ID: 100
WAIT_CLASS#: 0
WAIT_CLASS: OTHER
STATE: WAITED SHORT TIME
WAIT_TIME_MICRO: 99
TOTAL_WAIT_TIME_MICRO: 99
TOTAL_WAITS: 1
RPC_COUNT: 0
PLAN_TYPE: 1
IS_INNER_SQL: 1
IS_EXECUTOR_RPC: 0
IS_HIT_PLAN: 1
REQUEST_TIME: 1745731122983999
ELAPSED_TIME: 159
NET_TIME: 0
NET_WAIT_TIME: 0
QUEUE_TIME: 0
DECODE_TIME: 0
GET_PLAN_TIME: 60
EXECUTE_TIME: 99
APPLICATION_WAIT_TIME: 0
CONCURRENCY_WAIT_TIME: 0
USER_IO_WAIT_TIME: 0
SCHEDULE_TIME: 0
ROW_CACHE_HIT: 0
BLOOM_FILTER_CACHE_HIT: 0
BLOCK_CACHE_HIT: 0
DISK_READS: 0
RETRY_CNT: 0
TABLE_SCAN: 0
CONSISTENCY_LEVEL: 3
MEMSTORE_READ_ROW_COUNT: 0
SSSTORE_READ_ROW_COUNT: 1
DATA_BLOCK_READ_CNT: 0
DATA_BLOCK_CACHE_HIT: 1
INDEX_BLOCK_READ_CNT: 0
INDEX_BLOCK_CACHE_HIT: 1
BLOCKSCAN_BLOCK_CNT: 0
BLOCKSCAN_ROW_CNT: 0
PUSHDOWN_STORAGE_FILTER_ROW_CNT: 0
REQUEST_MEMORY_USED: 154880
EXPECTED_WORKER_COUNT: 0
USED_WORKER_COUNT: 0
SCHED_INFO: NULL
FUSE_ROW_CACHE_HIT: 0
PS_CLIENT_STMT_ID: -1
PS_INNER_STMT_ID: -1
TX_ID: 0
SNAPSHOT_VERSION: 1745731122942777000
REQUEST_TYPE: 1
IS_BATCHED_MULTI_STMT: 0
OB_TRACE_INFO: NULL
PLAN_HASH: 8981055705934891174
LOCK_FOR_READ_TIME: 0
PARAMS_VALUE:
RULE_NAME:
PARTITION_HIT: 1
TX_INTERNAL_ROUTING: 0
TX_STATE_VERSION: 0
FLT_TRACE_ID:
PL_TRACE_ID: NULL
PLSQL_EXEC_TIME: 0
FORMAT_SQL_ID:
STMT_TYPE: SELECT
TOTAL_MEMSTORE_READ_ROW_COUNT: 0
TOTAL_SSSTORE_READ_ROW_COUNT: 1
PROXY_USER:
SEQ_NUM: 1745731122948066
NETWORK_WAIT_TIME: 0
PLSQL_COMPILE_TIME: 0
INSERT_DUPLICATE_ROW_COUNT: 0