代码之家  ›  专栏  ›  技术社区  ›  pauliephonic

将数据库从一个informixid11服务器复制到另一个服务器的最简单方法是什么

  •  3
  • pauliephonic  · 技术社区  · 16 年前

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

    我来自一个MS SQL服务器,MySQL背景和IDS11看起来过于复杂(我确信,有充分的理由)。

    5 回复  |  直到 9 年前
        1
  •  2
  •   sykora    16 年前

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

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

    要创建一个新的数据库,您需要使用OnCutlook工具创建新数据库的DbStudio,此时您可以使用来自另一个服务器的现有文件。

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

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

        2
  •  2
  •   RET    16 年前

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

    最快的方法是使用onpload,一种高性能的加载程序。如果你有大量的数据,但不是一个可笑的表的数目,这绝对是值得追求的。IIUG站点上有一些小片段可以帮助编写HPL脚本以生成所需的所有配置。

        3
  •  2
  •   Lyle H Gray    8 年前

    你有几个选择。

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

    我个人使用onunload/onload和dbexport/dbimport。我没有用过高性能润滑油。我用的是10号身份证。

    onunload/加载 IBM docs

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

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

    这里是开始学习文档的好地方--> Migration of Data Between Database Servers

  •     4
  •  1
  •   nso1    16 年前

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

    因为使用informix,您可以指定用于表的DBSpaces(甚至在alter表中?).

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

        5
  •  1
  •   calvinkrishy    16 年前

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

    从“用于高可用性和分发的数据复制”红皮书中:

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

    您还可以在主机上创建一个无密码ssh连接,并以更安全的方式进行传输。

    推荐文章