eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Using Oracle10g Release 2 KFED tools to view ASM DISK structure | Blog首页 | Oracle 10g Linux ASMLib Install Notes »

How to compile Oracle10g / Oracle11g BBED tools
modb.pro

Oracle10g提供了bbed工具,但是同样需要我们手工编译一下:
[oracle@danaly lib]$ make -f ins_rdbms.mk $ORACLE_HOME/bin/bbed
make: Nothing to be done for `/opt/oracle/product/10.2.0/bin/bbed'.
[oracle@danaly lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

Linking BBED utility (bbed)
rm -f /opt/oracle/product/10.2.0/rdbms/lib/bbed
gcc -o /opt/oracle/product/10.2.0/rdbms/lib/bbed ...
   -L/opt/oracle/product/10.2.0/lib

[oracle@danaly lib]$ bbed
Password: 

BBED: Release 2.0.0.0.0 - Limited Production on Sun Sep 3 12:42:59 2006

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

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

BBED> help ALL
SET DBA [ dba | file#, block# ]
SET FILENAME 'filename'
SET FILE file#
SET BLOCK [+/-]block#
SET OFFSET [ [+/-]byte offset | symbol | *symbol ]
SET BLOCKSIZE bytes
SET LIST[FILE] 'filename'
SET WIDTH character_count
SET COUNT bytes_to_display
SET IBASE [ HEX | OCT | DEC ]
SET OBASE [ HEX | OCT | DEC ]
SET MODE  [ BROWSE | EDIT ]
SET SPOOL [ Y | N ]
SHOW [  | ALL ]
INFO
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
EXAMINE[/Nuf] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
:
N - a number which specifies a repeat count.
u - a letter which specifies a unit size:
  b - b1, ub1 (byte)
  h - b2, ub2 (half-word)
  w - b4, ub4(word)
  r - Oracle table/index row
f - a letter which specifies a display format:
  x - hexadecimal
  d - decimal
  u - unsigned decimal
  o - octal
  c - character (native)
  n - Oracle number
  t - Oracle date
  i - Oracle rowid
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
MODIFY[/x|d|u|o|c] numeric/character string
      [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
ASSIGN[/x|d|u|o] =
 : [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
 : [ value |  ]
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
PUSH [ DBA | FILE | FILENAME | BLOCK | OFFSET ]
POP [ALL]
REVERT [ DBA | FILE | FILENAME | BLOCK ]
UNDO
HELP [  | ALL ]
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
CORRUPT [ DBA | FILE | FILENAME | BLOCK ]

BBED> exit
Oracle Database 11g中缺省的未提供BBED库文件,但是可以用10g的文件编译出来,参考如下步骤:
1.复制Oracle 10g文件
Copy $ORA10g_HOME/rdbms/lib/ssbbded.o to $ORA11g_HOME/rdbms/lib
Copy $ORA10g_HOME/rdbms/lib/sbbdpt.o to $ORA11g_HOME/rdbms/lib

Copy $ORA10g_HOME/rdbms/mesg/bbedus.msb to $ORA11g_HOME/rdbms/mesg
Copy $ORA10g_HOME/rdbms/mesg/bbedus.msg to $ORA11g_HOME/rdbms/mesg
Copy $ORA10g_HOME/rdbms/mesg/bbedar.msb to $ORA11g_HOME/rdbms/mesg

2.编译
make -f $ORA11g_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

-The End-


BBED的缺省口令为blockedit,请谨慎使用,内部工具。Oracle不做技术支持。

历史上的今天...
    >> 2012-09-03文章:
    >> 2010-09-03文章:
    >> 2009-09-03文章:
    >> 2008-09-03文章:
    >> 2007-09-03文章:

By eygle on 2005-09-03 12:20 | Comments (6) | Oracle12c/11g | 418 |

6 Comments

其实……这个准确点说是 链接 一下,不是编译

oracle 安装文件基本都是已经编译好的 object ,只是根据不同选项 link 一下 :)

所以在有些平台,比如 AIX 下 没有编译器 ,也可以安装oracle

恩,这个,Oracle自己也说是在...
Linking BBED utility (bbed)

不过有make和gcc参与,说编译也没啥问题吧...

make:
The purpose of the make utility is to determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them.

gcc:
When you invoke GCC, it normally does preprocessing, compilation, assembly and linking. ...

oracle10g(10.1.0) for windows怎么没找到这个工具?

Oracle9iR2随软件发布了BBED,10g没有发布。

oracle10g中是不是已经取消了bbed这个工具呀?
看我的情况如:
[oracle@stu110 lib]$ pwd
/u01/app/oracle/product/10.2.0/rdbms/lib
[oracle@stu110 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/bin/bbed
make: *** No rule to make target `/u01/app/oracle/product/10.2.0/bin/bbed'. Stop.
[oracle@stu110 lib]$

[oracle@stu110 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/bin/bbed
make: *** No rule to make target `/u01/app/oracle/product/10.2.0/bin/bbed'. Stop.
[oracle@stu110 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/bin/bbed
make: *** No rule to make target `/u01/app/oracle/product/10.2.0/rdbms/bin/bbed'. Stop.
上面的命令都不行是因为命令写的不完善,
下面的命令才正确:
[oracle@stu110 lib]$ pwd
/u01/app/oracle/product/10.2.0/rdbms/lib
[oracle@stu110 lib]$ make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed
在类unix系统,大小写不正确都会报错,就像上面的BBED要大写一样,还要是细心再细心才行呀。


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com