企业级数据库备份方案完全攻略(上)

作者:海量存储
2007/7/30 0:00:00
本文关键字: 存储 备份

在当今的发达的信息领域,体现价值的珍贵性的不是计算机软件,也不是计算机硬件,而是计算机内的各种宝贵数据。但是各种因素像人为错误,硬盘损坏,电脑病毒或者各种停电,自然灾害都有可能使得数据的使用变得不牢靠。建立合理的数据备份系统,以保障数据的安全,对于每个企业至关重要。

有专门研究数据的机构作出研究报告表明,每损失10MB的数据,就会造成部门损失达3万元人民币,而且如果丢失的关键数据在10天之内仍然得不到恢复的话,企业就会出现危机,甚至有可能出现严重后果。所以随着计算机系统越来越成为企业不可或缺的数据载体,如何利用数据备份来保证数据安全成为目前一个重要的研究和应用领域。

两大基础方案完成数据库备份
数据本身由于其运行环境和使用过程中出现的各种故障,使整个数据的完整性和许多因素相关。主要包括计算机本身软硬件的故障,使用过程中的误操作和各种计算机病毒的破坏。还有各种不可预测的自然因素也会造成数据的损坏和丢失。

其实目前企业数据库的备份方案主要有如下两种:

第一种为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要大容量的外部存储设备,例如磁带库;

第二种备份方案为逻辑备份,业务数据库采用此种方案,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备。

绝大多数数据库软件都是采用这两种基本方案的备份,只是在备份的策略和技巧上各有侧重,并且在各种数据库辅助软件的帮助下可以实现定时备份,异地备份,增量压缩备份以及自动备份,帮助企业在数据管理上更好的适应应用的需要。

制定备份方案需要考虑的因素

一般的数据库备份过程中需要考虑如下因素:

(1)数据本身的重要程度;

(2)数据的更新和改变频繁程度;

(3)备份硬件的配置;

(4)备份过程中所需要的时间以及对服务器资源占用的实际需求情况。

(5) 而且数据库备份方案中,还需要考虑到要对业务处理的影响尽可能地小,要把需要长时间完成的备份过程放在业务处理的空闲时间进行。对于重要的数据,要保证在极端情况下的损失都可以正常恢复。对备份硬件的使用要合理,既不盲目地浪费备份硬件,也不让备份硬件空闲。

针对这些特点,我们一起来看看常见的数据库软件的特点,这些数据库包括ORACLE,SQL SERVER,SYBASE,INFORMIX和MYSQL。通过分析这些数据库的备份策略,帮助企业学习如何选择各自的数据库备份方案。

ORACLE数据库备份方案和特点

Oracle数据库的备份方式主要有三种:逻辑备份、物理备份和RMAN备份。物理备份比较简单,也容易理解,主要是逻辑备份和RMAN备份过程。

逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。Oracle提供的逻辑备份工具是exp。逻辑备份最大的优越性在于备份时占用资源少,在备份与恢复时对数据库系统资源影响最小。另外对于个别表,但并非整个表空间或数据库的恢复也非常方便,且可以在不同的数据库上进行恢复。备份方案灵活,可以根据需要选择性的备份表、表空间、某用户的对象信息或全库备份。

逻辑备份的恢复过程可以采用lmp工具来对数据库进行恢复。如果确认整个oracle数据库已经损坏,就需要重建服务器,所有数据库培植必须设置成和原有库的信息一致,如实例名、数据库名、数据库字符集、表空间名等。然后将原有的exp文件copy到新系统,然后执行lmp的全库恢复操作。

如果只是某个用户对象出现问题,可以针对此用户进行用户对象的恢复,先将此用户删除。然后新建此用户。注意用户权限与原来一致,然后执行lmp进行恢复操作。对于某个表的恢复,也按这种方式操作。

RMAN是指Recovery Manager,是Oracle恢复管理器工具。通过它,可以对数据库进行备份与恢复操作。RMAN备份有很多方式,可以对数据库进行脱机、联机的物理备份,也可以对数据库进行增量备份。

在实际过程中用得比较多的是RMAN增量备份。其过程是首先注册备份数据库,先建立一个RMAN库,并将要备份的数据库注册到RMAN库中,然后建立RMAN增量备份脚本,最后就可以执行备份操作了。我们可以根据实际情况对数据库执行各级备份,也可以通过建立系统shell脚本调用执行,通过crontab定时调度,执行数据库的备份。

SQL SERVER数据库备份方案

为了保证SQL Server 数据的安全,数据库管理员应定期备份数据库,在不同情况下应采用不同备份数据库备份策略,一方面维持数据的安全性,另一方面也可保持SQL Server 能顺畅运行。尽最大的努力减少由于数据的损坏对客户造成的损失。SQL Server中有几种常用的备份方法:

(1)备份整个数据库中的所有数据,若将整个数据库的内容都备份下来,需很多的存储空间来存放备份数据,但其好处是在还原数据库时,也只要将整个数据库从一份数据库备份还原到 SQL SERVER 中就可以了。用这个备份文件就可以恢复整个数据库到备份的时间截止的内容。这种备份生成的备份文件最大,需要的时间最长,如果数据库规模比较大,可能对实际业务有很大的影响。完整备份是其他备份的基础,在做其他备份之前,必须得做此种方式的备份。

(2)备份自上次完全备份后,数据库所做的改变。在差异备份前,必须有一次完全备份,而还原时,也必须先恢复完全备份,然后再在完全备份的基础上恢复差异备份,不能用它单独恢复数据库。差异备份生成的文件比完全备份小,需要的时间比较短,所以此方式最适合作为经常性的备份方式。

(3)事务日志(Transaction Log)只备份事务记录文件的内容,由于事务日志文件只会记录我们在前一次数据库备份或事务日志记录备份之后,对数据库所做的变动过程,也就是只记录某一段时间的数据库变动情况,因此在做事务记录备份之前,必须做一次“完全”的数据库备份。

(4)文件和文件组方式。如果数据库的内容分散存储于多个文件或文件组,而且数据库已非常大,大到进行一次完整的数据库备份会有时间和存储空间上的问题。这时就可以使用此方式来备份数据库的部分文件或文件组。由于每次只备份部分的文件或文件组,因此需做数次不同的备份才能完成整个数据库的备份。才用此方式备份也有个好处,就是当毁坏的数据只是数据库中的某个文件或文件组时,也只要还原坏的文件或文件组备份就可以了。

还有一个比较重要的问题是系统数据库的备份与还原是很多用户在定义数据库备份方案中容易忽略的,系统数据库中虽然不保存业务数据,但它保存了很多SQL Server的设置,如果不备份系统数据库,那么在服务器发生故障导致系统损坏时,重新配置所有的SQL Server设置将是一个非常艰巨的任务。

SYBASE数据库备份特点

Sybase数据库产品从1987年问世以来,以客户机/服务器(client/server)工作模式、分布处理的基础体系结构、完善的安全保密性能、高速快捷的运行方式、多平台跨操作系统的特点在许多领域都有广泛的应用。

针对Sybase系统的备份方案,在实际应用中一般使用如下两种方法:

(1) 使用Sybase的Backup Server(备份服务器),做Dump备份

(2) 转储数据库(Dump database),就是为整个数据库(包括数据、表结构、触发器、游标、存储过程、事务日志等)做一次物理备份。转储数据库时,系统自动执行一次checkpoint,将日志和数据从缓冲区拷贝到硬盘,把已被分配的页(日志和数据)转储到设备。

如果备份到硬盘的文件上,可以不预先估算备份文件的大小,只要硬盘有足够的存储空间就可以。如果是备份到磁带上,那么就要估算一下备份后的大小,如果数据库的备份文件超过了这个尺寸,就要考虑多文件转储,使用stripe参数。

这种数据备份方式是将整个数据库的运行环境完整的复制一份,在使用load命令恢复时,只能恢复到同样大小的数据库中(数据和日志的大小都只能和原来完全一致),这种方法的优点是数据库完整无误,缺点是不能直接查看备份内容。

(3) 对数据结构和数据记录做两次备份

(4) 在一般情况下,生产机的数据库都比较庞大,而实验机则相对较小,难以在实验环境中以load命令恢复工作机的内容。所以我们可以将数据结构和数据记录做两次备份。

(5) 我们还可以利用做bcp备份脚本的方法进行数据库碎片整理。

Sybase数据库作为联机事务处理应用服务器,每天应用程序都对数据库做大量的插入、修改和删除等操作,不可避免的在数据库的物理存储介质上留下页碎片和扩展单元碎片,从而影响数据库的存储效率和运行速度。

在使用过程中,业务繁忙时出现死锁(dead lock),数据库的输入/输出资源被大量占用,业务处理速度慢。我们可以清空数据库中的所有表,删除所有表的索引和主键,然后导入数据,接着添加索引和主键,重新更新数据库状态。上述操作都是针对数据库中的所有用户表进行的,利用做bcp备份脚本的方法做出相应的脚本,使繁琐的数据库维护变得简便易行。

下篇,我们将向各位介绍另外两种数据库的备份方案,以及其备份方案的特点,同时还会向大家介绍,制定备份方案的原则,以及如何制定一份合理的备份方案。

责编:
vsharing 微信扫一扫实时了解行业动态
portalart 微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
    畅享IT
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918
    Baidu
    map