RDBディクショナリは、データベースの定義変更を繰り返すことによって、RDBディクショナリのシステム表内に空き領域が生じる場合があります。このとき、システム表内の領域を再配置することによって、システム表の領域を有効的に使用することができます。また、再配置を行うことにより、RDBディクショナリの追加割当てや容量拡張の判断を正しく行うことができます。
RDBディクショナリの再配置は、rdbgcdicコマンドにより行います。
参照
rdbgcdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
RDBディクショナリの再配置の操作の手順と操作例を以下に示します。
DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル
(1) RDBディクショナリに“参照更新抑止”の利用規定を設定 ――― rdbrtrコマンド します。 (rrwオプション) (2) 再配置での異常に備えて、RDBディクショナリの退避デー ――― rdbdmpdicコマンド タを取得します。 (3) RDBディクショナリの再配置を行います。 ――― rdbgcdicコマンド 正常終了 → (8) へ 異常終了(メモリ不足発生時) → (4) へ 異常終了(入出力障害など、上記以外) → (6) へ (4) メモリ不足の原因を取り除きます。 (5) RDBディクショナリの再配置を行います。 ――― rdbgcdicコマンド 正常終了 → (8)へ (Rオプション) 異常終了(メモリ不足発生時) → (4)へ 異常終了(入出力障害など、上記以外) → (6)へ (6) 異常原因を取り除きます。 (7) (2)でバックアップした退避データからRDBディクショナリ ――― rdbrcvdicコマンド とDIR_FILE2をリカバリします。 → (3)へ (8) RDBディクショナリの“参照更新抑止”の利用規定を解除 ――― rdbrlsコマンド します。 (rrwオプション) (9) RDBディクショナリの退避データを取得します。 ――― rdbdmpdicコマンド
$ rdbrtr -z -rrw $ rdbdmpdic -f dicback@/backup/rdb -y -e $ rdbgcdic -u /home/testdir -w /home/rdb1/work rdb: INFO:qdg12074i: rdbgcdicが正常終了しました 復帰コード00 (システム名=rdbsys1) $ rdbrls -z -rrw $ rdbdmpdic -f dicback2@/backup/rdb -y -e
注意
rdbgcdicコマンドが正常終了すると、それ以前に取得したRDBディクショナリの退避データを用いたリカバリが実行できなくなります。rdbgcdicコマンドが正常終了したあとには、異常時に備えて、rdbdmpdicコマンドを用いてRDBディクショナリの退避データを取得してください。