先日起きたトラブルとその解決までの事について
環境:Windows2008Server(x86 32bit) FileMakerServer10
非保存計算フィールドに対する検索が効かなくなるという症状が発生
・未収金や過入金の明細を検索するため、未収過入金を表す計算フィールドに
値が「0」のものを除外絞り込みが効かなくなる
※非保存計算フィールドに対する除外が効かない→除外されない。
・予約者集計フィールドに対する検索が効かなくなる
※非保存計算フィールドに対する検索が効かない→検索失敗で0件になる。
等が起こり、行なってみた対策は以下のとおり
1,サービスの再起動→効果なし
2,ファイルの最適化保存(索引を作り直す)→効果なし
3,計算原子となるテーブルの数字フィールドに対する直接検索
→検索可能。計算原子側のテーブルが壊れているわけではない。
4,非保存計算フィールドを新規作成する→効果なし。
※新しく作成したフィールドが動くなら既存のフィールドがおかしくなっている
5,ファイルの修復→効果なし
6,動いてた時(数日前)のBUから空データファイルを作成し、最新のファイルから
データ移行→効果なし
上記対策でファイル損傷でなく、索引損傷でもなく、レコード損傷でもなく、
フィールド損傷でもないという。どうすればいいんだ?という状態に陥りました。
結局、6のデータ移行作業を試しで一部のみ行なっていたため、たまたま
ローカルで全データ移行作業を行った後、動かしたら動いたため、成功と思い
サーバーにアップしたらサーバー環境だと動かないという状態になり、これは
サーバーのせいだろうという事になってサーバー自体の再起動をした所、
動くようになったという。。。
当てずっぽうな根拠のない私見ですが、サーバー再起動でクリアされる、
FileMakerServerが検索処理で扱うキャッシュファイルのような一時ファイルがあり、
それが損傷したか、アクセス出来ない(別のセッションがファイルロックしてしまっていた)状態になりうまく検索できなくなっていたのかなーと。
でもそれだと普通のフィールドに対する検索も正常に動作しなくなるはずなので、
レコードのキャッシュがおかしくなっていたのかな?
確かにおかしくなる前に重い処理に業を煮やし、何度か放置していてセッションが
切断されたり、クライアント側から強制終了や強制切断したりしていたので、
レコード操作のセッションがサーバー側でうまく開放されなかった事があっても
不思議ではないのかもしれない。
でも多分MacOSだと起きませんとかなんだろーなー。
FileMaker サーバー13でも似たような現象に遭遇しました。
返信削除運用環境A
・サーバー Window2008(64bit) FileMaker Sersver 13
・クライアント FileMaker Pro 13 and AD
テスト環境B
・FileMaker Pro 13AD
テスト環境C
・サーバー Window8.1(64bit) FileMaker Sersver 13
・クライアント FileMaker Pro 13 and AD
■現象
運用環境Aである日、突然、非保存の計算フィールドの値が検索できなくなる現象が発生。
(環境Aのサーバーには複数のファイルを運用しいるが、全てのファイルで同じ現象が発生)
≪具体的な例≫
非保存の計算フィールドの値 1,000
2,000
3,000
※レイアウト上には、正しく計算結果が表示されている。
※しかし、例えば、2000以上で検索すると「対象レコードはありません」とエラーがでる。
※環境Aに搭載している全てのファイル、全ての非保存計算フールドで同じ現象が起こる。
(計算結果は正しく表示されているが、検索がうまくできない)
■試したこと
1)上記の現象が発生していたあるファイルを、
ローカルに移動させて「テスト環境B」で動作させてみると、正常に検索される。(ローカルでは問題なし)
2)今後は同じファイルを「テスト環境C」で動作させれみると、正常に検索される。(サーバーでも大丈夫?ファイルは問題なし)
3)同じファイルを「環境A」に戻してみる → ダメ (環境Aのサーバーだけで起こる現象)
4)「環境A」のサーバーのWinodwsを再起動させてみる → 正しく、動作するようになった。
同じ問題の発生を回避したいのですが、どのような処置をとればよいでしょうか?