如何在 Oracle ODI 中的存储库之间正确迁移代码 - 缺少引用

How to properly migrate code between repositories in Oracle ODI - Missing references

我在不同存储库之间迁移整个项目结构时遇到问题。

由于客户的决定,我们必须维护我们自己的 存储库,他们有他们自己的。 我们有义务向他们发送代码 - 整个 ODI 项目或仅接口/程序/KM。

每次我们导入 interface/project 时,我们都会在对模型的引用上收到“缺少引用”错误。 它主要发生在界面中。

我们已经尝试了“重新编号”存储库,但也没有帮助。

此外,我们无法进行智能导出/导入,因为客户端拓扑和模型必须保持不变,并且不能被任何可能的失败导入所影响。

我们已经将 ODI 和 DB 中的模型与客户端服务器相匹配,因此命名约定在我们的案例中不是问题。

智能导出/导入是实现此类迁移的推荐方法。这是确保所有依赖项都被带走的最简单方法,并且可以在导入时跳过拓扑。

如果不使用智能导出/导入,应按特定顺序导入对象以避免丢失引用:

  1. 项目:空
  2. 变量(甚至物理拓扑也可以使用 变量)
  3. 如果不存在:物理拓扑
  4. 如果不存在:逻辑拓扑
  5. 项目文件夹、KM、序列、用户函数
  6. 型号
  7. 接口和过程
  8. 套餐
  9. 场景和负载计划

确保你在导入时使用DUPLICATE模式,因为它会创建一个原始对象的副本,内部ID不同,这意味着引用这个对象会出错。

郑重声明,从 ODI 12.2.1 开始,可以使用称为部署存档的新功能将代码从一个环境部署到另一个环境。我在 this presentation.

中提供了更多相关信息

Disclaimer : I'm an Oracle employee #OracleEmp.