删除回收站的表是有固定语句的,PURGE RECYCLEBIN。
成都创新互联公司公司2013年成立,先为宁夏等服务建站,宁夏等地企业,进行企业商务咨询服务。为宁夏企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
不过这个语句只能清除当前用户的回收站,其他用户就算是DBA用户,好象也没办法清除其他用户的回收站。
drop table 表名(彻底删除表)
delete from 表名(后面不跟where语句,则也删除表中所有的数据)结构保留。
这个回滚段中保留数据,但不降水位。
truncate table 表名(清除数据,降水位,不进回滚段)结构保留。
想要回滚数据,只能开启闪回进行但百万条以上不行。
利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据!
理论上是可以,
window上卸载oracle,自带的卸载卸不干净的,需要进行注册表的清理
看下这个
可以用 flashback database 来恢复。前提是你没有清除掉回收站的内容。
在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为:
alter session set events 'immediate trace name flush_cache level 1';
或者:
alter session set events = 'immediate trace name flush_cache';
类似的也可以使用alter system系统级设置:
alter system set events = 'immediate trace name flush_cache';
在Oracle 10g中,Oracle提供一个新的特性,可以通过如下命令刷新Buffer Cache:
alter system flush buffer_cache;
我们通过试验来看一下刷新Cache的作用:
1.创建测试表
SQL create table t as select * from dba_objects;Table created.SQL analyze table t compute statistics;Table analyzed.SQL select blocks,empty_blocks from dba_tables
2 where table_name='T' and owner='SYS'; BLOCKS EMPTY_BLOCKS
---------- ------------
78 1
表T共有79个Block.
2. x$bh
SQL select count(*) from x$bh; COUNT(*)
----------
14375SQL select count(*) from x$bh where state=0; -- state =0 is free COUNT(*)
----------
13960SQL alter system set events = 'immediate trace name flush_cache';System altered.SQL select count(*) from x$bh where state=0; COUNT(*)
----------
14375