スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(Windows(R)用)

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

12.20.3 検査保留状態

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

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

整合性が保証できなくなる操作については「12.20.4 データ操作と整合性」を,整合性の確認手順は「12.20.5 表の整合性確認手順」を参照してください。

<この項の構成>
(1) 検査保留状態の管理
(2) 検査保留状態の表に対して制限される操作
(3) 分割表を使用している場合
(4) 検査保留状態を使用する場合の注意

(1) 検査保留状態の管理

検査保留状態はディクショナリ表と,表が格納されたRDエリアの表情報で管理しています。ディクショナリ表では表単位,及び制約単位に検査保留状態を管理し,表情報では分割表の場合はRDエリア単位に,分割表ではない場合は表単位に検査保留状態を管理します。

検査保留状態の情報が格納されている場所と内容を次の表に示します。

表12-22 検査保留状態の情報が格納されている場所と内容(検査制約)

格納場所 格納されている情報
ディクショナリ表 SQL_TABLES表 CHECK_PEND2列 表単位の検査制約の検査保留状態
SQL_CHECKS表 CHECK_PEND2列 制約単位の検査制約の検査保留状態
RDエリアの表情報 分割していない表の場合 表単位の参照制約又は検査制約の検査保留状態
分割表の場合 RDエリア単位の参照制約又は検査制約の検査保留状態

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

参照制約の場合と同じです。「12.19.3(3)検査保留状態の表に対して制限される操作」を参照してください。

(3) 分割表を使用している場合

参照制約の場合と同じです。「12.19.3(5)分割表を使用している場合」を参照してください。ただし,「参照表」を「検査制約表」に読み替えてください。

(4) 検査保留状態を使用する場合の注意