升级 SQL Server 数据库

对于 SQL Server,初始化新数据库并升级现有模式和数据,以便数据库与新版本的 IBM® Business Automation Workflow配合使用。

图 1. 更新现有模式和数据后的样本环境。 源环境未在运行,并且数据库也未在使用。 数据库包含更新后的模式和数据。 目标未在运行,但包含一个部署环境。
图的详细信息在图文字说明中提供。
运行 DBUpgrade 命令以修改现有数据库模式和数据,以便与 IBM Business Automation Workflow 23.0.2配合使用。 DBUpgrade 实用程序将以下项更新为 23.0.2:
  • 系统数据工具箱
  • Heritage Process Portal 流程应用程序
  • “招聘样本”教程流程应用程序
重要信息: 虽然 DBUpgrade 实用程序安装 System Data Toolkit 23.0.2,但该实用程序不会自动更新现有依赖关系。 因此,请在迁移之后测试您的应用程序。 如果它们与新版本的 Business Automation Workflow不兼容,那么您可以更新依赖关系,以便应用程序继续使用先前版本。

准备工作

确保在继续迁移前已关闭源环境。

如果从 IBM Business Process Manager V7.5.x 迁移时出现 OutOfMemory 错误,表明数据记录过多或过大,请增加 DBUpgrade 命令的 JVM 堆大小。 在 install_root/bin 中打开 DBUpgrade.sh 文件,并在此文件中找到 -Xmx2048m 。 该参数指示最大 JVM 堆大小为 2048 兆字节。 请增大该值以更新堆大小。

验证配置为访问您的 SQL Server 数据库用户是否具有升级这些数据库的必要特权。 要修改现有 SQL Server 数据库模式和数据以用于 Business Automation Workflow 23.0.2,需要以下数据库特权。
  • 在数据库级别上需要 CONNECT 和 CREATETAB 特权。
  • 升级过程会访问系统表。 将 SELECT 特权授予执行升级的用户。 缺省情况下,这些特权已经授予公共组;除非撤销了这些特权,否则不必再次向其授予这些特权。
    INFORMATION_SCHEMA.COLUMNS.TABLES
    INFORMATION_SCHEMA.COLUMNS.COLUMNS
    sys.indexes
    sys.sysobjects
    
  • 请勿向用户授予 sysadmin 服务器角色。 如果用户具有 sysadmin 角色,那么无论您指定何种模式,dbo 将始终是缺省模式。 因此,迁移过程将使用 dbo 来创建新表或更新数据。

过程

对于要创建的每个部署环境,完成以下步骤:

  1. 复制整个文件夹 target_deployment_manager_profile/dbscripts/Upgrade/ 到数据库计算机。
  2. 如果未创建新消息传递引擎数据库,而是计划复用先前的消息传递引擎数据库和模式,那么必须手动删除每个消息传递引擎数据库和模式的现有消息传递引擎表。
    提示: 消息传递引擎表名使用 SIB 前缀。
  3. 在数据库计算机上,升级所有模式。 要查看升级了哪些模式,请转至复制了 Upgrade 文件夹的目录,并查看 upgradeSchemaScriptsHelp_de_name.txt 文件。

    转至复制了 Upgrade 文件夹的目录并运行 upgradeSchemaAll 命令。 针对源中每个部署环境存在不同的 upgradeSchemaAll 命令。

    重要信息: 如果您正在使用 Windows 认证,那么无法运行 upgradeSchemaAll ,并且必须使用 SQL 会话直接运行 SQL 脚本。
    upgradeSchemaAll_de_name.sh
    提示您输入每个数据库连接的用户名和密码。 此命令将初始化新的数据库组件,并升级除 Workflow Server 和 Performance Data Warehouse 数据库以外的所有现有数据库的模式。 这两个数据库稍后可使用 DBUpgrade 命令进行升级。

    或者,如果您要手动运行 SQL 脚本,请使用 SQL 会话,按照 Upgrade_folder/upgradeSchemaScriptsHelp_de_name.txt 文件中所列的顺序运行这些脚本,并使用以下参数和命令。

    osql -e -b -U username -P password -i script_name -o log name
    其中:
    • -e 指定在提示时将回显命令
    • -b 指定在发生错误时脚本将退出
    • -U 指定用户名
    • -P 指定密码。
    • -i 指定输入文件
    • -o 指定将所有输出重定向到某个文件
    重要信息: 运行 IBM Content Navigator的表创建文件。 该文件位于 Upgrade_folder/cell_name.DE_name/db_type/icn_database.icn_schema/createTable_ICN.sql中。

    运行脚本以升级 Business Space 数据库时,可能会显示警告消息,告知您查询结果为空表,或者针对 FETCH、UPDATE 或 DELETE 找不到任何行。 可以放心地忽略这些消息。

    result.log 文件位于 Upgrade_folder/cell_name or cell_name.de_name/database_type/database_name.schema_name中。

  4. 复制样本 migration.properties 文件并将其重命名为 target_migration.properties。 使用目标环境的配置信息更新此文件。
    检查所有目标属性,并根据需要按照样本文件中的指示信息来编辑这些属性。 该样本文件位于 install_root/util/migration/resources/migration.properties 中。
    为以下属性指定目标环境值:
    • admin.username 和 : 使用 用户或 主要管理用户名。 admin.password cellAdmin WebSphere®
    • bpm.home:目标产品的安装 root 目录。 请确保文件分隔符为正斜杠 (/)。 请使用完整路径。 请勿使用波浪字符 (Ëœ) 来代表主目录。 例如:
      bpm.home=/opt/IBM/BPM
      bpm.home=C:/IBM/BPM
    • profile.name:目标 Deployment Manager 概要文件。
    • target.config.property.file:用于创建目标环境的配置属性文件的完整路径。
    您必须为以下属性指定源集群名称而非目标集群名称:
    注: 由于 IBM BPM Express 是独立服务器而不是集群,因此不得对源集群名称使用以下属性。
    • source.application.cluster.name
    • source.messaging.cluster.name
    • source.support.cluster.name
    • source.web.cluster.name
  5. 要将数据库升级到 23.0.2,请在目标环境中的 Deployment Manager 计算机上运行 DBUpgrade 实用程序。 DBUpgrade 命令自动升级 Workflow Server 和 Performance Data Warehouse的模式和数据。
    提示: 缺省情况下, DBUpgrade 会升级 Workflow Server 和 Performance Data Warehouse 数据库的模式和数据。 有关单独运行模式更新的指示信息,请参阅 DBUpgrade 故障诊断主题。
    重要信息: 在运行此实用程序之前,请确保 Deployment Manager 和源环境中的所有受管节点都已停止。
    install_root/bin/DBUpgrade.sh -propertiesFile target_migration_properties_file
    其中:
    • target_migration_properties_file 是在其中指定了目标环境配置信息的迁移属性文件的完整路径。
    例如:
    install_root/bin/DBUpgrade.sh -propertiesFile /opt/BPM23.0.2/util/migration/resources/target_migration.properties
    该命令在运行时显示每个数据库升级操作。 所有升级完成之后,您会看到以下类似消息:
    All upgrade steps have been completed successfully.

    将在输出中列出日志位置。 如果有错误或异常,那么它们将出现在此日志中。

    如果要从 IBM Business Process Manager V7.5.x 迁移,并且迂到内存不足错误,指示数据记录过多或过大,那么可以尝试为 DBUpgrade 命令增大 JVM 的堆大小。 在 install_root/bin 中打开 DBUpgrade.sh 文件,并在此文件中找到 -Xmx2048m 。 它指示最大 JVM 堆大小为 2048 兆字节。 您可以增加该值以更新堆大小。

    如果需要进行故障诊断,您可以运行 DBUpgrade -generateSQLOnly 以生成 SQL 文件而不运行这些文件。 然后,您可以手动编辑生成的 SQL 文件,并运行 DBUpgrade -omitSQLGeneration 以使用修改过的文件来升级数据库。

  6. 如果要从 IBM Business Process Manager Express V8.6进行迁移,请对所有 .twx 文件运行 BPMUpdateSystemApp 命令,但名称中包含单词 sample 的文件 (来自文件夹 install_root/BPM/Lombardi/imports/) 除外。 例如,如果文件名为 procurement-sample.twx,将排除该文件。 例如,如果文件名为 system-toolkit.twx,那么命令将如下所示:
    wsadmin -lang jython -conntype none -javaoption -Xms256m -javaoption -Xmx1024m
    wsadmin>AdminTask.BPMUpdateSystemApp( [ '-twxFile', 'install_root/BPM/Lombardi/imports/system-toolkit.twx', '-clusterName', 'PC_clusterName' ] )
    有关该命令的更多信息,请参阅 BPMUpdateSystemApp 命令

下一步

您可能会在升级日志中看到类似于以下内容的警告消息: Couldn't load Resource META-INF*****。 可以放心地忽略这些消息。