我们都比较熟悉windows中的回收站,文件删除后放到回收站里还可以再复原.Oracle回收站的原理完全一样,只是实现的细节方面有些差异.另外回收站中只能回收表和相关的对象包括索引、约束、触发器、嵌套表、大的二进制对象(LOB)段和LOB索引段.从Orace 10g开始有回收站的功能.
1.回收站启动和关闭
回收站默认是开启的.不过我们可以通过参数recyclebin来关闭和开启.
如果只是针对每个session可以通过alter session set recyclebin=off; 和 alter session set recyclebin=on;来关闭和开启
如果是针对所有session可以通过修改系统参数recyclebin来实现,不过这里要注意10g和11g有点不一样,它们的参数类型不同
10g可以用:alter system set recyclebin=off; 和alter system set recyclebin=on;来关闭和开启
11g可以用:alter system set recyclebin=off deferred; 和alter system set recyclebin=on deferred;来关闭和开启
补充:我们来简单的了解下Oracle参数类型
Oracle参数信息可以通过视图v$parameter查看,其中有一列issys_modifiable表示参数类型,有immediate,false,deferred三种,其中false表示是静态参数,只要当instance重新启动时才会生效,其他两种是动态参数,immediate表示修改参数后立即生效,deferred表示修改后要等下一个session才能生效,修改时已经连接的session是不会生效的.在用alter修改参数时如果是false或immediate一般可以不写,如果是deferred则要写
10g: select ISSYS_MODIFIABLE from v$parameter where name = 'recyclebin';的结果是immediate
11g: select ISSYS_MODIFIABLE from v$parameter where name = 'recyclebin';的结果是deferred
2.查看回收站内容
select * from user_recyclebin;或select * from recyclebin;查看当前用户所drop的对象(里面有对象之前的名字和drop之后的名字)
select * from dba_recyclebin;查看所有用户drop掉的对象
其实当一个对象drop后,并且开启了回收站功能.它并没有真正被删除,实际上只是修改了一下名字,我们用select * from user_objects where type= 'TABLE'还能查到.只是它的名字有点怪,例如BIN$qAUuckGyd3TgQKjAFAFTAg==$0,它的命名规范是BIN$unique_id$version 其中BIN代表RecycleBin, unique_id是数据库中该对象的唯一标志,26个字符长度 ,version表示该对象的版本号.
3.还原回收站内容
假如有表test被drop,drop后的object_name是BIN$qAUuckGyd3TgQKjAFAFTAg==$0
可以用flashback table "BIN$qAUuckGyd3TgQKjAFAFTAg==$0" to before drop ;(记得名字加双引号)
或者flashback table test to before drop ;来还原.不过假如drop掉一个表test,再新建一个表test,然后再drop.那么flashback table test to before drop只能还原最后被drop掉的表test.最先drop掉的表还原时会出错,因为表名不能重名.所以必须改名flashback table test to before drop rename to test2
4.清空回收站
如果一次只清空一个表,可以用PURGE table test 或PURGE table "BIN$qAUuckGyd3TgQKjAFAFTAg==$0";
如果一次清空所有的可以用PURGE recyclebin 或者PURGE dba_recyclebin
还原时是只能一次还原一个表,不能像清空一样一次还原所有表
5,注意事项
如果表是在system表空间下面则不能使用回收站的功能,不知道为啥有这限制啊
如果表空间快满时系统会自动的去清空回收站中一部分内容,先清空最早drop的对象
分享到:
相关推荐
oracle数据库FLASHBACK系列功能介绍
目录一、作用二、回收站操作三、通过Purge删除回收站的...通过dba_recyclebin视图可查看回收站内容; 回收站中的对象名为BIN$打头,可以单独访问: SELECT * FROM "BIN$iB6Z3f+5QOGjw0iKVisLqg==$0" 2.开启/关闭回收站
回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息。用 户进行Drop操作的对象并没有被数据库删除,仍然会占用空间。除非是由于用户手工进行Purge或者因为存储空间不够而被数据库清掉。常常...
获得系统内回收站的资源,并可以操作
書籤的資源回收筒。...您只需要设置回收站文件夹。 *当您删除书签时,它们将被移到回收站。 *当您删除回收站中的书签时,它们将真正消失。 *当您删除回收站时,它将为空。 支持语言:English,中文 (繁體)
RecycleBin 文件标志标志可以是: -ls :列出回收站的内容。 -r : 将选定的文件恢复到原始目录。 通配符仅在没有删除同一文件的多个副本时才有效。 -rc : 将文件恢复到当前目录。 通配符仅在没有删除同一文件的多个...
matlab开发-RecycleBin。除了将文件移动到所选文件夹并进行恢复外,对文件的工作方式与(删除)类似。
AD回收站恢复工具 ,可以恢复AD中被误的用户。用户组。计算机
我想用CFile::Remove(或其它可行的方法)删除一个文件,但是只是想将它送到Recycle Bin里面,而不是永久性地删除它,这样我的用户就可以在必要的时候能恢复这个文件...关键字:回收站,Recycle Bin,Shell API,外壳编程
默认删除文件的时候 File.Delete 是将文件永久删除,如果是一些文档,建议删除到回收站,这样用户可以自己还原 通过 SHFileOperation 可以将文件放在回收站 本文提供的方法暂时只能在 x86 程序使用,此方法暂时不...
Oracle 9i 开始支持闪回,Oracle10g开始全面支持闪回功能,Oracle11g有所完善,为大家快速的恢复数据,查询历史...回收站(recyclebin) 是 表 更新、删除、插入记录 闪回TABLE 还原数据,undo 是 查询 当前数据和历
您可能感兴趣的文章:Oracle误删除表数据后的数据恢复详解Oracle7.X 回滚表空间数据文件误删除处理方法Oracle7.X 回滚表空间数据文件误删除处理方法Oracle7.X 回滚表空间数据文件误删除处理方法误删除$ORACLE_HOME/...
语言:English,中文 (繁體) 书签的资源回收筒。...您只需要设置回收站文件夹。 *当您删除书签时,它们将被移到回收站。 *当您删除回收站中的书签时,它们将真正消失。 *当您删除回收站时,它将为空。
Oracle 10g开始,drop table 命令的实现方式为:它实际上根本没有删除表,而只是重命名表,并把重命名的表放进回收站(每个用户都有一个回收站)可以在user_recyclebin数据字典中查看当前用户的回收站中的内容,...
Linux的回收站 认证: Anji Babu Kapakayala IIT Kanpur, India. Laungauge:贝壳/重击 描述: RBIN is a software which acts as a RECYCLEBIN" to delete and restore the files in Linux. Restores the ...
代码如下: –查看数据库回收站 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; –恢复 FLASHBACK TABLE 表名 TO BEFORE DROP; 此举 可以恢复表结构,同时 ...
实现文件回收站效果。用户拖放某张图片在垃圾箱图标上,即可删除这张图片,并且有删除文件的粉碎效果。 注意:请在Mac下解压使用
1\将表闪回到某一时间点: 闪回操作前启用行移动功能 Sql代码 alter ... 2\闪回回收站: Java代码 SQL>show recyclebin; SQL>drop table emp; SQL>show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
Rally-Recycle-Bin-Utilities rally_recyclebin_report.rb ... 运行rally_recyclebin_report.rb 脚本以提供完整的回收站摘要 在您喜欢的文本编辑器或 Excel 中编辑生成的 CSV 删除所有条目,但要删除的条目除外 将
可用于RocketDock和RK等模拟苹果系统的停靠栏。可以提高工作效率