Oracle回收站的使用
-
文章目录
前言
我们都知道,在Oracle中,当我们DROP一张表的时候,这张表其实并没有删除,只是在数据自定中把该表重命名了(SYS表空间除外),此时我们可以在Oracle回收站中找回该表,下面我们就看一下关于Oracle Recyclebin的一些操作!
一、Oracle回收站是什么?
回收站这个特性主要的好处就是在误删除一个表时有一个恢复机制,不必通过数据库还原来实现。避免大量的人工误操作。以及数据库还原等复杂的操作。让数据库的管理、维护更加简单、方便。如果是SQL SERVER数据库,就必须还原整个数据库来找到被DROP掉的表。可见回收站功能确实是一个开创性的功能。
二、使用步骤
1.查询回收站
首先你可以通过命令查看数据库是否开启了回收站机制, 如下所示 VALUE= ON表示开启了回收站机制。OFF则表示回收站机制关闭。
代码如下(示例):
SQL> SHOW PARAMETER RECYCLEBIN;
NAME TYPE VALUE
-------- ----------- ----------
recyclebin string ON
或
SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='recyclebin';
NAME VALUE
----------------- --------------------
recyclebin on
SELECT * FROM RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN; --USER_RECYCLEBING与RECYCLEBIN是同义词,字段完全一样
2.开启或关闭回收站:
代码如下(示例):
会话级别开启/关闭
ALTER SESSION SET RECYCLEBIN = OFF/ON;
系统级别开启/关闭
ALTER SYSTEM SET RECYCLEBIN = OFF/ON SCOPE=SPFILE;
(需要重启数据库)
3.查询回收站中的表数据:
SELECT * FROM "BIN$KlM0Cy+QH0jgU3AVGujw6s==$1";
4. 清空回收站中的数据:
PURGE TABLE EMPLOYEES;
清空回收站某张表
PURGE RECYCLEBIN;
清空回收站所有数据
PURGE RECYCLEBIN EXAMPLE USER SCOTT;
清空回收站数据,但保留scott用户的数据
4. 还原回收站中的数据表:
FLASHBACK TABLE EMPLOYEES TO BEFORE DROP;
还原成原来的表名
FLASHBACK TABLE EMPLOYEES TO BEFORE DROP RENAME TO EMPLOYEES_NEW;
还原成新的表名
参考https://www.cnblogs.com/kerrycode/p/4008362.html
总结
提示:以上就是今天要讲的内容,本文仅仅简单介绍了Oracle回收站的使用。