Sun Business Process Manager データベースの管理

Sun Business Process Manager データベースの管理

ここに示したトピックでは、Sun JavaTM Composite Application Platform Suite (Java CAPS) の Sun Business Process Manager データベースの管理方法について説明します。

質問または問題がある場合は、Java CAPS の Web サイト http://goldstar.stc.com/support を参照してください。

監視および復旧データベースの作成

監視および復旧データベース表を作成するには、Enterprise Designer からデータベーススクリプトを変更して実行するか、またはそれらのスクリプトをダウンロードしてローカルディレクトリから実行できます。選択する方法に応じて、該当する節を参照してください。

スクリプトを実行するには、既存のデータベースインスタンスが必要です。スクリプトの操作を開始する前に、「データベースインスタンスの作成」を参照してください。

データベースインスタンスの作成

データベーススクリプトを実行するには、まず、表を作成するデータベースインスタンスを作成します。これは Oracle 10g、Oracle 9i、および SQL Server の場合の手順であり、Oracle 8.1.7、Sybase、および DB2 の場合は追加の手順が必要です。

Oracle 8.1.7 でのデータベースの作成

Oracle 8.1.7 では、デフォルトの db_block_size を 8K バイトから 16K バイトに増やすか、またはデフォルトの db_block_size の 8K バイトで正常に動作するようにデータベーススクリプトを編集します。

Sybase でのデータベースの作成

Sybase でデータベースインストールスクリプトを実行するためには、サーバーのページサイズを 16K バイトにします。Sybase スクリプトを実行する適応型サーバーを作成するときにサーバーのページサイズを設定します。

DB2 でのデータベースの作成

Sun BPM で DB2 を使用する場合は、いくつかの追加の設定手順が必要です。DB2 データベースインスタンスに対してスクリプトを実行する前に、この節を読み、データベース管理者にインストールスクリプトを確認するように依頼します。データベース管理者は、DBA または Sysadmin/DB2 ユーザーを使用して次のものを作成する必要があります。

Enterprise Designer でのスクリプトの実行

Enterprise Designer から、監視および復旧データベーススキーマを作成またはドロップするスクリプトを表示、変更、および実行できます。最初に、スクリプトのデータベース接続を設定します。

データベース接続の設定

データベーススクリプトを実行する前に、プロジェクトエクスプローラでデータベース接続情報を設定する必要があります。データベースに対する特権を持つ管理ユーザーの接続を設定します。

Procedureデータベース接続を設定する

  1. プロジェクトエクスプローラで、「Sun BPM」を展開し、次に「データベーススクリプトの実行」を展開します。

  2. 「データベーススクリプトの実行」を右クリックして「チェックアウト」をクリックし、次に、ダイアログボックスで「チェックアウト」をクリックします。

  3. 「データベーススクリプト」を右クリックして、「プロパティー」をクリックします。

  4. 「データベース接続の設定」で説明したデータベース設定情報を入力します。

  5. 「了解」をクリックします。

    プロパティー

    説明 

    データベースタイプ

    使用するデータベースのベンダーとバージョン。 

    JDBC URL

    データベースに接続する URL。次のいずれかを入力します。 

    • Oracle の場合: jdbc:SeeBeyond:oracle://<host>:<port>;SID=<SID>

    • Sybase の場合: jdbc:SeeBeyond:sybase://<host>:<port>

    • SQL Server の場合: jdbc:SeeBeyond:sqlserver://<host>:<port>;DatabaseName= <dbname>

    • DB2 の場合: jdbc:SeeBeyond:db2://<host>:<port>;DatabaseName=<SID>;collectionId=JDBCPKG;packageName=JDBCPKG;embedded=true;createDefaultPackage=FALSE

      <host> はデータベースが常駐するマシン、<port> はデータベースが待機するポート番号、<SID> および <dbname> はデータベースの名前です。

    ユーザー

    データベース管理者のログイン ID。ここには、ユーザーの作成、権限の割り当て、および表の作成とドロップを行えるユーザーを指定します。 

    パスワード

    管理ユーザーのパスワード。 

Enterprise Designer でのデータベーススクリプトの表示および変更

データベーススクリプトを開いて、プロジェクトエクスプローラ内でそれらを表示、変更、および実行できます。 データベーススクリプトを変更する場合は、データベース管理者に相談してください。次の変更を行う必要がある場合があります。

Procedureデータベーススクリプトを変更する

  1. プロジェクトエクスプローラで、「Sum BPM」を展開します。

  2. 「データスクリプトの実行」がチェックアウトされていることを確認し、そのフォルダを展開します。

  3. 「データスクリプト」の下で、変更するスクリプトを右クリックし、「開く」をクリックします。

  4. 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), ...);

  5. ほかに必要な変更があれば、さらにスクリプトを変更します。表名またはフィールド名は一切変更しないでください。

  6. データベーススクリプトを実行するには、スクリプト名を右クリックして、「実行」をクリックします。この手順を実行するには、データベースインスタンスが実行されている必要があります。

  7. 変更を保存するには、スクリプトファイル内で右クリックして「保存」をクリックするか、またはファイルを閉じます。変更を保存するか破棄するかの選択を求められます。変更を保持する場合は「保存」をクリックし、それ以外の場合は「破棄」をクリックします。

データベーススクリプトの実行

データベーススクリプトを実行する前に、データベースインスタンスを実行していることを確認し、「データベースインスタンスの作成」「Enterprise Designer でのデータベーススクリプトの表示および変更」に示された情報を再確認してください。また、スクリプトの接続情報が設定されていることも確認します。

Procedureデータベース表を作成する

  1. プロジェクトエクスプローラで、「Sun BPM」を展開し、次に「データベーススクリプトの実行」を展開します。

  2. 該当するデータベースに関連付けられているファイル (Oracle InstallSQL Server InstallDB2 Install、または Sybase Install) を右クリックします。

  3. 「実行」をクリックします。

Procedureデータベース表をドロップする

  1. プロジェクトエクスプローラで、「Sun BPM」を展開し、次に「データベーススクリプトの実行」を展開します。

  2. 該当するデータベースに関連付けられているファイル (Oracle UninstallSQL Server UninstallDB2 Uninstall、または Sybase Uninstall) を右クリックします。

  3. 「実行」をクリックします。

ローカルディレクトリからのデータベーススクリプトの実行

Enterprise Designer からデータベーススクリプトを実行する代わりに、この方法を使用できます。 この方法では、データベーススクリプトをダウンロードして Java CAPS 環境の外部で実行できます。 「データベースインスタンスの作成」で、Oracle データベースおよび DB2 データベースに固有の情報を再確認してください。

圧縮されたファイルには、次のファイルが含まれています。

圧縮されたスクリプトファイルのダウンロード

圧縮されたスクリプトファイルを使用するには、それらのファイルをローカルディレクトリにエクスポートしてから、圧縮されたファイルを抽出する必要があります。

Procedure圧縮されたスクリプトファイルをダウンロードする

  1. プロジェクトエクスプローラで、「Sun BPM」を展開し、次に「データベーススクリプトのダウンロード」を展開します。

  2. 該当するデータベースに関連付けられているファイル (oracle.zipsqlserver.zipdb2.zip 、またはsybase.zip) を右クリックします。

  3. 「エクスポート」をクリックします。

  4. データベースファイルを保存するローカルフォルダを参照し、「保存」をクリックします。

  5. ローカルフォルダに移動し、圧縮されたファイルを抽出します。

  6. Readme.txt ファイルの指示に従って操作します。

ダウンロードしたスクリプトの実行

圧縮されたデータベーススクリプトをダウンロードし、必要に応じて変更したら、そのスクリプトをコマンド行から実行できます。 それらのスクリプトを実行するデータベースユーザーは、表およびユーザーを作成する権限を持っている必要があります。スクリプトを実行する前に、「Enterprise Designer でのデータベーススクリプトの表示および変更」の内容を再確認してください。また、Readme.txt ファイルにも追加情報があります。

Procedureダウンロードしたデータベーススクリプトを実行する

  1. コマンドウィンドウを開き、スクリプトが置かれているディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • 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」です。ユーザー、パスワード、表に割り当てられたディスク容量、およびユーザーアクセス権を変更できます。表と列の定義は変更しないでください。


データベーススクリプトの自動実行

プロジェクトをサーバーに配備するときに、データベーススクリプトを自動的に実行するように設定できます。監視および復旧データベースとビジネスプロセスレポート表の両方で、スクリプトを自動的に実行できます。

Procedureスクリプトを自動的に実行する

  1. 「データベースインスタンスの作成」で説明されているとおりに、データベースインスタンスを作成します。

  2. 「Enterprise Designer でのスクリプトの実行」で説明されているとおりに、監視および復旧データベーススクリプトを変更し、データベース接続プロパティーを定義します。ただし、スクリプトを実行しないでください。

  3. プロジェクトのビジネスプロセスの持続性を設定し、データベース接続プロパティーを設定します。ただし、スクリプトを実行しないでください。

  4. Sun BPM エンジンの持続性を設定します。「データベーススクリプトの自動実行」を true に設定します。

  5. プロジェクトを配備するときに、監視および復旧データベースと、持続性を設定した各ビジネスプロセスのスクリプトが自動的に実行されます。

Sun BPM データの削除と保管

Sun BPM データを削除および保管するためのスクリプトは、Enterprise Designer からダウンロードできる圧縮されたデータベースファイル (「圧縮されたスクリプトファイルのダウンロード」を参照) に含まれています。 削除スクリプトは、指定された日数、ビジネスプロセス名、またはアプリケーション名に基づいて、データベース表から古いレコード (インスタンスのみ) を削除します。保管スクリプトは、指定された日数、ビジネスプロセス名、またはアプリケーション名に基づいて、名前の末尾が _hist の表に履歴レコードをコピーします。状態が COMPLETE、ERROR、TERMINATED、ERROR_ON_RECOVER のレコードのみが削除または保管されます。

この節の説明では、次の引数が使用されます。

削除および保管データベースコンポーネントのインストール

削除スクリプトおよび保管スクリプトを実行するには、それらのプロセスをサポートするストアドプロシージャーおよび表をインストールしておく必要があります。この手順を開始する前に、データベースを作成したこと、および圧縮されたデータベーススクリプトをダウンロードしたこと (「圧縮されたスクリプトファイルのダウンロード」を参照) を確認してください。

Procedure削除および保管データベースコンポーネントをインストールする

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      install_arch_and_purge_scripts user password database

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      install_arch_and_purge_scripts user password server database

保持日数による保管と削除

次のスクリプトは、指定された日数に基づいてレコードを保管および削除するために提供されています。これらのスクリプトの UNIX 版には .sh 拡張子が付いています。

Procedure日数に基づいてレコードを削除する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      purge_by_days user password database days

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      purge_by_days user password server database days

    days は保持する日数です。たとえば、4 日間を指定すると、5 日前以前のレコードがすべて削除されます。

Procedure日数に基づいてレコードを保管する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      arch_by_days user password database days

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      arch_by_days user password server database days

    days は保持する日数です。たとえば、4 日間を指定すると、5 日前以前のレコードがすべて保管されます。

ビジネスプロセス名による保管と削除

次のスクリプトは、指定されたビジネスプロセスに基づいてレコードを保管および削除するために提供されています。これらのスクリプトの UNIX 版には .sh 拡張子が付いています。

Procedureビジネスプロセス名に基づいてレコードを削除する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      purge_by_bpname user password database name

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      purge_by_bpname user password server database name

    name は削除するビジネスプロセス名です。たとえば、BusinessProcess1 を指定すると、BusinessProcess1 のすべてのインスタンスが削除されます。

Procedureビジネスプロセス名に基づいてレコードを保管する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • 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 拡張子が付いています。

Procedureアプリケーション名に基づいてレコードを削除する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      purge_by_appname user password database name

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      purge_by_appname user password server database name

      name は削除するアプリケーション名です。たとえば、Application1 を指定すると、Application1 データのすべてのインスタンスが削除されます。

Procedureアプリケーション名に基づいてレコードを保管する

  1. コマンドウィンドウを開き、スクリプトをダウンロードしたディレクトリに移動します。

  2. 次のいずれかの操作を行います。

    • Oracle および DB2 データベースの場合は、次のコマンドを入力します。

      arch_by_appname user password database name

    • Sybase および SQL Server データベースの場合は、次のコマンドを入力します。

      arch_by_appname user password server database name

      name は保管するアプリケーション名です。たとえば、Application1 を指定すると、Application1 データのすべてのインスタンスが保管されます。