跳到主要内容 跳到补充内容

使用 dbmigration 工具进行迁移

dbmigration 工具允许您在关系数据库之间迁移系统对象、数据记录和已部署的对象 (作业和工作流除外)。

开始之前

  • 确保两个 MDM 服务器均已启动并正在运行。

  • 如果需要在单台计算机上的两个数据库之间迁移,您必须并排运行两个 MDM 服务器。这可以通过在目标服务器上设置不同的端口绑定来实现。

  • 将 UpdateReport 记录迁移到目标 MDM 服务器可能导致意外结果。例如,触发某些合格触发器,或执行流程或作业。为避免此问题,在迁移之前,您需要配置文件 <$INSTALLDIR>\conf\mdm.conf 中的 subscription.engine.autostart=false 以在目标 MDM 服务器上禁用事件管理器,其中 <$INSTALLDIR> 指定 MDM 服务器安装目录。您需要在迁移完成后重新启用它。确保重新启动 MDM 服务器以使配置生效。

步骤

  1. 在目标 MDM 服务器中,浏览到 <$INSTALLDIR>/tools/dbmigration 文件夹。
  2. 保存 dbmigration.properties.template 文件的副本,例如将其命名为 dbmigration.properties
  3. 使用文本编辑器打开新的 dbmigration.properties 文件。
  4. 在“from”列表中,设置到源服务器的连接信息;在“to”列表中,设置到目标服务器的连接信息。
    如果想要从 5.X 迁移,下面给出了一个配置例子:
    ####from 5.X using EJBs####
    from.host=localhost
    from.user=admin
    from.password=talend
    from.jndi.port=1199
    
    to.url=http://192.168.32.191:8280/talendmdm
    to.home=D:\\Talend\Talend-MDMServer
    to.user=administrator
    to.password=administrator
    to.cluster.batch.size=500
    如果想要从 6.X 迁移,下面给出了一个配置例子:
    ####from 6.X using REST####
    from.url=http://localhost:8180/talendmdm
    from.user=administrator
    from.password=administrator
    
    to.url=http://192.168.32.191:8280/talendmdm
    to.home=D:\\Talend\Talend-MDMServer
    to.user=administrator
    to.password=administrator
    to.cluster.batch.size=500
    如果源服务器中的数据容器和数据模型名称不同 (例如,如果 ProductDemo 数据容器使用 Product 数据模型),您还必须在 dbmigration.properties 文件中使用以下语法来指定如何连接它们:<data container>.datamodel=<datamodel>。例如:ProductDemo.datamodel=Product
    信息注释注: 对于具有指向自身的外键的实体 (例如,Person 可能具有指向 Person 的外键关系“is child of”),迁移过程不能确保正确的插入顺序。因此,即使数据完整性是正确的,此类记录的验证也可能会失败。为避免此问题,建议您先将数据模型部署到目标 MDM 服务器,然后在数据模型编辑器中临时禁用外键字段的外键完整性检查。
  5. 如果需要,可修改由参数 db.migration.threads 指定的迁移线程数量。
    此参数的默认值为 8
  6. 运行针对您系统的适当 dbmigration 文件,并在命令行中作为参数指定您设置的文件名,如下所示:
    • 在 Windows 上:dbmigration.bat dbmigration.properties
    • 在 Linux 上:dbmigration.sh dbmigration.properties
  7. 如果需要,可以在运行针对您系统的 dbmigration 脚本时向命令行添加参数。
    添加参数... To... (至...)
    -i

    以交互式模式执行迁移。

    例如,提示您哪一个数据模型需要迁移:输入 Y 以选择您想要迁移的数据模型,或输入 N 以跳过您不想迁移的数据模型。

    -v

    仅执行用户定义的数据模型的验证。

    如果数据模型具有任何引用自身的实体,或实体之间具有循环依赖关系,例如 EntityA 引用 EntityB,EntityB 引用 EntityC,EntityC 引用 EntityA,您将会收到提示。

  8. 重新启动目标服务器以便完成迁移过程。如果源和目标服务器在相同计算机上运行,并使用不同的端口绑定,则停止源服务器然后在所需端口上启动目标服务器。

结果

这会根据文件中定义的连接信息将存储在数据库中的 MDM 实例从源服务器迁移到目标服务器。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!