いつもGroupSessionを有意義に使わせていただいております。今回の案内のありました2.2.1へアップデート作業を行ったところ、下記の様な不具合に困っております。どうか皆様のお力をお借りできればと思いますので、宜しくお願いいたします。[OS] Ubuntu 8.10Tomcat5.5JVM 1.5.0_16-b02[症状]アップデート作業(http://www.gs.sjts.co.jp/v2/support/update_2.2.1.html)の「GroupSessionデータベースファイルの移行」前までは正常に動作しています。バックアップよりdb、file、backupディレクトリをコピー後adminにてログイン時にhttp://hearts.mydns.jp/gsession2/common/cmn001.doへ移動し下記の警告が出ます。通常のユーザーとしてログインした場合も同様です。警告サーバエラーが発生しました。回線が込み合っている可能性があります。時間をおいて再接続してください。サーバエラーログorg.h2.jdbc.JdbcSQLException: データベースは読み込み専用ですThe database is read only [90097-75]
at org.h2.message.Message.getSQLException(Message.java:103) at org.h2.message.Message.getSQLException(Message.java:114) at org.h2.message.Message.getSQLException(Message.java:77) at org.h2.message.Message.getSQLException(Message.java:149) at org.h2.engine.Database.checkWritingAllowed(Database.java:1604) at org.h2.engine.User.checkRight(User.java:94) at org.h2.command.dml.Insert.update(Insert.java:72) at org.h2.command.CommandContainer.update(CommandContainer.java:69) at org.h2.command.Command.executeUpdate(Command.java:205) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:137) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:126) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101) at jp.groupsession.v2.cmn.dao.base.CmnLoginHistoryDao.insert(CmnLoginHistoryDao.java:105) at jp.groupsession.v2.cmn.cmn001.Cmn001Action.__doLogin(Cmn001Action.java:198) at jp.groupsession.v2.cmn.cmn001.Cmn001Action.executeAction(Cmn001Action.java:78) at jp.groupsession.v2.struts.AbstractGsAction.execute(AbstractGsAction.java:123) at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at jp.co.sjts.util.http.filter.FilterEncoding.doFilter(FilterEncoding.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595)
Group SessionをVer2.2.0へ戻しても同様のエラーが発生するようになりました。データベースが壊れてしまったのでしょうか?
> Group SessionをVer2.2.0へ戻しても同様のエラーが発生するように> なりました。> > データベースが壊れてしまったのでしょうか?WEV-INF/db/gs2db/の中にgs2db.*****.log.dbがあると思います。これらを削除してもダメでしょうか?
ご教授いただいたgs2db.XX.log.dbファイルを削除してみましたが症状に改善は見られませんでした。新しくgs2db.0.log.dbというファイルが作られ、依然としてエラーは出ます。過去のスレッド[ 1695 ] ubuntu設定と同様のエラーだと思いますが、いつのまにか直ったとのことで、解決の糸口が見いだせません。エラー警告をOKで閉じるとログイン後メイン画面は表示されるのですが、掲示板の閲覧、スケジュールの登録などが同様のエラーで出来なくなっています。引き続き、宜しくお願いします。
> エラー警告をOKで閉じるとログイン後メイン画面は表示されるのですが、> 掲示板の閲覧、スケジュールの登録などが同様のエラーで出来なくなっています。こうなったら色々試すしかないかもしれませんね。ログを見る限りDBがread onlyになっていてログイン(ログイン履歴を更新)時にエラーとなっているようですね。バックアップしたdbやfileディレクトリではなくbackupディレクトリ内のファイルを解凍して試してもダメでしょうか?あと念のため確認ですが、dbやfileディレクトリはtomcatを停止し、プロセスが完全に切れたことを確認後に上書きではなく削除→コピーしてますよね?#H2コンソールからテーブルロックなどのステータスが変更できれば復旧できるかもしれませんが・・・未確認です。。。
コマンドプロンプトから下記コマンドを実行してもダメでしょうか?cd ~/gsession2/WEB-INF/db/gs2db/java -cp ../../lib/h2_1.0.jar org.h2.tools.Recover -db gs2db
読み込み専用になっているという事は、PermissionやOwnerの設定がされていないとかではありませんよね? WEB-INF/db 等、コピーされたファイル郡のOwnerとPermissionが回りのファイルと違っていませんか? rootで作業したりすると全部root:rootでアクセスできなくなってしまいます。確認はls -la変更は、chown -R group名:ユーザー名 変更したいディレクトリ(ファイル)具体的には chown -R tomcat:tomcat db file backupこんな感じでしょうか。
皆様、詳しい情報感謝いたします。無事に解決いたしましたので、その経緯をご報告します。原因はdb、file、backupディレクトリの所有者が変更されていたことでした。アップデート前にバックアップコピーした際に所有者が"ユーザー名"変更され、アップデート後にバックアップよりコピーしたディレクトリの所有者が、そのまま"ユーザー名"になっておりました。上記ディレクトリ、内包するファイルの所有者を全て"tomcat55"に変更したところ無事に安定動作するようになりました。パーミッションは確認していたのですが、所有者の変更を確認することが抜けておりました。非常に初歩的なミスでお恥ずかしい限りです。お騒がせして申し訳ありませんでした。また、ご尽力いただいた皆様本当にありがとうございました。
vertical_align_top