Sybase データベースでの集約の使用

Sybase データベースを使用するブローカーを作成し、メッセージ集約を含むメッセージ・フローの実行する予定の場合、データベース内の集約テーブルに対して行レベルのロックを適用することをお勧めします。 集約の使用を予定していない場合は、この変更を行う必要はありません。

行レベルのロックを適用せずに頻繁にメッセージ集約を使用すると、ブローカーにデッドロックの問題が発生します。

行レベルのロックを適用するには、以下のようにします。

  1. コマンド・プロンプトで次のコマンドを入力します。
    isql -Umqsiuid -Pmqsipw

    このデータベースへのブローカー・アクセス用に別のユーザー ID とパスワードを許可している場合、このコマンド内の mqsiuidmqsipw をご使用の値で置き換えてください。

  2. 次のコマンドでブローカー・データベースに接続します。
    use WBRKBKDB

    別の名前でブローカー・データベースを作成した場合、このコマンド内のWBRKBKDB をその名前で置き換えてください。

  3. 次のコマンドで行レベルのロックを使用するよう集約テーブルを更新します。
    alter table mqsiuid.BAGGREGATE lock datarows

    このデータベース・インスタンスの所有者が mqsiuid ではない場合、このコマンドで正しいスキーマ名に置き換えてください。

  4. 次のコマンドで変更を適用します。
    go
以下のコマンドを入力することによって、変更が正常に適用されたかどうかをチェックできます。
sp_help BAGGREGATE
go

ロック・スキームが次のように表示されます。 lock scheme datarows

変更が完了しなかった場合は次のように表示されます。 lock scheme allpages.

関連概念
メッセージ・フローの集約

関連タスク
UNIX プラットフォーム上での Oracle または Sybase データベースの準備
データベースへの接続
データベースへのアクセスの許可

関連資料
サポートされるデータベース