3

源数据库相当大。目标数据库不会自动增长。它们在不同的机器上。

我来自 MS SQL Server,MySQL 背景和 IDS11 似乎过于复杂(我敢肯定,有充分的理由)。

4

5 回答 5

2

将数据从一台服务器移动到另一台服务器的一种方法是使用 dbexport 命令备份数据库。

然后在将备份文件复制到目标服务器后运行 dbimport 命令。

要创建新数据库,您需要使用 onmonitor 工具为新数据库创建 DBSpace,此时您可以使用来自其他服务器的现有文件。

然后,您需要使用 dbaccess 工具在目标服务器上创建数据库。dbaccess 工具有一个允许您创建数据库的数据库选项。创建数据库时,您指定要使用的 DBSpace。

源数据库可能由许多块组成,您还需要将它们复制并附加到新数据库。

于 2008-09-10T00:28:28.600 回答
2

你有几个选择。

dbexport/dbimport
onunload/onload
HPL(高性能加载程序)选项。

我个人使用过 onunload/onload 和 dbexport/dbimport。我没有使用HPL。我正在使用 IDS 10。

onunload/onload IBM 文档

  • 以页面大小的块将原始数据库备份到磁盘或磁带
  • 更快(特别是如果你去磁盘)
  • 如果数据库服务器位于不同的操作系统或硬件上,或者它们只是具有不同的页面大小,则会出现问题。

    dbexport/dbimport IBM 文档
  • 在分隔的 ascii 文件中备份数据库
  • 将数据库的 ascii 模式写入一个巨大的纯文本文件中,包括所有用户、表、视图、索引等。有关数据库结构的所有内容。
  • 也为数据库的每个表单独的纯文本文件
  • 没那么快
  • 任何包含错误数据的表、任何语法不正确的视图等的 dbimport 问题(这可能是一件好事,一个识别和清理的机会)
  • 当你跑进冰淇淋店买冰淇淋时,不要把这条胶带留在汽车的前座上(否则你会上新闻的)。 另请阅读...不是一种非常安全的移动数据的方式。:)
  • 限制:需要对源数据库的独占访问权限。

    这是从文档开始的好地方 -->数据库服务器之间的数据迁移

  • 于 2008-10-03T03:35:50.730 回答
    2

    正如其他人所提到的,最简单的方法是 dbexport/dbimport。

    最快的方法是使用高性能加载程序 onpload。如果你有很多数据,但表格数量不多,这绝对值得追求。IIUG 网站上有一些零碎的东西可能有助于编写 HPL 脚本以生成您需要的所有配置。

    于 2008-09-17T06:19:00.523 回答
    1

    如果两台机器都使用相同版本的 IDS,那么另一种选择是使用 ontape 在一台机器上备份并在另一台机器上恢复。您可以使用 STDIO 选项,然后将备份流式传输到可以从 STDIO 恢复的另一台机器上。

    来自“用于高可用性和分布的数据复制”红皮书:

    ontape -s -L 0 -F | rsh secondary_server "ontape –p"
    

    您还可以通过主机创建无密码 ssh 连接并以更安全的方式进行传输。

    于 2009-01-28T15:35:02.463 回答
    1

    你用过导出工具吗?如果您首先将数据库置于静止模式,然后您可以实际复制 DBSpaces(我认为是 dbspaces 工具......现在已经有几年了),曾经有一种方法。

    因为使用informix,您曾经能够指定用于表的DBSpaces(甚至可能在alter table 中?)。

    检查 - dbaccess 工具 - 有一个导出命令。
    将数据库置于静止模式或关闭,复制 dbspaces,然后附加表,告诉它指向新的 dbspaces 文件。(dbspaces 工具可能值得一看。我这里有手册。它们是 9.2,但它不应该改变太多)。

    于 2008-09-09T12:45:58.677 回答