数据库系统故障会造成什么丢失

说到数据库系统故障,这种情况并不罕见。
在我从事问答论坛的十年里,我看到了很多事故。
例如,我曾经在论坛上看到一位兄弟抱怨他的数据库因系统崩溃而瘫痪。
这是悲剧性的。

我们先来说说这四个错误。
交易中的失败就像开车时意外闯红灯一样。
这可能是一场预料之中的事故。
例如,如果程序中有一个检查,出了问题,就会回滚。
但意外的故障,比如意外的刹车故障,你可能根本没有预料到,比如操作溢出或者事务死锁,这些都必须手动解决。

系统故障就像突然停电,整个系统关闭。
硬件故障、软件漏洞和操作错误都可能导致此类故障。
这样做的问题是必须中止所有正在进行的事务并且必须重新启动系统。

介质故障更让人头疼,硬盘崩溃,数据直接丢失。
正面碰撞、光盘损坏,甚至天灾人祸都可能导致此类硬​​故障。

最后,计算机病毒出现故障,就像被黑客入侵一样,数据被搞乱或彻底丢失。
这种恶意攻击确实很难防御。

也有不同的方法来解决这些问题。
如果出现预期的事务失败,只需回滚即可。
没想到必须用日志文件来恢复。
如果系统出现故障,启动后应检查哪些事务尚未完成,哪些事务已完成但未保存,需要重做或回滚。

对于介质故障,备份和日志是关键。
软件容错、硬件容错、双硬盘备份都是防止数据丢失的好方法。
万一电脑病毒故障,防火墙和杀毒软件是必要的。
如果无法治疗病毒,就只能依靠备份了。

说到底,数据库系统维护就像玩心跳,要时刻做好面对各种突发情况的准备。
这几年我积累了很多经验,但是这个行业变化很快,总是会出现新的问题,所以我必须不断学习。

数据库系统的故障有哪些类型?恢复系统的主要功能是什么?

坦白讲,数据库故障包括三个方面:硬件故障、网络故障、软件崩溃。
恢复有两个目标。
这是关于获取数据和运行系统。

硬件方面,我们去年做的一个项目中,硬盘阵列中突然出现一块磁盘脱落,导致大约3 000条数据丢失。
此时,应立即更换镜像盘,并使用快照回滚到问题发生前。
说实话,这确实是一个陷阱。
如果您没有备份数据,您将不假思索地查看它。

网络问题 去年夏天,中国东部的一场台风导致光缆中断,导致该地区的用户无法连接。
利用BGP多路径路由,大约5 分钟即可切换到备份线路。
很多人不注意这一点。
您不能在备份链路上仅使用一名操作员。

软件故障是最麻烦的。
自从前年更新系统后,数据库错误就不断出现。
后来发现是驱动版本冲突,于是我使用虚拟机回滚了内核版本。
等等,还有一件事。
操作系统补丁应分批进行测试。
不要一次推动所有事情。
否则,你会遇到问题。

一开始我以为恢复就是复制和备份,后来发现我错了。
数据块损坏或事务日志丢失等情况需要使用日志序列重放技术。
这一点值得一试,效率也高很多。

请注意,应定期执行备份并经常执行恢复。
如果真的发生什么事情也不要惊慌。