前言:
当前我们对“oracle闪回表恢复数据”大约比较讲究,各位老铁们都需要了解一些“oracle闪回表恢复数据”的相关资讯。那么小编同时在网上收集了一些有关“oracle闪回表恢复数据””的相关资讯,希望你们能喜欢,咱们快快来学习一下吧!概述
前段时间在研究flashback的时候碰到了个小问题,无法开启flashback功能,报错:ORA-38706和ORA-38714,下面先介绍下flashback是什么,然后介绍下报错及解决方式。
flashback
Oracle Flashback技术是一组数据库特性,它可以让你查看数据库对象的过去状态,或者将数据库对象返回到以前的状态,而无需使用基于时间点的介质恢复。根据数据库的变化,闪回特性可以更快的回退不想要的变化,而且相比介质恢复,对数据库可用性产生的影响更小。
利用闪回特性,你能够:
1)执行回到过去的数据查询
2)执行显示对数据库更改的详细历史的元数据的查询
3)将表或行恢复到之前的时间点
4)自动追踪和归档事务数据的更改
5)当数据库保持在线状态时,回退事务和与它相关的事务
Oracle闪回特性利用自动撤销管理(Automatic Undo Management)系统来获得事务的元数据和历史数据。它依赖于撤销数据(UNDO Data),这些数据记录单个事务影响。例如,如果你运行一个Update语句来将工资从1000更改为1100,那么Oracle数据库将在撤销数据(Undo Data)中存储旧值1000。
撤销数据(Undo Data)是持久的,并能在数据库关闭时继续存在。通过使用闪回特性,可以使用撤销数据查询过去的数据,或者从逻辑损坏中进行恢复操作。除了在闪回特性使用它外,Oracle数据库还可以使用撤销数据执行这些操作:回滚活动的事务;使用数据库或进程恢复已经终止的事务;SQL查询中提供读一致性。
下面介绍下之前开闪回时碰到的报错。
报错
报错信息如下:
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.ORA-38707: Media recovery is not enabled.解决过程
检查发现是没有开启归档导致,如果不开启归档,是无法开启flashback的,因为闪回需要归档
开启归档后重新开启闪回就可以了。
这里大家可以看到开启闪回之前是需要开启归档的,但是为什么开闪回之前需要开启归档呢?这里其实还涉及到恢复时考虑的问题,后面再单独介绍吧。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
标签: #oracle闪回表恢复数据