4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i アーキテクチャー:データベースファイルのストレージ書き出しタイミング(ページ・アウト、スワップ・アウト制御)

Last updated at Posted at 2023-12-05

IBM i (Db2 for i)のデータベースファイルをストレージに書き出すタイミング

データベースファイルのデータはシステムのRAS(Reliability, Availability, Serviceability)の要件を満たすために適切な時点でディスクに書き出す必要があります。
IBM i (Db2 for i)の場合、以下のタイミングでデータベーステーブル(PF)のストレージ装置への書き出しが発生します。

image.png

1.データベースファイルをFULL CLOSEした時点(データベースファイルをSHAREしていない場合のCLOSE)
※参考にデータベースファイルをSHAREしている場合は以下のように全てのジョブで使用が終了した時点となります。

```
 OPENDBF  FILE(XXX) OPNID(*FILE) TYPE(*PERM)
           :
        複数JOBでODB SHARE中
           :
  CLOF  OPENID(XXX)    <==ここで FULL CLOSE
```

2.データベーステーブルのFRCRATIOパラメーターに指定されたレコード数を更新・追加・削除した時点
   ※OVRDBFコマンドで一時的にFRCRATIOパラメーターを変更した場合も含む
※FRCRATIO(*NONE)の場合はシステムがストレージへの書き出しタイミングを決定

image.png
   ※FRCRATIOパラメーターを小さくするとストレージへの物理I/Oが頻繁に発生することになり、アームビジー率を上昇させる=I/Oパフォーマンスを劣化させる懸念があるので注意が必要です。


3.*CLSクラスでPRRGE(*YES)を指定しているジョブにおいて、ロングウェイトが発生した場合
   ※これは個々のジョブのPAGに対する指定となります
※基本的には対話型ジョブで発生


妥当な範囲のページングはシステムにとって必要なものであり、効率上の問題とはなりません。もちろんページングを実行中にも他のジョブは実行できます。

データベーステーブルは通常、その全レコードをメインメモリ上に置くことはできないので、データベースのデータへの参照はページングを引き起こします。
※例外としてはデータベーステーブル全てを展開可能なメインメモリの空きがあったときにSETOBJACCコマンドを実行すればテーブル全体をメインメモリ上に展開できます。

参考:オブジェクト・アクセスの設定(SETOBJACC)https://www.ibm.com/docs/ja/i/7.4?topic=ssw_ibm_i_74/cl/setobjacc.html

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?