Oracle学习之:闪回表
来源:互联网 发布:ubuntu设置分辨率命令 编辑:程序博客网 时间:2024/05/29 17:10
语法:
FLASHBACK TABLE [ schema. ] table [, [ schema. ] table ]...
TO { { { SCN | TIMESTAMP } expr| RESTORE POINT restore_point}
[ { ENABLE | DISABLE } TRIGGERS ]| BEFORE DROP [ RENAME TO table ]} ;
注 flashback table 为 ddl
1.创建测试表T1,并插入数据
SCOTT@lgr> create table t1 (x number(2),d date);
Table created.
SCOTT@lgr> insert into t1 (x) values(1);
1 row created.
SCOTT@lgr> insert into t1 values(2,sysdate);
1 row created.
SCOTT@lgr> commit;
Commit complete.
SCOTT@lgr> select * from t1;
X D
---------- -------------------
1
2 2017-02-19,10:53:41
2.记录当前的时间
SCOTT@lgr> select sysdate from dual;
SYSDATE
-------------------
2017-02-19,10:54:49
3.删除T1表中的一条数据
SCOTT@lgr> delete t1 where x=2;
1 row deleted.
SCOTT@lgr> commit;
Commit complete.
SCOTT@lgr> select * from t1;
X D
---------- -------------------
1
4.此时对表进行闪回,会出现错误。原因很明显,因为表T1没有开启行移动
SCOTT@lgr> flashback table t1 to timestamp to_date('2017-02-19,10:54:49','yyyy-mm-dd,hh24:mi:ss');
flashback table t1 to timestamp to_date('2017-02-19,10:54:49','yyyy-mm-dd,hh24:mi:ss')
*
ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled
SCOTT@lgr> select table_name,row_movement from user_tables where table_name='T1';
TABLE_NAME ROW_MOVE
------------------------------ --------
T1 DISABLED
5.对表T1开启行移动
SCOTT@lgr> alter table t1 enable row movement;
Table altered.
6.对表T1进行基于时间点的闪回操作
SCOTT@lgr> flashback table t1 to timestamp to_date('2017-02-19,10:54:49','yyyy-mm-dd,hh24:mi:ss');
Flashback complete.
SCOTT@lgr> select * from t1;
X D
---------- -------------------
1
2 2017-02-19,10:53:41
- Oracle学习之:闪回表
- Oracle学习之Oracle字符集
- oracle学习之oracle基础
- Oracle学习之数据类型
- ORACLE学习之DBLINK
- oracle之plSql学习
- Oracle学习之循序渐进
- oracle学习之法
- Oracle之Trigger学习
- oracle 学习之:synonym
- oracle学习之table
- oracle学习之索引
- oracle学习之:权限
- oracle学习之:审计
- Oracle学习之:回收站
- 【Oracle学习】之 约束
- Oracle学习之:体系结构
- oracle学习之路
- 为什么所有主要浏览器的 User-Agent 都是 Mozilla/x.0 开头?
- Java 技术是什么?
- unknow run configuration type androidrunconfigurationtype
- Android应用更新
- JS中关于client.width、offsetwidth、screen.width、scrollWidth的区别
- Oracle学习之:闪回表
- Python 调用py文件
- MyBatis01--MyBatis简介
- 80%的程序员不了解的调试技巧
- Azure夜校培训第二场2月22日18:00 正式盛情开幕
- leetcode485
- #if与if有什么区别
- 如何使用Journalctl查看并操作Systemd日志
- Linux统计某文件夹下文件、文件夹的个数