使用 dbmigration 工具进行迁移 - 7.3

Talend MDM Platform 迁移与升级指南

Version
7.3
Language
中文(简体)
Product
Talend MDM Platform
Module
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend DQ Portal
Talend ESB
Talend Identity and Access Management
Talend JobServer
Talend Log Server
Talend MDM Server
Talend MDM Web UI
Talend Repository Manager
Talend Runtime
Talend SAP RFC Server
Talend Studio
Content
数据治理
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 实例从源服务器迁移到目标服务器。