RDBディクショナリの拡張契機の見積りにより、あるシステム表の領域が不足すると判断した場合には、RDBディクショナリの追加割当てを行います。
たとえば、1つの表に数千列が存在する表を多数定義した場合などは、表の定義情報を管理するシステム表と列の定義情報を管理するシステム表で、システム表の使用状況に偏りが生じます。そこで、RDBディクショナリの拡張契機の見積りにより、あるシステム表の使用率のみが大幅に増加し、領域不足が発生する可能性があると判断した場合には、各システム表の使用量と空き容量の比率を均等にするために、RDBディクショナリの追加割当てを行います。
RDBディクショナリの追加割当てでは、システム表として使用する領域の追加割当てを行い、その領域をシステム表ごとに適切に配分することにより、各システム表の空き容量の比率を均等にします。
RDBディクショナリの追加割当ては、rdbaldicコマンドにより行います。
参照
rdbaldicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
RDBディクショナリの追加割当ての操作の手順と操作例を以下に示します。
DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル
(1) RDBディクショナリに“更新抑止”を設定します。 ――― rdbrtrコマンド (rwオプション) (2) 追加割当てでの異常に備えて、RDBディクショナリの退避 ――― rdbdmpdicコマンド データを取得します。 (Nオプション) (3) Symfoware/RDBを停止します。 ――― rdbstopコマンド (4) RDBディクショナリの追加割当てを行います。 ――― rdbaldicコマンド 正常終了 → (7)へ 異常終了 → (5)へ (5) 異常原因を取り除きます。 (6) (2)でバックアップした退避データからRDBディクショナリ ――― rdbrcvdicコマンド とDIR_FILE2をリカバリします。 (LOADモード) → (4)へ (7) Symfoware/RDBを起動します。 ――― rdbstartコマンド (8) RDBディクショナリの“更新抑止”を解除します。 ――― rdbrlsコマンド (rwオプション) (9) RDBディクショナリの退避データを取得します。 ――― rdbdmpdicコマンド
$ rdbrtr -rw -z $ rdbdmpdic -f dickback@/backup/rdb -y -e -N $ rdbstop $ rdbaldic -a 10M $ rdbstart $ rdbrls -rw -z $ rdbdmpdic -f dicback2@/backup/rdb -y -e
注意
rdbaldicコマンドを実行する前には、RDBディクショナリを“更新抑止”にし、rdbdmpdicコマンド(Nオプション指定)を用いてRDBディクショナリの退避データを取得してください。この退避データは、rdbaldicコマンドが異常終了した場合のリカバリに必要となります。
rdbaldicコマンドが正常終了すると、それ以前に取得したRDBディクショナリの退避データを用いたリカバリが実行できなくなります。rdbaldicコマンドが正常終了したあとには、異常時に備えて、rdbdmpdicコマンド(Nオプション指定なし)を用いてRDBディクショナリの退避データを取得してください。