8.1.5 ディクショナリ表の再編成
ディクショナリ表を再編成する場合,データディクショナリ用RDエリア(データディクショナリLOB用RDエリア,レジストリ用RDエリア,及びレジストリLOB用RDエリアを定義している場合はこれらも含む)をコマンド閉塞状態にすることで,ユーザが定義した表を再編成するのと同様に実行できます。
ディクショナリ表の再編成は,特定のディクショナリ表だけ,又はすべてのディクショナリ表を再編成できます。ディクショナリ表を再編成する場合のアンロード・リロード処理の順序は「ディクショナリ表の場合」の表の項番の順になります。再編成のリロード処理中にエラーとなった場合は,リロード(-k reld)の再実行で再編成を再開できます。ただし,リロード中にデータディクショナリ用RDエリア又はデータディクショナリLOB用RDエリアに容量不足が発生した場合,RDエリアをバックアップから回復するケースがあります。再編成の手順については,マニュアル「HiRDB Version 9 システム運用ガイド」の例題(ディクショナリ表の再編成)の「注意事項」を参照してください。
LOB列があるディクショナリ表の場合,制御情報ファイルのunload文及びlobunld文で再編成対象を指定できます。LOB列構成基表とLOB列を同時に再編成する場合は,制御情報ファイルにunload文とlobunld文を両方とも指定してください。制御情報ファイルのunload文及びlobunld文の指定の組み合わせとそれによる再編成対象を次に示します。
制御情報ファイルの指定 |
再編成対象 |
||
---|---|---|---|
unload文指定 |
lobunld文指定 |
LOB列構成基表 |
LOB列 |
あり |
あり |
○ |
○ |
なし |
○ |
− |
|
なし |
あり |
− |
○ |
なし |
pdrorgは実行できません。 |
(凡例)○:再編成します。 −:再編成しません。
なお,LOB列があるディクショナリ表は次の表です。
-
SQL_ROUTINES
-
SQL_REGISTRY_KEY(システムが使用する表)