Oracle flashback 闪回 笔记
2017-10-18 08:57
411 查看
Oracle
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复。闪回技术是Oracle数据库独有的,支持任何级别的恢复,包括行、事务、表和数据库范围。使用闪回特性,您可以查询以前的数据版本,还可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻辑损坏中恢复。
闪回技术包括以下特性:
(1) 闪回查询(flashbackquery);闪回查询允许用户查询过去某个时间点的数据,以重新构建由于意外删除或更改而丢失的数据。
(3) 闪回事务查询(flashback transcation query);闪回事务查询提供了一种查看事务级数据库变化的方法。
(4) 闪回数据库(flashback database);闪回数据库是进行时间点恢复的新策略。它能够快速将Oracle 数据库恢复到以前的时间,正确更正由于逻辑数据损坏或用户错误而引起的任何问题。
(6) 闪回删除(flashback drop);闪回删除在删除对象时提供了一个安全网,您可以非常快速、轻松地取消对一个表及其相关对象对象的删除。
1、其中闪回查询、闪回版本查询、闪回事务查询属于行级闪回。这三种闪回技术全部依赖于undo表空间中的undo数据。
2、闪回表、闪回删除属于表级闪回。闪回表也是从undo中读取数据,闪回删除是依赖recyclebin
3、闪回数据库属于数据库级闪回。
oracle数据库闪回类型主要有三种:
(1) 闪回数据库(flashback database)
闪回数据库就是当出现逻辑错误时,能够将整个数据库回退到出错前的那个状态。
(2) 闪回删除(flashback drop)
Oracle10g之前,一旦删除了一个表,那么该表就会从数据字典里面删除。要恢复该表,需要进行不完全恢复。
Oracle10g以后,当我们删除表时,默认Oracle只是在数据库字典里面对被删的表的进行了重命名,并没有真正的把表删除。
(3) 闪回表(flashback table)
所谓闪回表,就是将表里的数据会退到历史上的某个时间点,例如回退到用户误删除数据之前的时间点,从而将误删除的数据恢复回来,在这个过程中,数据库仍然可用,而且不需要类似于闪回日志一样的额外空间。
闪回表利用的是undo表空间里记录的数据被改变前的值,如果闪回表所需要的undo数据,由于保留的时间超过了初始化参数undo_retention所指定的值,
从而导致该undo数据块被其他事务覆盖,就不能恢复到指定的时间点了。
-- flashback闪回 SCN 恢复数据 select timestamp_to_scn(to_timestamp('2017-10-11 03:10:00','YYYY-MM-DD HH:MI:SS')) from dual;-- 获取某时间的SCN select * from tablename as OF SCN 15553883609344;-- 获取某时间的数据 FLASHBACK TABLE employee TO SCN 15553883609344; -- 闪回表 LASHBACK TABLE employee TO before drop; -- 恢复drop的表 alter index“ bin$xxx” rename to xxxx;-- 命令修改索引名称 ALTER TABLE lka2 ENABLE row movement ; -- 恢复表内查询数据时,启用行移动功能 ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; flashback table lka2 to timestamp to_timestamp('2017-10-11 03:10:00','YYYY-MM-DD HH:MI:SS'); flashback database to scn xxx;
关于数据闪回的几点说明:
*Flashback不支持sys用户与system表空间下的对象,也不能从回收站里拿到。故使用SYS或者SYSTEM用户登陆时,show recyclebin为空。
*实体在数据库保存时间不可保证,保留时间取决于系统运行状况,可能是几秒钟,也可能是几个月。
*基表闪回时,建立在表上的约束不可保证
相关文章推荐
- Oracle 11g闪回删除(flashback drop)
- 用Oracle闪回功能(flashback)恢复删除的数据---Oracle;闪回;回滚段;数据恢复
- Oracle 闪回特性(Flashback Version、Flashback Transaction)
- Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)
- Oracle 闪回特性(Flashback Version、Flashback Transaction)
- Oracle 六大闪回技术,flashback
- oracle 使用闪回事务查询是 视图flashback_transaction_query中列operation为unknown 问题分析
- oracle 闪回操作(flashback)
- oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
- 用Oracle闪回功能(flashback)恢复删除的数据---Oracle;闪回;回滚段;数据恢复
- Oracle Flashback Query 闪回查询
- oracle flashback 闪回
- Oracle 闪回特性(FLASHBACK DATABASE)
- Oracle 闪回特性(Flashback Version、Flashback Transaction)
- Oracle 闪回特性(Flashback Version、Flashback Transaction)
- oracle中关于flashback闪回的介绍
- 用Oracle flashback闪回误删除的表数据
- oracle flashback query(闪回查询)
- 利用oracle flashback技术恢复数据之 ――事务级别闪回
- 第14章 闪回技术(Flashback)oracle 11