2009年12月11日金曜日

間違いだらけのDB2の道 : 表スペースがどうしたの?

こんにちは!
テツコさん(♂)です。
うちの嫁さんに怒られる時、いつも、
「テツコさん!ダメ!」って言われています。
本名に「哲」という字があるという訳で.... (- . - )
(テツコの部屋がほしい~テツコさんでござる - .^ )

前説が長くなりましたが、
本日は、最近テツコさん(♂)に起きました
DB2のエラーのデバッグのお話です。






始め!
DB2のデータベースにレコードを挿入しようとしてたら
次のようなエラーMSGに遭遇。







うんんん~マニュアル!マニュアル!マニュアル!

マニュアルのMessage Reference, Volume 2
(ftp://public.dhe.ibm.com/ps/products/db2/info/vr82/pdf/ja_JP/db2m2j81.pdf)
を引いてみると、

***************************************************************


2. このDMS 表スペースに割り当てられているすべてのコンテナーがいっぱいです。
これが、エラーの原因である可能性があります。
3. このDMS 表スペースの表スペース・オブジェクト表がいっぱいです。


ユーザーの処置: エラーの原因に対応するアクションを実行してください。


3. このDMS 表スペースから不要な表をドロップしてください。


sqlcode: -289
sqlstate: 57011
***************************************************************

MMM、表スペースが足りないってこと?
取りあえず、表スペースの状況を調べよう~

DB2CMDにて
>db2 list tablespaces show detail

問題になっている表スペースの状況が↓↓↓













空きページ。。。。「0」

ZERO~ZERO~ZERO~

対応1>該当テーブルのデータを全件削除すると
INSERTはできるが、空きページは相変わらず、「0」のまま。

対応2>どうしても空きページを増やしたくて、
DB2のコントロールセンターにてコンテナーサイズを変更する。
























再び、DB2CMDにて
>db2 list tablespaces show detail

を実行してみると、

空きページが。。。「2560」
になっていました~~~^^。