本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xueshenzhou/archive/2010/04/04/5449590.aspx
Oracle 10g提供的flashback drop 新特性
为了加快用户错误操作的恢复,Oracle10g提供了flashback drop的功能。
而在以前的版本中,除了不完全恢复,通常没有一个好的解决办法。
Oracle 10g的flashback drop功能,允许你从当前数据库中恢复一个被drop了的对象,在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。对于一个对象的删除,其实仅仅就是简单的重令名操作。
所谓的回收站,是一个虚拟的容器,用于存放所有被删除的对象。在回收站中,被删除的对象将占用创建时的同样的空间,你甚至还可以对已经删除的表查询,也可以利用flashback功能来恢复它,这个就是flashback drop功能。
回收站内的相关信息可以从recyclebin/user_recyclebin/dba_recyclebin等视图中获取,或者通过SQL*Plus的show recyclebin 命令查看。
C:\>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 6月 1 10:09:32 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn / as sysadmin
已连接。
SQL> select count(*) from goodsinfo1;
COUNT(*)
----------
38997
SQL> drop table goodsinfo1;
表已删除。
SQL> commit;
提交完成。
SQL> select count(*) from goodsinfo1;
select count(*) from goodsinfo1
*
第 1 行出现错误:
ORA-00942: table or view does not exist
啊!天啊!我删错了表,怎么办好呢?啊!将数据库闪回到刚才删除表前的时间就可以啦。
不行!那其它的操作也会一齐闪回。现在可以用flashback drop的功能了。
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
GOODSINFO1 BIN$RFG58GsfRheKlVKnWw8KKQ==$0 TABLE 2005-06-01:10:11:03
SQL> FLASHBACK TABLE goodsinfo1 TO BEFORE DROP;
闪回完成。
SQL> select count(*) from goodsinfo1;
COUNT(*)
----------
38997
看看已删除的表回来了。真的谢天谢地啊!
SQL> show recyclebin;
如果想要彻底清除这些对象,可以使用Purge命令,如:
SQL> select count(*) from goodsinfo2;
COUNT(*)
----------
38997
SQL> drop table goodsinfo2;
表已删除。
SQL> commit;
提交完成。
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
GOODSINFO2 BIN$BgSuEWMOSLOGZPcIc97O8w==$0 TABLE 2005-06-01:10:13:18
SQL> purge table goodsinfo2;
表已清除。
SQL> show recyclebin;
SQL>
使用 purge recyclebin可以清除回收站中的所有对象。
类似的我们可以通过purge user_recyclebin或者是purge dba_recyclebin来清除不同的回收站对象。
通过PURGE TABLESPACE TSNAME,PURGE TABLESPACE TSNAME USER USERNAME命令来选择清除回收站。
如果需要彻底删除一个表,不想放到回收站中,可以在drop语句中增加purge选项,如SQL> drop table tablename purge
分享到:
相关推荐
清除-cdn 从多个 CDN 中清除缓存对象的工具安装go get github.com/oremj/purge-cdn用法清除边角料EDGECAST_TOKEN= " your-token "EDGECAST_ACCOUNT_ID= " account-id "purge-cdn edgecast --url ...
将Vuex映射实用程序转换为计算的/方法。 动机 Vuex 4.0修复了以前的Vuex中泛型在商店中遇到的问题,从而可以构建类型更安全的系统。 但是,Vuex中存在的Vuex的mapXXX实用程序不能解决类型问题,并且会阻碍将来的...
pip-purge:卸载您的virtualenv中的所有...用法 $ pip-purgeFound 12 packages, uninstalling...Purged!基本上就是这样。安装 $ pip install pip-purge确保仅在virtualenv中运行;) :sparkles: :shortcake: :sparkles:
它还使用支持代理键(缓存标签),它将转发XKey和XKey-Purge标头(如果存在)。 该脚本旨在在有监督的环境中运行,例如supervisor , daemontools或runit 。 有关runit示例代码,请参见runit-run和runit-log-run。...
这使得一台Nginx可以同时作为“负载均衡服务器”与“Web缓存服务器”来使用。–by 张宴 下载2011-05-03更新的最新版1.3wget ...
入门安装yarn add purge-svg-sprite -D or npm install purge-svg-sprite -D用法yarn purge - svg - sprite - c 'path/**/*.svelte' path /**/ * . vue - i path / inputSprite . svg - o path / outputSprite . svg
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:yt_spam_purge-3.0.0a4-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
npm install naytev-purge --save用法 var purge = require ( "naytev-purge" ) ;purge ( { url : process . argv [ 2 ] , siteId : process . env . NAYTEV_SITE_ID , key : process . env . NAYTEV_KEY} , ...
螺旋吹扫一次清除两个CDN状态安装用法curl -X POST https://adobeioruntime.net/api/v1/web/helix/helix-services/purge@v1 ? host=… & xfh=… & path=… host :内部CDN主机名xfh :外部CDN主机名,以逗号分隔path...
Cloudflare purge插件使用Cloudflare API来清除通过Cloudflare CDN提供其内容的网站的任何页面。在选项中设置CF电子邮件和API密钥之后,可以清除启用CF的网站上任何页面的缓存。在版本1.3之后,您可以清除当前选项卡...
清除docker-registry-action Github操作以删除Yeap过时的...environments-ubuntu:18.04 -s GITHUB_TOKEN=XXXXXXXXXXX用法on : schedule : - cron : ' * 9 * * 1 'name : Purge image dockerjobs : purge : name : P
大大减少捆绑CSS的大小(从大约700kb减少到1〜10kb ) 需要Preact Typescript模板删除所有组件的未使用CSS((js,ts,tsx,jsx) 保持依赖关系更新用法npm i preact-purge-tailwindcss --save-dev# ORyarn add ...
该存储库展示了使用CLI npx react-native init RnDiffApp React Native应用程序。 每个新的React Native版本都会导致创建一个新项目,删除旧项目并在它们之间产生差异。 这样,差异始终是干净的,始终与init模板的...
安装 npm install purge-array用法 var purgeArray = require ( 'purge-array' )var arr = [ null , undefined , [ ] , { } , '' , true , false , 1 , 0 , 'string' ]purgeArray ( arr )// => [true, 1, 'string']
使用方法,文件夹上右键->purge,删除所有旧版本,类似于 creo/proe purge命令
该项目使用生成getter和setter等。从命令行编译应该不会引起任何问题,但是在IDE中,您需要向JVM添加代理。 完整说明可在Lombok网站上找到。 您需要执行此操作的信号是与缺少的方法和字段有关的许多编译器错误。 ...
本教程操作环境:linux5.9.8系统、Dell G3电脑。 在Linux中有很多方法可以删除目录,在图形化界面可以利用文件管理器,或者通过终端删除。本文将介绍在文本界面使用命令删除目录。
Akamai CCU Purger 使用CCU v2 API清除Akamai Edge内容的轻量级模块有关API的详细信息,请参见 用法var PurgerFactory = require('./index');var config = { clientToken: 'yourClientToken', clientSecret: '...
用法 $ npm i mailchimp-purge $ npm run start <API> 动机 Mailchimp会对您列表中的联系人收取费用,即使他们已取消订阅也是如此。 您无法将营销电子邮件发送给未订阅的联系人,因此,如果仅使用Mailchimp进行处理...