暂无图片
使用obloader导入SQL文件到OB报错
我来答
分享
暂无图片 匿名用户
使用obloader导入SQL文件到OB报错

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
obloader
【 使用版本 】
v4.2.5
【问题描述】
使用obloader导入SQL文件到OB,数据一直导入不成功

导入命令:
./obloader -h 10.xx.xx.xx -P 2883 -u root@xxx -p -D xxx_db --sql --all -f /data/xxx/xxx/

日志内容:
2023-10-12 14:04:06 [INFO] File: “/data/xxx/xxx/xxxx1.sql” is not contained, ignore it
2023-10-12 14:04:06 [INFO] File: “/data/xxx/xxx/xxxx2.sql” is not contained, ignore it

2023-10-12 14:04:06 [INFO] Find 0 resources in local path: “/data/xxx/xxx/” success. Elapsed: 204.5 ms
2023-10-12 14:04:06 [INFO] Split 0 data files to 0 subfiles by 64.0 MB success. Elapsed: 4.330 ms
2023-10-12 14:04:06 [WARN] No subfiles are generated from path: /data/xxx/xxx/data
2023-10-12 14:04:06 [INFO] System exit 0

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
O
OceanBase社区传送门

根据这条日志:
2023-10-12 14:04:06 [INFO] Find 0 resources in local path: “/data/xxx/xxx/” success. Elapsed: 204.5 ms 可知程序并未找到应该导入的文件。
在不显式指定 ‘-f’ 为具体文件路径时(在该 case 中,-f 为目录),obloader 将通过文件名规则匹配的方式检索并绑定文件,即构建一个 table → file 的映射,匹配规则为 <表名>.sql。在此 case 中,由于指定了 --all 且 -f 为一个目录,所以上述映射显然是多对多的,且文件名命名不符合 obloader 的匹配规则,以致无法导入。
导入单表场景下(即 --table <表名> 用法),obloader 提供了 --file-regular-expression 选项,用于指定正则表达式来匹配表名。
解决方案:
step1. 将 --all 改为 --table <表名>,以此来逐表导入。
step2 将 -f 指定为具体文件的路径。或者,-f 仍指定为目录路径,但通过 --file-regular-expression 指定需导入文件名的正则匹配规则。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏