【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】obdumper obloader
【 使用版本 】
【问题描述】如果导出的时候只选择–sql ,是不是只会导出有数据的表,没数据的表就不会导出,那么如果再进行数据恢复的时候,就会导致备份时没数据的表,如果后续使用的过程中新增了记录,后续要恢复的时候,就会因为之前没数据所以路径下没有对应表的.sql文件,导致–truncate-table不会把这种表给清空掉
【复现路径】
【附件及日志】
版本信息发一下 命令发一下
版本:ob-loader-dumper-4.3.3.1
备份命令./obdumper -h 10.20.163.65 -P 2883 -u NYLC_BC_AUTO@oboracle#obdemo -p handsome -D NYLC_BC_AUTO --sql --all --skip-check-dir -f /home/obdumper/njjj_pub/init/data/
恢复命令./obloader -h 10.20.163.65 -P 2883 -u NYLC_BC_AUTO@oboracle#obdemo -p handsome -D NYLC_BC_AUTO --thread=8 --sql --all --exclude-table ‘ACT*’ --truncate-table -f /home/obdumper/njjj_pub/init/data/
666
可以试试导出的时候加上–retain-empty-files保留空表
我试试
可以了,多谢
厉害!学习了
我发现虽然空表的sql文件有了,但是恢复的时候,他跳过了空的sql文件,并没有去truncate
虽然空表的sql文件有了,但是恢复的时候,他跳过了空的sql文件,并没有去truncate,这个不是跳过空文件,而是跳过空的表
破案了,4.3.4是好的,4.3.3.1是错的
434可以使用truncate清空表的内容是么?
4.3.4的会把空的sql文件对应的表也清空,这是符合预期的。但是4.3.3.1不会,4.3.3.1的这块是有问题的。但是你刚刚说的,会跳过库中的空表不去truncate,这个功能两边都是有的。
不应该吧 我在找相关的同学确定一下