©日本IBMシステムズ・エンジニアリング(株) Information Management部 207
GET_DB_CONFIG ストアード・プロシージャの追加修正
V8 FP8までGET_DB_CONFIGストアード・プロシージャで取得で きなかった一部の DB 構成パラメーターが補完された
z GET_DB_CONFIGストアード・プロシージャは、V8.1よりリリースされた機能
z 取得可能になったDB構成パラメーター
©日本IBMシステムズ・エンジニアリング(株) Information Management部 209
GET_DB_CONFIG 使用時の注意点
使用するためには、ページサイズが8KB以上のユーザー一時表ス ペースを作成しておくことが必要
z 該当する表スペースがない場合にはSQL0286Nでエラーとなる
管理機能の強化 DB2 UDB V8.2.2新機能
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部 211
まとめ
V8 FP8 まで GET_DB_CONFIG ストアード・プロシー ジャで取得できなかった一部の DB 構成パラメーターが 補完された
管理機能の強化 DB2 UDB V8.2.2新機能
ブランク・ページです。
©日本IBMシステムズ・エンジニアリング(株) Information Management部
お断り:当資料は、DB2 Universal Database for Linux, UNIX and Windows V8.2.2 をベースに作成されています。
ダイレクトI/O
<第1.00版 2005年 7月>
管理機能の強化 DB2 UDB V8.2.2新機能
内容
DB2 におけるダイレクト I/O の使用
ダイレクト I/O サポートの経緯
V8.2.2 による機能強化
FlashCopy 利用時の考慮点緩和
まとめ
©日本IBMシステムズ・エンジニアリング(株) Information Management部 215
DB2 におけるダイレクト I/O の使用
利点: ファイル・キャッシュとバッファープールでの 2重バッファリングを回避
z 2重バッファリングを行うCPU負荷を軽減
z ファイル・キャッシュに余分なデータをのせないことによる、
本来のファイル・データのヒット率向上
z 大量にファイル・キャッシュを使用することによって引き起こされ るページングを回避(システム全体の性能が不安定になることを 回避)
管理機能の強化 DB2 UDB V8.2.2新機能
解説:
コンテナーにファイルを使ったDMS表スペースやSMS表スペースの場合、表や索引のデータはOSが提供 するファイル・システムのファイルに格納されます。DB2 for AIXの場合、デフォルトではそれらファイルの アクセスはmmap I/O(Memory Mapped I/O)と呼ばれる方式を使います。mmap I/Oを使用すると、アクセ スするファイルはデータベースの共有メモリー(セグメント14)にマップされ、ファイルをアクセスするDB2の 各プロセスはこのセグメントをアクセスすることでファイルの入出力を行います。また、DB2_MMAP_READ、
DB2_MMAP_WRITEをともにOFFに設定すると、DB2は表スペースのファイルアクセスのためにmmap I/Oを 使わず、JFSのキャッシュにファイルページをコピーして読み書きを行います。この場合、ディスク上の データをDB2エージェントがアクセスできるまでに、ファイルシステム・キャッシュとDB2のバッファー・プー ルの2重のバッファーを使っていることになります。
mmap I/Oを使う場合もそうでない場合にも、SMSやDMS(ファイル)の表スペースを使っている限りは直接 I/Oを行うことはできず、ファイル・システムのためのオーバーヘッドは避けられませんでした。そのため、
ハイパフォーマンスが要求されるシステムでは、DMSのローデバイス構成が広く使用されてきました。
DB2 UDBでは、Windowsプラットフォームについては、DB2NTNOCACHEレジストリー変数の設定によって ダイレクトI/Oが使用可能でした。 その他のプラットフォームに関しても、V8.1のFixPak4以降、DMSのロー デバイスを使わなくともダイレクトI/Oが使用できるような機能強化を続けてきました。
ダイレクトI/Oの使用により、ファイルシステムを使うことによるオーバーヘッドを削減することができ、CPU コストの低下が期待できます。
また、ダイレクトI/Oを使用することで、ファイルキャッシュに余分なデータが乗らないことになり、本来ファ イルキャッシュを十分に活用すべきファイルデータについてキャッシュヒット率の向上が期待できます。
ダイレクトI/Oを使用しない場合のデメリットとして、ファイル・キャッシュを大量に消費し、その結果引き起 こされるページングによってシステム全体の性能が不安定になることが挙げられます。ダイレクトI/Oを使 用すると、この問題を回避することができます。
次のページ以降、DB2の各リリースで、ダイレクトI/Oサポートに関してどのような機能強化がなされて来
たのか見てゆきましょう。
©日本IBMシステムズ・エンジニアリング(株) Information Management部 217
ダイレクト I/O サポートの経緯
V8.1.4 (FixPak4)
z AIXプラットフォームにおけるサポート追加
z SMS表スペースのみ (LARGE表スペース、一時表スペースは除く)
z レジストリ変数DB2_DIRECT_IOにて設定
¾ db2set DB2_DIRECT_IO=ON
z AIXのレベルによっては、コンカレント I/Oを使用
¾
AIX 5.2(ML01)以降でAPAR IY45707の適用された環境
V8.2 (FixPak7)
z AIXに加え、Solaris、HP-UX、 Linuxのサポート追加 z DMS表スペース(ファイル)のサポート追加
z 一時表スペースは対象外
z CREATE/ALTER TABLESPACE のオプションにて設定
¾ 表スペース単位の設定が可能
¾ 指定するオプション
– FILE SYSTEM CACHING :FSキャッシング使用(省略時値) – NO FILE SYSTEM CACHING :ダイレクトI/O使用
管理機能の強化 DB2 UDB V8.2.2新機能
解説:
V8.1.4、すなわちFixPak4によって、AIX環境のSMS表スペースに対してダイレクトI/Oを使用できる ようになりました。
ただし、LOBやLONGデータ、一時表スペースは対象外です。
DB2はJFS2のダイレクトI/Oの機能を使いますが、AIX5.2(ML01)以降ではコンカレント I/Oという 機能を使ってファイルアクセスを行います。(APAR IY45707適用のこと)
ダイレクトI/Oを行うためには、新しいレジストリー変数 DB2_DIRECT_IOをONに設定してください。
これによりSMS表スペースのI/OをダイレクトI/Oで、またAIX5.2(ML01)以降の環境では、コンカレ ントI/Oにて処理します。
なお、DB2_DIRECT_IOがONに設定されていて、かつDB2_MMAP_READやDB2_MMAP_WRITEもON に設定されている場合、MMAP I/Oの方の設定が自動的にOFFにされます。
V8.2、すなわちFixPak7では、AIXに加え、Solaris、HP-UX、 Linuxのサポートが追加になりました。
V8.1.4ではSMS表スペースのみを対象としていましたが、V8.2では、DMS表スペース(ファイル)の サポートが追加になっています。
一時表スペースは依然対象外です。
また、ダイレクトI/O (およびコンカレントI/O)使用の設定は、表スペースレベルで可能になりました。
CREATE TABLESPACEステートメント、およびALTER TABLESPACEステートメントに、FILE
SYSTEM CACHING (ファイルシステムのキャッシングを使用する)、およびNO FILE SYSTEM
CACHING(ダイレクトI/OおよびコンカレントI/Oの使用)の両オプションが追加となり、こちらの設定
によって表スペース単位にファイルキャッシュを使用するか否かを設定できるようになっています。
©日本IBMシステムズ・エンジニアリング(株) Information Management部 219
ダイレクト I/O 設定例 ( v8.2 より)
CREATE TABLESPACE TS1 MANAGED BY SYSTEM
ドキュメント内
<4D F736F F F696E74202D2091E6328FCD5F8AC7979D8B40945C82CC8BAD89BB2E707074>
(ページ 104-110)