Oracle10g 回收站及彻底删除table : drop table xx purge

drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,或彻底清除。 
1.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句
flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop [rename to <new_table_name>];

将回收站里的表恢复为原名称或指定新名称,表中数据不会丢失。
若要彻底删除表,则使用语句:drop table <table_name> purge;

2.清除回收站里的信息
清除指定表:purge table <table_name>;
清除当前用户的回收站:purge recyclebin;
清除所有用户的回收站:purge dba_recyclebin;

===============================================================================
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as test
SQL> select * from test1;
A B C
-- -- ----------
11 5 
11 10 
11 10 
13 10 
14 10 
15 10 
16 10 
17 10 
18 10 
19 10 
20 11 
11 rows selected
SQL> create table test2 as select * from test1;s
Table created
SQL> select * from test2;
A B C
-- -- ----------
11 5 
11 10 
11 10 
13 10 
14 10 
15 10 
16 10 
17 10 
18 10 
19 10 
20 11 
11 rows selected
SQL> drop table test2;
Table dropped
SQL> select object_name, original_name, operation, type from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION TYPE
------------------------------ -------------------------------- --------- -------------------------
BIN$g5jFmA/OShC6+wsWKJiv2w==$0 TEST1 DROP TABLE
BIN$vQwemDg4R9mK9fYJNdYzvg==$0 TEST2 DROP TABLE
SQL> flashback table test2 to before drop rename to test3;--【to test3】将表重命名
Done
SQL> select * from test3;
A B C
-- -- ----------
11 5 
11 10 
11 10 
13 10 
14 10 
15 10 
16 10 
17 10 
18 10 
19 10 
20 11 
11 rows selected
SQL> select * from test2;
select * from test2
ORA-00942: 表或视图不存在
--彻底删除表
SQL> drop table test3 purge;
Table dropped
SQL> select * from user_recyclebin where original_name = ‘TEST3‘;
OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE
------------------------------ -------------------------------- --------- ------------------------- ------------------------------ ------------------- ------------------- ------- -------------------------------- ---------- --------- ------- ----------- ------------ -----
SQL> select * from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE
------------------------------ -------------------------------- --------- ------------------------- ------------------------------ ------------------- ------------------- ------- -------------------------------- ---------- --------- ------- ----------- ------------ -----
BIN$g5jFmA/OShC6+wsWKJiv2w==$0 TEST1 DROP TABLE TP_TEST1 2007-08-23:07:57:28 2007-08-23:07:58:51 1411156 YES YES 53086 53086 53086 896
--清除回收站里的表信息test1
SQL> purge table test1;
Done
SQL> select * From user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME DROPTIME DROPSCN PARTITION_NAME CAN_UNDROP CAN_PURGE RELATED BASE_OBJECT PURGE_OBJECT SPACE

Oracle 10g 中出现表名:BIN$2cMp4FjwQ2Cw3Lj+BxLYTw==$0 最近发现Oracle中出现了这些奇怪的表名,上网查找后发现是oracle10g的回收站功能,并没有彻底的删除表,而是把表放入回收站,最后就出现了这样一堆奇怪的表名。。。。

一、清除的方法如下:

  1、purge table origenal_tableName;

purge index origenal_indexName;

2、PURGE recyclebin;

二、查询垃圾信息,可以用如下SQL语句:

  SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;

三、删除Table不进入Recycle的方法:

  drop table tableName purge;

Oracle10g 回收站及彻底删除table : drop table xx purge

时间: 2024-10-26 14:03:58

Oracle10g 回收站及彻底删除table : drop table xx purge的相关文章

SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?

本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯,对于不明真相的群众或者喜欢思考的人会问,存储过程中定义的临时表,最后要不要主动删除,为什么?或者说是不是存储过程结束的时候删除临时表更加规范?不止一个人问过这个问题了,说实在话,本人之前确实不清楚,只

Hive - Create Table&amp;Drop Table &amp; ALTER Table(中)

译注:书接上篇,了解过创建表以及load data后,假如发现需要更改表字段类型或者添加表字段,怎么办?这篇文章将进一步了解具体细节. This chapter explains how to alter the attributes of a table such as changing its table name, changing column names, adding columns, and deleting or replacing columns. Alter Table St

Hive - Create Table&amp;Drop Table &amp; ALTER Table(上)

写在前面:本来想着把表的创建,删除,以及修改一篇搞定的.结果看了一下,东西还是蛮多的,而且也是很多经常使用的操作.所以,就暂且分开处理吧. 特别提醒:在日常不管是创建库.表还是修改字段,删除等操作,建议都加上 [IF NOT EXISTS] | [IF EXISTS] 选项:虽然是可选项,但是还是小心为上,万一你在操作时没有加库名,又操作错了,那你哭都找不到地方. This chapter explains how to create a table and how to insert data

Oracle Flashback Drop: Undo a DROP TABLE Operation

7.4 Oracle Flashback Drop: Undoa DROP TABLE Operation Oracle Flashback Drop reverses theeffects of a DROP TABLE operation. It can be used to recover afterthe accidental drop of a table. Flashback Drop is substantially faster thanother recovery mechan

Oracle tips:drop table和purge

在操作Oracle时,我们经常都会删除一个表,当删除错误后,我们希望能够恢复该表,有时也希望删除表之后能够立刻释放表的空间.下面将介绍在Oracle中表的删除.恢复和空间释放. DROP TABLE 当你drop一个表时,数据库不会立刻释放表的空间,而是重命名这个表然后将其放入回收站中,可以通过下面的方式查看一个删除的表: select object_name,original_name from user_recyclebin where original_name = 'TEMP'; OBJ

SQLITE DROP TABLE

DROP TABLE sql-command ::= DROP TABLE [IF EXISTS] [database-name.] table-nameDROP TABLE语句删除由 CREATE TABLE语句创建的表.表将从数据库结构和磁盘文件中完全删除,且不能恢复.该表的所有索引也同时被删除. DROP TABLE语句在缺省模式下不减小数据库文件的大小.空间会留给后来的INSERT语句使用.要释放删除产生的空间,可以使用 VACUUM 命令.若AUTOVACUUM模式开启,则空间会自动被

oracle 11g drop table 后闪回

--初始化数据 drop table test purge; create table test as select * from dba_objects; delete from test where object_id is null; alter table test add constraint pk_test_object_id primary key(object_id); create index ind_t_object_name on test(object_name); --

A MySQL foreign keys drop table, re-create table example

Summary: How to drop MySQL database tables and recreate them when you have foreign keyrelationships between the tables. This is pretty obscure, but I thought I'd post it here so I wouldn't forget how to do this ... if you ever have a situation when u

PLSQL_闪回删除FlashBack Drop表误删除如何进行恢复(案例)

2014-06-25 BaoXinjian 一.摘要 在PLSQL开发时,有时候会遇到对表的误删除,其实遇到这种情况不需要紧张,如果问题较大,请DBA帮忙,如果只是小问题,只需自己处理,利用flashback闪回操作即可,可将表进行恢复 在删除表时,系统一般都是表放入回收站中,并没有完全进行删除,因此,只需从回收站中进行恢复就可以了,原理和Window中的回收站一样,但是一旦将回收站中的资料再进行删除,这个就很难恢复了,只能向DBA求救 1. 回收站的概念 回收站,是一个虚拟的容器,用于存放所有