obloader逻辑备份恢复,使用当前最新V4.3.0备份效率提升很大,但是存在恢复时ddl无法并行的问题。而V4.1.0是可以实现并行ddl的,但是用V4.1.0恢复时,针对clob字段表问题,会出现Connection reset报错问题,该问题同样存在于V4.3.0。
恢复命令
/var/sunfan/ob-loader-dumper-4.3.0-RELEASE/bin/obloader -h ****** -P 2883 -u ****** -t ob_cluster_tpl -c obcluster_tpl -p ****** -D TEST --sql --table T_BAS_DEPLOYPACKAGE --truncate-table -f /backup/oceanbase/TEST/data/TEST_01/TABLE/T_BAS_DEPLOYPACKAGE.sql
报错信息
[ERROR] Other Error: java.sql.SQLException: java.sql.SQLNonTransientConnectionException: (conn=204363) Connection reset
原因:
目前 obproxy 走 ps 协议时目前有如下限制,obproxy ps 协议不支持解析完整 payload 长度超过 ffffff 的包,即 2^24=16M。(这个限制当前4.3.0版本还存在)
解决方案:
1、直连2881
2、关闭ps :将 conf/session.config.json 里面的 "useServerPrepStmts": true 改为 "useServerPrepStmts": false (已在V4.3.0版本上验证通过,V4.1.0仍然存在问题)
3、使用 source 命令导入
根据官方反馈,ob方面会在V4.3.1版本修复该bug