codecamp

OceanBase 会话管理

应用与数据库的连接被称为一个会话,在 OceanBase 开发者中心(OceanBase Developer Center,ODC)会话管理页面您可以查看连接到当前数据库所有会话的详细信息。同时在会话属性页面 ODC 提供了可视化界面使您可以清晰直观的查看和修改当前数据库支持的会话变量和全局变量。

进入 ODC 对应的数据库连接后,单击页面上方导航栏右上角的 会话 按钮,可选择进入会话属性或会话管理 页面。

OceanBase会话管理

会话属性

会话属性即数据库变量,OceanBase 中有会话变量和全局变量:

  • 会话变量:当客户端连接到数据库后,数据库会复制全局变量以自动生成会话变量。会话变量的修改只对当前会话生效。
  • 全局变量:数据库实例共享全局变量。这意味着不同用户共享这些全局变量,且数据库会保存您对全局变量做出的更改,断开连接并再次进入数据库时,更改依旧有效。
说明 
当前版本的 ODC 中不支持编辑全局变量,您可以对会话变量进行修改。
ODC 中共享 Session,相同连接只有一个 Session。ODC V2.3.2 后在 Oracle 模式下自动提交默认设置为关,所以您需要手动提交事务。您可以修改变量 autocommit 的值进行设置。
事务手动提交模式下,需要设置 ob_trx_idle_timeout 大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout 设置的时间,连接会终止。同时需要注意 ob_trx_idle_timeout 设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

OceanBase会话管理 ODC 提供了可视化界面使您可以清晰直观的查看与修改当前数据库支持的变量。对于变量值的修改:

  • 当前版本 ODC 对于会话变量区分了查看态和编辑态,选中您想到修改的变量然后单击工具栏中的编辑按钮以进入编辑弹窗进行修改。编辑完成后单击会话页面右下角的 保存 按钮,修改生效。

  • 如果变量的值是字符或数字类型,可以在变量编辑页面中直接输入修改值。

  • 如果变量的值是枚举类型,ODC 会在变量值的编辑框中列举出该变量支持的值的集合,您可以在不用准确记忆变量名和值的情况下通过可视化界面完成修改,这降低了用户记忆变量的成本并提高了变量修改的效率。ODC 会使用橙色标记修改过的数据库变量,以方便您更直观的管理变量。

会话管理

与当前数据库的连接被称为一个会话,在会话管理页面您可以查看连接到当前数据库的所有会话和以下会话信息:

会话信息

说明

会话 ID

展示当前会话的 ID,是会话的唯一标识。

用户

会话登录使用的数据库用户名。

来源

发起会话的地址。

数据库名

当前会话访问的数据库名称。

状态

展示当期会话的状态,有 SLEEP(休眠)和 ACTIVE(活跃)两种状态。

命令

会话当前执行的命令类型。

执行时间(s)

会话当前执行 SQL 所花的时间。

SQL

会话当前执行 SQL 的具体内容。

OBProxy

会话访问的代理地址。

OceanBase会话管理

会话管理页面的导航栏中提供了以下功能键供您管理会话:

  • 刷新:刷新会话列表。
  • 关闭会话:终止当前会话。
  • 关闭会话当前查询:终止当前会话正在进行的 SQL 执行进程。


OceanBase 异步执行任务
OceanBase 表对象
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }