时间:2021-07-01 10:21:17 帮助过:72人阅读
SQL create table lost_write(t1 int) tablespace users; Table created.SQL SQL insert into lost_write values(1);1 row created.SQL commit;Commit complete.SQL alter system checkpoint;System altered.select dbms_rowid.rowid_block_number(rowid),db
SQL> create table lost_write(t1 int) tablespace users;
Table created.
SQL>
SQL> insert into lost_write values(1);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system checkpoint;
System altered.
select dbms_rowid.rowid_block_number(rowid),dbms_rowid.rowid_relative_fno(rowid) from lost_write;
DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID)
------------------------------------ ------------------------------------
222 6
alter system set db_lost_write_protect=typical;
SQL> select name from v$datafile where file#=6;
NAME
--------------------------------------------------------------------------------
/s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf
update lost_write set t1=9999;
alter system flush buffer_cache;
dd if=/s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf skip=222 bs=8192 count=1 of=222_block
dd if=222_block of=/s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf seek=222 bs=8192 count=1 conv=notrunc
Related posts:
原文地址:about db_lost_write_protect, 感谢原作者分享。