2
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?

More than 3 years have passed since last update.

Db2のセルフチューニングメモリー機能の設定方法について調べてみた

Last updated at Posted at 2020-06-29

セルフチューニングメモリー機能(STMM)とは?

DBMSのパフォーマンスを維持するにあたり、メモリー管理は重要です。
メモリーの使用量を監視し、問題があればチューニングを実施するの繰り返しであるメモリー管理は非常に手間もかかる上に、
高度なデータベース管理者のノウハウも必要になる場合もあります。
そんなメモリー管理を自動で行う機能が多くのDBMSで提供されており、
Db2で提供されている自動メモリー管理機能ををセルフチューニングメモリー機能(STMM機能)と言います。
以下からセルフチューニングメモリー機能はSTMMと記載します。

STMM機能の管理対象メモリーについて

Db2のSTMM機能では以下のメモリーのチューニングを自動で行うことが可能です。
・データベースメモリー
・ロックリスト
・パッケージキャッシュ
・ソートヒープ
・バッファープール

設定方法

1.STMM機能をONにする

STMM機能を使用するデータベースにアクセスします

db2 connect to DB名

データベース構成パラメーター self_tuning_memの値を確認します。

db2 get db cfg

またはパイプを使用しgrepすることで出力を絞ることも可能です

db2 get db cfg | grep SELF_TUNING_MEM

self_tuning_memの値確認
[db2inst1@db2-2 ~]$ db2 get db cfg | grep SELF_TUNING_MEM
 Self tuning memory                    (SELF_TUNING_MEM) = ON

OFFに設定されている場合はONに設定を変更します。
デフォルトではONに設定されています。

db2 update db cfg using SELF_TUNING_MEM ON

self_tuning_memの値変更
[db2inst1@db2-2 ~]$ db2 update db cfg using  SELF_TUNING_MEM ON
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

self_tuning_mem- セルフチューニング・メモリー構成パラメーター

2.各メモリーのサイズ設定値をAUTOMATICに設定

バッファープール以外のメモリーに関しては、STMMで管理するメモリー領域のデータベース構成パラメーターの値をAUTOMATICに変更します。
以下に各メモリー領域のSTMM管理を有効にするパラメーターを記載します。

・データベースメモリー(DATABASE_MEMORY)

db2 update db cfg using DATABASE_MEMORY AUTOMATIC

DATABASE_MEMORYの変更
[db2inst1@db2-2 ~]$ db2 update db cfg using DATABASE_MEMORY AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

database_memory - データベース共有メモリー・サイズ構成パラメーター

・ロックリスト(LOCKLISTとMAXLOCKS 両方の設定が必要)

db2 update db cfg using LOCKLIST AUTOMATIC
db2 update db cfg using MAXLOCKS AUTOMATIC

ロックリストの変更
[db2inst1@db2-2 ~]$ db2 update db cfg using LOCKLIST AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
[db2inst1@db2-2 ~]$ db2 update db cfg using MAXLOCKS AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[locklist - ロック・リスト用最大ストレージ構成パラメーター]
(https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.config.doc/doc/r0000267.html)
maxlocks - エスカレーション前のロック・リストの最大パーセント構成パラメーター

・パッケージキャッシュ

db2 update db cfg using PCKCACHESZ AUTOMATIC

パッケージキャッシュの変更
[db2inst1@db2-2 ~]$ db2 update db cfg using PCKCACHESZ AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

pckcachesz - パッケージ・キャッシュ・サイズ構成パラメーター

・ソートヒープ

db2 update db cfg using SORTHEAP AUTOMATIC
db2 update db cfg using SHEAPTHRES_SHR AUTOMATIC

ソートヒープの変更
[db2inst1@db2-2 ~]$ db2 update db cfg using SORTHEAP AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
[db2inst1@db2-2 ~]$ db2 update db cfg using SHEAPTHRES_SHR AUTOMATIC
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

sortheap - ソート・ヒープ・サイズ構成パラメーター
sheapthres_shr - 共有ソートのソート・ヒープのしきい値構成パラメーター

・バッファープール
STMM機能でバッファープールを管理する場合は、データベースパラメーターを変更するのではなくcreate bufferpoolコマンドまたはalter bufferpoolコマンドにて、特定のバッファープール名を指定し、SIZEオプションにてAUTOMATICを設定します。

db2 CREATE BUFFERPOOL バッファープール名 SIZE 2000 AUTOMATIC
db2 ALTER BUFFERPOOL バッファープール名 SIZE 1500 AUTOMATIC

(上)新規作成時 2000は初期値 省略可(省略時は1000)
(下)既存バッファープールの変更時 1500は初期値 省略可(省略時は1000)

バッファープールの作成
[db2inst1@db2-2 ~]$ db2 CREATE BUFFERPOOL bufferpool1 SIZE 2000 AUTOMATIC
DB20000I  The SQL command completed successfully.
[db2inst1@db2-2 ~]$ db2 ALTER BUFFERPOOL IBMDEFAULTBP SIZE 1500 AUTOMATIC
DB20000I  The SQL command completed successfully.

[CREATE BUFFERPOOL ステートメント]
(https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000912.html)
[ALTER BUFFERPOOL ステートメント]
(https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000885.html)

STMM機能を設定する上での注意事項

STMMが有効に稼働するためには、STMMが制御できるメモリ領域が二つ以上あることが必要です。
STMM機能がONに設定されている場合でも、1つのメモリー領域のみAUTOMATIC設定がされている場合はSTMM機能は有効化されません。

参考リンク

[第4回 セルフチューニング・メモリー]
(https://www.ibm.com/developerworks/jp/data/library/dataserver/j-d_db2maintenance04/index.html)

2
1
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
2
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?