• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > ORACLE 回收站当前状态查询整理

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了回收站,当前状态等相关知识,希望本文的分享对您有所帮助

回收站(Recycle Bin)从原理上来说就是一个数据字典表,放置用户删除(drop)掉的数据库对象信息,接下来详细介绍下ORACLE 回收站方方面面感兴趣的你可以参考下哈

回收站(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;
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2018-12-05SQL Server 7.0 入门(一)
  • 2017-05-11MySQL日期数据类型、时间类型使用总结
  • 2017-05-11MYSQL5 masterslave数据同步配置方法第1/3页
  • 2018-12-05mysql实现SQL统计的实例
  • 2018-12-05sql数据库导入导出步骤教程(图)
  • 2018-12-05用正则表达式替换数据库中的内容的实例详解
  • 2017-05-11Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态
  • 2017-05-11常用的SQL例句 数据库开发所需知识
  • 2018-12-05大数据量分页存储过程效率测试附测试代码与结果
  • 2018-12-05mysql的数据类型有哪些?mysql数据类型详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sql存储过程获取汉字拼音头字母函数
    • mysql event事件调度器的图文代码详解
    • MySql的存储过程学习小结 附pdf文档下载
    • sqlserver中比较一个字符串中是否含含另一个字符串中的一个字符
    • ssm框架mysql取值,有字段值为空,别的有值但是数据库都有值
    • IN&EXISTS与NOT IN&NOT EXISTS 的优化原则小结
    • MySQL 最基本的SQL语法/语句
    • CentOS7安装和配置MySQL
    • mysql5.7详细安装图文流程
    • Mysql 5.5多实例部署步骤_MySQL

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有