重庆oracle认证培训机构

新闻分类

产品分类

热门关键词

联系我们

企业名称:重庆赛烽达科技有限公司

联系人:程老师

手机:13372708242

邮箱:xqzhang@saifengda.com

网址:www.cqora.com

地址:重庆石桥铺高创锦业17-3

Oracle 闪回技术性详细说明介绍

您的当前位置: 首 页 >> 新闻资讯 >> 行业新闻

Oracle 闪回技术性详细说明介绍

发布日期:2019-06-21 作者: 点击:

  概述


  闪回技术是Oracle强大的数据库备份和恢复机制的一部分。当数据库出现逻辑错误时,闪回技术提供了快速和最小损失的恢复(大多数闪回可以在数据库在线时完成)。应该注意的是,闪回技术是为了快速恢复逻辑错误而设计的。对于物理损坏或介质丢失错误,闪回技术是一个福音,或者必须使用一些高级备份和恢复工具,如RAMN。


  撤消段(撤消段)


  在讨论闪回技术之前,您需要了解Oracle - undo段中的逻辑结构。因为大多数闪回技术都依赖于undo段中的undo数据。撤消数据是反转DML语句的结果所需要的信息。只要事务修改了数据,更新之前的原始数据就被写入undo段。(事务回滚也使用undo段中的数据)。当事务启动时,Oracle将为它分配一个undo段。事务和撤消段之间存在多对一关系。也就是说,一个事务只能对应一个撤消段,而多个事务可以共享一个撤消段(但当数据库正常运行时),这将不会发生)。


  闪回技术


  Oracle提供了四种可用的flashback技术(flashback query, flashback delete, flashback archive, flashback database),每种技术都有不同的底层架构支持,但实际上这四种不同的flashback技术部分的功能是重叠的。在使用时,还需要根据实际场景选择最合适的闪回功能。


  闪回查询


  a.基本倒叙查询


  功能描述:可以查询数据库在过去某段时间内的状态。


  工作原理:Oracle将提取回滚所需的undo数据(如果undo可用,即undo数据没有被覆盖),但是这个回滚是临时的,只对当前会话可见。


  SQL> select * from dept as of timestamp to_timestamp('2016-09-10 11:00:00', 'yyyy-mm-dd hh24:mi:ss');


  b。闪回表


  功能描述:表可以回滚到过去的某个时间点


  工作原理:类似地,Oracle将首先查询undo段,在某个时间点之后提取所有更改,构造一个SQL语句来逆转这些更改并回滚。闪回操作是一个单独的事务,因此,如果数据被撤销了过期的原因,比如未能闪回,那么整个操作将回滚,并且不会出现不一致的状态。


  步骤:


  1. 首先启用表闪回,支持表上的行移动(设置数据字典中的标识符来标识操作可能更改行ID,即相同的数据闪回成功后主键是相同的,但行ID实际上已经更改)。


  SQL> alter table emp支持行移动;


  2. 闪回表操作


  SQL>闪回表dept to timestamp to_timestamp('2016-09-10 11:00:00', 'yyyy-mm-dd hh24:mi:ss');


  闪回表可能会失败,有几种可能的情况:


  a.违反数据库约束,如用户不小心删除了子表中的数据,现在想使用闪回表技术回滚,刚好在中间,对应于父表中的数据的记录也被删除。在这种情况下,由于违反外键约束,闪回表操作失败;


  b.撤销数据失效,如覆盖用于支持闪回操作的撤销数据,此时闪回表操作自然会失败;


  c.闪回不能跨DDL,即闪回点与当前点之间的表结构发生了变化。在这种情况下,闪回操作也将失败。


  注:以上闪回功能是基于还原数据,和撤销数据将被重写(过期将被覆盖,活动将不会被覆盖),所以你需要使用这些闪回功能恢复数据时使用(确切地说,当闪回功能需要根据撤销数据),在最短的时间内发现错误,和第一次执行闪回操作以确保闪回功能最大程度的成功。


本文网址:http://www.cqora.com/news/627.html

关键词:重庆Oracle培训

最近浏览:

报名咨询

点击咨询报名

赛烽达QQ群

赛烽达技术群

程老师

13372708242

加微信咨询

张老师微信.jpg

xqzhang@saifengda.com