问题现象
通过 ODC 批量导出多个表数据时,导出的数据不全。
问题原因
导出文件超过大小限制。Web 版 ODC 对导入导出的文件有大小限制,超过大小限制则会出现导入或者导出的数据不全的现象。
导入导出数据大小限制:
操作项 ODC 3.2.0 之前的版本 ODC 3.2.0 及之后的版本 导入 250MB(压缩后) 2GB(压缩后) 导出 250MB(压缩前) 2GB(压缩前) 判断文件大小方法:解压导出文件,查看解压后的总大小是否超出 ODC 当前版本的导入导出文件大小限制。
导出的多个表中存在空表或者空分区。
导出时, ODC 内部使用的 OBDUMPER 组件会将容量限制平均分配至每张表,如果为分区表会平均分配容量限制至每个分区。如果导出的多个表中存在空表或者空分区,即使其中无数据导出也会占用总大小造成导出的总文件大小超出限制(表越多,表中的空表越多可能超出限制越大)。
可以查看导出任务的日志来判定是否触发了大小限制阶段的功能。例如下述信息提示 "Stop dump: ${schema}.${table} Size: ${actual size} >= ${expected size}"

解决方法
不使用 ODC 批量导出多表,尤其存在大量空表或者空分区的情况时。如果某一张表出现数据缺失且是触发了大小限制导致的截断,可以单独导出该表。
使用 OBDUMPER 批量导出多表。