哪些?数据库恢复实现技术介绍 (数据库恢复的实现技术有)

随着企业数字化的推进,数据库的重要性变得越来越突出。但是在不可抗力的因素下,数据库可能会出现数据损坏、数据丢失等问题,这时候就需要用到数据库恢复技术。数据库恢复技术能够对于出现的损坏、丢失、损毁等多种情况下的数据库数据进行修复与还原。在这篇文章中,我们将会介绍目前使用比较多的数据库恢复实现技术。

1. 逐步恢复(Step-by-step Recovery)

逐步恢复是一种针对关键事务的同时进行的恢复技术。这种恢复方式基本上是通过审查日志的顺序来恢复数据库。逐步恢复方法为用户提供了一种可通过数据库日志来恢复的更大保障,而在主数据库已故障的情况下装载到一个复制备份数据库后,在恢复过程中装载到之前的功能过程,由此保障数据完整性。

2. 数据挽救(Data Salvage)

数据挽救是指通过对已经损坏或部分数据丢失的数据库进行寻找和恢复数据的操作。通常情况下,要进行数据挽救用户需要对损坏的硬盘进行物理修复,在将数据从已经修复的硬盘中进行数据挽救。由于数据挽救的流程比较复杂,而且也受到一定的物理限制因素,所以该方法并不是一个简单菜鸟就可以轻易操作得到的。

3. 日志恢复(Log Recovery)

日志恢复是利用数据库的日志文件来恢复损坏的数据,以及去重复掉以前已经完成的事务操作。这种恢复方法堪称是绝对不能犯错的。在时日、操作人员水平上都必须有很强的掌握能力。日志恢复可以对数据库进行极好的还原。

4. 磁盘影像复原(Disk Image Recovery)

磁盘影像复原常常用于保存磁盘备份数据的恢复方法。具体地说,备份文件是通过将整个磁盘的数据存储到一个单独的文件上来进行保存的。由于这种备份方式保存了整个磁盘的数据,所以在数据库出现灾难性损坏时,则可以通过磁盘影像复原恢复受损的数据库。

5. 数据库一体化(Database Integration)

数据库一体化恢复方式主要是针对多个数据库进行的。数据仅仅需要恢复数据库之间的关系,或者通过方法将所有数据集成到一个单一的数据库中来(也可以把几个数据库的数据分开赋给不同的分支),这样就可以通过一种简单的方法来执行恢复工作。

随着企业日趋数字化的程度,数据库成为了支撑业务运营的一个重要基础设施。数据库出现故障的情况屡见不鲜,而不能及时而有效地进行处理,则往往会造成严重后果。因此,了解如何使用数据库恢复实现技术对于企业来讲是非常重要的。在需要对数据库进行恢复时,我们应当根据实际情况选择比较合适的恢复技术,以便尽快自救。

相关问题拓展阅读:

什么是闪回技术啊?主要内容有哪些啊?

为了使oracle数据库从任何逻辑误操作中迅速恢复,Oracle 数据库10g 提供了一系列人为错误更正技术,称为闪回。闪回从根本上改变了数据恢复。过去,数据库在几分钟内就可能损坏,但需要几小时才能恢复。利用闪回技术,更正错误的时间与错误发生时间几乎相同逗坦旦。而且它非常易用,使用一条短命令便可恢复整个数据库,而不必执行复杂的程序。闪回技术提供了一个 SQL 界面,能够快速分析和修复人为错误。闪回技术为本地数据损坏提供了细粒度外部分析和修复,如当错误删除客户订单时。闪回技术还支持修复更多广泛的损坏,同时快速避免长时间停机,如当本月的所有客户订单都被删除时。闪回技术是 Oracle 数据库独有的特性,支持各级恢复,包括行、事务、表、表空间和数据库范围。

1 闪回查询

在Oracle 9i之前,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法。Oracle 9i中提供闪回查询,由一个新的包DBMS_FLASH来实现。用户使用闪回查询可以及时取得误操作DML(Delete、Update、Insert)前某一时间点数据库的映像视图,用户可以利用系统时间或系统改变号(SCN:System Change Number)来指定这个只读视图,并可以针对错误进行相应的恢复措施。闪回查询功能完全依赖于自动回滚段管理(AUM),对于Drop等误操作不能恢复。闪回特性可应用在以下方面:

  (1)自我维护过程中的修复:当一些重要的记录被意外删除,用户可以向后移动到一个时间点,查看丢失的行并把它们重新插入现在的表内恢复。

  (2)恢复Email和声音Email:当用信拿户意外删除了Email或者声音信息时,可以通过移回到固定时间点来恢复删除。

  (3)账号平衡状况:可以查看以前的历史数据。如银行外币管理中用于记录特定时间的汇率。在以前,汇率变更被记录在一个历史表中,现在就可以通过闪回功能进行查询。

  (4)用于趋势分析的决策支持系统:决策支持系统和联机分析应用必须执行一个长时间的事务。使用闪回查询,这些应用可以对历史数据执行分析和建模。例如,特定产品如矿泉水随季节变化需求情况的变化。

2 闪回版本查询

闪回版本查询提供了一种查看行级数据库变化的方法。它是 SQL 的扩展,支持以特定时间间隔检索所有不同版本的行。例如:

Select * from EMPLOYEE versions between ‘2:00 PM’ and ‘3:00 PM’ where …

该语句显示出今天下午 2 点至 3 点之间该行的各版本,每个版本都由不同的事务所更改。使用 DBA 可指出数据何时、如何被更改的,并追溯到用户、应用程序或事务。这使得 DBA 可以跟踪数据库中的逻辑破坏并加以更正。它还让应用开发人员能够对其代码进行调试。

3 闪回事务查询

闪回事务查询提供了一种查看事务级数据库变化的方法。它是 SQL 的扩展,能够看到事务带来的所有变化。例如:

Select * from DBA_TRANSACTION_QUERY where xid = ‘2D’;

该语句显示出该事务引起的结果性变化。此外,返回补充 SQL 语句,并用于撤消由事务引起的各行变化。使用精密工具(如 DBA),应用开发人员可以精确地诊断和更正数据库或应用中的逻辑问题。

4 闪回数据库

要将 Oracle 数据库恢复到以前的时间点,传统方法是进行时间点恢复。然而,时间点恢复需要用数小时甚至几天的时间,因为它需要从备份中恢复整个数据库,并恰好恢复到数据库发生错误前的时间点。由于数据库的大小不断增长,因此需要用数小时甚至几天的时间才能恢复整个数据库。 闪回数据库山扰是进行时间点恢复的新战略。它能够快速将 Oracle 数据库恢复到以前的时间,以正确更正由于逻辑数据损坏或用户错误而引起的任何问题。闪回日志可用于捕获旧版本的变化块。一种方法是不间断备份或存储快照。当需要执行恢复时,可快速重放闪回日志,以将数据库恢复到错误前的时间点,并且只恢复改变的块。这一过程非常快,可将恢复时间从数小时缩短至几分钟。此外,它还非常易用。通过发出以下简单的命令,可将数据库恢复到 2:05 PM。

FLASHBACK DATABASE to ‘2:05 PM’;

它的使用不要求进行磁带恢复,没有冗长的停机时间,没有复杂的恢复过程。您还可以使用闪回,然后以只读方式打开数据库,并检查其内容。如果您确定闪回过远或不足,您可以重新发出闪回命令,以找到数据库损坏前的正确时间点。闪回同时与 Data Guard 相集成,因此您可以一起闪回生产和待机数据库(参见以下数据保护部分)。

闪回数据库就像是为数据库安装了一个倒回或撤消按钮。

5 闪回表

使用该特性,可以确保数据库表能够被恢复到之前的某一个时间点上。注意,该功能与最早的Oracle 9i中的Flashback Query不同,Flashback Query仅是得到了表在之前某个时间点上的快照而已,并不改变当前表的状态;而Falshback Table却能够将表及附属对象一起回到以前的某个时间点。该功能基于撤销数据(undodata)。

6 闪回删除

无意丢弃或删除数据库是人们经常会犯的错误。经常听到 Oracle 支持人员说:“在我删除那个表时,我以为我已经连接到了测试数据库。”用户已认识到他们错了,但已经太晚了,没有办法轻松恢复被删除的表及其索引、约束和触发器。对象一旦被删除就永远被删除了。如果真是重要的表或其它对象(如索引、分区或集簇),DBA 不得不执行时间点恢复,但这非常耗时,而且会导致丢失最近的事务。 闪回删除针对删除 Oracle 数据库 10g 中的对象提供了一个安全网络。当用户删除一个表,Oracle 会将它放到垃圾箱中。垃圾箱中的对象一直会保留,直到用户决定永久删除它们或包含该本的表空间不足。垃圾箱是一个虚拟容器,用于存放所有被删除的对象。用户可以查看垃圾箱,“撤消”被删除的表及其相关的对象。例如,可以发出以下命令来“撤消”雇员信息表及其所有相关对象。

FLASHBACK TABLE employee BEFORE DROP;

闪回删除就像是为一个表及其相关对象安装了一个撤消按钮。

闪回技术是为了使Oracle数据库从任何逻辑误操作中迅速地恢复。该技塌轮术首先以闪回查询 (Flashback Query)出现在Oracle 9i版本中,后来Oracle在10g中对该技术进行了全面扩展,提供了闪回数据库、闪回删除、闪回表、闪回事物及闪回版本查询等功能

在11g 中,Oracle继续对该技团唤信术进行改进和增强,增加了闪回数据归档功能。

在Oracle 11g中,闪回技术包括以下各项。

闪回数据库(Flashback Database):该特性允许用户通过flashback database语句,使数据库迅速地回滚到以前的某个时间点或者某个SCN(系统更改号)上,而不需要进行时间点的恢复操作。该功能不基于撤销数据(undodata),而是基于闪回日志。

闪回丢弃(Flashback Drop):类似于操作系统的垃圾回收站功能,可以从中恢复被drop的表或者索引。该功能基于撤销数据(undodata)。

闪回版本查询(Flashback Version Query):通过该功能,可以看到特定的表在链羡某个时间段内所进行的任何修改操作,如同电影回放一样,表在该时间段内的变化一览无余。该功能基于撤销数据(undodata)。

闪回事务查询(Flashback Transaction Query):使用该特性,可以在事物级别上检查数据库的任何改变,大大方便了对数据库的性能优化、事务审计及错误诊断等操作。该功能基于撤销数据(undodata)。

闪回表(Flashback Table):使用该特性,可以确保数据库表能够被恢复到之前的某一个时间点上。注意,该功能与最早的9i中的Flashback Query不同,Flashback Query仅仅是得到了表在之前某个时间点上的快照而已,并不改变当前表的状态;而Falshback Table却能够将表及附属对象一起恢复到以前的某个时间点。该功能基于撤销数据

(undodata)。

闪回数据归档(Flashback Data Archive):通过flashback data archive,可以查询指定对象的任何时间点(只要满足保护策略)的数据,而且不需要利用到undo,这在有审计需要的环境,或者是安全性特别重要的高 可用数据库中,是一个非常好的特性。缺点就是如果该表变化很频繁,对空间的要求可能很高。Flashback data archive是针对对象的保护,是flashback database的一个强力补充。

什么是数据库恢复

您好,很高兴为您解答。

数据库恢复是指通过御判迟技术手段,将保存在数据库中丢失的电子数据进行抢救和恢复的技术。数据库恢复是目前非常尖端的计算机技术,因为各个数据库冲敏厂商对自己的数据库产品内部的东西都是属于商业机密,所以没有相关的技术资料,掌握和精通恢复技术的人员极少。

如若满意,请点击右侧【采纳答案】,如若还镇李有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

数据恢复的原理,你如果了解了硬盘的结构以后你会发现,我们的数据保存到有存储介质的盘片上,当我们保存数据的时候,就会在盘片上做凸凹不平而保存数据。如果我们删除了文件的时候,我们并没有把所有的凸凹不平的介质抹掉,而是把它的地址给抹去,而让操作系统找不到这个文件,而认为它已经消失,可以在这个地方写数据,把原来的凸凹不平的数据信息给覆盖掉了,所以数据恢复的原理是,如果没被覆盖,我们就可以用软件,突破操作系统的寻址和编址方式,重新找到那些没被覆盖的地方中兆的数据并组成一个文件,如果几个小地方被覆盖,可以用差错效验位来纠正,如果覆盖太多,那么就每办法恢卖漏租复了!所以提倡如果发现文件丢失,立即找数据恢复公司恢复,不要做任何操作!

区别就在于,个人恢复的可能不会完全恢复,出现乱码,而数据恢复公司一般会100%恢复.搜配

关于数据库恢复的实现技术有的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 哪些?数据库恢复实现技术介绍 (数据库恢复的实现技术有)