• 検索結果がありません。

データベースの容量監視の必要性と容量拡張方法

ドキュメント内 Symfoware Server べからず集 (ページ 101-107)

5. システムの監視を怠るべからず

5.1. データベースの容量監視の必要性と容量拡張方法

5.1.1. 留意点

【概要】

Symfoware では表の DSO 定義で ORDER(1)、インデックスの DSO 定義で再配置指定

(REALIGNMENT)を指定することにより、データ格納時に自動再配置を行います。

しかし、データの追加、更新、および削除が頻発した際にSymfowareの自己調整の範囲内 ではデータ格納の効率を維持できず、データベースの容量不足になる可能性があります。

DSO 定義で ORDER(0)、縮退指定(DEGENERATE)を指定の場合、または再配置指定

(REALIGNMENT)も縮退指定(DEGENERATE)も未指定の場合、ORDER(1)、再配

置指定(REALIGNMENT)を指定の場合と比べて、さらに危険度が増します。

また、本番運用を開始してから当初の見積りよりも多いデータ量が処理されてデータベース の容量不足になる可能性もあります。

このようなことから、データベースの空き容量の監視は必要です。

データベースの容量監視はrdbspcinfコマンド、rdbinfコマンドまたはrdbudsiコマンドで 行います。

アラーム通知(メッセージ出力による通知)による容量監視も可能である。アラーム通知の設

定はrdbalmdsiコマンドで行います。

データベースの容量を拡張するには rdbalmdsi コマンドによる動的(自動)容量拡張と

rdbgcdsiコマンドによる静的容量拡張があります。

【詳細】

 データベースの容量監視方法

データベースの容量監視をする目安は各システムのデータ更新頻度によって異なりま すが、1週間に1回、最低でも1ヶ月に1回程度は実施する必要があります。

容量監視には、rdbspcinf コマンド、rdbinf コマンド、rdbudsi コマンドまたは

rdbalmdsiコマンドを使用します。

 データベーススペース使用状況を監視する場合

※DSIの自動容量拡張を設定している場合は、DSIおよびDSIの拡張先となって いるデータベーススペースに対してrdbspcinfコマンドを実行します。

 DSIの使用状況を監視する場合

DSIの使用状況の監視には、rdbinfコマンドまたはrdbudsiコマンドを使用しま す。

rdbudsiコマンドはDSIの全ページにアクセスするため、業務運用中に使用する

場合は、排他制御(※)やディスク負荷の増加に対する注意(業務の負荷が低い 時間帯に実行する等)が必要です。そのため、以下のDSIを対象とした使用状況 rdbspcinf -p データベース名.データベーススペース名 -f

Symfoware Server べからず集 の監視は、rdbinfコマンドの使用を推奨します。

- DSO定義でORDER(0)を設定しているDSIの場合 - 主な利用方法がデータの追加である表のDSIの場合

※DSIの自動容量拡張を設定していない場合は、各DSIに対してrdbinfコマンド を実行します。

※DSIの自動容量拡張を設定していない場合は、各DSIに対してrdbudsiコマン ドを実行します。

なお、rdbinf コマンドとrdbudsiコマンドで表示される使用率には以下の違いが

あるので、誤認しないよう注意が必要です。

コマンド 使用率の意味

rdbinf 割付けページに対して、現在までに使用されたことがあるページの割合

rdbudsi 割付けページに対して、現在使用されているページの割合

 DSIのアラーム通知を設定する場合

DSI の使用ページ容量をアラームポイントとして定義しておくことで、使用ペー ジがアラームポイントを含むページに達した場合、アラーム通知のメッセージ

(qdg02864i)が、RDB 構成パラメタファイル:RDBREPORT に指定したメッセ

ージログファイルに出力されます。ただし、rdbuptコマンドを除くRDBコマン ドの場合は、アラームポイントを超えた契機でメッセージが出力されます。

詳細は、「5.1.3. 備考」で示したマニュアルの 「データベースのアラーム通知」

を参照してください。

※アラーム通知を使用する場合の主な注意事項

 アラームポイントは、該当のDSIのページ長の倍数で指定してください。

 アラーム通知は、1つのDSIに対して一度だけ通知されます。その後に以下 の操作を行った場合には、アラームの通知が行われていない状態になります。

 Symfoware/RDBの停止

rdbalmdsi -i データベース名.DSI名 -a アラームポイント rdbudsi -i データベース名.DSI名 -f -d インターバル値 rdbinf -i データベース名.DSI名

Symfoware Server べからず集

 rdbgcdsiコマンドの実行

 設定したアラームポイントはrdbprtコマンド(定義情報の出力)で確認できま す。

 DSIの容量不足の原因の確認と対処

容量不足の原因として、純粋な容量不足と、フラグメンテーション(※1)による容量不 足があります。

このため、rdbudsi コマンドにより出力される情報を元に原因を確認し、対処方法を 決定してください。

詳細は、「5.1.3. 備考」で示したマニュアルの「DSIの容量監視」 を参照してくださ

い。

 「使用中のページに対してデータが格納されている領域の割合」 が小さい場合 フラグメンテーションによる影響が大きいため、DSIの再編成を行います。

 「使用中のページに対してデータが格納されている領域の割合」 が大きい場合 フラグメンテーションによる影響はなく、純粋にDSIの容量不足。DSI の容量 拡張を行います。

※1) フラグメンテーションは以下の場合に発生することがあります。

- データの更新や削除を繰り返し実施した場合

- DSI再編成後のデータ格納操作においてページスプリットが多発した場合 なお、インデックスのフラグメンテーションは、縮退指定や再配置指定を使用す れば、発生を軽減することができます。

このため、縮退指定、再配置指定の使用を推奨します。

- 縮退指定の場合:空き状態になったページを解放し、利用可能なページを確 保する

- 再配置指定の場合:縮退指定の動作に加えて、隣接する空き領域のページを 1つに結合し、利用可能なページを確保する

【DSIの再編成の方法】

rdbsloaderコマンドまたはrdbgcdsiコマンドを実行してDSIを再編成します。

詳細は、「5.1.3. 備考」 で示したマニュアルの 「再編成」 を参照してください。

※インデックスDSIのINDEX部は、rdbalmdsiコマンドでアラームポイントを設定す ることができないため、アラームメッセージは出力されません(自動容量拡張は対象)。 このため、更新が大量に発生するインデックスのDSIは、自動容量拡張を設定しておく ことを推奨します。

【DSIの容量拡張の方法】

DSIの容量拡張には静的容量拡張と動的容量拡張の2つの方法があります。

詳細は、「5.1.3. 備考」 で示したマニュアルの 「再編成」 を参照してください。

Symfoware Server べからず集

 静的容量拡張

rdbgcdsiコマンドを使用して拡張を行います。

rdbgcdsiを使用してデータベースの再配置や拡張を行う前後では、“参照更新抑止”

の設定と解除を行う必要があります。

 動的容量拡張

rdbalmdsiコマンドを使用して、DSIに対する拡張契機の通知と自動拡張を定義し

ます。

【DSIの容量拡張の注意事項】

以下の点に注意して、拡張量と拡張契機を調整する必要があります。

 DSIの容量拡張時に拡張域を初期化するため、拡張量に応じて容量拡張に時間がか かります。

逆に拡張量を小さくして、DSI の容量拡張が頻繁に行われ、容量拡張回数が 1000 回を超えた場合も、容量拡張に時間がかかるようになります。

 動的容量拡張は非同期で動作しますが、1回の容量拡張に時間がかかると、SQL文 やRDBコマンドの動作と容量拡張が同時に動作する場合があり、SQL文やRDB コマンドの性能に影響します。

DSIの動的容量拡張の開始後、拡張契機で指定した空きページ容量を使い切るまで に容量拡張が完了するように、拡張量と拡張契機を調整してください。

動的容量拡張の開始および完了は、RDB構成パラメタファイル:RDBREPORTに 指定したメッセージログファイルに出力されるメッセージ(qdg02868i および qdg02865i) により確認できます。

 インデックスDSIのINDEX部は、下位のBASE部に空きが作成されないと、再 配置を行いません。このため、インデックスデータの更新が多発すると、容量不足 になる可能性があります。容量不足の発生確率を減らすには、INDEX 部のページ サイズを小さくすることが有効ですが、バッチ処理等で大量のページを更新する場 合には、性能が劣化することがあるので注意が必要です。

【補足】

 DSIの容量拡張方法として以下に示す機能もあります。

詳細は、「5.1.3. 備考」 で示したマニュアルの 「表のDSI定義」、「格納構造定義

の変更」 を参照してください。

 静的容量拡張

DSI定義文(CREATE DSI文)からアラームポイント・容量拡張定義を指定

できる。

 動的容量拡張

Symfoware Server べからず集

 自動容量拡張の自動設定

RDB構成パラメタ「RDBEXPDSI」により自動容量拡張の自動設定が行われます。

省略時は、自動容量拡張設定をSymfowareが自動設定します。

本設定によって、DSI定義時の拡張指定忘れ、またはDSI定義後にrdbalmdsiコ マンドの実行を忘れ、アラームポイント・容量拡張定義が未指定の状態で運用した ことで、DSIの容量不足エラーを引き起こすといった事例の発生を未然に防止する ことができます。

詳細は、「5.1.3. 備考」で示したマニュアルの「RDB構成パラメタファイルによる

定義」を参照してください。

5.1.2. 未対処時の影響 (1) 現象分類

機能の異常/処理結果異常 (2) 現象/原因

DSIの領域不足により、データの更新/登録ができなくなり、以下のメッセージを出 力して業務が停止してしまう場合があります。

[メッセージ]

qdg12824u およびJYP5039E : データベース“*”に定義されているDSI“*”

の容量が不足しました

qdg12825u およびJYP5001E : スキーマ“*”の表“*”内に定義されているDSI

“*”の容量が不足しました

5.1.3. 備考

 Symfoware Server RDB運用ガイド 4.3 データベースのアラーム通知

4.9.4 インデックスの自動再配置

7.5.1 DSIの容量監視 7.9 再編成

ドキュメント内 Symfoware Server べからず集 (ページ 101-107)

Outline

関連したドキュメント