Flashback Query、Flashback Table(快速闪回查询、快速闪回表)
Flashback Query闪回查询
flashback query是基于undo表空间的闪回,与之相关的参数如下:
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
undo_management:undo管理方式分自动auto和手动manul两种,默认为auto。
undo_retention:此参数表示,如果undo表空间中的空间充足,那么undo数据至少为保留900秒;
undo_tablespace:指定undo表空间
注意:如果undo表空间为auto管理方式,那么当undo表空间中的空间不足的时候,还是会覆盖保留区内的undo数据,也就说这种情况下
不能保证undo数据保留900秒,900秒内不一定能恢复dml操作。特殊情况下可以用下面命令长期保留undo数据,但为影响undo空间和dml操作
SQL>alter tablespace undotbs1 retention guarantee;
示例说明:
将test01表在1分钟内删除的数据插入test01_delete表中或创建表test01_delete
SQL> insert into test01_delete select * from test01 as of timestamp systimestamp - interval '1' minute
where id not in(select id from test01);
SQL>create table test01_delete as select * from test01 as of timestamp systimestamp - interval '1' minute
where id not in(select id from test01);
--也可以基于scn闪回
Flashback Table闪回表的使用
Flashback Table和Flashback Query一样是基于undo的闪回。 闪回表时用户必须拥有flashback table权限和表row movement功能;
示例:
[oracle@b1 ~]$ export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
SQL> select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') sys_date from dual; --查看时间戳
SYS_DATE
-------------------
2013-10-06 18:11:39
SQL> select dbms_flashback.get_system_change_number from dual; --查看scn
GET_SYSTEM_CHANGE_NUMBER
------------------------
1054345
SQL> grant flashback any table to scott; --赋予scott flashback table权限
Grant succeeded.
SQL> conn scott/xyc
Connected.
SQL> select * from xyc_t1;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 8888 20
SQL> delete from xyc_t1;
2 rows deleted.
SQL> commit;
Commit complete.
SQL> flashback table xyc_t1 to scn '1054345';
flashback table xyc_t1 to scn '1054345'
*
ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled --必须开启行移动功能
SQL> alter table xyc_t1 enable row movement; --开启行移动功能
Table altered.
SQL> flashback table xyc_t1 to scn '1054345'; --基于scn闪回表
Flashback complete.
SQL> select * from xyc_t1;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 8888 20
SQL> flashback table xyc_t1 to timestamp to_timestamp('2013-10-06 18:10:51','YYYY-MM-DD HH24:MI:SS'); --基于时间戳闪回表
Flashback complete.
SQL> select * from xyc_t1;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 8888 20
SQL>
Flashback Query、Flashback Table(快速闪回查询、快速闪回表)的更多相关文章
- 【转】FlashBack总结之闪回查询与闪回表
本文主要介绍利用UNDO表空间的闪回技术,主要包括:闪回表,闪回版本查询,闪回事务查询,闪回查询.这些闪回技术实现从回滚段中读取表中一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错 ...
- 闪回之 Flashback Query (dml表、过程、函数、包等)、Flashback version Query
Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数 ...
- 已知要闪回的大致时间使用基于as of scn的闪回查询
基本判断出要恢复误操作的dml的时间可以使用如下的方法进行数据的恢复: example: 一.创建test表 -------create table flashback_asof------ crea ...
- Oracle闪回查询恢复delete删除数据
Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback q ...
- KingbaseES 的闪回查询
KingbaseES V008R006C006B0013版本新增支持闪回查询,闪回版本查询.闪回表到指定时间点.旧版本已支持闪回回收站技术. 闪回技术(闪回查询和闪回表到指定时间点)可以通过时间戳和C ...
- flashback query闪回数据
误删除了部分重要数据,已提交,需要恢复.首先尝试flashback query闪回数据. 数据库运行在归档模式,首先确认数据库的SCN的变化: SQL> col fscn for 9999999 ...
- Oracle Flashback Technologies - 闪回查询
Oracle Flashback Technologies - 闪回查询 查看表中,某行数据的修改记录 #创建一个表,并插入和修改数据 SQL> create table y3(id )); T ...
- oracle flashback data archive闪回数据归档天坑之XID重用导致闪回查询数据重复
我们有个系统使用了Oracle flashback data archive闪回数据归档特性来作为基于时间点的恢复机制,在频繁插入.更新期间发现SYS_FBA_HIST_NNNN表中的XID被两个事务 ...
- Oracle的回收站和闪回查询机制(二)
上一篇中讲诉了Oracle中一些闪回查询(Flashback Query),这是利用回滚段信息来恢复一个或一些表到以前的一个时间点(一个快照).要注意的是,Flashback Query仅仅是查询以前 ...
随机推荐
- Android的进程和线程(转)
进程和线程 当一个应用程序第一次启动的时候,Android会启动一个Linux进程和一个主线程(即UI线程:主要负责处理用户的按键事件.触屏事件及屏幕绘图事件等).默认情况下,所有该程序的组件都将在该 ...
- 1. mybatis批量插入数据
通过list <insert id="saveByList" useGeneratedKeys="true" parameterType="ja ...
- jQuery之文本框得失焦点
版本一 css代码部分: .focus { border: 1px solid #f00; background: #fcc; } 当焦点获得时,添加focus样式,添加边框,并改背景色为#fcc h ...
- Html5新增加的属性
用2中方法给单复选框增加新的特性,使直接点击文字就可以被选中 1.将选项放入label标签内添加for属性,并在input标签内添加id,两者值相同. 2.将input标签放到label标签内,注意l ...
- Html 中select标签的边框与右侧倒三角的去除
首先是边框的去除:可以设置属性border:none;或border:0px; 不过这还是有一个bug,不同浏览器会在选中select标签时,加上一个边框: 之后是右侧倒三角的去除:设置属性 appe ...
- xml和html之间相互转换
一.xml转换html xml+xslt是典型的数据与表现分离的设计方式.当然,你可以直接转换成HTML,但是如果你要进行整体变化的时候,XML+XSLT的优势就体现出来了.同样的数据,因为你已经有X ...
- [r]Setting up Django and your web server with uWSGI and nginx
Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user ...
- java 知识结构
JAVA基础阶段 阶段 技术名称 技术内容 T线 JavaSE JAVA 开发基础知识 | Eclipse 开发环境 | JavaSE 7.0 API | JavaSE 8.0新特性 | 多线程技术 ...
- 关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol
关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 2014-02-18 19:57 315人阅读 评论(0) 收藏 举报 1.category, ...
- Obj-C的hello,world 2
https://github.com/facebook/facebook-ios-sdk/blob/master/src/FBAppEvents.h + (void)logEvent:(NSStrin ...