HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

NSEインデックスの削除を忘れてしまった場合の対処

DB2のNSE(Net Search Extender)は、テキスト検索用インデックスを管理するためのものだが、DB2インスタンスとは別サービスのため、DB内のデータを更新した際にテキストインデックスは即時更新されなかったりするし、テキストインデックスを削除する前にテーブルをDROPしてしまうと酷い目にあったりする。

そんな注意点が書いてあるサイトが以下。
IBM リダイレクト用ページ - Japan
最悪の場合、インデックスデータや定義エントリを手動で削除したりするわけだが、更新タイミングなどの定義が書かれたファイル"ctedem.dat"のある場所が分かりづらく、またバージョン(v9.1とv9.5で確認)によって異なったりするので、その場所のメモ。
但し、手元にWindows版の環境しかないので‥

DB2 v9.1の場合

<インストール先>\DB2\db2ext
例) C:\Program Files\ibm\SQLLIB\DB2\db2ext

DB2 v9.5の場合

%ALLUSERSPROFILE%\Application Data\IBM\DB2\\\db2ext
例) C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY2\DB2_01\db2ext

  • は、[スタートメニュー]-[プログラム]-[IBM DB2]- と辿っても確認できるし、DB2インスタンスを起動するサービス名からも確認できる。
  • は、環境変数 DB2INSTANCE に定義されていたりするし、DB2インスタンスを起動するサービス名からも確認できる。
  • 確認した環境では %ALLUSERSPROFILE% の下にあったけど、%USERPROFILE% の下にあったりすることはないのだろうか‥不明‥