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