5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

バッファプールを拡張する

Last updated at Posted at 2014-02-20

長く運用しているとなんか足りなくなるのがバッファプール IBM DB2でバッファプールの一覧を表示するには、以下のSQLを実行すればわかる、ちなみにバッファプールは、データをメモリにキャッシュする領域くらいに考えておけばいいかと・・かと思う。

バッファプール一覧を確認する

こんな感じのSQLを投げれば、確認できる。

$ db2 "SELECT char(bpname,20) bpname ,pagesize,npages FROM SYSCAT.BUFFERPOOLS" 
  • 以下のような結果になりました。
BPNAME               PAGESIZE    NPAGES     
-------------------- ----------- -----------
IBMDEFAULTBP                4096     1000000

4096バイトを、1000000ページ利用しているってことなので、つまり、うーんと・・・ 4GB 使っているってことか?

バッファプール領域の拡張

たとえばSELECT文を発行している際に、"SQL3015N 処理中に、SQL エラー "-1218" が発生しました。" とかでる場合は、バッファプールが不足しているのが原因です。その場合は、領域の拡張が必要になります。

拡張する場合は、以下のようなコマンドを投げます

$ db2 “ALTER BUFFERPOOL IBMDEFAULTBP IMMEDIATE SIZE 1500000 AUTOMATIC”

IBMDEFAULTBP のページサイズを、1500000 に拡張し、且つ、オートマチックに切り替える(STMM)、そして即時反映という技です。

  • 結果以下の通りになります

NPAGEに-2が表示されている場合は、オートマチックに切り替わったという意味です。

$ db2 "SELECT char(bpname,20) bpname ,pagesize,npages FROM SYSCAT.BUFFERPOOLS"

BPNAME               PAGESIZE    NPAGES     
-------------------- ----------- -----------
IBMDEFAULTBP                4096          -2
5
6
0

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
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?