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:
- 基于行跟踪的ROWDEPENDENCIES ORA_ROWSCN信息
- 12c RMAN新特性restore/recover from service远程恢复
- 【Oracle Database 12c新特性】32k varchar2 max_string_size
- 【数据恢复】利用构造ROWID实现无备份情况下绕过ORA-1578、ORA-8103、ORA-1410等逻辑/物理坏块问题
- 数据恢复:模拟2个逻辑坏块
- Know about Oracle High Water Mark
- 【Oracle Database 12c新特性】 In-Database Archiving数据库内归档
- Exadata混合列压缩如何处理INSERT和UPDATE
- 为12.1 DataGuard配置DGMGRL遇到ORA-16698
- OMF下Restore Oracle Datafile的优先级问题
原文地址:about db_lost_write_protect, 感谢原作者分享。