飲んだくれの記

方向音痴で熱しやすく冷めやすい、酒とラーメンの大好きなポンコツが綴る徒然の記。

大きすぎるバッファプール

昨晩のことをカンタンにまとめておこう。


事象
AIXサーバーが反応しなくなった。
pingは通るが、telnetssh、HMCの仮想コンソール、いずれも無反応、または Connection Refused。


原因
DB2上の特定のバッファプールの値を間違えて巨大な値にしてしまったため。
(具体的には、実メモリ40GB+ページ領域2GBのところで、バッファプールのサイズを64GBにしてしまった)


問題
connect または activate db した瞬間にAIXが機能を停止してしまうため、alter bufferpool できない。どうやってバッファプールのサイズを戻すか?


対処
キーは、DB2レジストリ変数 DB2_OVERRIDE_BPF 。

$ db2start
$ db2set DB2_OVERRIDE_BPF=10000
$ db2 connect to XXXX
$ db2 alter bufferpool XXXX immediate size XXXX [ any other options needed ]
$ db2 terminate
$ db2set DB2_OVERRIDE_BPF=
$ db2stop


コメント
AIXはHMCからの強制シャットダウンやむなし。このとき、「即時」でシャットダウンしないと、何時間でも返ってこない。