Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


2.9.4 排他自動解除機能

排他自動解除機能とは,SDBデータベースを操作するAPIまたはDMLで,SDBデータベースを操作した結果,レコード位置指示子が指さなくなったレコード実現値を格納するページに対する排他を,APIまたはDMLの操作完了時に解除する機能です。

なお,複数レコードの検索時に排他自動解除機能を適用すると,複数レコードの検索の結果,検索対象のファミリが移動した場合に,移動元のファミリのルートレコード実現値を格納するページに対する排他を解除する機能となります。

排他自動解除機能を使用しない場合は,トランザクション内で一度確保された排他は,トランザクションが終了するまで保持されます。

排他自動解除機能の選択基準を次の表に示します。

表2‒42 排他自動解除機能の選択基準

排他自動解除機能

選択基準

使用する

  • トランザクション内でデータの一貫性を保証する必要はなく,検索したレコード実現値を更新するほかのトランザクションとの同時実行性能を重視する場合

  • 更新を前提とする検索の結果,検索したレコード実現値に対する更新が不要となることがあり,そのレコード実現値を操作するほかのトランザクションとの同時実行性能を重視する場合

使用しない

■4V FMBまたは4V AFMのSDBデータベースの場合

  • トランザクション内でデータの一貫性を保証する必要があり,一度検索したレコード実現値がほかのトランザクションによって更新されるのをトランザクション終了まで抑止したい場合

  • SDBデータベースを操作するAPIの排他モード1に排他モードを指定した2つの検索で,一方のトランザクションが検索したレコード実現値を,もう一方のトランザクションが参照するのを,トランザクション終了まで抑止したい場合

  • SDBデータベースを操作するAPIの排他モード1に'O'(占有モード)を指定した検索で,自トランザクションが検索したレコード実現値をほかのトランザクションが参照するのを,トランザクション終了まで抑止したい場合

■SD FMBのSDBデータベースの場合

  • トランザクション内でデータの一貫性を保証する必要があり,一度検索したレコード実現値がほかのトランザクションによって更新されるのをトランザクション終了まで抑止したい場合

  • FOR UPDATEオペランドを指定した2つの検索で,一方のトランザクションが検索したレコード実現値を,もう一方のトランザクションが参照するのを,トランザクション終了まで抑止したい場合

〈この項の構成〉

(1) 適用方法

4V FMBまたは4V AFMのSDBデータベースに対して排他自動解除機能を適用する場合は,マニュアル「TP1/Financial Service Platform 使用の手引」の「SDBハンドラ機能」の「排他制御」を参照してください。排他自動解除機能は,TP1/FSPの個別開始時に指定する排他パラメタの排他モード2で指定します。

SD FMBのSDBデータベースに対して排他自動解除機能を適用する場合は,SDB用UAP環境定義にlockrangeオペランドを指定します。SDB用UAP環境定義については,「9.3 SDB用UAP環境定義【SD FMB】」を参照してください。

(2) SDBデータベースを操作するAPIまたはDMLと,データページの排他解除の有無の関係

SDBデータベースを操作するAPIまたはDMLと,データページ(ページまたはサブページ)の排他解除の有無(排他自動解除機能の対象となるデータページ)の関係については,「付録L SDBデータベースを操作するAPIまたはDMLと,データページの排他解除の有無の関係」を参照してください。

(3) 注意事項

■4V FMBまたは4V AFMのSDBデータベースの場合

■SD FMBのSDBデータベースの場合