全文検索の操作でエラー(DB99999)が発生する場合の対処

全文検索サーバーを利用している環境で、移行元と移行先でOSが異なるサーバーにGaroonを移行する場合は、移行前にMySQLサービスから全文検索サーバーに送信される通知を無効化する必要があります。
無効化していないと、エラー(DB99999)が発生し、全文検索サーバーでインデックスが作成されない場合があります。

エラーメッセージの例:

[Thu, 18 Feb 2016 12:02:13 +0900] 1 messages indexed.Error: DB99999
データベースでエラーが発生しました。
データベースのエラー番号: 1305

Cause:
データベースからの応答:FUNCTION cb_cbgrn.notify does not exist

Counter Measure:
サイボウズオフィシャルパートナー、または販売元にお問い合わせください。

上記のエラーが発生した場合は、MySQLのnotifyライブラリーを変更してください。

Windows環境でnotifyライブラリーを変更する

全文検索サーバーを利用している環境で、GaroonをLinux環境からWindows環境に移行し、エラー(DB99999)が発生した場合の対処を説明します。
エラーが発生した場合は、MySQLが使用するnotifyライブラリーを、Linux環境用(notify.so)からWindows環境用(notify.dll)に変更します。

操作手順:
  1. Windows環境用のnotifyライブラリー(notify.dll)を、Linux環境のnotifyライブラリー(notify.so)にコピーします。

    次のコマンドを実行します。コマンドは1行で入力します。

    copy C:¥Program Files¥Cybozu¥mysql-5.0¥lib¥plugin¥notify.dll C:¥Program Files¥Cybozu¥mysql-5.0¥lib¥plugin¥notify.so

  2. MySQLサービスを再起動します。

    Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを再起動します。

    • Cybozu_Database_Engine_5_0

  3. 次のコマンドを実行し、ディレクトリーを移動します。

    cd C:¥inetpub¥scripts¥cbgrn

  4. MySQLサービスが全文検索サーバーに送信する通知を有効化します。

    次のコマンドを実行します。コマンドは1行で入力します。

    .¥grn.exe -C -q code¥command¥fts¥enable_udf_notifier.csp db_admin_password=(データベース管理ユーザーのパスワード)

    「UDF notifier is available.」と表示されることを確認します。 エラーメッセージが表示された場合は、全文検索サーバーガイドの「付録B エラーメッセージ」を参照してください。

  5. MySQLサービスを停止します。

    Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを停止します。

    • Cybozu_Database_Engine_5_0

  6. 手順1で作成した、Linux環境用のnotifyライブラリー(notify.so)を削除します。

    次のコマンドを実行します。コマンドは1行で入力します。

    del C:¥Program Files¥Cybozu¥mysql-5.0¥lib¥plugin¥notify.so

  7. MySQLサービスを起動します。

    Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを起動します。

    • Cybozu_Database_Engine_5_0

Linux環境でnotifyライブラリーを変更する

全文検索サーバーを利用している環境で、GaroonをWindows環境からLinux環境に移行し、エラー(DB99999)が発生した場合の対処を説明します。
エラーが発生した場合は、MySQLが使用するnotifyライブラリーを、Windows環境用(notify.dll)からLinux環境用(notify.so)に変更します。

操作手順:
  1. Linux環境用のnotifyライブラリー(notify.so)を、Windows環境のnotifyライブラリー(notify.dll)にコピーします。

    次のコマンドを実行します。コマンドは1行で入力します。

    cp -p /usr/local/cybozu/mysql-5.0/lib/plugin/notify.so /usr/local/cybozu/mysql-5.0/lib/plugin/notify.dll

  2. MySQLサービスを再起動します。

    /etc/init.d/cyde_5_0 restart

  3. 次のコマンドを実行し、ディレクトリーを移動します。

    cd /var/www/cgi-bin/cbgrn/

  4. MySQLサービスが全文検索サーバーに送信する通知を有効化します。

    次のコマンドを実行します。コマンドは1行で入力します。

    ./grn.cgi -C -q code/command/fts/enable_udf_notifier.csp db_admin_password=(データベース管理ユーザーのパスワード)

    「UDF notifier is available.」と表示されることを確認します。
    エラーメッセージが表示された場合は、全文検索サーバーガイドの「付録B エラーメッセージ」を参照してください。

  5. MySQLサービスを停止します。

    /etc/init.d/cyde_5_0 stop

  6. 手順1で作成した、Windows環境用のnotifyライブラリー(notify.dll)を削除します。

    rm /usr/local/cybozu/mysql-5.0/lib/plugin/notify.dll

  7. MySQLサービスを起動します。

    /etc/init.d/cyde_5_0 start