日期:2014-05-16  浏览次数:20503 次

最简单的Oracle数据恢复 select ... as of

概念:

You perform a Flashback Query by using a SELECT statementwith an AS OF clause.You use a flashback query to restrieve data as it existed at some time in the past.The query explicitly references a past time by menasof timestamp or SCN.It returns committed data that was current at that point intime.

通过执行一个带as of 子句的select语句进行闪回查询,可以闪回检索过去某个时间存在的数据,一个闪回查询被用来重现过去存在过的数据,这个查询明确的引用了过去的一个时间段或SCN号,闪回查询返回的数据都是过去某时刻已经提交的数据。



Potential uses of Flashback Query include:

可能使用到闪回查询的地方:

Recovering lost data or undoing incorrect,committed changes.For example,if you mistakenly delete or update rows,and then commit them,you can immediately undo the mistake.

恢复丢失的数据或撤销已经提交的错误。例如如果你不小心删除或更新了行,并且做了提交操作,你可以立刻撤销这个错误。

Comparing current data with the corresponding data at some time in the past.For example,you might run a daily report that shows the change in data from yesterday.You can compare the individual rows of table data or find intersections or unions of sets of rows.

比较当前数据和历史数据的一致性。例如,你可能需要生成一份前一天数据更新的日报告,你可以分别比较表的每一行或找到行的交集和并集。

Checking the state of transactional data at a particular time.For example,you could verify the account balance of a certain day.

在某个特殊时间检查事务型数据的状态。例如,你可以在某一天验证账户收支。

Simplifying the application design,by removing the need to store some kinds of temporal data.By using a Flashback Query, you can retrieve past data directly from the database.

移除某些因需求储存的暂时数据以简化应用设计。通过闪回查询你可以从数据库中直接获取到过去的数据。

Applying the packaged applications such as report generation tools to past data.

使用包装应用(例如报表生成工具)的历史数据

⊙Providing self-service error correction for anapplication,thereby enabling users to undo and correct their errors.

为应用提供自服务错误更正,因此可以让用户撤销或更正他们的错误。

?

示例:

?

SQL> conn /as sysdba;

已连接。

SQL> set pagesize 200

SQL>?select * from scott.