达梦数据库(版本V8)的数据文件丢失存在的一个坑,个人觉的这个问题应该是需要优化,具体是什么问题呢,就是有一个模拟场景测试,运行某个sh脚本,保证数据不丢失,由于时间和网络较卡的的原因,我没注意脚本的具体内容,本来以为是保存本次测试的结果,后来才知道,脚本的内容大概是删除数据库的某些数据文件,这个不是坑人的地方,坑人的地方在于,丢失数据文件的情况下,运行命令:DmService数据库名 start,竟然提示启动OK,运行命令之后,竟然没有具体的报错信息,而是提示Starting DmService数据库名: [ OK ],后来由于时间的原因,之前做过的备份来不及进行恢复。
这种场景,第一时间,让人还以为数据库已经正常启动了,如果我没有在自己的测试环境模拟测试(由于之前的环境,已经无法进行连接登录,所以在自己的测试环境进行模拟测试),还以为数据库正常启动了,后来才发现,原来数据库只是启动到MOUNT状态。
以下特地在自己的测试环境进行了一个模拟测试:
1、测试前,查看数据库服务的运行状态
[dmdba@localhost bin]$ ./DmServiceDMSERVER status
DmServiceDMSERVER (pid 1141) is running.
2、模拟删除某些数据文件
[dmdba@localhost DAMENG]$ ls -l *.DBF
-rw-r–r-- 1 dmdba dinstall 134217728 7月 29 01:4