开始你的bbed之旅
默认情况下,bbed链接到了rdbms/lib目录。很明显,不是咱们经常用的$ORACLE_HOME/bin目录。链接后的bbed可执行文件可以移动到bin目录,如果你不移动的话,可以在rdbms/lib目录来启动bbed.
[oracle@RDBALINUX03 bin]$ bbed
Password: ******
BBED: Release 2.0.0.0.0 – Limited Production on Mon Sep 19 10:00:27 2005
Copyright © 1982, 2002, Oracle Corporation. All rights reserved.
********** !!! For Oracle Internal Use only !!! **********
BBED>
注意如果不输入正确的密码,是不能启动bbed的。这个密码防止bbed在没有授权的情况下被使用。密码硬编码在oracle中,不依赖于任何的客户端设置。
如果你对oracle内部为了这个文档和这个工具安全使用的考虑有足够了解的话,你可以使用标准的逆向工程来得到这个密码。
几个命令行参数可以使用,这些参数让配置和具体的行为可以编辑。同样,它也可以让bbed设置成为浏览而不是编译模式,这个浏览模式推荐让第一次使用这个工具的人设置,确保不会对oracle的数据文件操作不当而引起损坏。
下面的表格列出了可用的命令行选项:
选项 | 描述 |
BLOCKSIZE | 要编辑的数据文件的数据块大小 |
MODE | Bbed的执行模式(browse or edit) |
SILENT | 将输出发送到标准输出端(Y or N) |
SPOOL | 将输出发送到bbed.log文件(Y or N) |
LISTFILE | 将要编辑的文件列表 |
CMDFILE | 将要编辑的文件名称列表 |
BIFILE | Undo文件名称,默认为bifile.bbd |
LOGFILE | 用户的日志文件名称,默认为log.bbd |
PARFILE | 上面所有列出命令的参数文件 |
因为上面命令的若干个可能需要,推荐使用parfile选项将你需要使用到的所有选项都放在一个文件中。下面的这个例子是一个基于小型数据库,8kb数据块大小的bbed parfile.
[oracle@pingu bbed]$ cat bbed.par
blocksize=8192
listfile=/home/oracle/bbed/fileunix.log
mode=edit
在上面的这个例子中,我们将数据块大小设置为8kb,将bbed设置为编辑模式,所以我们可以改变数据块的内容。另外,我们提供了将所有要编辑的文件名列在同一个文件中的功能。
这个文件列表应当包括要编辑的文件名称,文件id和文件的大小(以byte为单位)。下面是基于一个小型数据库的例子:
[oracle@pingu bbed]$ cat fileunix.log
1 /home/oracle/OraHome1/oradata/gctdev2/drsys01.dbf 20971520
2 /home/oracle/OraHome1/oradata/gctdev2/example01.dbf 125829120
…(下面还有,省略掉,pdf不能直接复制粘贴,杯具。。。)
注意:文件列表可以在数据库中执行下面的命令而得到:
SQL> select file#||' '||name||' '||bytes from v$datafile;