Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1279051
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-13 15:46:35

本文上篇我们已经介绍过了Oracle,SQL和Sybase数据库备份方案和特点,本文接续上篇,继续介绍另外两种数据库的备份方案,同时重点向大家介绍了如何制定一份合理的数据库备份方案,以及维护数据库备份方案所需要注意的事项。

INFORMIX数据库备份方案

    Informix数据库能提供建立数据档案管理的所有数据的数据备份,以及记录备份数据库服务器的变化和档案建立以来数据变化的能力。这些变化的记录存储在逻辑日志中,管理员可以同时建立数据档案和逻辑日志备份磁盘。数据档案也可以用增量的方式建立,这样可以减少建立备份档案所需的时间。

    当存储介质发生故障后,将导致当前数据被破坏或者不能存取数据,这时可以利用数据档案和逻辑日志的备份进行数据库的恢复。Online恢复系统保证备份数据是一致的。Archive档案是Online管理的全部或者部分数据的拷贝,一次建档操作建立的档案是online数据的一个瞬间快照,在物理和逻辑上是一致的。online数据档案可以在磁带或磁盘上建立。档案数据应保存在与计算机设施分开的安全地方。

    逻辑日志备份,逻辑日志文件存储online 的变化信息,包括online系统的包括配置上的变化和数据库的改变记录,如:对数据库表的建立,数据记录的插入insert、删除delete、修改update等。逻辑日志实际上是对online操作活动(包括事务记录)的一个跟踪记录,为了保证数据的一致性,在恢复档案数据后可以使用这些记录将online恢复到发生故障时的最后的一个结束的事务。

    逻辑日志备份操作与 online 建立操作是两种不同性质的后备方法,两者结合可以有效地为数据库建立一个完整的后备存储。

MYSQL数据库备份方案

    MYSQL备份数据库主要有两个方法,一个是用MYSQLdump程序,另一个是直接拷贝数据库文件,各有其优缺点。

    MYSQLdump与MySQL服务器是协同操作,可以生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。而直接拷贝方法在服务器外部进行,直接拷贝的文件不能移植到其它机器上,并且必须采取措施保证没有客户正在修改即将拷贝的表。当然在速度上MYSQLdump比直接拷贝要慢些。

    不管使用哪种备份方法,如果需要恢复数据库,必须让服务器执行更新日志。当系统崩溃后需要恢复数据时,更新日志可以帮助恢复。这样在用备份文件恢复数据到备份时的状态后,我们可以通过运行更新日志中的查询再次运用备份后面的修改,这时可以将数据库中的表恢复到崩溃发生时的状态。当然我们也需要备份这些更新日志。

    使用mysqldump备份和拷贝数据库时,mysqldump产生的输出可用作mysql的输入来重建数据库。 我们还可以将整个数据库导出到一个单独的文本文件中。在恢复期间,通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择。

    如果使用直接拷贝数据库的备份和拷贝方法,可以使用这些cp、tar或cpio实用程序。当直接拷贝时,我们必须要保证表不在被使用。如果在拷贝过程中,服务器修改了拷贝中的表的内容,则备份失败。保证拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器。如果不想关闭服务器,要在执行表检查的同时锁定服务器。如果服务器在运行,相同的制约也适用于拷贝文件。

    恢复过程包括备份文件和更新日志。备份文件可以将表恢复到实施备份时的状态,更新日志包含了用于进行这些修改的查询。恢复过程根据我们需要恢复的信息多少而不同。实际上,恢复整个数据库比单个表跟容易,因为对于数据库运用更新日志比对单个表运用要容易的多。

五大原则制定数据库备份方案

    根据这些数据库备份方案的分析,我们可以发现,如果需要做出一份合理的备份方案,我们应该遵循如下的原则:

    首先在业务处理空闲的时候做完全备份,备份时间的间隔设置可以根据本身的数据量和数据重要的程度来设置,比如可以一个月做一次完全备份。然后在业务处理比较空闲的时候做差异备份,比如我们可以一周备份一次。

    然后我们还需要经常做日志备份,如果数据很重要,而数据的变化频度又非常快,可以设置5分钟甚至更短的时间备份一次,这个主要由我们的数据重要的程度和允许丢失数据的时间长短来确定。

    对于备份硬件的配置,除了备份到磁盘,还应该考虑备份到磁带机或是其他服务器,并且定期要将备份的数据刻录到光盘做永久备份,这样还可以腾出刻录的空间给新的备份用,减少备份设备的开销。

    最后我们还要考虑到对于重要的数据,要将备份文件保存到多种介质和多个地点,这样某一处备份文件损坏了的话,我们还可以有其他的备份文件可用。

    我们还需要考虑到还原作业的进行。比如有多少时间以及在那些时段可进行备份;数据库变动的频率如何;数据库大小;而且当数据库出现问题时,用户愿意等待多久让数据库还原完毕;应采用何种备份方式,做怎样的硬件搭配;要使用哪种存储介质。这样基本上可以做出一份比较合理的备份方案。

 

制定数据库备份方案

    我们可以选择一些常用的备份方案来适应我们的各种数据库的备份需要。可以有如下的一些备份组合:

    (1)完全数据库备份配合事务日志备份

    对于数据库数据比较大,但每天的变动的内容小,可考虑采用此方式。可定期做一次完整的数据库备份,例如:每周或每月做一次“完全”数据库备份。然后再以比较短的周期,如每天或每两天做一次事务日志备份。这样平时备份工作负担比较轻,发生意外时,可将数据还原到最近一次备份的状态。

    (2)完全数据库备份配合差异式备份

    此方式是将前一种方式中的事务日志备份方式改成差异式备份。其优点是在做还原时,只需在做完最近一次数据库备份的还原后,再用前一天的差异备份来还原就可以了,不像使用事务记录备份时,需要按天还原。但是这种方式在一段长时间间隔内,每次做差异备份所需的时间和空间都会增加。

    (3)三种备份方式的综合使用

    由于事务记录备份和差异备份各有其优缺点,因此我们可以将两种方法结合起来使用。对于数据信息非常重要,每一到两小时备份一次,可能的损失只是一到两个小时的数据。

    (4)当数据库过大,有不易备份的问题时,可以采用文件或文件组备份方式,可考虑将数据库分开存于不同的文件和文件组中,然后以文件和文件组的方式将整个数据库分数次备份。此外,如果数据库中只有部分表经常变动,另一部分很少变动,也可考虑将这两部分存于不同的文件和文件组中,然后用不同的备份频率来备份其内容。采用此方式备份数据的缺点是必须经过多次操作才能将备份过程完成。

    (5) 使用备用服务器

    这种方法是利用备份服务器,对原服务器做双机备份。先在原服务器上做完全的备份,再把此备份放到备份服务器上做还原,使两边的数据同步,以后可以定期对原数据库做事务日志备份,把事务日志放到备份服务器上还原。当原服务器出现问题既可使用备份服务器接上网络提供服务。

维护数据库备份系统

    在实际工作中,除了对数据库制订一定的备份策略,我们还应该在日常的维护中进行各种常规的检查工序,保证数据库的正常运行。

    首先数据库管理员应当每日察看数据库的备份报告,出现问题及时检查备份文件,保障每日数据库服务器的备份正常运行。

    当主数据库服务器出现数据库错误时,应检查数据库的工作状态。如果工作不正常应及时将最新的备份数据覆盖当前数据库的损坏数据,并重新启动机器,检验数据库系统是否能够自行恢复运行。

    如果重新启动后数据库系统不能正常运行,则数据库系统文件被破坏,应启用紧急恢复方案。如果主数据库服务器出现硬件故障时,应在1小时内更新备份数据库为最新数据,并启动备份数据库服务器,将备份数据库服务器升级为主数据库服务器。

    对于损坏的主数据库服务器应重新安装数据库,并启用紧急恢复方案。如果是备份数据库服务器出现数据库错误时,应检查数据库的工作状态,及时将最新的备份数据覆盖当前数据库的损坏数据,并重新启动机器,检验数据库系统是否能够自行恢复运行。

    基本上每周保证三次将备份数据转移到外部存储设备中,使备份资料可以异地保存。

阅读(637) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~