恢复数据库

2024-06-16

恢复数据库(精选十篇)

恢复数据库 篇1

数据库技术是计算机技术中一个重要分支, 其应用日益广泛。从小型数据库到大型数据库, 对数据库的管理也变得越来越复杂, 数据库出现故障的几率也越来越高。因此, 本文着重研究数据库的常见故障与恢复。数据库一旦出现故障, 恢复数据库的数据是很困难的。我们一般采用数据库备份策略, 通过数据库的备份与恢复, 来修复出现故障的数据库。

1 数据库故障种类

1.1 事务内部的故障

事务内部的故障有的可以通过事务本身发现, 有的是非预期的, 不能由事务程序处理的。如输入数据有误, 运算溢出, 违反完整性限制等等。

1.2 系统故障

系统故障是指造成系统停止运转的任何事件, 使得系统要重新启动。其中包括:特定类型的硬件错误、0S故障、DBMS代码错误, 突然停电等。这类故障影响正在运行的所有事务, 却不破坏数据库, 但这时主存内容都会被丢失, 所有事务都非正常停止。发生系统故障时, 一些尚未完成的事务的结果可能已送入物理数据库, 从而造成数据库可能处于不正确的状态。另一方面, 发生系统故障时, 一些已完成的事务可能有一部分甚至全部留在缓冲区, 尚未写回到磁盘上的物理数据库中, 系统故障使得这些事务对数据库的修改部分或全部丢失, 也会使数据库处于不一致状态。

1.3 介质故障

介质故障常称为硬故障, 指外存故障, 如磁盘损坏、瞬时强磁场干扰等。这种故障发生可能性小, 破坏性大。

1.4 计算机病毒

计算机病毒是人为的故障或破坏的恶意的程序。可像微生物一样迅速传播, 对计算机系统造成危害。

计算机系统还有许多种故障类型, 诸如 (1) 机械损坏计算机的各种部件 (包括磁盘) 都存在物理的、机械的故障可能性。 (2) 电源故障:指一般的UPS无法保护的异常电源故障。 (3) 自然灾害:地震、水灾, 火灾或其他原因造成的严重故障。 (4) 错误使用:客户应用程序以及服务程序使用中的中途故障。 (5) 恶意破坏:在一个系统中也不排除一些恶意破坏者。 (6) 其他还有多种形式:但大多数是以上几种形式的变体。

假如没有数据备份, 一旦产生故障就不可能恢复丢失的数据, 如果是这样的话, 不得不返回物理文件重新输入所有数据, 试想一下, 输入以前那些信息曾花费了多少个日夜, 并且在重新输入旧数据时, 新数据还在不断地到来, 所以没有理由不为服务器配置一个有效的备份设备, 多投入一点资金与潜在的不可恢复的商业信息以及人们的宝贵时间相比是值得的。

2 数据库备份与恢复

2.1 数据库备份与恢复的基本原则

不论选择哪种备份方法, 都有某些原则, 必须坚持这些原则, 才能确保在需要恢复数据库内容时得到最好的结果: (1) 定期执行备份。设置一个时间表并坚持使用它。 (2) 服务器定期运行更新日志文件。更新日志在需要恢复崩溃后的数据库时给予帮助。在使用备份文件将数据库恢复到备份时刻的状态后, 可以通过运行更新日志中的查询, 重新运行备份之后所做的改变。这个操作将数据库中的表恢复到了崩溃时刻的状态。在文件系统备份语言中, 数据库备份文件表示完全转储, 而更新日志则表示增量转储。 (3) 使用一致和可理解的备份文件命名模式。 (4) 在产生备份文件后可能需要将它们压缩。毕竟备份文件都比较大, 所以可能还需要终止备份文件以避免它们填满磁盘, 这与终止日志文件类似。可以用相同的技术终止备份文件。 (5) 用文件系统备份来备份您的备份文件。如果遭受了一个完全崩溃, 不仅毁坏了数据目录而且还破坏了包含数据库备份的磁盘驱动器, 那将造成真正的麻烦。还应该备份更新日志。 (6) 将备份文件放在与数据库不同的文件系统上。这将减少含有数据字典的文件系统被生成的备份文件填满的可能性。

2.2 数据库备份

2.2.1 影响数据库备份的因素

影响数据库备份的因素有多种, 包括: (1) 备份周期 (根据数据的重要程序, 可以选择每周、每日、每时进行备份) 。 (2) 使用静态备份还是动态备份 (动态备份也即允许数据库运行时进行备份) 。 (3) 仅使用全备份还是共同使用全备份和增量备份。 (4) 使用什么介质 (磁带还是磁盘) 。 (5) 使用人工备份还是设计好的自动备份程序。 (6) 检验备份完整性的周期。 (7) 备份存储的空间是否防窃、防磁干扰、防火。 (8) 是否指定其他人实行备份, 他们是否享有必要的登录号和口令。

2.2.2 数据库备份方法

对数据库的安全的要求的不同, 数据库的备份方法类型各自不同。在备份数据库的数据要依据安全性要求选用适当的备份方法。

(1) 数据库备份

数据库备份是指对数据库的完整备份, 包括所有的数据以及数据库对象。实际上备份数据库过程就是首先将事务日志写到磁盘上, 然后根据事务创建相同的数据库和数据库对象以及拷贝数据的过程。

备份的要求与条件: (1) 数据不是非常重要, 尽管在备份之后恢复之前数据被修改, 但这种修改是可以忍受的。 (2) 通过批处理或其他方法, 在数据库恢复之后可以很容易地重新实现在数据损坏前发生的修改; (3) 数据库变化的频率不大。

数据库的备份有完全备份和增量备份。前者不仅速度较慢, 而且将占用大量磁盘空间。正因为如此, 在进行数据库备份时, 常将其安排在晚间, 因为此时整个数据库系统几乎不进行其他事务操作, 从而可以提高数据库备份的速度。在对数据库进行完全备份时, 所有未完成的事务或者发生任何备份过程中的事务都不会被备份。如果使用数据库备份类型, 则从开始备份到开始恢复这段时间内发生的任何针对数据库的修改将无法恢复。

(2) 事务日志备份

事务日志备份是指对数据库发生的事务进行备份, 包括从上次进行事务日志备份差异备份和数据库完全备份之后, 所有已经完成的事务。

在以下情况下我们常选择事务日志备份: (1) 不允许在最近一次数据库备份之后发生数据丢失或损坏现象; (2) 存储备份文件的磁盘空间很小或者留给进行备份操作的时间有限, 例如兆字节级的数据库需要很大的磁盘空间和备份时间; (3) 准备把数据库恢复到发生失败的前一点; (4) 数据库变化较为频繁。

由于事务日志备份仅对数据库事务日志进行备份, 所以其需要的磁盘空间和备份时间都比数据库备份 (备份数据和事务) 少得多, 这是它们的优点所在。正是基于此, 我们在备份常采用这样的策略, 即每天进行一次数据库备份, 而以一个或几个小时的频率备份事务日志。这样利用事务日志备份, 我们就可以将数据库恢复到任意一个创建事务日志备份的时刻。

但是, 创建事务日志备份却相对比较复杂。因为在使用事务日志对数据库进行恢复操作时, 还必须有一个完整的数据库备份, 而且事务日志备份恢复时必须要按一定的顺序进行。比如在上周末对数据库进行了完整的数据库备份, 在从周一到本周末的每一天部进行一次事务日志备份, 那么若要打算对数据库进行恢复, 则首先恢复数据库备份, 然后按照顺序恢复从周一到本周末的事务日志备份。

(3) 差异备份

差异备份是指将最近一次数据库备份以来发生的数据变化备份起来, 因此差异备份实际上是一种增量数据库备份。与完整数据库备份相比, 差异备份由于备份的数据量较小, 所以备份和恢复所用的时间较短。通过增加差异备份的备份次数, 可以降低丢失数据的风险, 将数据库恢复至进行最后一次差异备份的时刻, 但是它无法像事务口志备份那样提供到失败点的无数据损失备份。

但在实际中为了最大限度地减少数据库恢复时间以及降低数据损失数量, 我们常一起使用数据库备份、事务日志备份和差异备份。而采用的备份方案是这样的: (1) 有规律地进行数据库备份, 比如每晚进行备份; (2) 以较小的时间间隔进行差异备份, 比如二个小时或四个小时; (3) 在相邻的两次差异备份之间进行事务日志备份, 可以每二十或三十分钟一次。

这样在进行恢复时, 我们可先恢复最近一次的数据库备份, 接着进行差异备份, 最后进行事务日志备份的恢复。但是, 在更多的情况下我们希望数据库能恢复到数据库失败那一时刻, 那么我们该怎样做呢?下面的方法也许会有大帮助:首先, 如果能够访问数据库事务日志文件则应备份当前正处于活动状态的事务日志;其次, 恢复最近一次数据库备份;接着, 恢复最近一次差异备份;最后, 按顺序恢复自差异备份以来进行的事务日志备份。

(4) 文件和文件组备份

文件或文件组备份是指对数据库文件或文件夹进行备份, 但其不像完整的数据库备份那样同时也进行事务日志备份。使用该备份方法可提高数据库恢复的速度, 因为其仅对遭到破坏的文件或文件组进行恢复。但是在使用文件或文件组进行恢复时, 仍要求有一个自上次备份以来的事务日志备份来保证数据库的一致性。所以在进行完文件或文件组备份后应再进行事务日志备份。否则备份在文件或文件组备份中所有数据库变化将无效。

如果需要恢复的数据库部分涉及到多个文件或文件组, 则应把这些文件或文件组都进行恢复。例如, 如果在创建表或索引时, 表或索引是跨多个文件或文件组, 则在事务日志备份结束后应再对表或索引有关的文件或文件组进行备份, 否则在文件或文件组恢复时将会出错。

2.3 数据库恢复

当系统运行过程中发生故障, 利用数据库的备份副本和日志文件就可以将数据库恢复到故障前的某一致性状态。对于不同的故障恢复的策略也不同。

2.3.1 事务故障的恢复

事务在运行时非法终止, 这时恢复子系统对数据库进行了修改, 造成了事务故障。这时系统自动完成恢复操作, 系统恢复步骤: (1) 反向扫描日志文件, 查找该事务的更新操作; (2) 对该事务的更新操作执行逆操作; (3) 反复操作, 直至读到事务的开始标志, 事务故障恢复完成。

2.3.2 系统故障的恢复

发生系统故障后, 系统在重启时自动完成恢复操作, 不需用户干预。系统故障恢复步骤: (1) 正向扫描日志文件, 找出在故障发生前已经提交的事务, 将其事务标识记入重做队列; (2) 对撤消队列中的各个事务进行撤消处理; (3) 对重做队列中的各个事务进行重做处理。

2.3.3 介质故障的恢复

介质故障后, 磁盘上的物理数据和日志文件被破坏, 只有重装数据库, 重做已完成的日志文件。具体来说 (1) 装入最新的后备副本, 使数据库恢复到最近的一次转储时的一致性状态; (2) 装入相应的日志文件副本, 重做已完成的事务。

介质故障的恢复需要DBA的介入, 由D B A执行恢复命令。在利用日志技术进行数据库恢复时, 恢复子系统必须要搜索日志, 确定事务的性质, 这需要搜索整个日志文件, 一是耗费大量时间搜索;二是需要处理的事务已经将他们的事务更新操作写在里数据库中, 重复操作耗费了大量的时间。解决这些问题, 又发展了具有检查点的恢复技术。这种技术在日志文件中增加新类的记录一检查点记录, 增加一个重新开始文件, 并让恢复子系统在登录日志文件期间动态地维护日志。

2.4 数据库备份与恢复的作用

数据库系统采用各种的措施来防止数据库的安全性和完整性不被破坏, 保证并发事务的正确执行, 但是计算机系统中硬件的故障、软件的错误、操作人员的失误以及别人的恶意破坏是不可避免的。这些故障、错误都可能影响整个计算机的安全, 而数据库的备份/恢复能够保证数据库的安全。数据库备份就是针对这些可能发生的故障采取的一些预防性的措施。数据库恢复就是为了解决这些故障带来的危害。数据库的备份/恢复技术是衡量数据库的标准之一。数据库系统所采用的备份/恢复技术是否有效, 不仅对系统的可靠程度起着决定性作用, 而且对系统的运行效率也有很大的影响, 是衡量系统性能优劣的重要指标。

3 结束语

本文论述了数据库常见的故障现象, 找出了消除这些故障的有效措施——数据库的备份与恢复。针对不同的数据库有不同的备份的方法。完全备份效果最好, 但费时费力。事务日志备份必须建立在上一次完全备份的基础之上。增量备份和差异备份工作量相对要小, 还有文件备份和文件夹备份。我们要综合使用这些备份技术, 譬如:我们每周做一次完全备份, 然后每天只做差异备份和增量备份即可。所以说, 备份与恢复技术是数据库安全运行的技术保障。

摘要:本文列举了数据库的常见故障, 找出了消除故障的方法, 重点论述了数据库备份与恢复。

关键词:数据库,备份,恢复

参考文献

[1]萨师煊, 王珊.数据库系统概论[M].北京:高等教育出版社.2000.

[2]王海亮等.精通Oracle10g备份与恢复.北京:中国水利水电出版社.2005.

[3]吴溥峰, 张玉清.数据库安全综述[J].计算机工程.2006.

[4]李社宗, 赵海青, 马青荣.数据库安全技术及其应用[J].河南气象.2005.

一步一步学习硬盘数据恢复数据恢复 篇2

初买来一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上操作系统才可以使用,一个完整硬盘的数据应该包括五部分:mbr,dbr,fat,dir区和data区。其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加。

主引导扇区

主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录mbr(main boot record)和分区表dpt(disk partition table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80h或00h为开始标志,以55aah为结束标志,共64字节,位于本扇区的最末端。值得一提的是,mbr是由分区程序(例如dos 的fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。

操作系统引导扇区

obr(os boot record)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于dos来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为bpb(bios parameter block)的本分区参数记录表。其实每个逻辑分区都有一个obr,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如msdos或者起源于msdos的win9x/me的io.sys和msdos.sys)。如是,就把第一个文件读入内存,并把控制权交予该文件。bpb参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、fat个数、分配单元(allocation unit,以前也称之为簇)的大小等重要参数。obr由高级格式化程序产生(例如dos 的format.com)。

文件分配表

fat(file allocation table)即文件分配表,是dos/win9x系统的文件寻址系统,为了数据安全起见,fat一般做两个,第二fat为第一fat的备份, fat区紧接在obr之后,其大小由本分区的大小及文件分配单元的大小决定。关于fat的格式历来有很多选择,microsoft 的dos及windows采用我们所熟悉的fat12、fat16和fat32格式,但除此以外并非没有其它格式的fat,像windows nt、os/2、unix/linux、novell等都有自己的文件管理方式。

目录区

dir是directory即根目录区的简写,dir紧接在第二fat表之后,只有fat还不能定位文件在磁盘中的位置,fat还必须和dir配合才能准确定位文件的位置。dir记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据dir中的起始单元,结合fat表就可以知道文件在磁盘的具体位置及大小了。在dir区之后,才是真正意义上的数据存储区,即data区。

数据区

data虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如dos下的format程序),并没有把data区的数据清除,只是重写了fat表而已,至于分区硬盘,也只是修改了mbr和obr,绝大部分的data区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因,

但即便如此,如mbr/obr/fat/dir之一被破坏的话,也足够咱们那些所谓的diy老鸟们忙乎半天了……需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使mbr/fat/dir全部坏了,我们也可以使用磁盘编辑软件(比如dos下的diskedit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件……)。

硬盘分区方式

我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑c磁盘。在主分区中,不

数据恢复基础 篇3

当今社会,计算机在我们的日常生活和工作中起着举足轻重的作用,我们许多的工作成果也以数据的形式存储在各种磁盘上,如硬盘、闪盘等。一旦磁盘上的数据损坏,有时损失是难以用金钱来衡量的,可见计算机数据的重要性。也因此,催生了数据恢复这一市场的发展。本系列,我们就将给大家介绍一些数据恢复的理论知识及实战,希望能给大家在就业或创业方面提供一些帮助。

业界探幽

CFan:飞客作为一家专业的数据恢复公司,也在做这方面的培训,能否请你们谈谈数据恢复市场的现状?

聂阳:据IDC调查分析:数据存储量以年均80%的速度增长,数据备份恢复服务市场到2010年将增长到100亿美元以上,中国市场也将猛增到7亿美元。随着电子产品越来越多地走进千家万户,数据问题爆发得愈加频繁。一方面数据恢复的需要促进了市场供给,另一方面数据恢复相较传统维修业务的高回报率,促使了数据恢复公司如雨后春笋般成立。目前这一领域,代表性的如江民科技旗下的飞客数据恢复中心,已发展成大规模的全国性连锁服务商。

CFan:数据恢复工程师,一般薪资待遇如何?

聂阳:巨大的市场需求造成了短期的数据恢复人才短缺,国外经验丰富的数据恢复工程师薪金最高可达每月7万美元,国内水平较高的数据恢复工程师年薪也超过了10万元人民币。

芝麻开门

CFan:数据恢复工程师需要什么样的基础知识?

聂阳:到了数据恢复公司,一般会问你“用的操作系统是什么?”“分区类型是FAT32还是NTFS?”“存放的是什么类型的数据?”之类的问题。这就如同去医院看病,医生会问很多问题以判断是什么疾病一样。其实这几个常规问题,也反应出了对数据恢复工程师的基本知识要求:需要对各类操作系统、FAT32及NTFS等常见的硬盘分区格式、不同类型的文件格式等有深入的了解。所以在培训的初始阶段,我们一般要先讲解硬件的工作原理。

知己知彼

了解数据存储原理

无论是有实力的数据恢复公司还是市场上的那些零散的“专业数据恢复提供商”,其实从大家所使用的工具软件上来讲,都是类似的。差别就在于经验和对软件的了解——每种软件对于恢复不同的文件系统、不同类型的数据、不同情况的故障原因,效果差别极大。而这也是一般用户所不了解的。所以针对不同的文件系统、不同的故障,适当地选择数据恢复软件可以有效地进行数据抢救。

怎么选择及合理应用数据恢复软件?首先必须了解存储介质的存储结构以及数据的存储原理,了解文件的读取方式、写入方式以及删除方式等。

文件的读取

操作系统从目录区中读取文件信息,包括文件名、扩展名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号等。我们这里假设第一个簇号是0023,操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。

文件的写入

当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。

文件的删除

看了前面的文件的读取和写入,你可能没有往下边继续看的信心了。不过放心,Windows的文件删除工作却是很简单的,简单到只在目录区做了一点小改动—将目录区的文件的第一个字符改成了E5就表示将该文件删除了。

网络大补贴

当然,数据存储的原理,不是上面几段文字就能够说清楚的,所以对有志于数据恢复这一行业的朋友来说,应该多找一些相关的专业书籍深入研究阅读,另外,网上也能搜索到不少这方面的资料,下面就列举一些。

★FAT文件系统原理

● http://zh.wikipedia.org/w/index.php?title=FAT32&variant;=zh-cn

● http://www.mypm.net/blog/user2/shujuhuifu/archives/2009/33442.html

★NTFS文件系统原理

● http://zh.wikipedia.org/w/index.php?title=NTFS&variant;=zh-cn

★Linux常见的ext3文件系统原理

● http://zh.wikipedia.org/w/index.php?title=Ext3&variant;=zh-cn

任务实战

在整个PC与服务器架构中,硬盘可谓是最为脆弱的部件,却又担当着最艰巨的任务—数据存储。正所谓“硬盘有价而数据无价”,一旦硬盘出现故障,用户的数据将无法得到保障(见图1)。

从故障上来看,一般的数据恢复公司会把故障分为软件、硬件、开盘、磁盘阵列等几类。这几个分类又可以进一步细分,例如软件方面可以细分为:误删除、误格式化、误合并分区、文件损坏、病毒破坏等等。针对不同的问题会有不同的解决方案。一般用户并不知道这个道理,不管什么问题一律用从网上找到的恢复软件扫描修改,结果有可能加剧数据损坏。

实战:抢救RAW闪盘中的数据

当你把保存有重要文件的闪盘插入电脑的USB接口中,资源管理器中也很快显示出“可移动磁盘(X:)”的盘符,可是当你双击打开它时,却弹出磁盘未格式化的窗口,肯定会吓你一大跳。当然不能点击“是”了,里面还有重要文件怎能格式化!当右击出问题的盘符,选择“属性”时,可看到它的文件系统变成了RAW。

RAW英文有未经加工的意思,Windows中则是指未经格式化的磁盘。本来用得好好的闪盘,因为中毒、误操作、读取数据过程中强行拨出、设计不良的USB接口等多方面原因造成闪盘分区被破坏,都会出现RAW问题。从RAW化磁盘中抢救数据,目前EasyRecovery(试用下载:http://www.onlinedown.net/soft/73968.htm)做得比较好。

第一步:下载后解压安装,然后插入故障闪盘,另外再插入一块好的闪盘(容量要大于故障闪盘),然后运行EasyRecovery,进入软件主界面后点选左侧“数据恢复”,然后点击右侧“Raw恢复”。

图2

第二步:软件扫描系统后会发现RAW化的闪盘(见图2),点选它,再单击前进(Next),接下来是漫长的扫描过程。完成后将显示如图3所示的界面。因为它没有显示具体的文件名,所以你要自己确定文件类型(比如要恢复的是RAR文件就勾选左侧DIR.RAR),并根据文件大小判断并选定要恢复的文件。

图3

第三步:选好后点击“前进”进入下一个界面,在这里通过“浏览”设置恢复后的文件保存位置(见图4)。最好是选择其他的磁盘,比如保存到另一块好的闪盘或移动硬盘上,实在没有第二块磁盘的话,可选择与要修复的文件不同的另一个分区。设置完毕,点击“前进”。恢复完毕,在设置的目标磁盘中会找到“DIR2.RAR”之类的文件夹,打开后就可以看到你需要的文件了。

图4

小提示

★小编在做测试的时候,发现有些恢复的RAR文件头损坏,无法用WinRAR打开。这时可先启动WinRAR,在WinRAR内嵌的资源管理器中选中损坏的RAR文件,再点击工具栏的“修复”,根据向导提示操作,可修复RAR文件。

★在确认需要的数据都已经恢复完毕并已安全保存到别处之后,我们可以试试Mformat(U盘修复工具,http://work.newhua.com/cfan/200913/MformatV1.00.zip)这款软件来修复闪盘。解压后运行软件,它会自动检测到闪盘,本例中闪盘为H盘,点击“H”按钮即可开始修复(见图5)。如果是同时修复多个闪盘,也可点击左下角“全部开始”,就不用一一点击了。修复好的闪盘,又会变回FAT32格式,可以正常使用了。不过这样的闪盘终究不是很稳定,重要资料以后最好不要用它来保存。

浅谈数据库恢复技术 篇4

关键词:数据库,恢复技术,故障

当我们使用一个数据库时, 总希望数据库的内容是可靠的、正确的。但在对数据库应用的过程中, 由于人为误操作、人为恶意破坏、系统的不稳定、存储介质的损坏等等原因而影响数据库系统的操作, 影响数据库中数据的正确性, 甚至破坏数据库使数据库中部分或全部数据丢失, 这将带来严重后果。因此, 当发生上述情况后, 人们希望能重新建立一个完整的数据库, 该处理过程称为数据库恢复。

1 事务特性

事务 (Transaction) 是用户定义的一个数据库操作序列, 这些操作要么全做, 要么全不做, 是一个不可分割的工作单位。

事务有4个特性。原子性:事务是数据库的逻辑工作单位, 事务中包括的诸操作要么都做, 要么都不做;一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态;隔离性:一个事务的执行不能被其他事务干扰, 即一个事务内部的操作及使用的数据对其他并发事务是隔离的, 同时并发执行的各个事务之间不能互相干扰;持续性:一个一个事务一旦提交, 它对数据库中数据的改变就应该是永久性的, 接下来的其他操作或故障不应该对其执行结果有任何影响。

事务是数据库恢复和并发控制的基本单位。

2 数据库故障的种类及相应的恢复方法

2.1 事务故障

事务故障是指某个事务在运行过程中由于种种原因未运行至正常终止, 而此时数据库可能处于不一致状态。发生事务故障时, 该事务可能已把对数据库的部分修改写回磁盘。

恢复方法:撤消事务 (UNDO) 。强行回滚 (ROLLBACK) 该事务;清除该事务对数据库的所有修改, 使得这个事务象根本没有启动过一样。

2.2 系统故障

系统故障是指造成系统停止运转的任何事件, 使得系统要重新启动。系统故障通常使所有正在运行的事务都非正常终止、内存中数据库缓冲区的信息全部丢失。

恢复策略:1) 清除尚未完成的事务对数据库的所有修改。系统重新启动时, 恢复程序要强行撤消 (UNDO) 所有未完成事务;2) 将缓冲区中已完成事务提交的结果写入数据库。系统重新启动时, 恢复程序需要重做 (REDO) 所有已提交的事务。

2.3 介质故障

介质故障称为硬故障。硬件故障使存储在外存中的数据部分丢失或全部丢失, 比如磁盘损坏、磁头碰撞、瞬时强磁场干扰等。介质故障比前两类故障的可能性小得多, 但破坏性大得多。

恢复策略:装入数据库发生介质故障前某个时刻的数据副本;重做自此时始的所有成功事务, 将这些事务已提交的结果重新记入数据库。

3 数据库恢复的实现技术

数据库恢复的基本原理是建立冗余数据。

3.1 数据转储

数据转储是指将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新装入, 但重装后备副本只能将数据库恢复到转储时的状态, 要想恢复到故障发生时的状态, 必须重新运行自转储以后的所有更新事务。

3.2 建立日志文件

日志文件 (log) 是用来记录事务对数据库的更新操作的文件。

日志文件内容包括:各个事务的开始标记、各个事务的结束标记、各个事务的所有更新操作。每个事务开始的标记、每个事务的结束标记和每个更新操作均作为日志文件中的一个记录, 每条日志记录的内容

又包括事务标识、操作类型 (插入、删除或修改) 、操作对象 (记录ID、Block NO.) 、更新前数据的旧值 (对插入操作而言, 此项为空值) 、更新后数据的新值 (对删除操作而言, 此项为空值) 。

日志文件的可以用来进行事务故障恢复和系统故障恢复, 并协助后备副本进行介质故障的恢复。

3.3 具有检查点 (checkpoint) 的恢复技术

这种技术在日志文件中增加一类新的记录——检查点 (checkpoint) 记录, 增加一个重新开始文件, 并让恢复子系统在登录日志文件期间动态地维护日志。

使用检查点方法可以改善恢复效率。当事务T在一个检查点之前提交, T对数据库所做的修改一定都已写入数据库, 写入时间是在这个检查点建立之前或在这个检查点建立之时。这样, 在进行恢复处理时, 没有必要对事务T执行REDO操作。

3.4 数据库镜像

数据库管理系统自动把整个数据库或其中的关键数据复制到另一个磁盘上, 并自动保证镜像数据与主数据的一致性。出现介质故障时, 数据库管理系统自动利用镜像磁盘数据进行数据库的恢复, 不需要关闭系统和重装数据库副本。

4 结论

故障是不可避免的。我们一定要高度重视系统数据安全工作, 防止在出现意外情况时能够最大限度地减少损失。

参考文献

[1]康懿.基于SQL Server的数据库恢复技术[J].科技信息, 2009 (29) .

[2]龚雄涛.SQL Server数据库恢复技术研究[J].科技信息, 2009 (27) .

如何恢复Sybase数据库 篇5

如何恢复Sybase数据库

。再你经过多种方法设法恢复系统而失败后,这时你最担心的就是你的数据。

我装的sybase12,前几天系统突然莫名其妙的坏掉了。因为是自己的机子,所以我把软件全部安装到了d盘上,这可真是帮了我的大忙啦。可见,一个好的习惯是非常要得的。

我把系统重新安装后,数据库肯定是不能使用了,但是可不可以恢复呢?我最关心的最想要的是我的数据啊。想到使用oracle时,有一种方法可以恢复,就是将数据库系统按照原来安装的方式再装在系统上,然后将d盘上保留的数据文件等进行替换,数据库恢复好用,

在这种情况下,我当然是立马工作了。先把d盘上保留的自己要用的拷贝到另外一个地方;然后照上一次的,包括命名方式、选择目录等,进行安装sybase服务端和客户端,安装成功结束后。

我停止sybase服务,将原系统下sybase服务端目录下的data文件夹(我的环境下是在D: ybase ybase_sdata,也就是master设备文件)全部拷贝到新装的同一位置下,然后重新启动sybase服务啦。

重启成功,给了很大的信心;看看是不是原来的数据库全出来了,进入sybase centrel,发现原来有的现在都有了,啊,My God!一切都是ok。

谈笑间恢复硬盘数据 篇6

原来我们硬盘数据丢失,大多情况下都需要将硬盘挂到其他的计算机上,再用恢复软件恢复,不过《深山红叶》类的启动光盘、闪盘,可以让我们更轻松地进行数据恢复。

软件名称:深山红叶熊猫烧香版

软件版本:V28

授权方式共享软件

软件大小:196MB

下载地址:http://www.d-dd.org/Softlsoftj/soft/81200702/971.html.

《深山红叶》的最新版本是《深山红叶熊猫烧香版v28》,将这个下载下来的SIO光盘镜像文件刻录到光盘上,就可以从光盘启动进行文件恢复了。

《深山红叶》启动的是图形界面的Windows系统,它内置了各种小工具。其中我们将要用到的是在“程序”→“数据恢复”下的“文件恢复Recover My Files”。

“Recover My Files”可以恢复各种原因造成的数据丢失,由于误Ghost造成的数据丢失一般选择“完全格式化恢复”。

这时我们可以看到“选择驱动器”窗口,误Ghost操作之后一般硬盘只有一个分区,在它前面打钩就可以了。

接下来打开的是“要恢复文件类型选择”窗口,“RecovorMy Files”支持恢复图片文件、多媒体文件、文档文件(Word、Excel、PowerPoint)和其他多种类型,请根据自己的实际情况选择(如图4)。

“Recover My Files”搜索后会将搜索到的文件列表显示。我们只需在相应的文件前打钩,选择好保存路径后(可以用u盘或者移动硬盘来保存),就可以点击“保存文件”将丢失的文件恢复。

RMAN的数据库备份恢复 篇7

备份恢复总体上说可以分为两大类, 一种是逻辑备份, 逻辑备份包含的是逻辑数据 (例如, 表和存储过程) , 它通过oracle导出工具进行数据导出并保存在二进制格式的文件中;另一种就是物理备份。在物理备份中, 又可分为冷备份和热备份, RMAN备份就是热备份其中的一种。

接下来我们了解下冷备份与热备份:

冷备份就是停机备份, 也就是将ORACLE数据库停掉, 然后将数据文件、控制文件、在线重做日志文件等需要备份的文件进行拷贝, 恢复的时候同样拷贝回去覆盖即可。

一、RMAN备份在联机备份中究竟有什么优势呢

当进行联机备份时有可能造成数据块的不一致。例如, 假设在DBWR对某个块的更新进行到一半时, RMAN或者是操作系统cp命令对该块进行读取。在这种情况下, RMAN或者是cp命令读取该块时, 可能块的上半部分读到旧值而块的下半部分读到新值。这种块就是分割块 (fractured block) 意味着该块里的数据是不一致的。

当使用操作系统工具对单个数据文件或者是联机表空间进行备份时, 你必须通过另外的办法来处理分割块。首先你必须通过ALTER TABLESPACE...BEGIN BACKUP;语句将要备份的联机表空间置于备份模式。只有处于读写状态的联机表空间才能被置于备份模式。表空间置于备份模式后, oracle停止更新该表空间的数据文件的检查点信息。备份完成后, 必须通过ALTER TABLESPACE...END BACKUP或者ALTER DATABASE END BACKUP语句结束表空间的备份状态, 然后oracle会将数据文件头更新到当前的检查点。

二、备份恢复法则及RMAN备份的设置和增量备份

1、备份恢复的原则:

(1) Oracle数据库发生故障后, 需要以下介质作为恢复的媒介:

(2) 控制文件和所有数据文件最近的备份

(3) 最后一次备份以来产生的所有归档日志

(4) 通过oracle的多路复用或操作系统镜像所产生的联机重做日志文件的副本

(5) 通过oracle的多路复用或操作系统镜像所产生的控制文件的副本

(6) 配置文件例如spfile, tnsnames.ora, listener.ora

常用的介质备份冗余, 通常放在不同的磁盘或阵列, 用来防止因为某个磁盘或阵列损坏造成的无法恢复的局面。

2、oracle建议遵从以下原则:

(1) 使用操作系统或硬件对控制文件进行镜像, 因为Oracle并不是完全支持控制文件的多路复用:当控制文件的一个副本出错时, 数据库就会关闭。

(2) 通过oracle本身多路复用联机重做日志文件和控制文件, 而不仅仅通过操作系统或是硬件。通过oracle自身多路复用时, 一个I/O错误或写丢失只会影响一个副本。

(3) 使用操作系统或硬件对主要的数据文件进行镜像。这样在发生简单的磁盘故障时, 就不需要进行介质恢复。

(4) 在磁盘上保存整个冗余集 (包含最近的备份) 的一个副本。

(5) 如果数据库存储在RAID上, 那么将冗余集放在该RAID外的磁盘上。

(6) 如果冗余集存储在磁带上, 那么至少保存两个副本。如果对相同的数据保存多个副本, 可以考虑在不同的时间点备份。

三、RMAN的设置

RMAN需要设置的东西并不多, 在cmd界面输入RMAN target/as sysdba进入RMAN, 将下列参数设置如下 (其他参数不一一列举) :

RMAN>CONFIGUREBACKU POPTIMIZATION ON;#备份选项

RMAN>CONFIGURE CONTROLFILEAUTOBACKUP ON;#自动备份控制文件选项

四、全库备份和增量备份

全库备份顾名思义就是将整个数据库备份, 就备份而言, 能够很好的保证整个数据库的运行, 但当一个数据库过于庞大的时候, 每次都执行全库备份, 对于存储和备份时间来说, 都是不小的压力。RMAN中对于此类问题引入了增量备份, 即以一个备份作为基点, 每次在此基点的基础上, 把增加的改变进行备份, 从而加快备份时间, 减少对服务器的压力。增量备份可以分为0-7级备份, 每级备份只找前面最近的低级备份作为备份起点, 实施增量备份, 对于各种要求的数据库来说, 灵活运用分级备份, 可以起到很好的效果。

五、备份实战举例

RMAN完全恢复及各种不完全恢复

Rman中最基本的命令就是RESTORE和RECOVER。RESTORE命令可以从备份集或镜像拷贝中重建数据文件, 并且可以指定重建的位置。归档日志文件的备份集也可以通过该命令来重建。RECOVER命令通过应用归档日志或增量备份实现介质恢复。

总结

ORACLE数据库备份及恢复 篇8

随着医院信息系统(HIS)应用的普及和扩大,医院的各项工作越来越离不开计算机网络系统了,为了保障医院数据的完整性和安全性,必须定期备份,以便在数据库出现故障甚至崩溃的情况下,及时恢复断点,保持业务的持续性,保障医院各种数据的完整性。

1 利用任务计划建立每天定时备份的工作

1.1 建立备份的批处理程序

根据医院情况不同,建立适应自己工作的批处理程序,以此来方便工作。定时执行所建立的批处理程序,来满足ORACLE数据库的日志备份和控制文件及未归档文件的备份要求。

1.2 定期全库安全备份

在医院管理信息系统(HIS)中,全库备份是非常重要的,工程技术人员一定要把好全库备份这一关,定期备份(每周最少1次),并做到全库备份后存放异地(或其它备用服务器上),做好记录,妥善保管,以便后来的日志文件、控制文件、未归档文件做断点恢复时使用。备份日志、控制、归档文件(内容有增加或修改,文件就自动备份)是建立在ORACLE数据库全库备份的基础之上的,没有很好的数据库全库备份,则日志、控制、未归档文件就不完整,也谈不上ORACLE数据库断点恢复。

备份后的数据文件要有安全性,要保证文件的来源安全,以及文件存放的安全。

2 断点恢复过程

当网络出现突然宕机或其他故障时,可按如下方法操作,快速恢复断点,使网络恢复正常秩序。

(1)在原服务器上的DBA Studio中关闭数据库,然后运行scrmgrl。执行:connect internal/oralceshutdown immediate;//不能用abort。

(2)拷贝以前的有效数据库全库备份和最新的控制文件到备份服务器相应的子目录中。

(3)在原服务器上用system口令进入SQLplus>,执行:alter system switch logfile;//目的是将在线日志归档。

(4)拷贝所有的归档日志文件到备份服务器相应的子目录中。

(5)在备份服务器上执行:startup monut recover database until cancel;//(或recover automatic database;)。先选择auto,尽量恢复可以利用的归档日志,然后再次执行recover database until cancel。

这次输入cancel,完成不完全恢复,也就是说执行2次。

SQL>recover database until cancel;Cancel;

如果成功,就能看到sqlplus逐条读入归档日志并写入数据库的画面。

(6)在备份服务器上执行:alter database open resetlogs;//打开数据库。

这种办法恢复的数据库是不完全恢复,会丢失当前联机日志中的事务数据;这种方法适合于归档数据库并且在可用的数据库全备份;恢复成功之后,要重做数据库的全备份(完全备份备用服务器的数据库)。

(7)在备用服务器上执行:shutdown immediate。

至此,恢复工作完成。

由以上可以看出,控制文件和归档日志是恢复ORACLE的必要条件,所以,在ORACLE数据库全库备份完整的前提下,做好日志、控制、未归档文件的备份非常重要,也是数据库恢复断点的根本。我们希望此文能抛砖引玉,让大家都积极献言献策,从安全稳定,简单易行的角度把数据库的管理工作做得更好。

参考文献

[1]赵世军,张利萍.关于Oracle数据库备份的理论研究与应用[J].华北科技学院学报,2004,1(2):59-62.

[2]韩晟,王锦伟,魏炜,等.专科医院信息存储与双机热备的应用[J].中国医疗设备,2011,26(3):43-44.

[3]翁锦阳,何萍,朱铁兵.大型医院信息系统的容灾设计和应用[J].中国医疗设备,2011,26(1):59-60.

[4]徐亮,兰新华,段芳.ORACLE在信息系统应用中的一种备份方案[J].南昌高专学报,2010,(2):163-164.

[5]王健.Oracle数据库的备份与恢复策略研究[J].计算机安全,2007,(2):26-28.

[6]文瑞映.ORACLE数据库的备份与恢复[J].电脑知识与技术,2006,(23):29.

Oracle数据库备份与恢复研究 篇9

数据库出现故障造成的影响是全局的,一旦数据库系统停工,几乎所有业务活动都将被迫停止。随着ARP系统应用的广泛和深入,系统对数据的依赖性越来越强,用户希望获得稳定应用服务的要求也越来越迫切。数据库备份和恢复作为提高系统可靠性的一项重要措施,得到了充分重视。如果系统数据实施经常性备份,一旦系统发生故障就可实现快速恢复。

O racle 9i数据库有两种运行模式,它们分别是归档模式和非归档模式。当数据库运行在非归档模式时,因日志文件记录的日志记录有限,所有的日志写满后循环覆盖,日志历史没有备份。而当数据库运行在归档模式时,在日志写满后循环覆盖前,被覆盖的日志文件会做归档处理。因为有完整的日志,归档模式下,既可做冷备份也可做热备份,既可完整备份,也可做部分备份。

O racle数据库的备份方式主要分为三种:物理备份、逻辑备份和RMAN备份。

2. 物理备份

物理备份比较简单,主要是指对数据库文件的拷贝备份。其中包含冷备份和热备份。

2.1 冷备份

冷备份也称为脱机备份(offline backup),是停止数据库服务后将关键性文件拷贝到另外一个位置的方法。可采用不同的备份方式:如利用磁带转储命令(tar)将所有文件转储到磁带上,或将所有文件原样复制(copy,rcp)到另一个磁盘中或另一个主机的磁盘中。冷备份必须关闭数据库服务,这样势必导致应用系统服务暂停;而且只能执行完整的备份。手动备份与恢复由DBA通过复制文件来实现。冷备份数据库只能恢复到停机备份时刻,之后的数据全部丢失。

冷备份具有以下优点:

1)是非常快速的备份方法(只需拷贝文件);

2)容易归档(简单拷贝即可);

3)容易从某个时间点上恢复(只需将文件再拷贝回去);

4)能与归档方法相结合,作数据库“最新状态”的恢复;

5)低度维护,高度安全。

冷备份也有以下不足:

1)单独使用时,只能提供从“某一时间点上”的恢复;

2)在冷备份过程中数据库必须是关闭状态,不能提供服务;

3)若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢;

4)不能按表或按用户恢复。

冷备份的一般步骤是:

1)关闭数据库(shutdown immediate);

2)复制数据库(!cp);

3)启动数据库(startup)。

2.2 热备份

热备份也称联机备份(online backup),是不停止数据库服务的数据备份。热备份只能用于归档模式的数据库。热备份没有必要备份联机日志,但必须是归档状态;在实例恢复的时候,可能需要用到归档日志;当前联机日志一定要保护好或是处于镜像状态。当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。

热备份具有以下的优点:

1)可在表空间或数据文件级备份,备份时间短;

2)备份时数据库仍可使用;

3)可达到秒级恢复(恢复到某一时间点上);

4)可对几乎所有数据库实体作恢复。恢复是快速的,在大多数情况下在数据库工作时仍可恢复。

热备份具有以下不足:

1)不能出错,否则后果严重;

2、)若备份不成功,所得结果则不能用于时间点的恢复;

3)维护因难,所以要特别谨慎小心,不允许“以失败而告终”。

热备份的一般步骤是:

1)连接数据库(connect internal);

2)设置表空间为备份模式(alter tablespace user beginbackup);

3)复制数据文件(!cp

);

4)设置表空间为非备份模式((alter tablespace user endbackup);

5)重复步骤2、3、4备份其他表空间。

3. 逻辑备份

逻辑备份(logical backup)就是利用SQL语句从数据库中提取数据,将其记录读出,并写入到一个二进制文件中。这些记录的读取与其物理位置无关,创建数据库的逻辑拷贝。这种方案对于数据量较少的数据库或者对于部分用户数据备份较为方便,但对于数据量较大的数据库备份,在效率和空间上都没有优势。Oracle提供的逻辑备份工具主要是输出exp和输入imp命令。逻辑备份有三种工作方式:交互式方式、命令行方式、参数文件方式。有三种导入导出模式:表方式,将指定表的数据导出/导入;用户方式,将指定用户的所有对象及数据导入/导出;全库方式,将数据库中的所有对象导入/导出。

3.1 数据导出(export)

数据导出程序用来把数据库(其中包括数据字典)输出写入一个称为转储文件(export dump file)的二进制文件中,它可以导出整个数据库、指定用户或指定表。数据导出有三种模式:完全(ful1)导出模式,用户(user)导出模式,表(table)导出模式。

数据导出的一般步骤是:

1)连接数据库(connect internal);

2)导出数据(exp userid=user Id/pwd owner=tablespacefile=/backup/backup File);

3)重复步骤2备份其他表空间。

3.2 数据导入(import)

数据导入过程是数据导出(export)的逆过程,它们的数据流向不同。Import实用程序读取由Export创建的二进制导出转储文件并执行在那里发现的命令。已导出的数据可以不必导入到同一个数据库中,其环境可以是不同的模式或独立的数据库。可以导入全部或部分已导出的数据。如果导入—个全导出的数据库,则所有数据库对象(其中包括表空间、数据文件和用户)都会在导入时创建。

数据导入的一般步骤是:

1)连接数据库(connect internal);

2)导出数据(impuser Id=user Id/pwdfile=/backup/backup File from User=db User to User=db User2);

3)重复步骤2导入其他表空间。

逻辑备份的优缺点是:对小型数据库进行备份,export是一个非常方便的备份方法,但是对一个大型数据库来说,它就有很多不方便的地方了:它不提供时间点恢复的支持,而且不能和归档重做日志文件一起使用;没有导入表和利用重做日志文件前滚的概念;导出时间不宜过长,否则影响数据库运行的性能和导出的一致性。对于表的导出,它将在开始导出时给出表的一致性只读视图。导出过程中对表的任何改动,都不会加入导出文件。

4. RMAN命令

R MAN是指R ecovery Manager,是O racle恢复管理器工具。RMAN命令执行器本质上是一种命令解释程序。它获取用户输入的控制命令,并将其翻译成PL/SQL指令,通过网络连接目标数据库并将PL/SQL指令传送给数据库实例中的DBMS_BACKUP_R ESTO R E和DBMS_R CVMAN两个PL/SQ L程序包(这两个程序包由脚本CATPR O C.SQ L在创建数据库时自动创建),再由这两个PL/SQL程序包从目标数据库控制文件中获取备份知识信息,按照其中的指示要求,对目标数据库实施备份、还原、恢复或其它控制操作。RMAN备份有很多方式,可以对数据库进行脱机、联机的物理备份,也可以对数据库进行增量备份。在实际过程中用得比较多的是RMAN增量备份。

R MAN备份有以下优点:

1)支持在线热备份;

2)支持多级增量备份;

3)支持并行备份、恢复;

4)减少所需要备份量;

5)备份、恢复使用简单。

4.1 完全备份

数据库必须运行在归档模式下,并启用自动归档命令。下面以数据库处于Open状态时采用Rman备份集备份方式完全备份整个数据库为例,主要操作步骤如下:

1)$>R man//在命令行下启动R man;

2)R MAN>connect target system/manager//必须以sysdba角色连接目标库才能执行Rman备份;

3)在R MAN中设置正确的时间格式;

4)R MAN>run{

为确保数据安全,DBA还可在RMAN中备份备份集,用于多重保护备份。一旦数据库发生故障时,因为有完整的数据备份,DBA只需简单的操作即可恢复。主要操作步骤是:

1)SQ L>startup mount//启动数据库为mount状态;

2)R MAN>restore database//自动查找最近、有效备份恢复数据库;

3)R MAN>alter database open//打开数据库,服务恢复。

4.2 增量备份

增量备份又称不完全备份,增量级分0~4共5个级别,常用的有0级、1级和2级。0级为完全增量备份,备份整个数据库数据。差异增量备份是默认的增量备份类型,只备份n或更低级别备份以来修改过的块增量备份,备份更快,但恢复时需要更多备份文件,所以恢复速度慢;累计备份包括从n-l及或更低级别备份以来修改过的块,备份的数据多,但恢复速度快。

采用Rman备份集备份方式不完全备份数据库时,也可分别备份不同的数据库文件。我们可制定采用差异增量备份备份数据库的策略,如图1所示,主要操作步骤是:

1)必须先将数据库改为归档方式运行;

2)启用自动归档;

3)在R MAN中设置正确的时间格式;

4)R MAN>BACKUP IN CR EMEN TAL level 0 database;//周日执行0级完全备份;

5)R MAN>BACKUP IN CR EMEN TAL level 2 database;//周一执行2级增量备份;

6)R MAN>BACKUP IN CR EMEN TAL level 2 database;//周二执行2级增量备份;

7)R MAN>BACKUP IN CR EMEN TAL level 1 database;//周三执行1级增量备份;

8)R MAN>BACKUP IN CR EMEN TAL level 2 datab ase;//周四执行2级增量备份;

9)R MAN>BACKUP IN CR EMEN TAL level 2 database;//周五执行2级增量备份;

10)R MAN>BACKUP IN CR EMEN TAL level 2 database;//周六执行2级增量备份;

11)R MAN>BACKUP IN CR EMEN TAL level 0 database;//周日执行0级完全备份。

当数据库发生故障时,DBA用Rman恢复的具体操作步骤是:

1)将数据库置于mount状态;

2)分配管道;

3)还原所有数据文件;

4)恢复数据库;

5)使用resetlogs打开数据库;

6)执行完整的数据库备份。

图1是一个增量备份的例子,即在第一个星期天做一个增量的0级备份即完全备份,然后在星期一,星期二做一个增量的2级备份,在星期三做一个增量的1级备份,然后类推。假设现在在星期五数据库需要做恢复,则可以先恢复第一个星期天的0级备份,然后恢复星期三的1级备份,再恢复星期四和星期五的2级备份就可以完成数据库的恢复。因为在系统录入后的数据进入数据库后将大部分变为只读状态,所以采用对这些表空间只备份一次或比经常改变的表空间备份次数更少的方法,将能够很大地减少备份的数据量。

4.3 RMAN备份相关的优化

R MAN备份操作主要是完成以下三个步骤:

1)从磁盘上读取数据;

2)在内存中处理数据块;

3)写入数据到磁盘或磁带。

以上的读写操作可以同步或异步的完成。同步I/O操作中,一个时间只允许有一个I/O操作,但是在异步I/O操作中,一个时间允许有多个I/O操作。因此,备份与恢复的调优主要集中在以下几个方面:

4.3.1 提高同步或异步I/O操作能力

在支持异步操作的操作系统上,可以通过设置TAPE_AYSN CH_IO,DISK_ASYN CH_IO和BACKUP_TYPE_IO_SLAVES来支持异步操作,提高写的能力。

4.3.2 提高磁盘读能力

可以在backup命令后通过设置DISKRATIO来保证从多个磁盘上读取数据,保证连续的数据流。

4.3.3 正确设置缓冲区与参数值

设置LARGE_POOL_SIZE,使备份可以使用连续的缓冲池,通过设置DB_FIL_DIRECT_IO_COUNT可以提高缓冲区的利用。如果使用磁带备份,还可以设置BACKUP_TYPE_IO_SLAVES来提高磁带的写能力。

4.3.4 采用并行备份

开辟多个通道,可以实现并行备份与恢复。

5. 设计原则

在数据库备份方案设计时,需要考虑以下因素:

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

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

3)备份硬件的配置;

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

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

作为ARP系统的核心,数据库的数据在工作时间更新变化非常频繁,对数据安全性和系统服务能力的要求都非常高,在数据库备份时,必须做到保证用户能正常使用数据库服务,保证用户并访问数据库时的性能。在系统故障恢复时,必须保证数据库能恢复到故障前的状态或恢复到指定的时间点。

6. 设计方案

基于以上设计原则,结合实际情况,确定了数据库的备份必须采用冷热结合的备份的方式,先热后冷,先简后繁。且在数据量较大的情况下,必须避免频繁的全库备份,采用多次小数据量的增量备份的方式来进行。这样才能最大程度地减轻数据库负载,既保证大量数据库客户端的并发访问,又保证备份集的完整性和一致性。经过不断实践和多次的改进,我们设计实施了一套可靠的数据备份方案。

1)每半月进行一次物理冷备份,停止服务后复制所有文件,同时将所有的应用程序同时也一起备份。

2)每周日凌晨1点10分系统业务较为不忙时开始,先将上周的备份集压缩,转储到历史备份池中,然后使用RMAN做本周的全库热备份。RMAN备份时为减少对catalog数据库的依赖,使用nocatalog方式来进行备份。

3)每日晚间11点,使用R MAN做一次归档日志的备份。备份成功后清理历史的Archive Log文件。

4)每周一将备份的数据传到备份服务器上。

方案的实现是通过RMA N脚本和Unix Shell脚本配合来实现全库备份,归档备份以及异地转储,通过crontab来设置自动运行的时间间隔,灵活方便。管理员可以根据服务器负载状况以及对数据备份频度的要求,修改crontab时间间隔,来实现最优化的备份方案。

此方案结合SCP服务,利用廉价的冗余服务器,作为副本服务器,实现备份数据同步备份的目的。每周备份数据上传至备份服务器。同时,还通过Shell脚本将每周同步数据上传至异地机房存储中做异地备份。【下转第105页】数据库故障时,通过RMAN进行全库恢复或指定时间点恢复均可。可以编写Shell脚本,通过制定不同的备份集参数,实现数据库的自动恢复。

参考文献

[1]滕永昌.Oracle9i数据库管理员使用大全[M].清华大学出版社,2004.

[2]魏莉,赵纯.Oracle数据库备份技术探讨.信息技术,2008(9):165-166.

[3]冯遵委等.Oracle数据库备份和恢复的研究与应用.计算机时代,2006(7):57-58.

利用Acess备份和恢复数据库 篇10

对于有着关键应用的数据库系统应根据具体环境和条件制定一个完善可行确保系统安全的备份计划, 没有备份的系统是不可靠、危险的, 后果将是严重的。中小企业最常使用的数据库是微软的是SQL Server, 它本身带有自动备份功能, 但多年来的经验告诉我, SQL自带的备份已经远远不能满足企业业务的连续性、安全性需求。当数据重要性非常高时, 企业不能够承担数据丢失的风险时, 那么就需要寻求更加专业、更加安全可靠的数据备份解决方案。经过实践摸索出利用Visual Basic 6.0开发的备份程序, 它能将数据库备份到Access数据库 (Access为目前流行的桌面型数据库产品, 具有存储操作灵活、便利等优点, 并且因它与SQL Server同属微软数据库产品, 二者能很好地兼容) 中, 并对Access数据库进行加密以防数据被非法访问。

二、备份与恢复思路

备份是指数据库管理员定期或不定期地将数据库部份或全部内容复制到磁带或磁盘上保存起来的过程。常用的数据备份类型有:完全备份、差异备份、事务日志备份、文件或文件组备份。一个通用的备份策略是:以较长的时间间隔执行完全备份, 以适中的时间间隔进行差异备份, 并以较短的时间间隔进行事务日志备份。当数据遭到破坏后就可以利用备份来恢复数据库。恢复数据库是指加载备份并应用事务日志重建数据库的过程。一个通用的恢复策略是:首先恢复完全备份的数据, 然后恢复差异备份数据, 最后根据事务日志备份进行恢复。

1、备份方案

在控制面版的ODBC数据源中设置, 给SQL Server中的数据库添加一个数据源名称;然后在Access中新建一个数据库, 命名为backup.mdb (备份的数据库名称) ;在VB中定义两个过程:Attach_Table () 和Create_Table () 。Attach_Table的作用是将SQL Server数据库中的所有需要备份的表链接到Access数据库中, 在此过程中要排除系统表, 因为那是SQL Server自创建的, 表中无用户数据。Create_Table的作用是在backup.mdb中创建目的表, 即在这个备份Access库中创建表用来保存所有存在SQL数据库中的用户数据。另外, 在链接过程中, 要去掉SQL Server自带的拥有者名称。

2、数据恢复

如果要从Access中将数据恢复到SQL Server中, 方法类似, 仅仅是拷贝记录的方向和以上相反, 即从Access表往链接过来的SQL表中拷贝。

下面介绍一下数据备份程序的逻辑结构

(1) 通过第一步创建的ODBC数据源打开要备份的SQL数据库;

(2) 使用Attach_Table () 将该数据库中的所有用户表链接到backup.mdb中;

(3) 使用Create_Table () 对每个表创建与之对应的备份表, 取名可遵循如下原则, 若原表叫table_name, 则备份表叫b_table_name。

(4) 将table_name表中的所有记录复制到b_table_name中。

(5) 从备份库删除对SQL数据表的链接。

三、程序源码

采用微软DAO (Data Access Object) 数据模型, 打开Access本地数据库, 并连接一个外部ODBC数据表, 拷贝该表结构完成, 写出备份过程块的关键代码:

追加数据, 采用微软ADO (ActiveX data object) 数据模型分别操纵SQL Server和Access数据对象, 追加记录数据来完成, 写出关键代码:

其中字符数组tabName (i) 中存放需备份的各数据表名strSQLAPP字符串中存放对数据表的限制条件where子句内容。

四、安全设置

因为Access属小型数据库, 所以当备份以后要保证其不被非法访问, 可以在VB程序中实现对备份数据库的安全性接口, 有以下两种方法限制对Access的任意访问:

1、给Access数据库加口令, 在VB程序中 (5) 从备份库删除对SQL数据表的链接。

用口令打开数据库。打开Access软件, 选中"工具"菜单, 选择"安全"项, 选择"加密/解密数据库", 然后选择备份数据库的名字, 就可以给这个数据库加上密码。这样的话, 任何人如果想打开备份数据库, 手动修改数据表内容, 必须先输入正确的访问密码, 否则不能继续操作。用VB程序打开数据库时, 必须提供访问密码, 否则无法访问数据库。

2、给Access数据库定义不同的用户组和用户权限, 从而使不同级别的用户可以分别读或写某表或视图。

打开Access软件, 选中"工具"菜单, 选择"安全"项, 选择"用户/组权限", 在此可定义不同的组和用户, 并按组划分用户的权限级别, 从而限制低或无权限的用户执行某些操作。用VB程序打开数据库进行操作时, 对不同的操作采用不同的用户名和用户密码, 从而区分有不同使用权限的人的访问操作。

五、结束语

该备份方案使用VB设计出友好方便的用户界面, 用户只需点击按钮便可执行备份或恢复操作;而且用Access作备份数据库, 备份同样的数据, 其所占用的硬盘空间远远小于SQL数据库所占空间, 大大地提高了效率和节约了用户资源。通过实践检验, 其运行效率比双机备份要高得多。

参考文献

[1].黄振轩, 宋卫海, 林立松.VB程序设计与数据库.山东科学技术, 2007-9

[2].周志德, 刘德强许敏编著.可视化程序设计Visual Basic.电子工业出版社, 2007.

上一篇:土石坝的施工现场管理下一篇:表面工程技术