|
最初由 rollingpig 发布
[B]就我所看到的而言
问题出在delete之后,你以为没有commit,事实因为后面做了alter操作,已经commit,再shutdown abort自然模拟不出来。
你试试看不要做alter操作看看。 [/B]
这个ALTER SYSTEM DUMP语句不会产生COMMIT,如下面这样试一下就知道了:
wyq@ORCL>drop table t;
Table dropped.
wyq@ORCL>create table t as select rownum id from all_objects where rownum < 3;
Table created.
wyq@ORCL>select * from t;
ID
----------
1
2
wyq@ORCL>delete from t where rownum = 1;
1 row deleted.
wyq@ORCL>select dbms_rowid.rowid_relative_fno(rowid) file_id,dbms_rowid.rowid_block_number(rowid) bl
ock_number from t;
FILE_ID BLOCK_NUMBER
---------- ------------
3 30979
wyq@ORCL>alter system dump datafile 3 block 30979;
System altered.
wyq@ORCL>rollback;
Rollback complete.
wyq@ORCL>select * from t;
ID
----------
1
2
wyq@ORCL> |
|