`
anreddy
  • 浏览: 99227 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
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
------------------------------ -------------------------------- --------- ------------------------- ------------------------------ ------------------- ------------------- ------- -------------------------------- ---------- --------- ------- ----------- ------------ -----
分享到:
评论

相关推荐

    oracle10g回收站研究

    Oracle 10g 的回收站功能是一个内置的数据保护机制,允许数据库管理员恢复意外删除的表、索引和其他数据库对象。回收站本质上是一个特殊区域,它保存了被删除对象的元数据,直到它们被显式地从回收站中清除或者达到...

    Oracle回收站空间清空.doc

    5. Flash Drop:在 Oracle 10g 中,启用 Flash Drop 功能,可以将删除的表和对象暂存于回收站中,以便随时恢复。例如:DROP TABLE TABLE_NAME PURGE; 6. 回收站的概念:Oracle 回收站的概念与 Windows 回收站相同,...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    默认情况下,Oracle 10g及以后版本会自动启用回收站功能,但可以通过以下命令检查当前状态: ```sql SELECT db_flashback_retention_target FROM v$database; ``` 如果回收站功能未启用,可以使用以下命令开启: ```...

    彻底删除 Oracle 的数据表

    由于Oracle默认的行为是在删除表时将其放入回收站而非立即彻底删除,因此若想实现真正的删除,则需要采取额外的步骤来确保数据表被永久移除。下面将详细介绍几种实现彻底删除Oracle数据表的方法: 1. **使用PURGE...

    Oracle10g数据库回收站的管理与维护.pdf

    【Oracle10g数据库回收站】是Oracle 10g版本引入的一个重要特性,它提供了一种方便的数据恢复机制,允许用户撤销误删除的操作。在早期的Oracle版本中,一旦执行了DROP TABLE命令,表及其相关数据将永久丢失,恢复...

    关于oracle10供了类似操作系统中的回收站功能

    在Oracle 10g中,当你执行 `DROP` 语句删除表、视图或其他对象时,这些对象并不会立即被物理删除,而是被移到回收站中。回收站本质上是一个数据字典表,存储着被删除对象的信息。这些对象依然占用存储空间,直到用户...

    BLOG_Oracle 回收站及flashback drop_LHR.pdf

    Oracle数据库中的回收站功能是在Oracle数据库10g版本中引入的,其主要作用是防止用户不小心删除数据库对象。当数据库对象(如表、视图、索引等)被删除时,它们并不是立即从数据库中永久移除,而是暂时放入回收站中...

    Oracle 10G中的回收站

    Oracle 10G的回收站是数据库管理系统中一个重要的特性,它允许用户在不小心删除数据库对象后能够方便地恢复这些对象,从而极大地减少了因误操作导致的数据丢失问题。回收站本质上是一个数据字典表,存储了被Drop操作...

    oracle drop table purge无备份bbed恢复.docx

    ### Oracle Drop Table Purge 无备份 BBED 恢复详解 #### 一、问题背景与挑战 在Oracle数据库管理中,偶尔会遇到误删除表(`drop table`)并且执行了Purge操作的情况,这可能导致重要的业务数据永久丢失。尤其是在...

    用oracle10g的flashback闪回功能快速恢复oracle中被删除的表

    当表被删除时,Oracle 10g 并不会立即将表彻底删除,而是将其重命名,并放置在一个名为“回收站”的特殊逻辑容器中。被删除的表会保留其原有的结构、数据以及相关联的索引和触发器等对象。 - **表的重命名**:删除...

    Oracle Database 10g删除表的程序.rar_oracle 10g

    Oracle 10g还支持使用`TRUNCATE TABLE`语句,它用于删除表中的所有数据,但保留表结构。与`DELETE`不同,`TRUNCATE`不记录任何删除操作,因此速度更快,但同样不可逆。若需删除表而保留其结构,可以使用`TRUNCATE ...

    oracle 误删除表恢复

    Oracle自10g版本起引入了回收站(Recycle Bin)的概念,这一特性允许用户恢复已删除的对象,包括表、索引等。通过回收站机制,即使一个表被意外删除,也可以轻松将其恢复到删除前的状态。 #### 回收站的工作原理 当...

    快速掌握删除Oracle 10g垃圾表的好方法

    这些表通常具有类似"BINjR8PK5HhrrgMK8KmgQ9nw=="这样的随机字符串作为名称,它们实际上是Oracle 10g引入的新特性——回收站(Recyclebin)功能的结果。回收站功能为用户提供了一种撤销误删操作的安全机制,但同时也...

    删除oracle10g垃圾表的最新方法

    回收站是Oracle 10g引入的一个新特性,它允许用户恢复意外删除的对象,以提供额外的数据保护。 当用户执行`DROP TABLE`命令时,Oracle并不会立即释放表占用的空间,而是将表及其相关的数据、索引等移到回收站内。...

    Oracle10g视图的神图

    - **修改过的视图:** 对于那些在Oracle 10g中进行了更改的视图(例如增加了新的列、重命名或删除某些列),会在名称后标注"(*)"符号。 **部分关键视图及其含义:** 1. **V$FILES:** - **FILE#**:文件编号。 -...

    彻底删除和闪回oracle表

    回收站的工作原理在于,当执行`DROP TABLE`等删除命令时,Oracle并不立即释放相关的磁盘空间,而是将被删除的表元数据(metadata)和数据块标记为已删除,并放入回收站。这样,如果用户意识到误删,可以通过闪回技术...

    Oracle 10g的“数据闪回”机制——Oracle 10g系列专栏(一).pdf

    在Oracle 10g中,当你执行DROP TABLE指令时,被删除的表会占用的空间不会立即被释放,而是被保留在“资源回收站”内。如果用户意识到错误,可以通过查询USER_RECYCLEBIN数据字典或者在SQL*Plus中执行SHOW RECYCLEBIN...

    ORACLE 回收站当前状态查询整理

    Oracle数据库的回收站功能是自Oracle 10g版本开始引入的一个重要特性,它提供了一种恢复意外删除对象的机制,极大地增强了数据安全性。回收站本质上是一个数据字典表,用于存储用户通过DROP操作删除的对象信息。这些...

    oracle 闪回已删除的表

    这一特性最早出现在Oracle 9i版本中,但在Oracle Database 10g中得到了进一步的增强和完善。 ### 闪回删除的原理 当一个表被删除时,并不是立即从数据库中永久清除,而是移动到了回收站(Recycle Bin)。回收站...

    Oracle恢复误删除数据

    Oracle 在删除表时,没有直接清空表所占的块,而是把这些已删除的表的信息放到了一个虚拟容器“回收站”中,而只是对该表的数据块做了可以被覆写的标志。 可以直接查询这个“回收站”或者查询 user_table 视图来...

Global site tag (gtag.js) - Google Analytics