先说说安装:
1:bbed
-----------------------
-----------------------
bbed编辑
9i、
10g下可以直接编译
方法相同,如下:
方法相同,如下:
[oracle]$cd $ORACLE_HOME/rdbms/lib
[oracle]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
[oracle]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
11g中默认是不带bbed的,如果确实需要使用可以将10g中文件复制过来再编译
编译的方式相同。
需要复制的文件如下:
$ORA10g_HOME/rdbms/lib/ssbbded.o
$ORA10g_HOME/rdbms/lib/sbbdpt.o
$ORA10g_HOME/rdbms/mesg/bbedus.msb
$ORA10g_HOME/rdbms/mesg/bbedus.msg
$ORA10g_HOME/rdbms/mesg/bbedar.msb
编译的方式相同。
需要复制的文件如下:
$ORA10g_HOME/rdbms/lib/ssbbded.o
$ORA10g_HOME/rdbms/lib/sbbdpt.o
$ORA10g_HOME/rdbms/mesg/bbedus.msb
$ORA10g_HOME/rdbms/mesg/bbedus.msg
$ORA10g_HOME/rdbms/mesg/bbedar.msb
无论什么版本,编译后将$ORACLE_HOME/rdbms/lib添加到环境变量PATH中之后再使用bbed就可以直接运行了
---------------------
bbed使用
编译后bbed还需要配置两个文本文件之后才能使用
两个文件分别是参数文件和对应的数据文件列表
两个文件分别是参数文件和对应的数据文件列表
参数文件中需要至少给定三个参数,分别是块大小、文件列表对应文件以及运行模式
mode有两种选择,browse和edit
内容如下:
vi p.par
blocksize=8192
listfile=files.txt
mode=edit
mode有两种选择,browse和edit
内容如下:
vi p.par
blocksize=8192
listfile=files.txt
mode=edit
文件列表文件中需要给定文件id以及文件名
这些可以从控制文件或者字典表中获取
内容如下:
more files
1 /opt/oracle/oradata/kong/system01.dbf
2 /opt/oracle/oradata/kong/undotbs01.dbf
3 /opt/oracle/oradata/kong/indx01.dbf
4 /opt/oracle/oradata/kong/tools01.dbf
5 /opt/oracle/oradata/kong/users01.dbf
6 /opt/oracle/oradata/kong/my01.dbf
这些可以从控制文件或者字典表中获取
内容如下:
more files
1 /opt/oracle/oradata/kong/system01.dbf
2 /opt/oracle/oradata/kong/undotbs01.dbf
3 /opt/oracle/oradata/kong/indx01.dbf
4 /opt/oracle/oradata/kong/tools01.dbf
5 /opt/oracle/oradata/kong/users01.dbf
6 /opt/oracle/oradata/kong/my01.dbf
编辑好之后就可以运行bbed
cd $ORACLE_HOME/rdbms/lib/
oracle@localhost/opt/oracle/product/9.2.0/rdbms/lib$./bbed parfile=p.par
Password:
cd $ORACLE_HOME/rdbms/lib/
oracle@localhost/opt/oracle/product/9.2.0/rdbms/lib$./bbed parfile=p.par
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Thu Apr 14 10:27:28 2011
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
需要输入密码
默认密码为blockedit
进入界面后工具提示只是oracle内部使用
默认密码为blockedit
进入界面后工具提示只是oracle内部使用
------------------
下面开始说说命令:
2:
set命令:
设置环境,是常用命令
比如要对文件中某个快进行操作,就必须先使用set来选择文件和块
设置环境,是常用命令
比如要对文件中某个快进行操作,就必须先使用set来选择文件和块
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 ]
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命令:
查看环境命令
可以单独查看能够set的任何一个参数
同样也可以直接使用show,相当于show all查看当前所有参数的设置
SHOW [ <SET parameter> | ALL ]
查看环境命令
可以单独查看能够set的任何一个参数
同样也可以直接使用show,相当于show all查看当前所有参数的设置
SHOW [ <SET parameter> | ALL ]
info命令:
其实就是列出listfile中相同的内容
直接使用,没有其他参数
其实就是列出listfile中相同的内容
直接使用,没有其他参数
dump命令:
列出指定block的内容
可以通过地址或者文件名、文件id来选择
同时还可以指定要dump的块id,偏移量以及dump的总量
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
列出指定block的内容
可以通过地址或者文件名、文件id来选择
同时还可以指定要dump的块id,偏移量以及dump的总量
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
find命令:
在指定的block中查找指定的字符串
返回结果会显示查找出的结果以及偏移量
其中偏移量就是数据再block中的字节数
查找内容可以指定查找的方式,如是16进制还是直接查找字符
参数/x为16进制,参数/c为直接查找字符
另外还可以指定是从头查找还是在当前块中查找
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
在指定的block中查找指定的字符串
返回结果会显示查找出的结果以及偏移量
其中偏移量就是数据再block中的字节数
查找内容可以指定查找的方式,如是16进制还是直接查找字符
参数/x为16进制,参数/c为直接查找字符
另外还可以指定是从头查找还是在当前块中查找
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
modify命令
修改指定block的指定偏移量的值
简单说就是改数据
和查找一样,可以按照十六进制改,也可以按照字符串改
改的时候修改块的地址写在后面
MODIFY[/x|d|u|o|c] numeric/character string
[ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
修改指定block的指定偏移量的值
简单说就是改数据
和查找一样,可以按照十六进制改,也可以按照字符串改
改的时候修改块的地址写在后面
MODIFY[/x|d|u|o|c] numeric/character string
[ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
copy命令
把一个block的内容复制到另一个block中
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
把一个block的内容复制到另一个block中
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
verify命令
检查是否有坏块
可以指定特定块,不指定为当前块
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
检查是否有坏块
可以指定特定块,不指定为当前块
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
sum命令
计算block的checksum值
modify之后的block被标记为坏块
current checksum与reqired checksum不一致
sum命令可以计算出新的checksum值并应用到当前块
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
计算block的checksum值
modify之后的block被标记为坏块
current checksum与reqired checksum不一致
sum命令可以计算出新的checksum值并应用到当前块
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
undo命令
撤销,相当于sqlplus里的rollback
UNDO
撤销,相当于sqlplus里的rollback
UNDO
revert命令
撤销之前的修改
相当于undo all
也可以指定操作的块
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
撤销之前的修改
相当于undo all
也可以指定操作的块
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
print命令
打印数据结构
可以指定特定的数据块
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
打印数据结构
可以指定特定的数据块
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
map命令
显示当前块的map
可以使用/v参数
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]
显示当前块的map
可以使用/v参数
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]