导出和手动运行脚本以启用数据移动服务

如果在监控模型安装期间未启用数据移动服务,那么可以通过导出脚本并手动运行这些脚本来启用监控模型的数据移动服务。为此,必须首先使用 WebSphere® Application Server 管理控制台将数据移动服务脚本导出到数据定义语言 (DDL) 文件,然后稍后运行这些脚本。

开始之前

在开始执行本任务之前,您必须登录到 WebSphere Application Server 管理控制台。此外,还必须创建模式后,才能启用数据移动服务。

关于此任务

要导出数据移动服务脚本,请完成以下步骤。您还可以从此相同的“管理数据移动服务”页面来本地运行这些脚本。

过程

  1. 在启用数据移动服务之前,请停止监控模型。否则可能会导致数据丢失。
  2. WebSphere Application Server 管理控制台中,单击应用程序 > 监控模型
  3. 单击要为其启用数据移动服务的模型的版本。
  4. 单击启用数据移动服务
  5. 单击导出启用 DMS 脚本
  6. 保存文件。 此过程会生成可使用命令提示符手动运行的脚本。 可以稍后运行此脚本或从远程位置运行此脚本。

    数据移动服务启用后,对于模型版本,该服务将处于暂挂状态。在激活模型版本的数据移动服务之前,数据不会复制到报告表或从操作表进行修剪。使用“恢复数据移动服务”选项可激活数据移动服务。

  7. 如果要从远程服务器运行脚本,请将导出的文件移至该机器,或确保可以从本地机器连接到 Monitor 数据库。
  8. 以具有数据库特权的用户身份连接到 Monitor 数据库以创建表和用户,并根据使用的数据库,遵循以下某组指示信息:
    • 对于 DB2® Universal,在 DB2 命令窗口 (CLP) 中,完成以下步骤:
      1. 浏览至包含已导出 DDL 文件的路径
      2. 输入 DB2 CONNECT TO MONITOR USER dbuser USING dbpassword
      3. 输入 db2 -td@ -vf EnableDMS_<Model>,其中 model 是模型的名称。
      4. 输入 DB2 TERMINATE
    • 对于在 DB2 for z/OS 服务器上运行的 DB2 for z/OS,请完成以下步骤:
      1. 打开 EnableDMS_model_name.ddl 文件,其中 model_name 是模型的名称,并替换 DDL 文件顶部列出的变量。这些指示信息还会包含在已导出 DDL 文件的顶部。
      2. 保存已修改的 EnableDMS_model.ddl 文件。
      3. 使用 SPUFI 或 DSNTEP2 实用程序来运行脚本。
    • 对于在 Windows 上运行的 DB2 for z/OS,请完成以下步骤:
      1. 浏览至包含已导出 DDL 文件的路径。
      2. 打开 EnableDMS_model_name.ddl 文件,其中 model_name 是模型的名称,并替换 DDL 文件顶部列出的变量。这些指示信息还会包含在已导出 DDL 文件的顶部。
      3. 保存已修改的 EnableDMS_model.ddl 文件。
      4. 生成已修改 DDL 的副本。
      5. 已导出文件中包含的存储过程需要格外注意。使用文本编辑器打开启用数据移动服务 DDL,并删除该文件中的所有存储过程。删除该文件中注释“BEGIN DMS Stored Procedures”和“END DMS Stored Procedures”之间的所有行。
      6. 连接到主机上的 Monitor 数据库,并运行上一步中编辑的启用数据移动服务 DDL。
      7. 打开启用数据移动服务 DDL 的副本,并找到以注释“BEGIN DMS Stored Procedures”开头的存储过程。 每个存储过程都是以“CREATE PROCEDURE”开头,以“END”结尾,如下所示:
        CREATE PROCEDURE ORDERITEM.SP_ORDERITEMMC_20060803000000(OUT P_NUM_PRUNED INTEGER,
        OUT P_NUM_MERGED INTEGER,
        OUT P_SQL_MSG VARCHAR(4000),
        OUT P_ROWS_FAILED INTEGER,
        OUT P_SQL_CODE INTEGER,
        OUT P_SQL_STATE CHAR(5))
            ...
            ...
        END
      8. 分别复制每个存储过程并将每个存储过程粘贴到新文件中。使用扩展名 .sql 保存每个文件(例如,OrderItemMMCv1.sql)。
      9. 验证 DB2 Developer Workbench 9.1 安装是否已更新为修订包 3 或更高版本。
      10. 在 DB2 Developer Workbench Database Explorer 中创建新连接。
      11. 在“连接”窗口中,输入 JDBC 驱动程序、数据库、主机名、端口号、用户名和密码的值。接受其余字段的缺省值。例如,
        • JDBC 驱动程序:IBM DB2 Universal Database:MVS000
        • 主机:MVS000.host.example.com
        • 端口:8070
        • JDBC 驱动程序类:com.ibm.db2.jcc.DB2Drive
        • 数据库管理器:DB2 UDB zSeries -> V8 (new-function Mode) for DB2 z/OS 8.1
      12. 通过选择测试连接来测试连接。
      13. 在“连接”窗口中,选择确定,然后选择完成
      14. 创建新的数据开发项目。接受缺省值并选择为此项目的连接早先创建的连接。
      15. 在 Data Project Explorer 中,展开新创建的项目,右键单击存储过程并选择导入
      16. 找到早先为每个存储过程创建的各 .sql 文件,并将每个 .sql 文件导入项目。
      17. 在 Data Project Explorer 中,右键单击存储过程并选择部署。这将显示一条消息,指示部署成功。
      18. 在管理控制台中启用数据移动服务之前,必须先对数据移动服务表进行初始化。对于各监控上下文的数据移动服务,有两个存储过程。以 SI_ 开头的存储过程是初始化过程。在 DB2 命令窗口 (CLP) 中,对以 SI_ 开头的每个存储过程完成以下步骤:
        1. 输入 DB2 CONNECT TO MONITOR USER dbuser USING dbpassword
        2. 输入 DB2 CALL procedure_name。 例如,
          DB2 CALL ORDERITEM.SI_ORDERITEMMC_20060803000000();
        3. 输入 DB2 TERMINATE
    • 对于 Oracle,请完成以下步骤:
      1. 浏览至包含已导出 DDL 文件的路径
      2. 输入 sqlplus dbuser/dbpassword@your_Oracle_SID @EnableDMS_modelname.ddl,其中 model_name 是模型的名称。
      3. 落实对数据库的更改。
    • 对于 Microsoft SQL Server,请完成以下步骤:
      1. 浏览至包含已导出 DDL 文件的路径
      2. 输入 sqlcmd -U dbuser -P dbpassword -e -i EnableDMS_modelname.ddl,其中 model_name 是模型的名称。
      3. 落实对数据库的更改。

结果

完成这些步骤后,现在模型将显示为调度程序服务。该服务将处于暂挂状态。恢复暂挂服务以开始使用模型的数据移动服务。如果监控模型的数据已经存在,那么数据移动服务初始执行时会将数据移至报告表。初始移动可能需要一些时间。确保重新启动监控模型之前,数据移动已完成。