什么情况下数据库系统会出问题

什么情况下数据库系统会出问题,第1张

数据库系统中故障可以分为:事务故障、系统故障、介质故障。

一、事务故障

某个事务在运行过程中由于种种原因未运行至正常终止点,事务故障的常见原因,输入数据有误

运算溢出,违反了某些完整性限制发生锁死。

二、系统故障

由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。

发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响 。

三、介质故障

硬件故障使存储在外存中的数据部分丢失或全部丢失 ,介质故障比前两类故障的可能性小得多,但破坏性最大。

可能由病毒引起。

文件描述符关掉以后,继续使用这个文件描述符访问

打开文件,获取文件描述符fd(其实是一个整形)

关闭文件

打开sqlite文件,获取文件描述符(碰巧也是)fd

另一个线程继续使用fd,写文件

sqlite文件被损坏

在事务进行过程中,进行数据库备份或恢复

在数据库事务过程中,数据库文件既包括老的内容,也包括新的内容。如果此时拷贝这个文件,数据库可能会被损坏。 备份数据库最好使用sqlite的api。

删除日志文件

日志文件中包括rollback需要的信息。删除以后,无法正确回滚,有可能会导致数据库损坏。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6690961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存