• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
侬去斯 显示全部楼层 发表于 2021-10-26 13:13:57 |阅读模式 打印 上一主题 下一主题
采取站(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 <<Dropped_Table_Name>> TO BEFORE DROP RENAME TO <<New_Table_Name>>;

备注:这里的RENAME是给删除的对象进行重新定名,是一个可选命令。
清空采取站
这里的清空包含两种环境,第一你可以有条件的清空;第二是全部清空。我们先来看看有条件的清空该怎样做:
a.清空一个特定的表:
复制代码 代码如下:
PURGE TABLE <<Table_NAME>>;

b.清空一个特定的索引:
复制代码 代码如下:
PURGE INDEX <<Index_NAME>>;

c.清空与该表空间有关联的对象:
复制代码 代码如下:
PURGE TABLESPACE<<Table_NAME>>;

d.清空一个特定用户的表空间对象:
复制代码 代码如下:
PURGE TABLESPACE<<Table_NAME>> USER <<User_Name>>;

e.清空采取站:
复制代码 代码如下:
PURGE RECYCLEBIN;

f.当一个表被删除(drop)时就直接从采取站中清空
复制代码 代码如下:
DROP TABLE <<Table_Name>> 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;

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作