我以前没有使用过Informix。我在host1上有一个informix数据库,出于测试目的,我想将这个数据库复制到host2。我的最终目标是在不破坏host1上的数据库的情况下使用host2上的数据库。谢谢。
发布于 2011-10-25 14:24:44
你没有告诉我们很多重要的信息:
根据对这些问题的回答,答案可能会有所不同。但是,我们假设您有IDS version11 (11.50或11.70),并且两台主机是相同的基本硬件和操作系统。
正如Aragorn所说,一种方法是使用DB-Export和DB-Import。它们为数据库中的每个表创建卸载文件,并创建一个SQL文件来控制数据库的重建和数据的加载。这是一种灵活的方法;您可以在各种不同的机器上使用数据,而且通常在不同版本的Informix上使用。它不一定很快。
假设这两台机器是“相同的”,并且运行相同的操作系统(以及IDS的版本),那么您可以在host1上创建一个0级存档,然后在host2上恢复它。使用假定的版本,您甚至可以恢复到与host1上的块不同位置的一组块-所谓的重定向恢复。默认情况下,两台计算机上的文件和设备必须相同(或至少在功能上相同);重定向还原允许您在两台计算机上使用不同的区块集。这可能是做事情最快的方法。然而,它是不灵活的。您必须在相同的硬件、操作系统和基本相同的IDS版本上运行(您有时可以通过版本上的细微差别逃脱惩罚,但不要打赌)。
您可以考虑备份到带上磁带的标准I/O (在归档模式下),通过网络传输到host2,然后再次运行到带上I/O(在恢复模式下)。
还有其他选择。您可以使用AR-Checker从0级存档执行选择性恢复。您可以设置ER并同步这两个系统。您可以将host2设置为临时的HDR备用服务器,进行同步,然后拆分HDR对,并再次将备用服务器设置为主服务器。您可以研究RSS (远程独立辅助),将host2转换为RSS节点,并将其与host1同步,然后打破耦合。
您可以考虑使用HPL -高性能(非)加载程序。这会迫使你认为DB-Export和DB-Import会让你幸免于难。您可以使用DB-Schema为DB创建模式,然后使用外部表卸载host1上的数据,然后创建DB并使用外部表加载host2上的数据。同样,这将迫使您进行一些脚本编写和思考。
可能还有其他一些选项,但这里提到的大多数主要选项只使用Informix工具集中的工具。如果需要其他选择,可以查看International Informix User Group (IIUG) Software Archive。
发布于 2011-10-25 12:38:40
将数据库从一台服务器传输到另一台服务器的命令分别是dbexport和dbimport。这些命令允许主机之间存在一些差异。
我认为这些命令包含在Informix7.x中。
发布于 2011-11-04 12:13:47
使用撤消磁盘在虚拟机内复制数据库。您可以选择关闭VM而不保存更改。就像你从来没有做过测试一样。
https://stackoverflow.com/questions/7882041
复制相似问题