Chinaunix首页 | 论坛 | 博客
  • 博客访问: 539806
  • 博文数量: 63
  • 博客积分: 1194
  • 博客等级: 中士
  • 技术积分: 761
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 12:44
个人简介

得之坦然,失之淡然,争其必然,顺其自然!

文章分类

全部博文(63)

文章存档

2014年(2)

2013年(22)

2012年(39)

分类: Oracle

2012-11-16 11:02:43

语法: drop table ... purge;
例子:drop table test purge;
purge是直接删除表,不保留到回收站,10G开始默认drop表式改名移动到回收站;
闪回(flashback)语句:
1、能在一个语句中把表恢复到指定的时间点;
2、恢复表数据连同索引与约束信息;
3、能返回表及其内容到指定时间点或系统变更号(SCN);
4、修复表的误操作
闪回简单示例:
SQL> drop table emp2;
 
Table dropped
 
SQL> select original_name,operation,droptime from recyclebin;
 
ORIGINAL_NAME                    OPERATION DROPTIME
-------------------------------- --------- -------------------
EMP2                             DROP      2012-11-16:10:49:13
 
SQL> flashback table emp2 to before drop;
 
Done

SQL> select count(*) from emp2;
 
  COUNT(*)
----------
       107

--恢复误删表数据示例:
SQL>  select sysdate 时间, timestamp_to_scn(sysdate) SCN from dual;

时间               SCN
----------- ----------
2012/11/16     1230043
 
SQL> delete from emp2;
 
107 rows deleted
 
SQL> commit;
 
Commit complete
 
SQL> select count(*) from emp2;
 
  COUNT(*)
----------
         0
 
SQL> flashback table emp2 to scn 1230043;
 
flashback table emp2 to scn 1230043
 
ORA-08189: cannot flashback the table because row movement is not enabled
 
SQL> alter table emp2 enable row movement;
 
Table altered
 
SQL> flashback table emp2 to scn 1230043;
 
Done
 
SQL> select count(*) from emp2;
 
  COUNT(*)
----------
       107
 
SQL> 
阅读(9010) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~