可以使用 SchemaGenerator 和 DataLoad 工具来优化流程搜索。
优化 Process Portal 已保存的搜索涉及到创建两个新表:LSW_BPD_INSTANCE_VAR_NAMES(变量表)和 LSW_BPD_INSTANCE_VARS_PIVOT(数据透视表)。这些工具将创建在优化 Process Portal 性能时所需的模式。
要优化已保存的搜索,首先需要为新表生成模式。 将目录更改为 install_root/BPM/Lombardi/tools/search-optimizer,然后输入以下命令:
./SchemaGenerator.{sh|bat} -profileName PROFILE_NAME -OPTION
可在 SchemaGenerator 工具中使用以下参数:
| 参数 | 描述 |
|---|---|
| -profileName | 此参数是可选参数;如果您想要对不同于环境缺省概要文件的另一个概要文件运行此工具,那么应使用此参数。请指定要使用的概要文件的名称。 |
下面显示了一个使用 execute 选项的示例:
>./SchemaGenerator.sh oracle -execute
INFO SchemaGenerator - SchemaGenerator starting
INFO SchemaGenerator - dbdriver : oracle.jdbc.driver.OracleDriver
INFO SchemaGenerator - dburl : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO SchemaGenerator - dbuser : adminusr
INFO SchemaGenerator - Processing BPD ID 784afc31-e47b-4e83-b596-20b3cee2b422
INFO SchemaGenerator - Processing BPD ID c904b3b1-afc1-4698-bf5a-a20892c20275
INFO SchemaGenerator - Processing BPD ID e39cc53a-b75c-498c-8c28-43761fb73f2d
INFO SchemaGenerator - Finished processing BPDs
INFO SchemaGenerator - Executing Pivot Table DDL
INFO SchemaGenerator - Executing Variable Names Table DDL
INFO SchemaGenerator - Executing insert statements for Variable Names Table
INFO SchemaGenerator - SchemaGenerator completed successfully.
下面显示了一个使用 output 选项的示例:
>./SchemaGenerator.sh oracle -output pivot.sql
INFO SchemaGenerator - SchemaGenerator starting
INFO SchemaGenerator - dbdriver : oracle.jdbc.driver.OracleDriver
INFO SchemaGenerator - dburl : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO SchemaGenerator - dbuser : adminusr
INFO SchemaGenerator - Processing BPD ID 784afc31-e47b-4e83-b596-20b3cee2b422
INFO SchemaGenerator - Processing BPD ID c904b3b1-afc1-4698-bf5a-a20892c20275
INFO SchemaGenerator - Processing BPD ID e39cc53a-b75c-498c-8c28-43761fb73f2d
INFO SchemaGenerator - Finished processing BPDs
INFO SchemaGenerator - Writing DDL to pivot.sql
INFO SchemaGenerator - Finished writing DDL to pivot.sql
INFO SchemaGenerator - SchemaGenerator completed successfully.
在创建表并将所有变量都装入到变量表之后,必须在 LSW_BPD_INSTANCE_VARS_PIVOT 表中装入来自已在运行的所有 BPD 实例的数据。这可确保搜索查询将看到现有实例以及可能已创建的任何新实例。
将目录更改为 install_root/BPM/Lombardi/tools/search-optimizer,然后输入以下命令:
./DataLoad.{sh|bat} -profileName PROFILE_NAME
DataLoad 工具将使用来自数据库中当前部署的每个 BPD 实例的数据填充数据透视表。此工具将提供状态消息以使您了解其进度。
下面显示了 DataLoad 输出的示例:
INFO DataLoad - DataLoad starting
INFO DataLoad - dbdriver : oracle.jdbc.driver.OracleDriver
INFO DataLoad - dburl : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO DataLoad - dbuser : adminusr
INFO DataLoad - Started at: 2011-09-06 16:26:11.26
INFO DataLoad - Count obtained
INFO DataLoad - Creating values
Processed 1000 records so far plus 1 instances with no variables, current block took 16.97 seconds, 0.95% complete, 0.28 minutes elapsed, 29.55 minutes remaining
Processed 2000 records so far plus 1 instances with no variables, current block took 16.42 seconds, 1.90% complete, 0.56 minutes elapsed, 28.80 minutes remaining
...
Processed 104000 records so far plus 4 instances with no variables, current block took 16.67 seconds, 98.58% complete, 29.11 minutes elapsed, 0.42 minutes remaining
Processed 105000 records so far plus 4 instances with no variables, current block took 16.19 seconds, 99.53% complete, 29.38 minutes elapsed, 0.14 minutes remaining
INFO DataLoad - Total instances copied into pivot table: 105500
INFO DataLoad - Total instances with no variable data copied into pivot table: 5
INFO DataLoad - Finished at: 2011-09-06 16:58:00.891
INFO DataLoad - DataLoad completed successfully.