您的当前位置:首页正文

Oracle10g的闪回删除与回收站

2020-11-09 来源:一二三四网

在 Oracle 数据库的早期版本中,如果错误地删除了表,则必须将数据库恢复到以前的时间以恢复删除的表。此过程通常非常耗时,并且

Oracle 闪回删除与回收站的简介

在 Oracle 数据库的早期版本中,如果错误地删除了表,则必须将数据库恢复到以前的时间以恢复删除的表。此过程通常非常耗时,并且会导致丢失其它事务处理的工作。 Oracle Database 10g 引入了闪回删除功能,您可以使用此功能还原 DROP TABLE 语句的结果,而不必使用时间点恢复。

注:初始化参数 RECYCLEBIN 用于控制闪回删除功能是打开 (ON) 还是关闭 (OFF)。如果将该参数设置为 OFF,则删除的表不会进入回收站。如果将该参数设置为 ON,则删除的表将进入回收站,并且可以进行恢复。默认情况下,,将 RECYCLEBIN 设置为 ON。

1.正常情况下删除一个表

drop table test1

这是表会被放置在recyclebin(回收站)

注意:这里如果执行了“commit”提交操作。下列闪回操作就会失效!

2.使用如下代码进行闪回操作

flashback table test1 to before drop

3.使用函数 timestamp 将表闪回但是到一个确切的时间点是的状态

如:

允许行滚动

alter table test1 enable row movement;

执行闪回操作

flashback table test1 to timestamp to_timestamp(‘2012-05-22 09:19:51’,’YYYY-MM-DD HH24:MI:SS’);

4.当回收站中具有多个原始名称时。

(1)一种是使用系统为所删除的表所起的名称还原特定版本

(2)使用原始名称时,还原的表遵循后进先出(lifo)的规则

5.对回收站中的表进行闪回并且重命名。

flashback table test1 to before drop rename to testnews ;

6.不使用回收站

drop table test1 purge;

drop tablespace users including contents;

drop user scott cascade;

7.清空回收站的操作

purge recyclebin;

8.显示回收站的内容

show recyclebin

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

显示全文