正确的维护很简单,错误的操作很致命
2012-12-24 15:03:38
来源:软件服务社
我们一直努力让系统的使用、维护、升级越来越简单,但是,一定要按照说明进行操作,否则也会出现非常严重的问题。就象走路很简单,但是如果不看红绿灯,也是会要命的。
前天有个用户在升级时遇到了问题(使用的是linux版),联系我们QQ远程查看。刚开始他说没做过其它操作、也没动过数据库,但是查看后发现实际上他已经把数据完全删了,而且是在备份前就删了!所以,后面的升级自然无法升级成功,而且也无法恢复了:
EETTS 10:01:57
数据库里一直没有动过的
服务员01 10:02:11
数据文件ibdata1中的数据,跟stfoa中描述的表结构不对应了
如果一直没动过,需要查一查修复的办法
服务员01 10:03:48
我直观看ibdata1的大小是不对的。一般肯定会大于10M
EETTS 10:04:00
那就是我在清理log的时候把这个文件一同清理掉了
服务员01 10:04:15
不会吧,这个是数据文件。什么时候做的清理
EETTS 10:05:28
就是星期六在做升级前
服务员01 10:08:07
确认删除了,没有备份了吗?
EETTS 10:08:41
是的
服务员01 10:09:14
http://www.zhaokunyao.com/archives/3705
那我们也没有什么好办法了
服务员01 10:10:53
ib_logfile这个文件也删除了吗?
EETTS 10:11:12
是的
服务员01 10:11:32
那没办法了,只能重建系统了。您把日志和数据文件都删除了
在每次升级时,升级说明中都用加粗的黑字强调一定要备份、强调备份前一定要先停止系统、强调如果出现问题一定不要凭想象自行处理、强调如有问题我们会提供免费技术支持,就是担心乱操作产生更严重的问题。但是,现在仍会遇到这样问题,让我们的心情很坏,因为丢失数据是非常令人难受的事情,而且可能给企业带来很大的损失(特别是使用了PB、HR、财务等系统后)。
所以,本来很简单的事情,一定不要凭自己的想象去做一些从来没有提到的操作(比如删除ibdata1或ib_logfile、或者清理log,在过去这好几年时间中,就从来没有提到过要求用户做这种操作,甚至从来没提过ibdata1或ib_logfile这几个名字,为什么要去倒腾这些东西呢?),以前我们曾写过“忘掉数据库”,也曾说过:从来没有哪个用户因为不懂数据库而出现问题,反而是有人因为了解一些数据库、对数据库进行了直接操作而导致“非常严重”的问题。如果想学习数据库或linux,可以另搭一个环境去练习,但在正式系统上,一定不要自己去做任何没有要求做的事情!一定不要凭想象去做任何操作!即使对数据库非常了解,也一定不要直接操作数据库!因为非开发人员不可能完全了解业务数据间的各种关系,极有可能一不小心就把自己的数据全毁了。
上个星期六,有个北京的公司要从32位升级到64位,他们是从2010年初就开始使用,公司规模比较大,现在仅附件就有几百G,后来把HR等多个系统都启用后,需要使用64位版,但把原服务器重装64位Windows系统、又在服务器上安装了其它一些东西后,才发现最关键的数据库本来有几个G,但是在备份时只拷出来几K。好在升级前他提前联系过我们,我们的工程师想办法帮他在已重装了操作系统的原服务器上恢复了数据,其中还手工修复了一个损坏严重的文件,最终完成了所有操作。但是,这只是运气好罢了,如果原服务器上的数据恢复不了呢?!备份只不过是复制文件,非常简单,如果正常操作,这种明明有几个G却只拷出几K的情况是完全不可能的,否则微软就不用混了。
现在系统的维护、升级都很容易,但是不要凭自己想象去操作,也不要少做任何一步,如果某一步真的没有用,我们何必写这些内容、还反复强调呢?而且操作必须认真,即使是复制文件这种简单的操作。再啰嗦一句,备份极为重要,这个操作很容易,但只要做了备份,就不用再担心任何问题。