スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
一つのトランザクションからHiRDBサーバに対して複数のスレッドを使用して別々に接続できません。マルチスレッド環境であってもトランザクションから接続するHiRDBサーバのサーバプロセスは一つです。したがって,一つのトランザクションから同時に実行できるスレッドは一つであり,同一トランザクション内で複数のスレッドを使用してSQL文を同時に実行できません。
HiRDBはトランザクションマネジャがサポートしている一相最適化に対応しています。トランザクションマネジャはトランザクションブランチによって変更した共有リソースがHiRDBだけの場合,トランザクションブランチに対して一相コミットを要求できます。トランザクションマネジャが一相最適化を使用して一相コミットを要求してきた場合,HiRDBはトランザクションブランチの結果を決めた後,トランザクションブランチの情報を削除してトランザクションマネジャへ応答を返します。
一相最適化を使用しているトランザクションマネジャでは,グローバルトランザクションに関して安定ストレージに記憶する必要もなく,何らかの障害が発生してもその結果を知る必要もありません。したがって,次に示す条件をすべて満たす場合,トランザクションの完了種別がトランザクションマネジャとHiRDBで一致しないことがあります。
これらの条件下では,HiRDBのトランザクションブランチの結果を,トランザクションマネジャが発生した障害の結果として知ることができません。そのため,トランザクションの完了種別がトランザクションマネジャとHiRDBで一致しないことがあります。
これを防ぐには,更新系トランザクションのコミットメント制御をする場合,トランザクションマネジャの一相最適化を使用しないでください。
次に示す条件をすべて満たす場合は注意が必要です。
この場合,OLTP製品が未決着トランザクションの回復処理をすると,X/Openに従ったAPIがエラーリターンしてトランザクションが回復されないことがあります。この現象が発生する場合は,HiRDBクライアントのバージョンを06-02-/B以降にバージョンアップしてください。業務を停止させたくないなどの理由でHiRDBクライアントのバージョンアップがすぐにできない場合は,現用系のHiRDB(ユニット)を待機系から実行系に系を切り替えてください。ただし,これは一時的な対応策です。HiRDBクライアントのバージョンアップで対応してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.