Ø 数据库备份的必要性
在数据库运行过程当中,难免会遇到诸如人为错误,硬盘损坏,电脑病毒,断电或是其他灾难,这些都会影响数据库的正常使用和数据的正确性,甚至破坏数据库,导致部分数据或是全部数据的丢失.因此数据库的备份技术在于建立冗余数据,也就是备份数据.
一般数据库的故障可分为4类:
1) 事务内部故障:有些是可以通过事务程序处理的,比如银行转帐中的事务一致性;但是还有一些是不能由事务程序处理的,比如运算过程中的溢出,并发控制中发生死锁等.
2) 系统故障:通常称为软故障,指造成系统停止运行的任何事件,比如系统重启,操作系统故障,突然停电等.
3) 介质故障:也称为硬故障,比如硬盘损坏,强磁场干扰等,发生几率较小,但是破坏最大.
4) 人为故障:是一种人为的故障或破坏方式,比如病毒感染,用户操作失误等.
Ø 数据库备份的原理和方式
恢复故障的原理就是建立数据冗余,建立冗余数据的方式是进行数据转储和登记日志文件.数据转储在时间上又可分为静态转储和动态转储;在空间上可分为海量转储和增量转储.
1) 静态转储和动态转储:静态转储就是在转储期间不允许数据库进行任何存取和修改操作;动态转储可以进行存取和修改操作,因此转储和用户事务可以并发进行.
2) 海量转储和增量转储:海量转储是指每次转储全部的数据;增量转储是指只转储自上次转储以来更新过的数据.
3) 日志文件:在事务处理过程中,DBMS把事务开始,事务结束和对数据库的插入,修改和删除的每一次操作写入日志.一旦故障发生的时候,恢复系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态.
当数据库文件损坏后,可重新装入备份文件恢复到数据库数据转储结束时刻的正确状态,在利用日志文件把已完成的事务进行重做.
Ø 数据库备份的案例
1) SQLSERVER2000
存在三种备份方式:完全备份,事务日志备份和增量备份.
完全备份就是海量备份,将数据库完全复制到备份文件中.
事务日志备份将备份发生在数据库上的事务.
增量备份仅备份从上一次完全备份到当前的变化数据.
备份方案:
a) 完全备份方案:恢复时将最近一次的备份恢复.
b) 在完全备份的基础上使用事务日志文件恢复方案:即定期进行一次完全备份,再更频繁的进行事务日志备份.恢复时先使用最近一次的完全备份恢复数据库,再用最近一次完全备份之后创建的事务日志备份,按顺序恢复完全备份之后数据库操作.
c) 三种备份方式结合使用.与上种方式基本相同,只是使用增量备份的频率在完全备份和事务日志备份之间.