数据库系统的故障分为三类:事务故障、系统故障和介质故障。事务故障是单独一个事务出问题而不能执行下去,并不影响其他事务的执行;系统故障是故障导致系统重启,当前运行中的事务及刚刚提交的事务会导致数据库不一致;介质故障则是数据库文件的存储介质如硬盘发生故障导致数据丢失。DBMS对不同类别的故障使用不同的恢复方法。其中事务故障和系统故障由DBMS来完成事务级别的恢复,即根据日志文件对未完成的事务进行UNDO操作,对己完成的事务进行REDO操作,使数据库恢复到故障前的一致性状态;介质故障需要 DBA介入,装载备份文件后交由DBMS进行恢复。
事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障;包括逻辑错误(溢出、非法输入等)、系统错误(死锁等)。
系统故障是指硬件故障、软件(如DBMS、OS或应用程序)漏洞的影响,导致丢失了内存中的信息,影响正在执行的事务。
介质故障则是数据库文件的存储介质如硬盘发生故障导致数据丢失。DBMS对不同类别的故障使用不同的恢复方法。