实时会话
操作场景
GaussDB支持查看实例组件维度下所有的实时会话,并支持结束指定会话。您还可以通过查询表定义功能识别出SQL文本中的表名信息,并根据表名、Schema名以及库名进行表定义的查询。
约束限制
- 数据库引擎版本大于等于V2.0-3.208.0,内核版本大于等于503.1.0.SPC1200的实例支持查询表定义。“表定义”为白名单开放,如需配置白名单权限,您可以在管理控制台右上角,选择新建工单,提交开通白名单的申请。
- 版本号查询方法请参见查看云数据库GaussDB数据库和内核引擎版本。
- 查询实时会话列表最多返回200条数据,以防止会话数量太多而造成请求超时。
- 归一化SQL为0或者用户名称是系统用户时不支持创建SQL限流。
- 对于分布式版实例,只有查看单个CN或者DN组件的会话才会返回会话的内存信息,查询“全部CN”、“全部会话状态”和CN下钻会话不支持查看会话内存。
查看实时会话
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
- 在左侧导航栏中单击“诊断优化 > 会话管理”,显示实时会话信息。搜索框中选择“数据库”、“客户端IP”或“用户名”等信息进行过滤筛选。
表1 实时会话部分指标说明 指标名称
指标说明
归一化SQL ID
归一化SQL ID为0时,不支持创建SQL PATCH也不支持创建sql限流任务。
是否等待
如果会话当前正等待锁则为true,否则为false。
阻塞会话ID
阻塞当前线程获取锁的会话标识。
等待事件
当前线程正在等待的事件。
状态
该会话当前总体状态。取值范围如下:
- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但事务中没有语句在执行。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则会话显示此状态。
- 勾选一条或多条会话,单击“查杀指定会话”,单击“确定”,完成查杀会话。
- 单击“查杀所有空闲会话”,确认要执行查杀所有空闲会话,单击“确定”,完成查杀所有空闲会话。
- 单击“自动查杀事务”可以开启、关闭事务自动查杀和配置长事务和大事务自动查杀规则。
图1 长事务图2 大事务
- 选择需要进行限流的会话,单击“创建SQL限流任务”可以对选中会话的归一化SQL ID进行限流。
您也可以勾选指定会话,在操作列单击“SQL限流”,对选中会话的归一化SQL ID进行限流。如何创建SQL限流任务请参见配置SQL限流。
- 对于分布式版实例,单击节点下拉框,可以看到“全部CN”和“全部会话状态”选项,单击“全部CN”可以查看所有CN的会话,单击“全部会话状态”可以查看所有CN和DN的会话线程状态。
图3 全部CN/全部会话状态
- 空闲会话是指状态为“idle”的会话,“idle in transactions”和“active”状态的会话不会被当做空闲会话删除。
- 只有客户端IP不为空的会话才会显示在会话列表中。
- V2.0-1.4及之前版本的实例不支持查询归一化SQL ID,故归一化SQL ID列为空。
- 仅支持包含有CN或DN(主、备)组件的节点。
创建SQL PATCH
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
- 在左侧导航栏中单击“ 诊断优化 > 会话管理”,显示实时会话信息。
归一化SQL ID为0时,不支持创建SQL PATCH。
- 对于需要操作的SQL,单击操作列的 “更多 > SQL PATCH”,显示“SQL PATCH详情”页面。
查询表定义
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
- 单击“诊断优化 > 会话管理”。
- 单击“操作”列的“表定义”。在“表定义”页面,查看“识别到的表”。
如未识别到表,请单击“添加识别到的表”填写表名后进行表定义查询。如识别结果有误,请单击“编辑”进行修改并保存后再进行表定义查询。
- 单击指定表名前的
进行表定义的查询。
图6 表定义 - 单击表定义中的SQL语句查看具体的表定义信息。
图7 表定义具体信息