スケーラブルデータベースサーバ HiRDB Version 8 解説(UNIX(R)用)

[目次][用語][索引][前へ][次へ]

5.10 検査保留状態

参照制約及び検査制約が定義された表に対するSQLやユティリティの実行などで,表データの整合性を保証できなくなった場合,HiRDBは参照表又は検査制約表に対するデータ操作を制限します。このように,整合性を保証できないためにデータ操作を制限された状態を検査保留状態といいます。参照表又は検査制約表を検査保留状態にして,データ操作を制限するためには,pd_check_pendingオペランドにUSEを指定するか,又はオペランドの指定を省略する必要があります。検査保留状態の表は,整合性チェックユティリティpdconstck)を使用して検査保留状態を解除します。また,整合性チェックユティリティを使用して,強制的に検査保留状態にもできます。

pd_check_pendingオペランドにNOUSEを指定していると,表間で参照整合性を保証できない場合でもデータ操作を制限しません。そのため,整合性が保証できなくなるSQLやユティリティを実行した場合は,整合性チェックユティリティで強制的に検査保留状態にしてから,整合性を確認してください。

検査保留状態,及び整合性チェックユティリティを使用したデータの整合性確認手順についての詳細は,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。

<この節の構成>
(1) 検査保留状態の設定又は解除の契機
(2) 検査保留状態の表に対して制限される操作

(1) 検査保留状態の設定又は解除の契機

整合性チェックユティリティ以外に,次に示すユティリティ,コマンド,及びSQLで参照表を検査保留状態に設定したり,解除したりできます。

それぞれの詳細について,ユティリティ及びコマンドはマニュアル「HiRDB Version 8 コマンドリファレンス」を,SQLはマニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。

(2) 検査保留状態の表に対して制限される操作

検査保留状態の表に対して実行できなくなる操作を次の表に示します。

表5-2 検査保留状態の表に対する操作可否

検査保留状態の表に対する操作 操作可否
リバランスユティリティ(pdrbal) 実行できません。
SELECT文(対象表の検索,及び対象表から作成したリストの検索)
INSERT文(対象表への挿入)
UPDATE文(対象表の更新)
DELETE文(対象表からの行削除)
ASSIGN LIST文(対象表からのリスト作成)
次の条件をどちらも満たす場合だけ,操作できます。それ以外は操作できません。
  • 操作対象表が分割表で,分割条件がキーレンジ分割又はFIXハッシュ分割
  • 操作対象となるRDエリアが検査保留状態でない
pdrorg(再編成) フレキシブルハッシュ分割の分割表に対して再編成を実行する場合,操作できないときがあります。詳細は,マニュアル「HiRDB Version 8 コマンドリファレンス」の「データベース再編成ユティリティ(pdrorg)」を参照してください。