|
1、构建一个undo表空间只有100K(我试过,不能在小于这个数字了),1M的online redolog的处于归档模式下的数据库db。
2、在db上面删除一个大表a,大概10M左右,但是不commit;
3、归档所有的当前online redolog.
4、删除所有归档后的日志
5、刷新buffer_cache的内容到磁盘
6、使当前的undo表空间离线,重新创建一个undo
7、继续归档全部的online redolog
8、然后删除所有的归档日志
6、最后commit,并重启数据库
请问:大表现在还在数据db中吗?
如果在,oracle为什么没有能删掉它呢?
如果不在,oracle是从哪里获得删除信息的呢?(我在commit之前已经更换了所有的online redolog和undo表空间,这些位置应该是oracle记录数据库更改的信息的位置)。
我的实验的结果就是oracle已经把该表删除了,那么他是怎么知道的呢?
谢谢大家指教 |
|