最后的据点

Think it,Plan it,Build it,Make it,Happy it,Enjoy it! 格物,诚意,志存高远,脚踏实地,让精益求精成为习惯!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数据库备份与恢复简析

Posted on 2009-04-14 23:32  最后的据点  阅读(282)  评论(0编辑  收藏  举报

Ø         数据库备份的必要性

       在数据库运行过程当中,难免会遇到诸如人为错误,硬盘损坏,电脑病毒,断电或是其他灾难,这些都会影响数据库的正常使用和数据的正确性,甚至破坏数据库,导致部分数据或是全部数据的丢失.因此数据库的备份技术在于建立冗余数据,也就是备份数据.

       一般数据库的故障可分为4:

1)   事务内部故障:有些是可以通过事务程序处理的,比如银行转帐中的事务一致性;但是还有一些是不能由事务程序处理的,比如运算过程中的溢出,并发控制中发生死锁等.

2)   系统故障:通常称为软故障,指造成系统停止运行的任何事件,比如系统重启,操作系统故障,突然停电等.

3)   介质故障:也称为硬故障,比如硬盘损坏,强磁场干扰等,发生几率较小,但是破坏最大.

4)   人为故障:是一种人为的故障或破坏方式,比如病毒感染,用户操作失误等.

Ø         数据库备份的原理和方式

       恢复故障的原理就是建立数据冗余,建立冗余数据的方式是进行数据转储和登记日志文件.数据转储在时间上又可分为静态转储和动态转储;在空间上可分为海量转储和增量转储.

1)   静态转储和动态转储:静态转储就是在转储期间不允许数据库进行任何存取和修改操作;动态转储可以进行存取和修改操作,因此转储和用户事务可以并发进行.

2)   海量转储和增量转储:海量转储是指每次转储全部的数据;增量转储是指只转储自上次转储以来更新过的数据.

3)   日志文件:在事务处理过程中,DBMS把事务开始,事务结束和对数据库的插入,修改和删除的每一次操作写入日志.一旦故障发生的时候,恢复系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态.

       当数据库文件损坏后,可重新装入备份文件恢复到数据库数据转储结束时刻的正确状态,在利用日志文件把已完成的事务进行重做.

Ø         数据库备份的案例

1)   SQLSERVER2000

存在三种备份方式:完全备份,事务日志备份和增量备份.

完全备份就是海量备份,将数据库完全复制到备份文件中.

事务日志备份将备份发生在数据库上的事务.

增量备份仅备份从上一次完全备份到当前的变化数据.

 

备份方案:

a)         完全备份方案:恢复时将最近一次的备份恢复.

b)        在完全备份的基础上使用事务日志文件恢复方案:即定期进行一次完全备份,再更频繁的进行事务日志备份.恢复时先使用最近一次的完全备份恢复数据库,再用最近一次完全备份之后创建的事务日志备份,按顺序恢复完全备份之后数据库操作.

c)        三种备份方式结合使用.与上种方式基本相同,只是使用增量备份的频率在完全备份和事务日志备份之间.