12.15.2 制限事項
改竄防止表はデータの更新及び削除ができない表のため,改竄防止表又は改竄防止表格納RDエリアに対して,SQL文,ユティリティ,及びコマンドの実行に制限があります。
- 〈この項の構成〉
(1) 定義系SQL
改竄防止表に対して実行できない定義系SQL文があります。制限がある定義系SQL文と制限事項を次の表に示します。
SQL文 |
制限事項 |
---|---|
CREATE TABLE |
すべての列に更新可能列属性を指定し,かつ改竄防止オプションを指定することはできません。 |
ALTER TABLE |
|
DROP TABLE |
改竄防止表にデータがある場合,実行できません。 |
- 注※
-
既存の表に更新可能列を指定して,改竄防止機能を適用するためには,列及び表に対してそれぞれALTER TABLEを実行する必要があります。次の手順で改竄防止機能を適用してください。
-
ALTER TABLEで,更新可能とする列の属性を更新可能列に変更
-
ALTER TABLE(CHANGE INSERT ONLY)で,改竄防止表にする表に対して改竄防止機能を適用
-
(2) ユティリティ
改竄防止表,又は改竄防止表格納RDエリアに対して,ユティリティ運用が制限されます。制限されるユティリティと制限事項を次の表に示します。記載されていないユティリティについては,特に制限はありません。
ユティリティ名 |
制限事項 |
---|---|
データベース作成ユティリティ(pdload) |
|
データベース構成変更ユティリティ(pdmod) |
|
データベース再編成ユティリティ(pdrorg) |
表の再編成(-k rorg)
表のアンロード(-k unld)
表のリロード(-k reld)
インデクスの一括作成(-k ixmk),再作成(-k ixrc),再編成(-k ixor) 対象となる表がデータ未完状態※の場合は実行できません。 |
リバランスユティリティ(pdrbal) |
対象となる表がデータ未完状態※の場合は実行できません。 |
- 注※
-
改竄防止表に対して表の再編成を実行し,エラーなどによって表のリロードが完了していない表の状態をデータ未完状態といい,改竄防止表格納RDエリアごとに状態を保持します。該当するRDエリアがデータ未完状態かどうかは,データベース状態解析ユティリティで,RDエリア単位の状態解析(論理的解析)又は表単位の状態解析を実行することで確認できます。データ未完状態は表の再編成(表のリロード)が正常に完了した場合に解除されます。データ未完状態の解除方法の詳細は,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。
図12‒24 別表へのリロード可否 - 〔説明〕
-
-
改竄防止表T1から非改竄防止表T3へのリロードは,改竄防止表T1の改竄にはならないため,できます。
-
非改竄防止表T3から改竄防止表T1へのリロードは,改竄防止表T1のデータが改竄されることになるため,できません。
-
改竄防止表T1から改竄防止表T2へのリロードは,改竄防止表T2のデータが改竄されることになるため,できません。
-
改竄防止表T1自身に対するリロードは,改竄防止表T1の改竄にはならないため,できます。
-
HiRDBシステム1の改竄防止表T1からHiRDBシステム2の改竄防止表T1へのリロードは,HiRDBシステム2の改竄防止表T1のデータが改竄されることになるため,できません。
-
(3) 運用コマンド
改竄防止表,又は改竄防止表格納RDエリアに対して,コマンド実行が制限されます。制限事項がある運用コマンドを次の表に示します。
運用コマンド |
制限事項 |
---|---|
RDエリアの閉塞(pdhold) |
データ未完状態の改竄防止表格納RDエリアの場合,状態を遷移させると表の再編成を完了させるためのリロード実行が不可となるため次のオプションは実行できません。
|
RDエリアの閉塞解除(pdrels) |
データ未完状態の改竄防止表格納RDエリアの場合,表の再編成が未完了のままで閉塞解除すると該当表のデータが0件の状態となるため,実行できません。 |
(4) 関連製品での制限事項
関連製品での制限事項を次に示します。
-
レプリケーション機能
改竄防止表に対して,レプリケーション機能(HiRDB Dataextractor及びHiRDB Datareplicator)を使用してデータの複写,及び更新結果を反映しないでください。使用すると,反映元と反映先でデータの内容が不一致となったり,エラーとなる場合があります。