學習筆記:Oracle 12C 資料非常規恢復工具bbed的使用說明

gycixput發表於2017-09-08
ORACLE 12C 依然支援 bbed,ORACLE 12C的測試版出來了,對於習慣了使用bbed(ORACLE 手術刀)的人來說,12C是否繼續被支援是一個很讓人關注的問題,透過本實驗測試,12C繼續支援bbed,很多艱難的資料庫恢復依然可以透過bbed來實現,也從側面說明,ORACLE 12C在塊的結構上還依然和以往版本相似

資料庫資訊

[oracle@oracleplus ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.0.2 Beta on Thu Dec 13 09:55:35 2012

Copyright (c) 1982, 2012, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit     
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select name from v$datafile where rownum=1;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/oracleplus/system01.dbf

SQL> select * from v$version;

BANNER                                                                               CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit                         0
PL/SQL Release 12.1.0.0.2                                                                 0
CORE    12.1.0.0.2                                                                        0
TNS for Linux: Version 12.1.0.0.2                                                         0
NLSRTL Version 12.1.0.0.2                                                                 0

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit     
With the Partitioning, OLAP, Data Mining and Real Application Testing options

1.Oracle 12C中編譯bbed

[oracle@oracleplus bbed_64]$ ls -l
total 32
-rw-r--r-- 1 oracle oinstall  8704 Apr 20  2010 bbedus.msb
-rw-r--r-- 1 oracle oinstall 10270 Jul 25  2000 bbedus.msg
-rw-r--r-- 1 oracle oinstall  3976 Apr 20  2010 sbbdpt.o
-rw-r--r-- 1 oracle oinstall  3306 Apr 20  2010 ssbbded.o
[oracle@oracleplus ~]$ cd /u01/app/oracle/product/12.1/db_1/rdbms/lib
[oracle@oracleplus lib]$ cp ~/bbed_64/s* ./
[oracle@oracleplus lib]$ cd ../
[oracle@oracleplus rdbms]$ cd /u01/app/oracle/product/12.1/db_1/rdbms/mesg
[oracle@oracleplus mesg]$ cp ~/bbed_64/bbedus.ms* ./
[oracle@oracleplus ~]$ cd /u01/app/oracle/product/12.1/db_1/rdbms/lib
[oracle@oracleplus lib]$ make -f ins_rdbms.mk /u01/app/oracle/product/12.1/db_1/rdbms/lib/bbed

Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/12.1/db_1/rdbms/lib/bbed
/u01/app/oracle/product/12.1/db_1/bin/orald -o /u01/app/oracle/product/12.1/db_1/rdbms/lib/bbed 
…………
/u01/app/oracle/product/12.1/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/12.1/db_1/lib
[oracle@oracleplus lib]$ mv bbed /u01/app/oracle/product/12.1/db_1/bin/

2.測試12C中bbed

[oracle@oracleplus ~]$ bbed
Password: 

BBED: Release 2.0.0.0.0 - Limited Production on Thu Dec 13 09:58:16 2012

Copyright (c) 1982, 2012, Oracle and/or its affiliates.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

BBED> set filename '/u01/app/oracle/oradata/oracleplus/system01.dbf'
        FILENAME        /u01/app/oracle/oradata/oracleplus/system01.dbf

BBED> show
        FILE#           0
        BLOCK#          1
        OFFSET          0
        DBA             0x00000000 (0 0,1)
        FILENAME        /u01/app/oracle/oradata/oracleplus/system01.dbf
        BIFILE          bifile.bbd
        LISTFILE       
        BLOCKSIZE       8192
        MODE            Browse
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           80
        COUNT           512
        LOGFILE         log.bbd
        SPOOL           No

BBED> map
 File: /u01/app/oracle/oradata/oracleplus/system01.dbf (0)
 Block: 1                                     Dba:0x00000000
------------------------------------------------------------
 Data File Header

 struct kcvfh, 1112 bytes                   @0       

 ub4 tailchk                                @8188    

BBED> p kcvfhbfh
struct kcvfhbfh, 20 bytes                   @0       
   ub1 type_kcbh                            @0        0x0b
   ub1 frmt_kcbh                            @1        0xa2
   ub1 spare1_kcbh                          @2        0x00
   ub1 spare2_kcbh                          @3        0x00
   ub4 rdba_kcbh                            @4        0x00400001
   ub4 bas_kcbh                             @8        0x00000000
   ub2 wrp_kcbh                             @12       0x0000
   ub1 seq_kcbh                             @14       0x01
   ub1 flg_kcbh                             @15       0x04 (KCBHFCKV)
   ub2 chkval_kcbh                          @16       0x21a8
   ub2 spare3_kcbh                          @18       0x0000

BBED> set block 1233
        BLOCK#          1233

BBED> map
 File: /u01/app/oracle/oradata/oracleplus/system01.dbf (0)
 Block: 1233                                  Dba:0x00000000
------------------------------------------------------------
 KTB Data Block (Index Leaf)

 struct kcbh, 20 bytes                      @0       

 struct ktbbh, 72 bytes                     @20      

 struct kdxle, 32 bytes                     @92      

 sb2 kd_off[517]                            @124     

 ub1 freespace[302]                         @1158    

 ub1 rowdata[6660]                          @1460    

 ub4 tailchk                                @8188    

--------------------------------------ORACLE-DBA----------------------------------------

最權威、專業的Oracle案例資源彙總之學習筆記:Oracle 12C 資料非常規恢復工具bbed的使用說明

原文唯一網址:

關鍵詞:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24585765/viewspace-2144703/,如需轉載,請註明出處,否則將追究法律責任。

相關文章