系统慢SQL日志-sys_all_slowsql_log
功能描述
sys_all_slowsql_log系统表用于查询所有节点记录的慢SQL命令,参数slow_sql_time,0表示关闭,正数表示开启记载执行时长超过阈值的SQL,当SQL执行时间超过设置的阈值时间将记录SQL且生成SLOWSQL.LOG日志文件,通过sys_all_slowsql_log可查询结果。
字段说明
序号 | 字段名 | 类型 | 说明 |
---|---|---|---|
0 | NODEID | INTEGER | 节点ID |
1 | DB_ID | VARCHAR | 库ID |
2 | USER_NAME | INTEGER | 用户名 |
3 | SESSION_ID | VARCHAR | 会话ID |
4 | CLIENT_IP | DATETIME | 客户端IP |
5 | EX_TIME | VARCHAR | 当前时间 |
6 | ELAPSE_TIME | INTEGER | SQL执行时间(毫秒) |
7 | SQL_STR | VARCHAR | 执行SQL |
8 | SQL_PARAS | VARCHAR | 传入参数 |
参数说明
当有传入参数时(如预处理语句),将记录传入参数信息,其记录格式如下:
{PN=参数个数,GN=参数组数 <参数序号,参数类型,参数值><参数序号,参数类型,参数值>...}
参数个数:本组传输的参数个数
参数组数:本组传输的参数所属的组数
参数序号:本组传输的当前参数序号,从 1 开始
参数类型:本组传输的当前参数类型,下述类型括号中数字为类型 ID
B
:表示类型为TYPE_BOOL(2)
的布尔数据I1
:表示类型为TYPE_I1(3)
的 1 字节整型数据I2
:表示类型为TYPE_I2(4)
的 2 字节整型数据I4
:表示类型为TYPE_I4(5)
的 4 字节整型数据I8
:表示类型为TYPE_I8(6)
的 8 字节整型数据R4
:表示类型为TYPE_R4(8)
的 4 字节浮点数据R8
:表示类型为TYPE_R8(9)
的 8 字节浮点数据S
:表示类型为TYPE_CHAR(30)
的字符串数据TID:0
:表示类型为上述类型之外的类型,其中0
将替换为类型 ID,若本参数值为NULL
,则0
将替换为NULL
参数值:本组传输的当前参数值
B
:输出真值T
或假值F
I1
:输出 1 字节整型值表示字符串I2
:输出 2 字节整型值表示字符串I4
:输出 4 字节整型值表示字符串I8
:输出 8 字节整型值表示字符串R4
:输出 4 字节浮点值表示字符串R8
:输出 8 字节浮点值表示字符串S
:输出由单引号'
包裹的字符串,最长为 128 字节- 当类型为上述类型之外的类型,不输出参数值部分
应用实例
查看所有节点的慢SQL操作记载。
sql
SQL> SELECT * FROM sys_all_slowsql_log;
NODEID | DB_ID | USER_NAME | SESSION_ID | CLIENT_IP | EX_TIME | ELAPSE_TIME | SQL_STR | SQL_PARAS |
--------------------------------------------------------------------------------------------------
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:13:43.000 AD | 30 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:13:46.000 AD | 233 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:14:10.000 AD | 10 | DROP TABLE SLOWSQL_TABLE| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:30.000 AD | 30 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:34.000 AD | 207 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:41.000 AD | 50 | SELECT sleep(50);| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:46.000 AD | 91 | SELECT sleep(90);| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:59.000 AD | 10 | DROP TABLE SLOWSQL_TABLE| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:32.000 AD | 25 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:36.000 AD | 121 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:43.000 AD | 207 | SELECT sleep(210);| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:45.000 AD | 303 | SELECT sleep(305);| <NULL>|
相关系统表
sys_slowsql_log