Text Searchインデックスの削除を忘れてしまった場合の対処
DB2 v9.5のText SearchもNSEと同様にテキスト検索用インデックスを管理するためのものだが、やはりNSEと同様に、テキストインデックスをDROPする前にテーブルやデータベースをDROPしてしまうと、自動更新スケジュールの定義だけが残りひどい目にあう。
で、同様に、更新スケジュールの定義は"ciedem.dat"(NSEと微妙に名前が違う)に書かれるが、その場所は以下のとおり。
DB2 v9.5 ESE on Windows XPで確認
%ALLUSERSPROFILE%\Application Data\IBM\DB2\
例) C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY2\DB2_01\db2tss\config
DB2 v9.5 Express-C on Windows Vista Businessで確認
%ProgramData%\IBM\DB2\DB2COPY2\DB2_01\db2tss\config
例) C:\ProgramData\IBM\DB2\DB2COPY2\DB2_01\db2tss\config
は、[スタートメニュー]-[すべてのプログラム]-[IBM DB2]- と辿っても確認できるし、DB2インスタンスを起動するサービス名からも確認できる。 は、環境変数 DB2INSTANCE に定義されていたりするし、DB2インスタンスを起動するサービス名からも確認できる。
ただ、Text Searchの場合は、このファイルを編集する必要はなく、以下のコマンドを実行すればよいようだ。
db2ts CLEANUP FOR TEXT
これを実行することで、存在しないデータベースや、同一データベースに対する重複エントリを除去してくれる。
(2009/05/31)
記事「ClubDB2 場外ブログ: V9.7の導入」を読んでいて、「デフォルトでは導入されないので」というのを見て、もしやと思って、DB2 Express-C (v9.5.2)のインストーラを再度起動してみたら、Text Searchが入ってなかった。当初、v9.5.0を導入し、その後にv9.5.2にアップグレードする形を取って現在に至るのだが、その際にどこかで見落としていたのだろうか‥
そんなわけで、Windows Vista Businessで確認した内容を追記。