CSDN博客

img Xviewee

关于ORACLE 10g中的RECYCLE BIN

发表于2008/9/30 14:24:00  882人阅读

分类: Oracle

导读:




在ORACLE 10g中引入了RECYCLE BIN这个东东,好处就是当你删除了一张表或索引什么的后并不是完全删除,就像WINDOWS中的回收站一样,好处就是防止误删除,可以对误删除的表进行恢复,当然也可以清空RECYCLE BIN。

介绍下RECYCLEBIN里一些简单的东西

先建立一张表,名FOO

SQL>CREATE TALBE FOO(ID NUMBER(5),NAME VARCHAR2(5));

查看当前SCHEME下的所有表的名字

SQL>SELECT TALBE_NAMES FROM USER_TALBES;


TABLE_NAME


------------------------------

FOO

删除表FOO

SQL>DROP TALBE FOO;
SQL>SELECT TALBE_NAMES FROM USER_TALBES;

TABLE_NAME
------------------------------
BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0

--如果只想看RECYCLEBIN内的表名,可以用 SELECT OBJECT_NAME FROM USER_RECYCLEBIN;效果同上显示


现有一个名为'BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0'的表,这个表就是FOO表DROP掉以后在RECYCLE
BIN内产生的表,RECYCLE BIN会以特殊的方法来保证每张被删除的表在RECYCLE
BIN内的表名都不一样,即使在未被删除时表名是相同的。

如果想看被删除表的详细点的内容,可用
SQL>SHOW RECYCLEBIN;  --这句在SQL*PLUS内可用,但PL/SQL DEV中显示不出内容,不知道怎么会事
或着
SQL>SELECT ORIGINAL_NAME,OBJECT_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN;

ORIGINAL_NAME                   
OBJECT_NAME                   
TYPE                     
DROPTIME

-------------------------------- ------------------------------ ------------------------- -------------------
FOO                             
BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0
TABLE                    
2007-11-18:21:53:02


也可以用
SQL>DESC "BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0";  --来看被删除表的结构,注意要双引号!!这一句
          
PL/SQL DEV中也不能用,会显示没有这个表,在SQL*PLUS中可用。
 
现在对删除后表名的命名简单说一下:
当一个表被删除并移动到"回收站"中,它的名字要进行一些转换。这样的目的显而易见是为了避免同类对象名称的重复。(这一点和Windows操作系统的回收站不同,Windows中的回收站经过了特殊的处理,操作系统文件可以重名。)
转换后的名字格式如下:
BIN$unique_id$version 其中BIN代表RecycleBin
unique_id是数据库中该对象的唯一标志,26个字符长度
version表示该对象的版本号



删除recyclebin中的对象

我们用PURGE,语句PURGE TABLE "TABLE_NAME";
注:双引不要忘记,对RECYCLEBIN中对象操作都要有" "。

如上例,则:
SQL>purge table "BIN$6qAKR9ljQo+l+1gDCV8xCQ==$0";

SQL>PURGE RECYCLEBIN; --可以清空RECYCLEBIN;


恢复recyclebin中的对象

我们用FLASHBACK,中文名"闪回"
语句FLASHBACK TABLE [已删除TABLE名|"RECYCLEBIN中的名字"] TO BEFORE DROP;

如上例,则:
SQL>FLASHBACK TABLE FOO TO BEFORE DROP;
闪回完成。

但当你在RECYCLEBIN内有2张相同名字的表时候,只有通过
"RECYCLEBIN中的名字"来闪回指定的表,用上面方法只闪回第一个被删除的同名表。


本文转自

http://blog.chinaunix.net/u1/53616/showart_425448.html
0 0

相关博文

我的热门文章

img
取 消
img