我正在寻找有关从 IBM 大型机应用程序 (Z/OS) 访问 ORACLE 中存在的数据的信息。数据位于单独服务器上的 Oracle 和 IBM Mainframe 系统上,通过使用 COBOL 程序需要从 Oracle 访问数据。我听说通过使用“Oracle Access Manager for CICS”,我们可以直接从 IBM 大型机应用程序(使用 COBOL 程序)访问 Oracle 数据。如果是,那么我们使用的 Oracle 版本是否有任何限制/考虑?我听说网关“Oracle Access Manager for CICS/IMS”仅在旧版本的 Oracle(即 10g)中受支持,但在 11g 或 12c 中不支持?Oracle 是否仍支持“Oracle Access Manager for CICS/IMS”?有没有人这样做或者你有什么建议?
在此先感谢您的帮助。赛
1 回答
有很多方法可以做到这一点,具体取决于您正在谈论的数据量以及您的需求的实时性。如果您是甲骨文的商业客户,您可能会向他们支付大量费用——不要犹豫,打电话给甲骨文,让甲骨文找出最好的方法来做您想做的事。
否则,如果您不介意使用供应商解决方案,IBM 和其他供应商可以提供各种可以提供帮助的集成产品。一个例子是 IBM Integration Bus——它几乎是一种 ESB,可以连接到几乎任何类型的数据库(以及 REST 服务等),并在 z/OS 上提供客户端支持。其他供应商(例如 Tibco)提供了许多类似的服务。
如果您想要更多开放的解决方案,我们在 z/OS 上使用 JDBC 很幸运,但这并不是特别容易连接到 COBOL...可以从 COBOL 调用 Java,但这不是最简单的对于大型机经验有限的人来说,您需要担心诸如 ASCII 与 EBCDIC 之类的事情。尽管如此,它基本上是免费且快速的,而且 Oracle JDBC 驱动程序在 z/OS 上运行良好。
如果您只需要对 Oracle 进行只读查询,有些人会使用 ETL 方法在(例如)DB2 中的 z/OS 上保持 Oracle 数据的合理最新副本。这有助于防止您的 Oracle 服务器和网络过载,因为您的大型机应用程序在大型机上本地处理,而不是将每个事务实时发送到您的 Oracle 数据库。Informatica 和 SyncSort 是该领域的两家领先供应商。
最后,看起来 Oracle 继续支持诸如 Oracle Database Gateway for APPC 之类的东西,至少在 Oracle 12c 中是这样。这将允许您通过 APPC 网络访问 Oracle,而无需在 z/OS 上使用任何类型的客户端库。如果您的 COBOL 在 CICS 或其他具有良好 APPC 支持的大型机环境中运行,那么编程甚至不是很困难。当然,APPC 是一项古老的技术,配置 SNA 网络在许多站点中绝对是一项垂死的技能……值得关注。