数据库系统中可能发生的故障主要包括事务故障、系统故障、介质故障、计算机病毒等。下面给大家简单整理一下相关的故障知识笔记。
1、事务故障
事务故障是因为程序执行错误而引起的非预期、异常终止的故障。主要有逻辑错误、系统错误导致事务的执行失败。
逻辑错误:比如非法输入、数据溢出、超出资源限制、找不到数据等原因引起事务执行失败。
系统错误:数据库系统进入不正常状态比如死锁等,导致事务无法正常继续执行。
说明:针对不可预期的错误应用程序是无法处理的,通常交由数据库管理系统来实现故障恢复。比如非法输入由约束机制检查并恢复。事务故障通常指非预期故障。事务故障意味着事务没有达到预期的终点,事务提交、事务回滚。
因此数据库可能处于不正确的状态。恢复程序要在不影响其他事务的运行情况下,强行回滚该事务,也就是撤销该事务对数据库做出的任何修改,称为事务撤销(UNNO)。
2、系统故障
系统故障主要是指硬件故障、软件漏洞的影响下,导致丢失了内存中的信息,影响正在执行的事务,但未破坏存储在外存上的信息,这种情况下称为故障-停止-假设(Fail-stop Assumption)
系统故障中止了事务的执行过程,破坏了事务的原子性,因为缓冲区的内容可能部分已经写入了数据库,系统重启后数据库可能处于不一致的状态。
3、介质故障
介质故障是指数据库的存储介质发生故障,比如磁盘损坏等。该故障直接破坏了数据库,会影响到所有正在读取该部分数据的事务。数据库运行过程中难免会出现计算机软件、硬件的故障,这些会直接影响数据库中数据的正确性,设置破坏数据库,导致数据库中数据的丢失。数据库的关键技术在于建立冗余数据,也就是数据的备份。这个是保证数据库可靠性的关键技术。
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识