WEB开发网
开发学院数据库Oracle 用Oracle闪回功能恢复偶然丢失的数据 阅读

用Oracle闪回功能恢复偶然丢失的数据

 2007-05-08 12:10:23 来源:WEB开发网   
核心提示:【导读】本文提出了闪回功能的原理,描述了利用Oracle 9i或Oracle 10g的闪回功能进行恢复偶然丢失数据的方法,用Oracle闪回功能恢复偶然丢失的数据,前言人为的错误是数据库系统失败的重要原因之一,根据调查约40%的系统问题是操作失误或者用户错误引起的,闪回特性可应用在以下方面:(1)自我维护过程中的修复:

【导读】本文提出了闪回功能的原理,描述了利用Oracle 9i或Oracle 10g的闪回功能进行恢复偶然丢失数据的方法。

前言

人为的错误是数据库系统失败的重要原因之一,根据调查约40%的系统问题是操作失误或者用户错误引起的,这些人为的错误又特别难以避免。传统上当发生数据丢失、数据错误问题时,解决的主要方法就是数据的导入/导出、备份/恢复技术。这些方法都需要发生数据错误之前有一个正确的备份,才能进行恢复。恢复时不取决于错误程度,而只取决于备份/恢复策略。这种方法既耗时又使数据库系统不能提供服务,对于一些用户偶然地删除数据这类小错误来说显得有些"大材小用"。那么如何来恢复这种偶然的错误操作造成的数据丢失呢?从Oracle 9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作。在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误的DDL(Drop)操作、闪回表、闪回数据库等。

Oracle 9i的闪回查询概述

1、Oracle 9i的闪回查询功能

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

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

1 2 3 4 5 6  下一页

Tags:Oracle 功能 恢复

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接