概要描述
再使用dba的时候,有时候会出现启动失败或者登录页面出现报错等现象,这个是由于h2数据库出现了数据问题导致的,可以参考下面的方式修复
详细说明
1.检查挂载目录
挂载目录配置:
dbaservice.persistence.datadir
2.下载Jar包
(https://nj.transwarp.club:666/main.html?download&weblink=1434b067f5279821fc6d4f47116e59d5 "H2修复Jar")
3.操作方法
1.把挂载目录默认损坏文件/mnt/disk1/dbaservice/dbaservice1/db/dbaservice1.mv.db 移动到本地其他目录,如~
2.在损坏文件同级目录下,上传h2-1.4.199.jar和h2-1.4.200.jar
3.在该目录下执行java -cp h2-1.4.200.jar org.h2.tools.Recover (注意: 默认当前dba依赖包用的h2-1.4.199.jar, 损坏后用这个版本的无法修复, 测试用h2-1.4.200.jar可以恢复), 正常会生成dbaservice1.h2.sql, 即恢复的SQL文件
4.将dbaservice1.mv.db 备份为dbaservice1.mv.db.bak, 执行java -cp h2-1.4.199.jar org.h2.tools.RunScript -url jdbc:h2:file:~/dbaservice1 -user admin -password password -script dbaservice1.h2.sql -showResults, 执行成功生成恢复的dbaservice1.mv.db文件,恢复的文件一般会小于损坏文件大小
5.将恢复成功的db文件cp到原挂载目录,重启dba即可恢复
6.重启后可登录/h2-console验证数据正确
其他信息
如果修复失败,可以尝试直接把dbaservice1.mv.db移走,重启后会重新生成新的数据,只会丢失统计页面的信息,sql信息是不会丢失的。