Heim  >  Artikel  >  Datenbank  >  Oracle 10g的闪回删除与回收站

Oracle 10g的闪回删除与回收站

WBOY
WBOYOriginal
2016-06-07 17:13:31884Durchsuche

在 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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn