大きすぎるバッファプール
昨晩のことをカンタンにまとめておこう。
事象
AIXサーバーが反応しなくなった。
pingは通るが、telnet、ssh、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からの強制シャットダウンやむなし。このとき、「即時」でシャットダウンしないと、何時間でも返ってこない。