obdumper、obloader 使用矛盾咨询

【 使用环境 】生产环境 or 测试环境
测试环境

【 OB or 其他组件 】
OceanBase Deploy: 1.3.3 REVISION: c20488ffee26b0c9dfe4b30374687349a427ab15
ob-loader-dumper-4.2.5-RELEASE

【 使用版本 】
OceanBase Deploy: 1.3.3 REVISION: c20488ffee26b0c9dfe4b30374687349a427ab15
ob-loader-dumper-4.2.5-RELEASE

【问题描述】清晰明确描述问题
使用 ob-dumper 导数工具,导出表定义及表数据:

./obdumper -h’127.0.0.1’ -P’2881’ -u’root’ -D’DataBaseTest’ --all --ddl --drop-object -f ‘/home/Systembak/2023-09-05/view’ --public-cloud --skip-check-dir

./obdumper -h’127.0.0.1’ -P’2881’ -u’root’ -D’DataBaseTest’ --all --sql -f ‘/home/Systembak/2023-09-05/data’ --public-cloud --skip-check-dir

一切正常,但是存在表 THisMatch 导出表数据文件中 date(0000-00-00)、及timestamp(0000-00-00 00:00:00.000)的数据导出为 null 的状况

但是在使用 ob-loader 导数工具,恢复表定义及表数据:

./obloader -h’127.0.0.1’ -P’2881’ -u’root’ -D’DataBaseTest’ --all --ddl -f ‘/home/Systembak/2023-09-05/view’ --public-cloud --external-data

./obloader -h’127.0.0.1’ -P’2881’ -u’root’ -D’DataBaseTest’ --all --sql -f ‘/home/Systembak/2023-09-05/data’ --public-cloud --external-data

表定义全部恢复成功,但是表数据丢失较多,丢失的都是 date(0000-00-00)、及timestamp(0000-00-00 00:00:00.000)的数据导出为 null 的数据,因为表定义文件中 date 和 timestamp 类型定义的两个字段均是 not null

【复现路径】
上文已详述

【问题现象及影响】
数据恢复丢失

1 个赞

–preserve-zero-datetime参数 可以试下, 保留时间数据原有格式。
https://www.oceanbase.com/docs/community-obloaderdumper-cn-1000000000076600

1 个赞

https://www.oceanbase.com/docs/community-obloaderdumper-cn-1000000000076600 加上–preserve-zero-datetime 保留时间格式后 再看看

确实解决了,感谢!