ORACLE 12C的测试版出来了,对于习惯了使用bbed(ORACLE 手术刀)的人来说,12C是否继续被支持是一个很让人关注的问题,通过本实验测试,12C继续支持bbed,很多艰难的数据库恢复依然可以通过bbed来实现,也从侧面说明,ORACLE 12C在块的结构上还依然和以往版本相似。本文由cuug发布。
数据库信息
[oracle@xifenfei ~]$ 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 Beta
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/xifenfei/system01.dbf
SQL>
select
*
from
v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle
Database
12c Enterprise Edition Release 12.1.0.0.2 - 64bit Beta 0
PL/SQL Release 12.1.0.0.2 - Beta 0
CORE 12.1.0.0.2 Beta 0
TNS
for
Linux: Version 12.1.0.0.2 - Beta 0
NLSRTL Version 12.1.0.0.2 - Beta 0
SQL> exit
Disconnected
from
Oracle
Database
12c Enterprise Edition Release 12.1.0.0.2 - 64bit Beta
With
the Partitioning, OLAP, Data Mining
and
Real
Application Testing options
|
12C中编译bbed
[oracle@xifenfei 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@xifenfei ~]$
cd
/u01/app/oracle/product/12
.1
/db_1/rdbms/lib
[oracle@xifenfei lib]$
cp
~
/bbed_64/s
* ./
[oracle@xifenfei lib]$
cd
../
[oracle@xifenfei rdbms]$
cd
/u01/app/oracle/product/12
.1
/db_1/rdbms/mesg
[oracle@xifenfei mesg]$
cp
~
/bbed_64/bbedus
.ms* ./
[oracle@xifenfei ~]$
cd
/u01/app/oracle/product/12
.1
/db_1/rdbms/lib
[oracle@xifenfei 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@xifenfei lib]$
mv
bbed
/u01/app/oracle/product/12
.1
/db_1/bin/
|
测试12C中bbed
[oracle@xifenfei ~]$ 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/xifenfei/system01.dbf'
FILENAME
/u01/app/oracle/oradata/xifenfei/system01
.dbf
BBED> show
FILE
# 0
BLOCK
# 1
OFFSET 0
DBA 0x00000000 (0 0,1)
FILENAME
/u01/app/oracle/oradata/xifenfei/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/xifenfei/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/xifenfei/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
|