Oracle unconventional recovery (skip archiving with BBED) I. BBED tool 1. the BBED package is missing in oracle 11g installation of bbed, oracle11g bbed install and example 1. upload (sbbdpt. o ssbbded. o bbedus. msb, which copies the linux64 version of oracle) File $ ORACLE_HOME/rdbms/lib/ssbbded. o $ ORACLE_HOME/rdbms/lib/sbbdpt. o $ ORACLE_HOME/rdbms/mesg/bbedus. msb executes the following command: cd $ ORACLE_HOME/rdbms/libmake-f $ ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED = $ ORACLE_HOME/bin/bbed 2. go to BBEDbbedblockedit $ vi par.txtblocksize3168192listfile=filelist.txt mode = edit $ vi filelist.txt select file # | chr (9) | name | chr (9) | bytes from v $ datafile; 1/u01/app/oracle/oradata/ocp/system01.dbf 512000000 2/u01/app/oracle/oradata/ocp/sysaux01.dbf 412000000 3/u01/app/oracle/oradata/ocp/ users01.dbf 215000000 bbed parfile=par.txt blockedit 3. common commands: set, find, dump, modify, sum apply, examine, map, print, verity (1) set file 3 block 32 set dba 0x01000020 set offset 0 -- 0 indicates that the first byte starts set block 1 -- 1 indicates that the first block starts set count 8192 -- the default value is 512 bytes (2) find/x 05d67g -- query the specific position of the specified string in the specified data block. The abbreviation of f -- find indicates that the string 05d67g (3) is queried from the current position) dump -- View block dump/v in hexadecimal notation -- view the content displayed in hexadecimal notation while "translating" the content in hexadecimal notation, execute the strings command (4) modify/x d43 on the current block -- modify the specified block and specify the content recorded in the data block of the offset (5) sum apply -- calculate the checksum value of the modified data block, and write the offset of the data block to the position 16-17 (6) map/v p kcbh p ktbbh p kdbh p kdbt p kcvfh. kcvfhrfn p kcvfh. kcvfhckp p * kdbr [0] -- the first line of record x/rnc-examine/read number char is translated into a file that we can understand in hexadecimal notation. 2. Skip archive with BBED. check the file number and scn select file #, checkpoint_change # from v $ datafile; 3 2951615 select file #, checkpoint_change # from v $ datafile_header; 3 29516152. backup datafile 3 format'/backup/datafile4 _ % U' for file 3 rman; 3. switch log alter system switch logfile; offline alter database datafile 3 offline; 5. restore file restore datafile 3; 6. an error is reported. You need to restore alter database datafile 3 online; 7. do not recover datafile 3; 8. dump File Header alter session set events 'immediate trace name file_hdrs level 10'; Checkpointed at scn: 0x0000. 003af414 09/27/2012 13:00:06 thread: 1 rba :( 0x4. (2.10) 9. archive rm-rf/arch/* 10 is missing. modify scn Checkpointed at scn: 0x0000. 0013cfd5 09/27/2012 13:00:06 modify rba thread: 1 rba :( 0x5. 1b. 10) 11. modify (rba) with bbed -- struct kcvcprba select GROUP #, SEQUENCE #, STATUS from v $ log; bbed parfile1_par.txt show all set filename '/u01/app/oracle/oradata/ocp/tp1.dbf' set file 4 block 1 dump p kcvfh set offset 500 dump modify/x 16000000 set offset 4 modify /x 10000000 set offset 0 dump sum apply 12. modify (scn) with bbed -- ub4 kscnbasselect group #, SEQUENCE #, status, to_char (first_change #, 'xxxxxxxxxx') from v $ log; -- select file #, name, checkpoint_change #, to_char (checkpoint_change #, 'xxxxxxxx') from v $ datafile_header; 113930 --> 303911 select sequence #, first_change #, next_change #, to_char (first_change #, 'xxxxxxxxxxx ') from v $ log_history order by 1; 13d013 --> dump p kcvfh set offset 484 dump modify/x 9c3911 sum apply 13. recover datafile 3; alter database datafile 3 online; Source http://blog.csdn.net/guoyjoe/article/details/8812157