他社が開発した桐の販売管理システムでエラーが出て、システムが停止している状況です。お客様よりシステム復旧の依頼がありましたが、どうしても、リモート操作ではエラーが取れないので、お客様の現地に行ってきました。
格闘すること2時間、解決のきっかけは、1時間50分で現れました。
システム構成は、下記の通りです。
デスクトップPC x 2台、外部持出し用ノートPC x 1台の端末で、共有ハードディスクにデータを置いて運用しています。
エラーは、突然「他のユーザーが使用中です。ログインできません。」のメッセージでした。
※エラー画面は、都合により公開できません。
▼第1回目のエラー報告
[問合せ]先日まで動いていたシステムが、急に動かなくなりました。エラーメッセージが出ているんで見ていただけませんか。
エラーメッセージは、「mst地図.tblが壊れています。」
[対策]桐では、よくあることです。テーブルを開いたまま、正常にクローズされない場合に発生します。
桐には、テーブル修復ツールが準備されていますので、そのツールを使って修復しました。
エラー画面は、表示されなくなり次の画面が正常に表示されるようになりました。
▼第2回目のエラー報告
[問合せ]「先日のエラーは出なくなりましたが、その後データを入力すると画面が動かなくなるのですが、見ていただけませんか。」
リモートで画面を確認しましたら、データを入力すると桐がフリーズしていました。
[対策]状況を詳しく聞いてみると、「突然のメッセージで『他のユーザーが使用しているため、操作できません』と言うエラーメッセージが出たので、知り合いに相談したらとりあえずデータだけ見れるようにしてくれた。」とのことでした。
プログラムを解析していくと、ログインしてユーザー認証ができないまま、新しいデータに更新せずに、古いデータを表示していることがわかりました。
ユーザー認証用のデータのフォルダを移動させユーザー認証ができなくしています。なぜこんな方法をとったのかわかりませんが、どうにかこうにか、とりあえずデータを表示するようにしたようです。このような対応をとっていたことが、私の判断を混乱させてしまったのです。
それで、フォルダを正常な位置に戻し、システムはきちんとユーザー認証しようとしました。
この認証を行うところで、桐がフリーズすることを確認しました。しかし、このフリーズする原因がわからなかったのです。データが見えなければ業務に支障が出るので、フォルダを移動しデータが見える以前の状況だけは維持した状態での運用をお願いしました。
開発者がいれば、正しい対応ができるのですが、他の職業と併用している開発者のためトラブルに素早く対応できないので、私に依頼された相談でした。
▼次なる調査
このシステムを私のPCにコピーしても、ユーザーと動作環境が違うので、同じようには動作しません。
システムは、共有フォルダから ローカルフォルダにデータをコピーして、共有フォルダは「使用中」の状態にして、編集終了後に再度共有フォルダに書き戻すような仕組みになっています。
共有フォルダからローカルフォルダにデータをコピーした後、ユーザーの使用状況をセットするところでシステムがフリーズしています。
共有フォルダにしているハードディスクから異音がしており、どうも信頼性がありません。それで、共有フォルダのデータをローカルの領域に移動し、外付けのハードディスクを動作環境から外しました。
しかし、外付けのハードディスクから動作音がするのです。
どうも、原因は外付けハードディスクにあるようです。そして、ついにエラーを突き止めました。原因は、共有情報を管理しているテーブルにありました。
▼桐のシステムの保守サポートが必要な方は、こちらを参照してください。