32.1.5 更新DBで実行したUAP,トランザクション,SQLの参照DBへの反映可否
更新DBで実行したUAP,トランザクション,SQLについて,その更新内容が参照DBへ反映されるかどうかを,それぞれ次の表に示します。
|
UAP |
トランザクション |
反映可否 |
|---|---|---|
|
ログ取得モードのUAP |
コミットしたトランザクション |
○ |
|
ロールバックしたトランザクション |
× |
|
|
更新前ログ取得モードのUAP |
− |
× |
|
ログレスモードのUAP |
− |
× |
- (凡例)
-
○:反映されます。
×:反映されません。
表32‒3 更新DBで実行したSQLの参照DBへの反映可否 分類
SQL
反映可否
定義系SQL
−
×
操作系SQL
INSERT文
DELETE文
UPDATE文
PURGE TABLE文
対象:FIX表
○
対象:非FIX表
×
上記以外
−
制御系SQL
LOCK文
対象:FIX表
IN EXCLUSIVE MODE指定あり
○
IN EXCLUSIVE MODE指定なし
×
対象:非FIX表
×
上記以外
−
- (凡例)
-
○:反映されます。
×:反映されません。
−:対象外
- 注意事項
-
-
定義系SQLを実行した場合,更新DBと参照DBでデータベース構成に差異ができるため,参照DBの更新が行えなくなるときがあります。更新DBで定義系SQLを実行した場合は,「参照DBのデータベース再作成手順」を参照して参照DBのデータベースを再作成してください。
-
操作系SQLのうち,更新内容を反映しないSQLで更新した内容を参照DBに反映するには,「参照DBのデータベース再作成手順」を参照して参照DBのデータベースを再作成してください。
なお,参照表,被参照表,又は検査制約を定義した表に対してPURGE TABLE文を実行した場合も同様に,「参照DBのデータベース再作成手順」を参照して参照DBのデータベースを再作成してください。
-
FIX表に対してINSERT文,DELETE文,UPDATE文,PURGE TABLE文を実行した場合,参照DBにはデータだけを反映し,インデクスは反映しません。更新DBと参照DBのインデクスを一致させる場合は,参照DBでインデクスを再作成してください。参照DBのインデクス再作成方法については,「参照DBのインデクス再作成について」を参照してください。
-
UNTIL DISCONNECTを指定したLOCK文を参照DBに反映する場合は,トランザクション単位に反映します。LOCK文を実行したトランザクションのすべての更新内容を反映した時点で,排他を解除します。
-
ユティリティ実行による更新内容の反映可否については,マニュアル「HiRDBコマンドリファレンス」の「リードレプリカ機能使用時の運用コマンド・ユティリティの実行について」を参照してください。