スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)

[目次][索引][前へ][次へ]

12.1.2 pdpgbfonの機能

<この項の構成>
(1) 機能概要
(2) 運用方法

(1) 機能概要

pdpgbfonは,該当する資源(表又はインデクス)のページをグローバルバッファに読み込むことによって,オンライン業務開始直後でもバッファヒット率を上げる目的で使用します。この場合,既にグローバルバッファに対象となるページが読み込まれていたときは,ページの読み込み処理は発生しません。

pdpgbfonを実行する場合,グローバルバッファの面数は対象資源が格納されているページ数より多く必要です(pdpgbfon実行前に,対象資源の全データが読み込めるだけのグローバルバッファを,表やインデクスに割り当てていることが前提です)。

pdpgbfonの処理方式は格納ページ順の読み込みとなるため,プリフェッチ機能が有効となります。したがって,グローバルバッファを定義する場合,プリフェッチ数を指定することで実行時間の短縮が図れます。

グローバルバッファの面数が十分でない場合,LRU管理方式によってグローバルバッファから古いページ情報が追い出されます(システム定義のpd_dbbuff_lru_optionオペランドの値に従って,アクセスしたグローバルバッファ中の最も古いページが追い出されます)。グローバルバッファの面数が十分でない場合,pdpgbfonを実行しても意味がありません。なお,グローバルバッファ面数はpdbuflsコマンドで,対象資源の格納ページ数はデータベース状態解析ユティリティ(pddbst)で確認できます。

pdpgbfonを実行した結果,該当する資源の全ページがグローバルバッファ上に読み込まれたかどうかは,pdpgbfonのリターンコード,又はコマンドを実行した標準出力に処理結果(参照バッファフラッシュ回数)が出力されます。なお,pdpgbfonが出力する処理結果は,pdpgbfonで処理した資源の情報だけです。グローバルバッファ全体の処理結果や,詳細なグローバルバッファの状態については,pdbuflsコマンドで確認してください。

(2) 運用方法

pdpgbfonの運用方法の例を次の図に示します。

図12-2 pdpgbfonの運用方法の例

[図データ]

[説明]
  1. pdbuflsコマンドを実行し,グローバルバッファの統計情報を表示します。これによって,統計情報を初期化しておきます(表示結果は使用しません)。
  2. グローバルバッファに読み込む資源(表のデータページ,又はインデクスページ)の数だけ,pdpgbfonを実行します。この場合,実行したすべてのpdpgbfonのリターンコードが0であれば,3.は実行する必要はありません。
  3. 再度pdbuflsコマンドを実行し,グローバルバッファの統計情報を表示します。表示された参照バッファフラッシュ回数(RFFLS),又は更新バッファフラッシュ回数※1(UPFLS)が0以外の場合,そのグローバルバッファには追い出されたページがあることを意味するため,該当するグローバルバッファを大きくするか,又は表の再編成※2を検討してください。なお,参照GET回数(REFGET)には,管理ページの再読み込みの回数も含まれるため,実際のデータ格納ページ数よりも大きい値が表示されます。
注※1
pdpgbfonがデータを更新することはありません。グローバルバッファは複数のプロセスで使用されるため,pdpgbfon以外にグローバルバッファをアクセスしたプロセスがある場合,この項目を確認する必要があります。
注※2
DBに格納されているデータ件数の増加が原因の場合,グローバルバッファを大きくしてください。DBの配置乱れによる格納ページ数の増加が原因の場合,空きページ解放ユティリティ(pdreclaim),又はデータベース再編成ユティリティ(pdrorg)を実行して,格納ページ数を適正化してください。