ERROR-02006: OceanBase server has gone away No connection. Trying to reconnect...

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
insert 了一些数据,隔了一段时间后,就会出现报错,然后再查表数据被清空了。。。
image

设置了这三个参数,依然没啥用。。。求解
set global ob_query_timeout=36000000000;
set global ob_trx_timeout=36000000000;
set global ob_trx_idle_timeout=86400000000;

【附件】

麻烦上传下对应时间的observer的日志,最好是报错时间点附近的

以及部署yaml和租户配置麻烦也提供下

以上文件注意脱敏

应该是没有开启autocommit的原因

现在是可以正常执行sql了么

是的,只不过每次insert只能插10w条数据,插的再多点,就卡住了,进程啥的都没问题,会话也没断,日志也没啥报错,就一直卡着不动,不知道为啥,是有什么控制事务数的参数吗?

不知道你这边是怎么进行插入的,单开链接么?建立会话的默认值好像就是10w,

对就是开一个obclient连接,写了一个类似generate_series的函数执行insert into xxx generate_series(1, 100000)这种的,默认是10w,能否往上调一下呢?应该调哪个参数啊?

不建议这种写法,完成会话后建议还是关闭这个会话,
实在要改,可以看下这 max_connections参数,相关用法可以在文档里看下

额,如果不用这种方式插入的话,那应该如何快速的插入100w或者更高的数据啊? :sweat_smile:

有很多哦,也可以看下这个特性

https://www.oceanbase.com/docs/common-oceanbase-database-10000000001697208

主要是不要一直挂着链接


String url = “jdbc:oceanbase://10.247.218.135:2883/ouser?rewriteBatchedStatement\n” +
“s=TRUE&allowMultiQueries=TRUE&useLocalSessionState=TRUE&useUnicode=TRUE&ch\n” +
“aracterEncoding=utf-8&socketTimeout=3000000&connectTimeout=60000”;
我本来想用jdbc去插,但是报这个错,这个能帮忙看下吗?

看下这个,大多数常见问题文档内都有解决方法的

https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000002100768

1)大批量数据插入可以试试旁路导入。https://www.oceanbase.com/docs/common-oceanbase-database-10000000001687926
2)报错get location cache fail 应该是找不到租户名称,确认下连接用户信息 用户名@租户名称
注意:禁止使用sys租户当业务租户使用。

已解决,多谢