此处列出的主题提供了有关如何在 Sun JavaTM Composite Application Platform Suite (Java CAPS) 中管理 Sun Business Process Manager 数据库的信息。
如果您有任何问题,请参见 http://goldstar.stc.com/support 中的 Java CAPS Web 站点。
要创建监视和恢复数据库表,可通过 Enterprise Designer 修改和运行数据库脚本,或者下载脚本并从本地目录运行脚本。根据您喜欢使用的方法,可以查看以下各节之一:
您必须有一个现有数据库实例,然后才能运行任何脚本。开始使用脚本之前,请查看下面的创建数据库实例。
运行数据库脚本之前,您必须创建一个数据库实例,该实例中将创建一些表。这是针对 Oracle 10g、Oracle 9i 和 SQL Server 的标准步骤,而针对 Oracle 8.1.7、Sybase 和 DB2,则还需要执行其他的步骤。
对于 Oracle 8.1.7,您必须将 db_block_size 的默认值从 8KB 增加到 16KB,或对数据库脚本进行编辑,以便在 db_block_size 为默认值 8KB 的情况下成功运行脚本。
要在 Sybase 中运行数据库安装脚本,服务器页面大小必须为 16k。在创建用于运行 Sybase 脚本的自适应服务器时,请对服务器页面大小进行设置。
搭配使用 DB2 和 Sun BPM 时,需要执行一些额外的设置步骤。请查看本节并请数据库管理员检查安装脚本,然后再对 DB2 数据库实例运行任何脚本。数据库管理员需要使用 DBA 或 Sysadmin/DB2 用户身份创建以下项目:
服务器上的数据库实例。
名为 BPM60DB 的表空间。
新用户,拥有对象创建权限,可在数据库中创建表、索引、序列对象等对象。
32k 用户临时表空间。用户临时表空间用于为声明的临时表提供 Sun BPM 空间。使用 DB2 管理工具创建表空间。有关创建 DB2 用户临时表空间的详细信息,请参见 DB2 文档。创建临时表空间时,请使用以下参数设置:
页面大小:32KB
缓冲池大小:32KB
系统管理空间
平均表大小:2GB 至 20GB
预取大小:32KB
范围大小:32KB
系统开销:10.5 ms
传输率:0.14 ms
通过 Enterprise Designer,您可以查看、修改和运行用于创建或删除监视和恢复数据库模式的脚本。首先,您必须为脚本配置数据库连接。
在运行数据库脚本之前,您需要在“项目资源管理器”中对数据库连接信息进行配置。为具有数据库访问权限的管理员用户配置连接。
在“项目资源管理器”中,展开 "Sun BPM",然后展开“运行数据库脚本”。
右键单击“运行数据库脚本”,再单击“签出”,然后在对话框中单击“签出”。
右键单击“数据库脚本”,然后单击“属性”。
输入配置数据库连接中所述的数据库配置信息。
单击“确定”。
描述 |
|
---|---|
所用数据库的供应商和版本。 |
|
连接数据库的 URL。输入以下内容之一: |
|
数据库管理员的登录 ID。此用户必须能够创建用户和分配权限,还要能够创建和删除表。 |
|
管理员用户的密码。 |
您可以打开数据库脚本,然后在“项目资源管理器”中进行查看、修改和运行。在对数据库脚本进行更改时,请向数据库管理员咨询。您可能需要进行的部分更改包括:
对于Oracle,您必须为 bpm60db 和 bpel_data 表空间的 DATAFILE 参数指定有效的路径。您还可以对表空间名称和为各个表空间分配的磁盘空间进行更改。
更改字段长度;例如,从 varchar(255) 更改为 varchar(4000)。如果需要在表中容纳更大的字段长度,请执行此操作。如果数据超过该字段允许的大小,则可能会遇到错误。
修改用于创建和访问表的登录 ID 和密码。默认情况下,用户名和密码均为 "bpm6user"。这是 Sun BPM 引擎将用来访问数据库的登录信息。
在“项目资源管理器”中,展开 "Sun BPM"。
确保“运行数据库脚本”已签出,然后展开文件夹。
在“数据库脚本”下,右键单击要修改的脚本,然后单击“打开”。
仅对于 Oracle 8.1.7,请将关联键的最大键长度从 4000 减至 3166。correlationvalue 参数属于 correlationengine 和 correlationbpinstance 表。以下代码示例显示这些更改。
create table bpm60 correlationengine ( correlationvalue varchar( 3166) UNIQUE, applicationreference varchar(255), ...); ... create table bpm60.correlationbpinstance ( correlationvalue varchar(3166) UNIQUE, bpid varchar(50), ...);
对脚本进行任何其他必要的更改。请勿更改任何表或字段名称。
要运行数据库脚本,请右键单击脚本名称,然后单击“运行”。必须运行数据库实例,才能执行此步骤。
要保存更改,请右键单击脚本文件,然后单击“保存”,或者关闭文件。系统会提示您保存或放弃更改。要保留更改,请单击“保存”;否则,请单击“放弃”。
在运行数据库脚本之前,请确保运行数据库实例,并且您已查看创建数据库实例和在 Enterprise Designer 中查看和修改数据库脚本下的信息。此外,还必须为脚本配置连接信息。
在“项目资源管理器”中,展开 "Sun BPM",然后展开“运行数据库脚本”。
右键单击与适当数据库关联的文件(Oracle Install、SQL Server Install、DB2 Install 或 Sybase Install)。
单击“运行”。
这是从 Enterprise Designer 运行数据库脚本的一种备选方法。您可以下载数据库脚本,并在 Java CAPS 环境外部运行这些脚本。请务必查看创建数据库实例下的信息,其中包含特定于 Oracle 和 DB2 数据库的信息。
压缩文件中包括以下文件。
install_db.bat——创建表空间、用户、表、存储过程和任何初始值。
uninstall_db.bat——删除由 install_db.bat 脚本创建的所有数据库组件(也就是说,删除表和用户,并且删除存储过程)。
特定于数据库的 SQL 脚本——由 install_db.bat 和 uninstall_db.bat 脚本调用的脚本(例如 create_tables.sql、drop_tables.sql 等)。
Readme.txt——包含特定于数据库应用程序的附加说明。
要使用压缩的脚本文件,您需要将其导出到本地目录,然后对压缩文件进行解压缩。
在“项目资源管理器”中,展开 "Sun BPM",然后展开“下载数据库脚本”。
右键单击与适当数据库关联的文件(oracle.zip、sqlserver.zip、db2.zip 或 sybase.zip)。
单击“导出”。
浏览到要存储数据库文件的本地文件夹,然后单击“保存”。
导航到本地文件夹,然后对压缩文件进行解压缩。
按照 Readme.txt 文件中的说明操作。
在下载压缩的数据库脚本并根据需要进行修改之后,您可以从命令行运行这些脚本。执行这些脚本的数据库用户必须具有创建表和用户的权限。在运行脚本之前,请查看在 Enterprise Designer 中查看和修改数据库脚本(Readme.txt 文件还提供了附加信息)。
打开命令窗口并导航到脚本所在的目录。
执行以下操作之一:
对于 Oracle 数据库,请输入以下命令:
install_db user password database
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
install_db user password server database
对于 DB2 数据库,请输入以下命令:
install_db user password database server
其中:
user 为数据库用户名。
password 为数据库用户密码。
server 为数据库所驻留计算机的名称。
database 为数据库或 SID 名称。
从这些脚本创建的默认用户和密码为 "bpm6user"。您可以修改用户、密码、为表分配的磁盘空间,以及用户权限。但不应修改表和列定义。
在将项目部署到服务器时,您可以选择自动运行数据库脚本。可以对监视和恢复数据库,以及业务流程报告表自动运行脚本。
按照创建数据库实例中的说明,创建数据库实例。
按照在 Enterprise Designer 中运行脚本中的说明,对监视和恢复数据库脚本进行修改,并定义数据库连接属性(但不运行脚本)。
对项目中的业务流程进行持久性配置,并配置数据库连接属性(但不运行脚本)。
对 Sun BPM 引擎进行持久性配置。将“数据库脚本自动执行”设置为 true。
部署项目时,将对监视和恢复数据库,以及配置了持久性的各个业务流程自动运行脚本。
用于清除和归档 Sun BPM 数据的脚本包含在压缩的数据库文件中,您可以从 Enterprise Designer 下载这些文件(请参见下载压缩的脚本文件)。清除脚本可以根据指定的天数、业务流程名称或应用程序名称,将较旧的记录(仅实例)从数据库表中删除。归档脚本可以根据指定的天数、业务流程名称或应用程序名称,将历史记录复制到以 _hist 结尾的表中。只有状态为 COMPLETE、ERROR、TERMINATED、ERROR_ON_RECOVER 的记录才会被清除或归档。
本节说明中将会用到以下参数:
user 为数据库用户名。
password 为数据库用户密码。
server 为数据库所驻留计算机的名称。
database 为数据库或 TNS 名称。
在运行清除和归档脚本之前,您需要安装存储过程和表,以支持流程。在开始此过程之前,请确保您已经按照下载压缩的脚本文件中的说明,创建了数据库并下载了压缩的数据库脚本。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
install_arch_and_purge_scripts user password database
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
install_arch_and_purge_scripts user password server database
以下脚本可以根据指定的天数归档和清除记录。这些脚本的 UNIX 版本带有 .sh 扩展名。
purge_by_days.cmd——按指定的天数清除历史记录数据。
arch_by_days.cmd——按指定的天数归档历史记录数据。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
purge_by_days user password database days
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
purge_by_days user password server database days
其中 days 为要保留的天数。例如,如果指定 4 天,则保留时间超过 4 天的所有记录都将被清除。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
arch_by_days user password database days
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
arch_by_days user password server database days
其中 days 为要保留的天数。例如,如果指定 4 天,则保留时间超过 4 天的所有记录都将被归档。
以下脚本可以根据指定的业务流程归档和清除记录。这些脚本的 UNIX 版本带有 .sh 扩展名。
purge_by_bpname.cmd——按指定的业务流程名称清除历史记录数据。
arch_by_bpname.cmd——按指定的业务流程名称将历史记录数据归档。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
purge_by_bpname user password database name
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
purge_by_bpname user password server database name
其中 name 为要清除的业务流程名称。例如,如果指定 BusinessProcess1,则将清除 BusinessProcess1 的所有实例。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
arch_by_bpname user password database name
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
arch_by_bpname user password server database name
其中 name 为要归档的业务流程名称。例如,如果指定 BusinessProcess1,则将 BusinessProcess1 的所有实例归档。
以下脚本可以根据指定的应用程序归档和清除记录。这些脚本的 UNIX 版本带有 .sh 扩展名。
purge_by_appname.cmd——按指定的应用程序名称清除历史记录数据。
arch_by_appname.cmd——按指定的应用程序名称将历史记录数据归档。
打开命令窗口并导航到您将脚本下载到其中的目录。
执行以下操作之一:
对于 Oracle 和 DB2 数据库,请输入以下命令:
purge_by_appname user password database name
对于 Sybase 和 SQL Server 数据库,请输入以下命令:
purge_by_appname user password server database name
其中 name 为要清除的应用程序名称。例如,如果指定 Application1,则将清除 Application1 数据的所有实例。