回收站(Recycle Bin)从原理上来说就是一个数据字典表,放置用户删除(drop)掉的数据库对象信息。用户进行删除操作的对象并没有被数据库删除,仍然会占用空间。除非是由于用户手工进行Purge或者因为存储空间不够而被数据库清掉。

在Oracle 10g数据库中,引入了一个回收站(Recycle Bin)的数据库对象。

回收站,顾名思义,它就是存储被删掉的东西。从原理上来说就是一个数据字典表,放置用户删除(drop)掉的数据库对象信息。用户进行删除操作的对象并没有被数据库删除,仍然会占用空间。除非是由于用户手工进行Purge或者因为存储空间不够而被数据库清掉。数据库有了这样的功能,能够减少很多不必要的麻烦。

如果一个表被删除,那么与该表有关联的对象,例如索引、约束和其他依赖对象都会在前面加bin$$这个前缀。

启动和关闭你可以使用下面的查询语句来查看回收站的当前状态:

1.SELECT Value FROM V$parameter WHERE Name = 'recyclebin';

如果返回值为“on”表明回收站是启动的,“off”表明是关闭的。

当然,你可以启动或者关闭回收站里的每个会话(session)和系统(system),代码如下:

相关操作代码如下:

ALTER SYSTEM SET recyclebin = ON;

ALTER SESSION SET recyclebin = ON;

ALTER SYSTEM SET recyclebin = OFF;

ALTER SESSION SET recyclebin = OFF;

获取回收站里的内容

你可以使用下面的任意一个语句来获得回收站中的对象:

相关操作代码如下:

SELECT * FROM RECYCLEBIN;

SELECT * FROM USER_RECYCLEBIN;

SELECT * FROM DBA_RECYCLEBIN;

还原

可以使用如下语法来还原被删除的对象:

相关操作代码如下:

FLASHBACK TABLE <> TO BEFORE DROP RENAME TO <>;

备注:这里的RENAME是给删除的对象进行重新命名,是一个可选命令。

清空回收站

这里的清空包含两种情况,第一你可以有条件的清空;第二是全部清空。我们先来看看有条件的清空该如何做:

a.清空一个特定的表:

相关操作代码如下:

PURGE TABLE <>;

b.清空一个特定的索引:

相关操作代码如下:

PURGE INDEX <>;

c.清空与该表空间有关联的对象:

相关操作代码如下:

PURGE TABLESPACE<>;

d.清空一个特定用户的表空间对象:

相关操作代码如下:

PURGE TABLESPACE<> USER <>;

e.清空回收站:

相关操作代码如下:

PURGE RECYCLEBIN;

f.当一个表被删除(drop)时就直接从回收站中清空

相关操作代码如下:

DROP TABLE <> PURGE;

Demo

1.启动回收站功能

相关操作代码如下:

ALTER SYSTEM SET recyclebin = ON;

2.创建一个DEMO_RECYCLEBIN表

相关操作代码如下:

CREATE TABLE DEMO_RECYCLEBIN (COL1 NUMBER);

3.向DEMO_RECYCLEBIN表中插入一条数据

相关操作代码如下:

INSERT INTO DEMO_RECYCLEBIN (COL1) VALUES (1); COMMIT;

4.删除(Drop)DEMO_RECYCLEBIN表

相关操作代码如下:

DROP TABLE DEMO_RECYCLEBIN;

5.查询

相关操作代码如下:

SELECT * FROM USER_RECYCLEBIN;

结果:

6.从回收站中还原DEMO_RECYCLEBIN表

相关操作代码如下:

FLASHBACK TABLE DEMO_RECYCLEBIN TO BEFORE DROP;

7.还原后查询

相关操作代码如下:

SELECT * FROM DEMO_RECYCLEBIN;

查询结果和删除前是一致的。

8.删除表,并且将其从回收站中清空

相关操作代码如下:

DROP TABLE DEMO_RECYCLEBIN PURGE;

oracle查回收站大小,ORACLE 回收站当前状态查询整理相关推荐

  1. oracle调整sga大小,Oracle调整SGA大小

    Oracle调整SGA大小 Oracle 11g 只要设置 memory 就可以了.不需要单独对 sga_max_size 进行设置, 设置memory_max_target.memory_targe ...

  2. oracle查回收站大小,ORACLE回收站

    关于回收站,官方公开文档有详细的资料可以查阅: 本文介绍回收站常用的操作. 1回收站开启和关闭 回收站开启和关闭分为会话级别和系统级别.会话级别的命令如下: ALTER SESSION SET rec ...

  3. oracle 查看回收站空间,ORACLE 回收站当前状态查询整理

    启动和关闭你可以使用下面的查询语句来查看回收站的当前状态: 1.SELECT Value FROM V$parameter WHERE Name = 'recyclebin'; 如果返回值为" ...

  4. oracle查表文件大小,Oracle表空间使用大小查询

    1.查询一个表的物理空间数量:select segment_name,sum(bytes)/1024/1024 from user_extents where segment_type = 'TABL ...

  5. oracle中区间大小,Oracle的逻辑结构(表空间、段、区间、块)——总结

    Oracle逻辑结构全景结构图 以下为个人整理的一些关于Oracle逻辑结构的相关数据字典: SELECT * FROM DBA_TABLESPACES--记录各个表空间的详细信息 SELECT * ...

  6. oracle 11g初始段大小,Oracle 11g配置调优,一般需要注意哪些方面呢?

    一 创建数据库必须遵循的原则 1.强制数据库中创建的每一个表空间必须是本地管理. extent management local定义本地表空间. 2.确保数据库为每个用户自动分配一个默认的永久表空间. ...

  7. oracle 调整缓存大小,Oracle调整缓冲区高速缓存

    一.我们可以通过配置Shared Pool(保证用户在内存中查找到已经缓存的语句)改进性能:还有一个重要的方法就是:使用户可以在内存找到他们所请求的数据! 这就需要通过Database Buffer ...

  8. oracle 查询表物理大小,oracle查看表实际物理空间使用大小

    一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数: select segment_name, bytes from user_segments where segment ...

  9. oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组

    ODP.Net公开了将关联数组作为参数从C#传递到Oracle存储过程的能力.除非您尝试在sql查询中使用该关联数组中包含的数据,否则它是一个很好的功能. 原因是它需要上下文切换 – SQL语句需要S ...

最新文章

  1. android studio apt作用,解决Android studio 3.0 apt插件问题
  2. 深入全面阐释Struts 2的方方面面
  3. linux ioctl 设备操作函数 r3到r0 应用层 驱动层 通讯
  4. 计算机PMA,PMA通信协议分析及仿真工具
  5. WAS 报错 Font '宋体' is not available to the JVM
  6. 隐私与机器学习,二者可以兼得吗?
  7. 实施微服务应该具备哪些先决条件?
  8. Java虚拟机工作原理详解 (一)
  9. keepalived做nginx的高可用,企业版简单介绍。
  10. 【图像处理】基于matlab GUI图像形态学处理【含Matlab源码 1287期】
  11. 登陆+注册(vue+elementUI)
  12. docker MySQL 双主_DockerMysql数据库实现双主同步配置详细·TesterHome
  13. 【windows 壁纸】
  14. Typora超级纯净免费记笔记软件分享给大家
  15. 什么是云服务器ECS?云服务器ECS详解
  16. 抖音大咖如何寻找广告主?这三种途径值得了解
  17. LinkedBlockingQueue 源码分析
  18. Solarwinds使用方法
  19. OPPO Reno2系统体验!ColorOS6.1智美双全,带来不同的操作乐趣
  20. 钉钉——阿里“打入”产业互联网的尖兵连

热门文章

  1. 山东中天物联网/威海天乐物联网有限公司不诚信商家
  2. 江西现代职业技术学院单招计算机,江西现代职业技术学院2019年单招录取分数线...
  3. GNS3模拟ADSL宽带拨号上网
  4. nginx+ffmpeg搭建流媒体服务器
  5. 某互联网金融公司“产品经理”培训圆满结束!
  6. 奥术飞弹打死精灵龙的概率
  7. ubuntu下使用python生成.deb安装包
  8. 小米linux终端,小米4 ubuntu touch 系统安装教程 ROM 安装 cancro touch ubuntu
  9. 管家婆服务器备份文件夹,管家婆软件备份以及恢复方法
  10. 李弘毅机器学习笔记:第七章—深度学习的发展趋势