我在不同的远程位置有两个IBM DB2服务器。
我需要将第一台服务器上一个数据库上的几个表的数据复制到第二台服务器上的另一个数据库。
以前我使用IBM数据工作室工具将数据导出,Load Replace
将其导入第二台服务器的另一个表。
我需要一种自动化方法。可能通过命令行shell脚本。
我该如何做到这一点?
答案 0 :(得分:1)
您始终可以使用"数据移动" DB2中包含的工具。在一侧(源服务器)使用 EXPORT ,然后在另一侧(目标服务器)使用IMPORT或LOAD。但是,你必须照顾交通。我的意思是,你必须将数据从一个服务器复制到另一个服务器(通过SCP,FTP等),你可以自动完成所有这些。
此外,您可以使用名为 INGEST 的新工具。它是一个客户端工具,此工具将数据放入远程服务器的目标表中。这意味着源服务器将是远程服务器的客户端(您可以在数据库服务器中编目远程数据库)。
最后,您可以在两台服务器之间创建联盟(这是我最喜欢的)。这意味着在数据库中(例如在目标服务器中),您将呈现另一个(源)服务器的表。这允许您在本地表和远程表之间进行查询,这也允许您从引用远程服务器中表的SELECT的CURSOR创建到本地表的LOAD。
最后一个选项可能听起来很复杂但事实并非如此。你只需要定义远程元素(昵称,包装等),就是这样。一旦你有配置,你不必担心文件传输,状态等。这个选项是免费的,因为两个服务器都是DB2(你可以用其他RDBS做到这一点)
了解更多信息:
答案 1 :(得分:0)
有多种选择(使用脚本或DB2复制):
在一台服务器上导出数据的脚本,最终是tar / gz,并按照每个SSH / SCP将其发送到第二台服务器。在第二台服务器上,另一个脚本提取并加载数据。
DB2 hat build in replication support。
检查DB2 infocenter @ IBM或Google。这是一项简单而且非常常见的任务。