当前位置: 主页 > 服务器技术 > 其他技术 > 数据库备份技术简介

数据库备份技术简介

时间:2010-7-21来源:互联网 点击:
一个数据库的数据库备份必须必须是一个数据库的完整的映像,在这个映像的时间点上,没有部分完成的事务存在。这可以通过数据库的离线备份来实现,因为在这种情况下,没有事务需要处理。这种方式的缺点在于,在备份过程中,没有应用能够使用数据库。数据库在线的时候也可以进行备份,在这种情况下,备份程序要确保不管数据访问多么活跃,都能够得到一个完整的数据拷贝。

离线数据备份

   如果备份时数据库不可以被应用所访问,那么我们称这种备份为离线备份或冷备份。冷备份可以通过关闭数据库然后进行文件备份来实现。离线数据库备份是简单的,也是被认为有效的备份技术。但是逐渐的,企业发现把他们的数据库停下来,然后进行备份,这种方式完全不切实际。而且,在一些老的数据库管理系统中,冷备份拷贝不能用来进行前滚,因为它们与数据库日志不同步。在新的数据库设计中,已经解决了冷备份拷贝与数据库日之间的同步问题,所以前面的问题也就逐渐不成为问题了。

在线数据库备份

   现在大多数的数据库都可以在应用进行数据访问时进行数据备份。在备份活跃数据库时有两种基本技术,被称作逻辑的和物理的在线分别备份。
   大多数数据库管理系统都支持逻辑在线备份。例如:被包含在Oracle数据库的RMAN工具和Sybase数据库的“dump database”命令。逻辑在线备份之所以这么命名,是因为它拷贝了数据库的逻辑单元,而不是存储设备列表或是存储逻辑单元的文件。逻辑数据库备份工具通常和恢复、修复工具放在一起,因此产生有问题备份的几率较小。逻辑数据库备份的主要缺点就是他无法利用存储设备的快照技术来减少对应用的影响。因为在一个逻辑数据库备份的过程中,系统性能会大大的降低,因此它对总是处在活跃状态的数据库并不合适。
在线数据库备份也可以通过物理的备份数据库底层所包含的文件来实现。数据库的数据文件并不是随时都可以进行拷贝的,因为数据库始终在不断的刷新这些文件。一个文件的拷贝包含有非全部完整事务的概率很高,而且也不要期望通过数据库修复来恢复数据的一致性。
   要确保一个具有一致性的系列文件备份,数据库必须处于一个静止状态,没有事务提交,也没有缓存的数据需要写到存储中。当备份结束后,数据库可以被重新激活。当然在数据库备份时,数据库时不可用的,这样的结果与离线数据备份基本相同。
   一些文件系统和卷管理器支持数据快照。如果可以制作一个基于数据库所包含文件的快照,那么数据库只需要在快照初始化的一瞬间是静止的即可。一旦快照初始化完毕,数据库就可以重新提供访问能力。快照使备份可以进行在应用正在访问“实际”的数据库的过程中。因此,物理数据库备份可以是在(近)线的,而且能够保证数据库拷贝的一致性。

数据库静止状态

   不同的数据库支持不同的备份技术。例如:Oracle,将表空间(一组表)置于在线的备份模式。这样的一份备份数据就可能不一致,因为数据库会在备份模式下会不断的刷新数据。然而恢复却可以是一致的,因为在备份过程中,额外的信息被数据库的管理日志记录下来。重新应用日志记录了数据库在备份状态下的变化,并将它恢复成一致的状态。
   其它的数据库管理,包括Sybase ASE和DB2,会暂时的挂起所有事务并且将缓存保存,这样一个基于快照的数据库所包含文件的拷贝就是一个一致性的数据库拷贝。
   包含了卷管理和文件系统快照的物理数据库备份技术是一种非常强大的技术,因为它基本消除了应用不能进行数据访问的备份窗口时间。例如:数据库可以将数据直接或间接的存储在镜像的逻辑卷上。要进行备份的情况下,数据库管理员可以将数据库暂时静止,将镜像卷与存储分离,然后重新激活数据库。被分离的镜像卷包含了一个一致的数据拷贝,可以通过它完成一个数据库复制。这种情况下的应用不能访问数据库的备份窗口只有几秒钟或几分钟。
   当被剥离的镜像卷连接到存储网络中,可使用一个额外的服务器来进行数据的拷贝。因为使用了独立的存储设备和服务器资源,因此对数据库应用性能没有任何影响。唯一的缺点是,当基于被剥离的镜像卷的数据库备份拷贝完成后,镜像卷需要重新连接到数据库存储卷中。重新同步所有的I/O会影响应用的I/O。镜像技术可以记录所有在剥离镜像卷后改变了的数据,在镜像卷重新接入后快速同步数据,这种技术使同步对应用的影响降到最低。图1-4使用流程图描述了脱离主机的备份方式。流程图同样强调了快照可以在运行着数据库的服务器上进行备份。

数据库增量备份

   数据库的不断增长和对可用性要求的提高,使数据库全备份在许多情况下无法完成。如同文件系统一样,如果在两次备份间只有少量的数据变化,数据库增量备份可以缩短数据库备份时间。如果只是变化了的数据被拷贝,可以节省备份时间和备份介质。与全备份类似,增量备份也可以是逻辑的或是物理的。

逻辑增量备份

   归档数据库日志是逻辑数据库增量备份的一种方式。通过恢复一次数据库全备份和重新应用归档日志,可以将数据库恢复到归档的最新时刻。把全备份数据和所有的归档日志存放在一个安全的地方,是一个很有用处的恢复技术。
   随着归档日志的堆积,恢复时间和对介质的占用都会随之增长。对于每一个企业,都有一个对增量恢复窗口的可容忍的极限。因此,增量备份策略应该包含定期的数据库全备份,以便经常建立新的基点。
   一些数据库管理器可以在数据库正在运行时执行数据库逻辑增量备份。一个逻辑增量备份在开始时首先检测自上次备份后改变了的数据块的列表。这些块被读取并被传送到备份服务器。增量备份减少了全备份必须被执行的频率。使用这种技术,数据库恢复就可以是自动的,因为数据库管理器的恢复功能可以从以前的全备份和后来的增量备份创建一个较新的数据库映像。增量备份使数据库性能只是稍有加强,因为数据库管理器必须创建一个变化数据块的列表。

物理增量备份

   包含数据库系列文件的文件系统的增量备份有效的创建了一个数据库的物理增量备份。但当一个数据库管理器刷新表中的一行数据时,只有包含这条数据的文件块改变了,其余的文件块并没有受到影响。然而针对文件的任何改变都会导致在增量备份中整个文件被拷贝,这种基于文件的增量备份通常等同于数据库全备份。如果数据库管理器或者备份程序能够识别在数据库文件中变化了的数据块,就可以只备份变化的数据块;有这么一种技术被称作数据块级增量备份。
   在使用快速镜像不太现实的情况下,除使用更少的备份介质外,数据库增量备份能够减小备份窗口。一些数据库管理器能够执行透明的数据库物理增量备份和恢复,使对个别增量备份的管理降到最低。要完成一个基于块级别的备份的数据库恢复,首先应恢复最新的全备份,然后重新应用所有的后面的增量备份来恢复数据库映像。
   恢复任何的增量备份都需要花费时间。数据库管理员通常制定周期全备份计划,以便定期改变新的数据恢复基点,限制最高的增量跳越数量(和最糟糕情况下的恢复时间)。一些备份程序可以实现被称为“合成全备份”的功能,这是通过第二台服务器上的增量来实现的。这些合成全备份在每一次增量的恢复后都会产生一个新的基点。

站长资讯网
. TAG: 数据库 备份技术
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言