将文档附件迁移至 IBM BPM 文档库

startDocumentStoreMigration 命令用于将文档附件从 IBM BPM 数据库迁移至 IBM BPM 文档库。将文档附件迁移至 IBM BPM 文档库被视为是一项必需的 IBM BPM 迁移后任务,应在数据库迁移完成之后执行。 文档附件的原始版本仍将驻留在 IBM BPM 数据库中,直至迁移完所有文档。 迁移完成后,您可以使用 Coach 或传统 Coach 来处理 IBM BPM 文档库中的 BPM 文档。

开始之前

在您尝试将文档附件迁移至 IBM BPM 文档库之前,您应查看“IBM BPM 文档库管理方面的限制”主题,以确保系统满足文档迁移的需求。

在将文档附件迁移到 IBM BPM 文档库时,它们将两次临时存储在 IBM BPM 数据库中。因此,在开始文档迁移之前,应确保该数据库具有足够的存储空间来容纳两次存储的文档。

注: IBM BPM 文档库必须与“联合存储库”用户注册表一起使用。如果您将文档迁移至 IBM BPM 文档库,并且稍后更改为另一种形式的用户注册表(例如,独立 LDAP 注册表或定制注册表),那么可能会失去对文档的访问。

IBM BPM 文档库将文档大小限制为 1 GB 或更少。 如果 BPM 数据库中的任何文档附件的内容超过 1 GB,那么您不能将该文档附件迁移到 IBM BPM 文档库。文档附件将仍保留在 BPM 数据库中,但将在 IBM BPM 文档库中创建对文档附件的引用。 您可以通过 API 和 Enterprise Content Management 操作像文档已完全迁移一样访问文档附件的内容。

如果您将文档从 8500 之前版本迁移至当前版本,那么请针对您的迁移使用 startDocumentStoreMigration 命令。在 IBM® Business Process Manager Advanced 上进行迁移还将设置访问控制。

如果您将文档从 850X 版本迁移至当前版本并且您位于 IBM Business Process Manager Advanced 上,那么访问控制迁移将在首次启动应用程序集群时自动启动。迁移将在后台运行。SystemOut.log 文件中的消息将指示开始和完成。

关于此任务

要将文档附件迁移至 IBM BPM 文档库,请完成以下步骤:

过程

  1. 运行 getDocumentStoreStatus 命令。 此 wsadmin 命令返回可以使用的命令语法以及任何文档迁移的状态,如以下样本中所示:

    AdminTask.getDocumentStoreStatus('[-deName myDeName]')

    CWTDS2018I: The IBM BPM document migration has not yet started. '{0}' documents need to be migrated.

    要传递更多命令参数,您可以使用以下语法:

    install_root wsadmin -user my_user_name -password my_password -lang jython -c "print AdminTask.getDocumentStoreStatus('[-deName myDeName]')"

    例如:

    C:\8500PC\STANDARD\deploy2\AppServer\profiles\DmgrProfile\bin>wsadmin -user tw_admin -password tw_admin -lang jython -c "print AdminTask.getDocumentStoreStatus('[-deName De1]')"

    有关 getDocumentStoreStatus 命令的详细信息,请参阅“getDocumentStoreStatus 命令”主题。

  2. 运行 startDocumentStoreMigration 命令。 此 wsadmin 命令返回可以使用的命令语法,如以下样本中所示:

    AdminTask.startDocumentStoreMigration('[-deName myDeName]')

    要指定该命令的其他参数,您可以使用以下语法:

    profile_root\bin\wsadmin -user my_user_name -password my_password -lang jython -c "print AdminTask.startDocumentStoreMigration('[-deName myDeName]')"

    例如:

    C:\8500PC\STANDARD\deploy2\AppServer\profiles\DmgrProfile\bin>wsadmin -user tw_admin -password tw_admin -lang jython -c "print AdminTask.startDocumentStoreMigration('[-deName De1]')"

    有关 startDocumentStoreMigration 命令的详细信息,请参阅“startDocumentStoreMigration 命令”主题。

  3. 再次运行 getDocumentStoreStatus 命令,以检查文档迁移的状态。如果迁移成功继续或者已成功完成,那么该命令将返回以下消息之一:

    CWTDS2019I: The IBM BPM document migration is running. '{0}' of '{1}' documents are already migrated.

    CWTDS2020I: The IBM BPM document migration is running. '{0}' of '{1}' documents are already migrated. A cleanup is currently in progress.

    CWTDS2021I: The IBM BPM document migration has finished. '{0}' documents were migrated.

    如果一个或多个文档未能成功迁移,那么 getDocumentStoreStatus 命令可能返回以下消息之一:

    CWTDS2022I: The IBM BPM document migration has stopped with an error. '{0}' of '{1}' documents are already migrated. For '{2}' documents, the migration failed.

    CWTDS2023I: The migration failed for document '{0}'. Details: '{1}'.

  4. 如果消息表明一个或多个文档未能成功迁移,请完成以下步骤之一:
    • 如果所有文档都未能成功迁移,请检查迁移配置和日志以找到常规问题,例如,数据库连接问题。
    • 如果日志表明 OutOfMemoryError 情况,可尝试在将发生迁移的时段内增加 JVM 的堆大小。或者,尝试减少可并行迁移至 IBM BPM 文档库的最大文档数,如“修改配置参数”主题中所述。
    • 如果日志表明出现事务超时,那么在一项事务中可能存在大量未能迁移的文档。请通过遵循“事务服务设置”主题中的指示信息,尝试暂时延长事务超时时间。或者,可以运行带有 -keepFailedDocuments 选项的 startDocumentStoreMigration 命令,如下所述。
    • 如果部分文档未能成功迁移,您可以选择将这些文档的内容保留在 IBM BPM 数据库中,仅在 IBM BPM 文档库中创建文档的引用。遗留文档 API 和 ECM 操作将继续处理 IBM BPM 数据库中的文档。要将文档的内容保留在 IBM BPM 数据库中,而仅在 IBM BPM 文档库中创建文档的引用,请运行带有 -keepFailedDocuments 选项的 startDocumentStoreMigration 命令,如以下示例中所示:

      AdminTask.startDocumentStoreMigration('[-deName myDeName -keepFailedDocuments]')

下一步做什么

在文档迁移完成之后,在 IBM Process Server 数据库中,数据库表 LSW_BPD_INSTANCE_DOCUMENTS 和 LSW_BPD_INSTANCE_DOC_PROPS 应为空。但是,如果该数据库包含大于 1 GB 的文档,或者如果使用了 -keepFailedDocuments 选项,那么该数据库可能会包含某些剩余行。如果需要,您可以选择重新组织这些表,以释放删除的表行所使用的磁盘空间。例如,对于 DB2 数据库,您可以使用 REORG 和 RUNSTATS 命令来重新组织表。