OBDUMPER出表结构存在外键时,脚本中带着外键表owner信息,导致换schema导入失败。

【 使用环境 】测试环境
【 OB or 其他组件 】loader-dumper
【 使用版本 】ob-loader-dumper-4.2.7-RELEASE
【问题描述】oracle 模式,下载A库中表结构,上载到B库中。上载过程中发现部分表失败,排查发现A库中的表存在外键情况,在导出脚本时约束外键主表表前面带有 A库schema信息。
CONSTRAINT “FK_TA_01” FOREIGN KEY ( BID ) REFERENCES Aschema.TB (ID);
–Aschema. 引起的的问题。
因为是更换schema创建表,所以此处报错了。导出、导入都没找到类似 oracle 中 remap_schema 参数的设置,或者消除owner 的参数。

除了手动修改脚本后执行还有其他办法吗?先谢谢了!

@gv$闪电 是4.x之前的ob版本?导出是否指定了 --no-sys?可以去掉试试

是的导出的OB是2.x版本的,使用–sys-user 参数导出的外键表没有owner了。这个问题算解决了。多谢老师指导。另一个问题。下载上载时工具对外键表顺序有处理吗?刚才我上载只创建表时没遇到外键主表不存在情况,但在上载数据时遇到了。难道要表结构和数据一起上载才行吗。

工具目前还不具备拆解依赖关系的能力,你这个情况建议参考下外键表的特性,从表应该只能插入被引用外键表已经有的主键(或唯一键的)的数据,换句话说就是你导入的数据在被引用的表中不存在