"BBED(Oracle Block Brower and EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,简单来说就是一个针对 Oracle的二进制编辑工具。该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新编译。" 在10g中编译该工具显得较简单:
11.2.0.1中编译bbed可执行文件所需要的ssbbded.o和sbbdpt.o对象文件被移除了,所幸我们可以使用10g下的这2个对象文件在11.2.0.1中编译。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[maclean@rh2 ~]$
cd
$ORACLE_HOME
/rdbms/lib
[maclean@rh2 lib]$
make
-f ins_rdbms.mk $ORACLE_HOME
/rdbms/lib/bbed
make
: `
/s01/10gdb/rdbms/lib/bbed
' is up to
date
.
[maclean@rh2 lib]$
rm
bbed
[maclean@rh2 lib]$
make
-f ins_rdbms.mk $ORACLE_HOME
/rdbms/lib/bbed
Linking BBED utility (bbed)
rm
-f
/s01/10gdb/rdbms/lib/bbed
gcc -o
/s01/10gdb/rdbms/lib/bbed
-L
/s01/10gdb/rdbms/lib/
-L
/s01/10gdb/lib/
-L
/s01/10gdb/lib/stubs/
/s01/10gdb/lib/s0main
.o
/s01/10gdb/rdbms/lib/ssbbded
.o
/s01/10gdb/rdbms/lib/sbbdpt
.o `
cat
/s01/10gdb/lib/ldflags
` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10
/s01/10gdb/rdbms/lib/defopt
.o -ldbtools10 -lclntsh `
cat
/s01/10gdb/lib/ldflags
` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `
cat
/s01/10gdb/lib/ldflags
` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `
cat
/s01/10gdb/lib/ldflags
` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `
cat
/s01/10gdb/lib/ldflags
` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `
cat
/s01/10gdb/lib/sysliblist
` -Wl,-rpath,
/s01/10gdb/lib
-lm `
cat
/s01/10gdb/lib/sysliblist
` -ldl -lm -L
/s01/10gdb/lib
[maclean@rh2 lib]$
cp
bbed $ORACLE_HOME
/bin
[maclean@rh2 lib]$ bbed
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 2 14:18:27 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
BBED>
/* 你可能要问密码是什么? 呵呵 .. :) */
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
[maclean@rh2 lib]$
make
-f ins_rdbms.mk $ORACLE_HOME
/rdbms/lib/bbed
Linking BBED utility (bbed)
rm
-f
/s01/11gdb/rdbms/lib/bbed
gcc -o
/s01/11gdb/rdbms/lib/bbed
-m64 -L
/s01/11gdb/rdbms/lib/
-L
/s01/11gdb/lib/
-L
/s01/11gdb/lib/stubs/
/s01/11gdb/lib/s0main
.o
/s01/11gdb/rdbms/lib/ssbbded
.o
/s01/11gdb/rdbms/lib/sbbdpt
.o `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `
cat
/s01/11gdb/lib/sysliblist
` -Wl,-rpath,
/s01/11gdb/lib
-lm `
cat
/s01/11gdb/lib/sysliblist
` -ldl -lm -L
/s01/11gdb/lib
gcc:
/s01/11gdb/rdbms/lib/ssbbded
.o: No such
file
or directory
gcc:
/s01/11gdb/rdbms/lib/sbbdpt
.o: No such
file
or directory
[maclean@rh2 ~]$
cp
/s01/10gdb/rdbms/lib/ssbbded
.o
/s01/11gdb/rdbms/lib
[maclean@rh2 ~]$
cp
/s01/10gdb/rdbms/lib/sbbdpt
.o
/s01/11gdb/rdbms/lib
[maclean@rh2 ~]$
cp
/s01/10gdb/rdbms/mesg/bbedus
.ms*
/s01/11gdb/rdbms/mesg/
/* bbed 需要用到bbedus.msg和bbedus.msb 2个信息文件 */
[maclean@rh2 lib]$
make
-f ins_rdbms.mk $ORACLE_HOME
/rdbms/lib/bbed
Linking BBED utility (bbed)
rm
-f
/s01/11gdb/rdbms/lib/bbed
gcc -o
/s01/11gdb/rdbms/lib/bbed
-m64 -L
/s01/11gdb/rdbms/lib/
-L
/s01/11gdb/lib/
-L
/s01/11gdb/lib/stubs/
/s01/11gdb/lib/s0main
.o
/s01/11gdb/rdbms/lib/ssbbded
.o
/s01/11gdb/rdbms/lib/sbbdpt
.o `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `
cat
/s01/11gdb/lib/ldflags
` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `
cat
/s01/11gdb/lib/sysliblist
` -Wl,-rpath,
/s01/11gdb/lib
-lm `
cat
/s01/11gdb/lib/sysliblist
` -ldl -lm -L
/s01/11gdb/lib
[maclean@rh2 lib]$
file
bbed
bbed: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV),
for
GNU
/Linux
2.6.9, dynamically linked (uses shared libs),
for
GNU
/Linux
2.6.9, not stripped
[maclean@rh2 lib]$ size bbed
text data bss dec hex filename
154473 43448 32 197953 30541 bbed
[maclean@rh2 lib]$ ldd bbed
libclntsh.so.11.1 =>
/s01/11gdb/lib/libclntsh
.so.11.1 (0x00002b042b883000)
libnnz11.so =>
/s01/11gdb/lib/libnnz11
.so (0x00002b042dead000)
libdl.so.2 =>
/lib64/libdl
.so.2 (0x00000039f2400000)
libm.so.6 =>
/lib64/libm
.so.6 (0x00000039f2000000)
libpthread.so.0 =>
/lib64/libpthread
.so.0 (0x00000039f2800000)
libnsl.so.1 =>
/lib64/libnsl
.so.1 (0x00000039f5c00000)
libc.so.6 =>
/lib64/libc
.so.6 (0x00000039f1c00000)
libaio.so.1 =>
/usr/lib64/libaio
.so.1 (0x00002b042e293000)
/lib64/ld-linux-x86-64
.so.2 (0x00000039f1800000)
[maclean@rh2 lib]$
cp
bbed $ORACLE_HOME
/bin
[maclean@rh2 lib]$
which
bbed
/s01/11gdb/bin/bbed
[maclean@rh2 lib]$ bbed
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 2 15:18:37 2010
Copyright (c) 1982, 2009, Oracle and
/or
its affiliates. All rights reserved.
BBED>
|
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277116