フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:99_その他フォーラム
DB破損しました。リカバリ方法を教えてください。
[ 7470 ] DB破損しました。リカバリ方法を教えてください。

お世話になっております。

【環境情報】
OS:WindowsServer2012R2
GroupSession Ver.4.8.1
IIS8.5
Tomcat:8.5.64
Java:1.8.0_181

日次バッチ処理でエラーやWebメールがゴミ箱から削除できないなどのエラーが頻発しており、DBが破損してしまったようです。

過去のフォーラムを参考にDBリカバリを実施してみました。
https://groupsession.jp/wbs/bulletin/bbs080.do?threadSid=1336

1. コマンドプロンプトを起動
2. cd Tomcatフォルダ/webapps/gsession3/WEB-INF/db/gs2db
3. java -cp ../../lib/h2_1.3.jar org.h2.tools.Recover -db gs2db
4. 上記3のコマンドで「gs2db.h2.sql」が作成された
5. 「gs2db.h2.db」を削除
6. java -cp ../../lib/h2_1.3.jar org.h2.tools.RunScript -url jdbc:h2:gs2db -script gs2db.h2.sql
上記6のコマンドで、DbExceptionが発生してエラーとなり、リカバリを完了できません。

まずは上記のリカバリ方法で合っているのか?
リカバリ中にエラーの場合の対処方法等をご存知の方、お手数ですが、お教えいただきたく、よろしくお願いいたします。

投稿者hata
最新書き込み2021/04/06 14:57:21
[ 7996 ] Re: DB破損しました。リカバリ方法を教えてください。

WindowsServer2016
apache-tomcat-9.0.87
IIS 10.0.14393.0
OpenJDK11U-jdk_x64_windows_hotspot_11.0.22_7
GroupSession Ver.5.1.3

いつもお世話になっております。

GroupSessionを10年以上運用しています。
その間、DBが破損し、バックアップから戻してみたりしましたが、結局DB破損から復旧できませんでした。

GroupSessionを再構築し直して、2~3年になりますが、最近またDBが肥大化し、画面も固まることが多くなってきており、いつDB破損するかわからない状況です。

1.事前にTomcatのサービスを止めておく

2.DBのある場所へディレクトリ移動
cd %Tomcatフォルダ%\webapps\gsession\WEB-INF\db\gs2db

3.DBからリカバリ用SQL作成
java -cp ../../lib/h2_1.3.jar org.h2.tools.Recover -db gs2db

4.DB(gs2db.h2.db)を削除または別の場所へ退避し、以下コマンド実行でDB再作成
java -cp ../../lib/h2_1.3.jar org.h2.tools.RunScript -url jdbc:h2:./gs2db -script gs2db.h2.sql

上記を実行すると、手順4.の実行中にエラーで止まってしまいます。
どこかのサイトで、エラーになった行を削除していけばよいというのをみたことがあったので、「SQLからエラー行削除⇒作成途中のDB削除⇒コマンド実行」を繰り返し実施しましたが、2時間以上頑張ってみましたが、SQLファイルの1/3も進まず断念しました。
おそらく、リカバリ方法が間違っているのではないかと思います。

有識者の方、リカバリを実施した経験者、リカバリ方法のわかる方、日本トータルシステム株式会社の開発者の方も含め、何か情報を持っている方いらっしゃいましたら、ご教示いただきたく、どうぞよろしくお願いいたします。

またDB破損で復旧できず、Webメールやショートメール、スケジュールなど全て参照できなくなって、また1からGS再構築は避けたく、どうぞよろしくお願いいたします。

投稿者hata
最新書き込み2024/04/26 09:43:10
[ 8000 ] Re: Re: DB破損しました。リカバリ方法を教えてください。

hataさん

> 有識者の方、リカバリを実施した経験者、リカバリ方法のわかる方、日本トータルシステム株式会社の開発者の方も含め、何か情報を持っている方いらっしゃいましたら、ご教示いただきたく、どうぞよろしくお願いいたします。

リカバリというか、アップデートの時と同じ考え方でいけるんじゃないかと思います。

【バックアップがzip圧縮の場合】
まずはTomcatサービスを停止します。
破損する前のバックアップデータ
> %Tomcatフォルダ%\webapps\gsession\WEB-INF\backup\gs_sys_backup_%yyyymmdd%.zip
を展開して出来る[db]フォルダを
> %Tomcat ファオルダ%\webapps\gsession\WEB-INF\
配下に上書きコピーします。
上書きコピーが終わったあとでTomcatサービスを再起動すれば、破損前のDB状態で再開可能です。

もし破損後のバックアップしか残ってないのであれば、上記の方法は使用できませんので注意してください。

投稿者nobody
最新書き込み2024/05/11 10:29:15
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=4&threadSid=2710
 


TOP