RDBディクショナリの再配置、追加割当てまたは容量拡張について説明します。
データベースの定義変更を繰り返すことによって、RDBディクショナリのシステム表内に空き領域が生じる場合があります。この場合、システム表内の領域を再配置することによって、システム表の領域を有効に使用できるようになります。
運用系のRDBシステムに対して、以下の手順で作業します。
(1)クラスタアプリケーション配下の業務を完全に停止します。 (2)運用系および待機系のクラスタアプリケーションを保守停止 します。 クラスタアプリケーションの保守停止手順は、 “5.6 クラスタアプリケーションの保守のための停止” を参照してください。 (3)Symfoware/RDBが正常に停止されたか確認します。 Symfoware/RDBを配置している各ノードのメッセージログファイルに Symfoware/RDBの停止メッセージが出力されるので、正常に停止してい ることを確認します。 (4)GDSリソースを活性状態にします。 GDSリソースの活性手順は、“3.4.1 GDSリソースの活性” を参照してください。 (5)Symfoware/RDBを起動します。 ―――― rdbstartコマンド (6)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (再編成での異常発生に備えてRDBディクショナリをバックアップします。) (7)RDBディクショナリの参照更新抑止の利用規定を設定します。 ―――― rdbrtrコマンド (rrwオプションかつ zオプション) (8)RDBディクショナリを再編成します。 ―――― rdbgcdicコマンド 正常終了 ⇒(14) 異常終了(メモリ不足発生時) ⇒(9) 異常終了(入出力障害など、上記以外) ⇒(11) (9)メモリ不足の原因を取り除きます。 (10)RDBディクショナリの再編成を再実行します。 ―――― rdbgcdicコマンド (Rオプション) 正常終了 ⇒(14) 異常終了(メモリ不足発生時) ⇒(9) 異常終了(入出力障害など、上記以外) ⇒(11) (11)Symfoware/RDBを停止します。 ―――― rdbstopコマンド (12)異常原因を取り除きます。 (13)退避データよりRDBディクショナリとRDBディレクトリ ―――― rdbrcvdicコマンド ファイルをリカバリします。 (Lオプションかつ fオプションかつ zオプション) (14)RDBディクショナリの参照更新抑止の利用規定を解除します。 ―――― rdbrlsコマンド (rrwオプションかつ zオプション) (15)Symfoware/RDBを停止します。 ―――― rdbstopコマンド (16)Symfoware/RDBを起動します。(動作確認) ―――― rdbstartコマンド (17)Symfoware/RDBを停止します。(動作確認) ―――― rdbstopコマンド (18)GDSリソースを非活性状態にします。 GDSリソースの非活性手順は、“3.4.15 GDSリソースの非活性” を参照してください。 (19)運用系および待機系のクラスタアプリケーションの保守停止を 解除します。 クラスタアプリケーションの保守停止解除の手順は、 “5.7 クラスタアプリケーションの保守停止のための解除” を参照してください。 (20)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (21)業務を再開します。
RDBディクショナリの追加割当てを行うかまたは容量拡張を行うかはRDBディクショナリの拡張契機の見積りにより判断します。
データベースの運用を行っていく過程では、RDBディクショナリの領域が不足する可能性があります。このような状況が発生すると運用が停止してしまうため、未然に状況を把握し対処する必要があります。そこで、データベースの定義変更後には、RDBディクショナリの領域の使用率を取得します。何回かの定義変更後に取得した情報をもとに、使用率の遷移を求め、拡張の契機を予測します。RDBディクショナリの領域の使用率は、rdbprdicコマンドにより情報を出力します。rdbprdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
rdbprdicコマンドの出力形式について説明します。
rdbprdicコマンドが出力する情報をもとに、RDBディクショナリの追加割当てを行うかまたは容量拡張を行うかを判断します。
rdbprdicコマンドの出力形式を以下に示します。
$ rdbprdic Database space : RDBII_SYSTEMDIC Device : /dev/sfdsk/class0001/rdsk/volume0002 (1) Size : 10240 K (2) Static allocate size total : 5120 K (3) Dynamic allocate size total : 3072 K (4) Free size total : 2048 K (5) System table used rate max : 80 % ( 1024K) (6)((7)) total : 60 % ( 8192K) (8)((9))
(1) RDBディクショナリを作成したローデバイス名
(2) RDBディクショナリの全体サイズ(単位はキロバイト)
(3) rdbcrdicコマンドでシステム表に割り付けたサイズ(単位はキロバイト)
(4) rdbaldicコマンドでシステム表に追加したサイズの合計(単位はキロバイト)
(5) RDBディクショナリの未使用サイズ(単位はキロバイト)
(6) RDBディクショナリ内で最も使用率の高いシステム表の使用率(単位は%)
(7) RDBディクショナリ内で最も使用率の高いシステム表のサイズ(単位はキロバイト)
(8) すべてのシステム表に対する領域の使用率(単位は%)
(9) すべてのシステム表のサイズの合計(単位はキロバイト)
rdbprdicコマンドで出力されるシステム表の最大使用率(出力形式の[6])とRDBディクショナリ全体の使用率([8])から追加割当てを行うかまたは容量拡張を行うかを判断します。ここでは、判断するときの目安を示します。
ただし、データベースの定義や削除を頻繁に行うと、システム表内に空き領域が多く存在する場合があるので、追加割当てや容量拡張の判断を行う前にRDBディクショナリの再配置を行ってください。再配置を行った結果が、以下のようであれば、追加割当てまたは容量拡張を実行してください。
あるシステム表の領域使用率([6])が大きいときは、追加割当てまたは容量拡張が必要です。
RDBディクショナリの拡張契機の見積りにより、あるシステム表の領域が不足すると判断した場合には、RDBディクショナリの追加割当てを行います。RDBディクショナリの追加割当てでは、システム表として使用する領域の追加割当てを行い、その領域をシステム表ごとに適切に配分することにより、各システム表の空き容量の比率を均等にします。
運用系のRDBシステムに対して、以下の手順で作業します。
(1)クラスタアプリケーション配下の業務を完全に停止します。 (2)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (追加割当てでの異常発生に備えてRDBディクショナリをバックアップします。) (3)運用系および待機系のクラスタアプリケーションを保守停止 します。 クラスタアプリケーションの保守停止手順は、 “5.6 クラスタアプリケーションの保守のための停止” を参照してください。 (4)Symfoware/RDBが正常に停止されたか確認します。 Symfoware/RDBを配置している各ノードのメッセージログファイルに、 Symfoware/RDBの停止メッセージが出力されるので、正常に停止して いることを確認します。 (5)GDSリソースを活性状態にします。 GDSリソースの活性手順は、“3.4.1 GDSリソースの活性” を参照してください。 (6)RDBディクショナリを追加割当てします。 ―――― rdbaldicコマンド (aオプション) 正常終了 ⇒(9) 異常終了 ⇒(7) (7)異常原因を取り除きます。 (8)退避データよりRDBディクショナリとRDBディレクトリ ―――― rdbrcvdicコマンド ファイルをリカバリします。 (Lオプションかつ fオプションかつ zオプション) (9)Symfoware/RDBを起動します。(動作確認) ―――― rdbstartコマンド (10)Symfoware/RDBを停止します。(動作確認) ―――― rdbstopコマンド (11)GDSリソースを非活性状態にします。 GDSリソースの非活性手順は、“3.4.15 GDSリソースの非活性” を参照してください。 (12)運用系および待機系のクラスタアプリケーションの保守停止を 解除します。 クラスタアプリケーションの保守停止解除の手順は、 “5.7 クラスタアプリケーションの保守停止のための解除” を参照してください。 (13)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (14)業務を再開します。
RDBディクショナリの拡張契機の見積りにより、RDBディクショナリ全体の領域が不足すると判断した場合は、RDBディクショナリの容量拡張を行います。RDBディクショナリの容量拡張では、新規に確保した容量の大きなローデバイスに現在のRDBディクショナリの内容を複写し、システム表の領域の拡張を行います。そのため、容量拡張を行う前に、RDBディクショナリの容量見積りを行い、新規にローデバイスを確保してください。
運用系のRDBシステムに対して、以下の手順で作業します。
(1)クラスタアプリケーション配下の業務を完全に停止します。 (2)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (容量拡張での異常発生に備えてRDBディクショナリをバックアップします。) (3)運用系および待機系のクラスタアプリケーションを保守停止 します。 クラスタアプリケーションの保守停止手順は、 “5.6 クラスタアプリケーションの保守のための停止” を参照してください。 (4)Symfoware/RDBが正常に停止されたか確認します。 Symfoware/RDBを配置している各ノードのメッセージログファイルに、 Symfoware/RDBの停止メッセージが出力されるので、 正常に停止していることを確認します。 (5)GDSリソースを活性状態にします。 GDSリソースの活性手順は、“3.4.1 GDSリソースの活性” を参照してください。 (6)新規にローデバイスを用意し、RDBディクショナリを容量 拡張します。 ―――― rdbaldicコマンド (aオプションかつ eオプションかつ rオプション) 正常終了 ⇒(9) 異常終了 ⇒(7) (7)異常原因を取り除きます。 (8)退避データよりRDBディクショナリとRDBディレクトリ ―――― rdbrcvdicコマンド ファイルをリカバリします。 (Lオプションかつ fオプションかつ zオプション) RDBディクショナリは、容量拡張前のローデバイスにリカバリします。 ⇒(6) (9)Symfoware/RDBを起動します。(動作確認) ―――― rdbstartコマンド (10)Symfoware/RDBを停止します。(動作確認) ―――― rdbstopコマンド (11)GDSリソースを非活性状態にします。 GDSリソースの非活性手順は、“3.4.15 GDSリソースの非活性” を参照してください。 (12)運用系および待機系のクラスタアプリケーションの保守停止を 解除します。 クラスタアプリケーションの保守停止解除の手順は、 “5.7 クラスタアプリケーションの保守停止のための解除” を参照してください。 (13)RDBディクショナリの退避データを取得します。 ―――― rdbdmpdicコマンド (14)業務を再開します。