一: Flashback Drop 操作流程

模式一:drop table 后未新建同名表

SQL> create table flashdrop as select * from user_objects;
Table created.

SQL> create bitmap index ind_flashdrop on flashdrop(object_type);
Index created.

SQL> drop table flashdrop;
Table dropped.
--查看 recyclebin 内的对象
SQL> select original_name,object_name,type,droptime from recyclebin;
ORIGINAL_NAME OBJECT_NAME TYPE DROPTIME
-------------------------------- ------------------------------ ------------------------- -------------------
IND_FLASHDROP BIN$ESs42vP2YC3gUw0ZZAqeww==$0 INDEX 2015-03-13:08:08:19
FLASHDROP BIN$ESs42vP3YC3gUw0ZZAqeww==$0 TABLE 2015-03-13:08:08:19

SQL> flashback table flashdrop to before drop;
Flashback complete.

SQL> select original_name,object_name,type,droptime from recyclebin;
no rows selected
--查看索引名字
SQL> col column_name for a40
SQL> SELECT index_name, column_name, descend FROM user_ind_columns WHERE table_name = 'FLASHDROP';
INDEX_NAME COLUMN_NAME DESC
------------------------------ ---------------------------------------- ----
BIN$ESs42vP2YC3gUw0ZZAqeww==$0 OBJECT_TYPE ASC
--索引改为原来的名字 (说明 闪回表 后,即使未给索引重命名,执行计划依然可以走索引)
SQL> alter index "BIN$ESs42vP2YC3gUw0ZZAqeww==$0" rename to IND_FLASHDROP;
Index altered.
--查看是否成功改名
SQL> SELECT index_name, column_name, descend FROM user_ind_columns WHERE table_name = 'FLASHDROP';
INDEX_NAME COLUMN_NAME DESC
------------------------------ ---------------------------------------- ----
IND_FLASHDROP OBJECT_TYPE ASC

SQL> select count(*) from flashdrop;
COUNT(*)
----------
11
补充:
--查看表约束名
select CONSTRAINT_NAME,TABLE_NAME, COLUMN_NAME from user_cons_columns where TABLE_NAME='FLASHDROP';

模式二:drop table 后新建同名表

SQL> drop table flashdrop;
Table dropped.

SQL> create table flashdrop as select * from user_objects;
Table created.

SQL> select original_name,object_name,type,droptime from recyclebin;
ORIGINAL_NAME OBJECT_NAME TYPE DROPTIME
-------------------------------- ------------------------------ ------------------------- -------------------
IND_FLASHDROP BIN$ESs42vP4YC3gUw0ZZAqeww==$0 INDEX 2015-03-13:08:25:37
FLASHDROP BIN$ESs42vP5YC3gUw0ZZAqeww==$0 TABLE 2015-03-13:08:25:37

SQL> flashback table flashdrop to before drop;
flashback table flashdrop to before drop
*
ERROR at line 1:
ORA-38312: original name is used by an existing object

SQL> flashback table flashdrop to before drop rename to flashtable;
Flashback complete.

SQL> select original_name,object_name,type,droptime from recyclebin;
no rows selected

SQL> select count(*) from flashtable;
COUNT(*)
----------
11

模式三:drop table 后新建同名表,再 drop 新同名表

SQL> select count(*) from flashdrop;
COUNT(*)
----------
13

SQL> drop table flashdrop;
Table dropped.

SQL> create table flashdrop as select * from user_objects;
Table created.

SQL> insert into flashdrop(object_name) values('andy');
1 row created.

SQL> select count(*) from flashdrop;
COUNT(*)
----------
14
SQL> drop table flashdrop;
Table dropped.

SQL> select original_name,object_name,type,droptime from recyclebin;
ORIGINAL_NAME OBJECT_NAME TYPE DROPTIME
-------------------------------- ------------------------------ ------------------------- -------------------
FLASHDROP BIN$ESs42vP9YC3gUw0ZZAqeww==$0 TABLE 2015-03-13:08:42:21
FLASHDROP BIN$ESs42vP+YC3gUw0ZZAqeww==$0 TABLE 2015-03-13:08:56:16

SQL> select count(*) from "BIN$ESs42vP9YC3gUw0ZZAqeww==$0";
COUNT(*)
----------
13

SQL> select count(*) from "BIN$ESs42vP+YC3gUw0ZZAqeww==$0";
COUNT(*)
----------
14

SQL> flashback table "BIN$ESs42vP+YC3gUw0ZZAqeww==$0" to before drop;
Flashback complete.

SQL> select count(*) from flashdrop;
COUNT(*)
----------
14

闪回之 回收站、Flashback Drop (table、index、trigger等)的更多相关文章

  1. Oracle 六闪回技术,flashback

    Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g ...

  2. 【DG】利用闪回数据库(flashback)修复Failover后的DG环境

    利用闪回数据库(flashback)修复Failover后的DG环境 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能, ...

  3. oracle闪回、闪回数据归档Flashback Data Archive (Oracle Total Recall)的真正强大之处、11gR2增强以及合理使用

    oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback ...

  4. 闪回事务(Flashback Transaction)

    到目前为止,介绍的所有功能均不会直接将数据恢复为“以前”的样子.闪回查询只是查看,闪回数据归档只是延伸了闪回查询的时间窗口,闪回事务查询虽然提供了撤销SQL,但是否执行及如何执行还需要管理员进一步手动 ...

  5. FlashBack 闪回

    [学习目标] Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到 过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN 更快速 ...

  6. oracle之三闪回flashback

    闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...

  7. 【Oracle】闪回drop后的表

    本文介绍的闪回方式只适用于:删除表的表空间非system,drop语句中没有purge关键字(以上两种情况的误删除操作只能通过日志找回): 1.删除表后直接从回收站闪回 SCOTT@LGR> d ...

  8. Oracle Flashback 闪回

    Oracle 的闪回技术是一种数据恢复技术,仅能对用户逻辑错误进行恢复, 闪回针对的是提交commit的事务,没有提交的事务,使用rollback 1.闪回版本查询 Flashback Version ...

  9. OCP读书笔记(11) - 使用闪回技术II

    闪回归档 1. 什么是闪回数据归档? 闪回归档是用来保存一个或多个表的历史数据的新数据库对象,以及该数据的存储保留和清除策略.归档只是保存数据库中一个或多个表的所有事务处理的变化的一个或多个表空间,数 ...

随机推荐

  1. 【BZOJ4320】ShangHai2006 Homework 分段+并查集

    [BZOJ4320]ShangHai2006 Homework Description   1:在人物集合 S 中加入一个新的程序员,其代号为 X,保证 X 在当前集合中不存在.    2:在当前的人 ...

  2. Netty ByteBuf(图解之 2)| 秒懂

    目录 Netty ByteBuf(图解二):API 图解 源码工程 写在前面 ByteBuf 的四个逻辑部分 ByteBuf 的三个指针 ByteBuf 的三组方法 ByteBuf 的引用计数 Byt ...

  3. CSS 布局实例系列(四)如何实现容器中每一行的子容器数量随着浏览器宽度的变化而变化?

    Hello,小朋友们,还记得我是谁吗?对了,我就是~超威~好啦,言归正传,今天的布局实例是: 实现一个浮动布局,红色容器中每一行的蓝色容器数量随着浏览器宽度的变化而变化,就如下图: 肯定有人心里犯嘀咕 ...

  4. [POI2006]SZK-Schools

    [POI2006]SZK-Schools luogu #include<bits/stdc++.h> using namespace std; const int N=405,M=1e5+ ...

  5. python基础18 ---多态与绑定方法

    一.抽象类 1.抽象类的定义:从一堆类中抽象出相同的内容,重新组成一个新的类,这样的类属于抽象类. 2.香蕉类是一类水果,苹果类是一类水果,葡萄类是一类水果,但是他们都属于水果,从他们这些类中可以抽象 ...

  6. 20145229《Java程序设计》第四次实验报告

    Android开发基础 实验要求 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android组件.布局管理器的使用: 3.掌握Android中事件处理机制. ...

  7. LUM使用常规命令

    查看日志 tail -f /var/log/messages LUM使用常规命令再列出一下######------ 软件操作方法:* 关闭LUM及所有组件:lu-stop* 启动LUM及所有组件:lu ...

  8. string(未完待续)

    1.string字符串的长度     可以用   a.length()  来测,或者是a.size() 来测 不可以用strlen(a)来求其长度, sizeof(a)是固定值16, 求的是strin ...

  9. cout是右结合的

    cout是右结合的,(从右到左压栈?) cout<<++a<<","<<a++;  的运行顺序是 1.a的值压栈 2.a自加 3.‘,’压栈 4 ...

  10. c#基础综述

    一个相关的博客:http://blog.csdn.net/zhang_xinxiu/article/details/8605980 很好的一个网站:http://www.runoob.com/