GroupSession
今朝から掲示板の登録時とショートメールの起動時に「サーバエラーが発生しました」と表示されます特に設定等を変えてはいませんショートメール起動時のエラーソースは次のとおりですorg.h2.jdbc.JdbcSQLException: 一般エラー: java.lang.RuntimeException: File ID mismatch got=0 expected=36 pos=34486 false org.h2.store.DiskFile:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\gsession2\WEB-INF\db\gs2db\gs2db.index.db blockCount:0General error: java.lang.RuntimeException: File ID mismatch got=0 expected=36 pos=34486 false org.h2.store.DiskFile:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\gsession2\WEB-INF\db\gs2db\gs2db.index.db blockCount:0; SQL statement: select count(SML_JMEIS.SMJ_SID) as cnt from SML_JMEIS, SML_SMEIS, CMN_USRM, CMN_USRM_INF where SML_JMEIS.USR_SID = ? and SML_JMEIS.SMJ_JKBN = ? and SML_JMEIS.SMJ_SID = SML_SMEIS.SMS_SID and SML_SMEIS.USR_SID = CMN_USRM.USR_SID and CMN_USRM.USR_SID = CMN_USRM_INF.USR_SID [50000-75] at org.h2.message.Message.getSQLException(Message.java:103) at org.h2.message.Message.convert(Message.java:257) at org.h2.message.Message.convert(Message.java:228) at org.h2.command.Command.executeQueryLocal(Command.java:142) at org.h2.command.Command.executeQuery(Command.java:121) at org.h2.jdbc.JdbcPreparedStatement.executeQuery以下省略
V2.0.1で同様のエラーが発生していました。原因不明なのですが、H2DBのデータ数が増えた時に、インデックスファイルが破損する事があるようです。正しい回復の方法では、ないかもしれないのですが、当方では、下記のような対応で復旧しています。0)TOMCATを停止する。1)掲示板でショートメールで通知しないようにする。2)送信済みショートメールをH2DBから削除する。 H2DBのコンソールがサーバにインストールされているので、そのツールを使って削除する。3)H2DBのインデックスファイルを削除する。4)TOMCATを起動し、GroupSessionを立ち上げる。※H2DBはインデックスファイルが削除されていると、再構築してくれるみたいなので、上記の 対応で復旧できています。正しい手順がほかにあるのかもしれないのですが、ご参考まで。
リッチ1号さん教えていただいた通りindexファイルを削除することで正常に動作するようになりましたありがとうございました
TOP