使用obclient调用存储过程显示超时

使用obclient调用存储过程,涉及的数据有三千多万条,难道数据量大就会连接超时嘛
这个是我使用的命令obclient -hxxx -Pxxx -uxxx@xxx#xxx -pxxx -e “call rpt.pkg_jsc_bc.pro_file_bx(‘20230728’)”

事务超时了,参考:https://www.oceanbase.com/docs/community-observer-cn-10000000000901538

可以通过修改ob_trx_timeout变量控制事务超时时间

show variables like 'ob_trx_timeout';
set ob_trx_timeout = xxxxx;
show variables like 'ob_trx_timeout';

ob_trx_idle_timeout 用于设置事务空闲超时时间,即事务中两条语句之间的执行间隔超过该值时超时,单位为微秒。
connect_timeout 用于设置连接超时时间,单位为秒。
net_read_timeout 用于中断读之前等待连接的其它数据的秒数。
net_write_timeout 用于设置中断写之前等待块写入连接的秒数。
ob_trx_timeout 用于设置事务超时时间,单位为微秒。
ob_pl_block_timeout 用于设置 PL 的最大超时时间,单位为微秒。
interactive_timeout 用于设置服务器关闭交互式连接前等待活动的秒数。
wait_timeout 用于设置服务器关闭非交互连接之前等待活动的秒数。

参考这几个超时相关的变量

1 个赞

我设置了一下,但是退出页面后又变回默认的这个需要怎么做

set global ob_trx_timeout = xxxxx;