BBED使用

BBED是oracle内部使用的工具,9i,10g默认是自带的,只要编译一下就可以使用了。

下面我就来编译一下BBED并且用它来修改下数据:

[[email protected] ~]$ cd $ORACLE_HOME/rdbms/lib
[[email protected] lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
[[email protected] lib]$ cp $ORACLE_HOME/rdbms/lib/bbed /u01/app/oracle/product/db_1/bin/

做如上操作后我们就可以直接在任何路径下面使用BBED了。

下面我使用BBED来修改数据:

1.首先创建个表并插入两条数据,并查看它的ROWID:

SQL> create table t1(id number,name varchar2(10));

Table created.

SQL> insert into t1 values(1,‘xuwu‘);

1 row created.

SQL> insert into t1 values(2,‘xmj‘);

1 row created.

SQL> insert into t1 values(3,‘xnk‘);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t1;

        ID NAME
---------- ----------
         1 xuwu
         2 xmj
         3 xnk

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) rel_fno,dbms_rowid.rowid_block_number(rowid) blockno,
  2  dbms_rowid.rowid_row_number(rowid) rowno from t1;

ROWID                 REL_FNO    BLOCKNO      ROWNO
------------------ ---------- ---------- ----------
AAAW9mAABAAAOYiAAA          1      58914          0
AAAW9mAABAAAOYiAAB          1      58914          1
AAAW9mAABAAAOYiAAC          1      58914          2

SQL>

查出listfile

SQL> select file#||‘ ‘||name||‘ ‘||bytes from v$datafile;

FILE#||‘‘||NAME||‘‘||BYTES
--------------------------------------------------------------------------------
1 /u01/app/oracle/oradata/qxptfh01/system01.dbf 503316480
2 /u01/app/oracle/oradata/qxptfh01/undotbs01.dbf 1289748480
3 /u01/app/oracle/oradata/qxptfh01/sysaux01.dbf 429916160
4 /u01/app/oracle/oradata/qxptfh01/users01.dbf 5242880
5 /u01/app/oracle/oradata/qxptfh01/QXDATA01.dbf 524288000
6 /u01/app/oracle/oradata/qxptfh01/QXDATA02.dbf 11639193600
7 /backup/xuwu_tbs.dbf 10737418240

7 rows selected.

把上面查出来的内容放到listfile.txt文件中:

[[email protected] ~]$ cat listfile.txt
1 /u01/app/oracle/oradata/qxptfh01/system01.dbf 503316480
2 /u01/app/oracle/oradata/qxptfh01/undotbs01.dbf 1289748480
3 /u01/app/oracle/oradata/qxptfh01/sysaux01.dbf 429916160
4 /u01/app/oracle/oradata/qxptfh01/users01.dbf 5242880
5 /u01/app/oracle/oradata/qxptfh01/QXDATA01.dbf 524288000
6 /u01/app/oracle/oradata/qxptfh01/QXDATA02.dbf 11639193600
7 /backup/xuwu_tbs.dbf 10737418240
[[email protected] ~]$ pwd
/home/oracle
[[email protected] ~]$

现在就可以登录BBED了:

[[email protected] ~]$ bbed password=blockedit blocksize=8192 listfile=/home/oracle/listfile.txt mode=edit

BBED: Release 2.0.0.0.0 - Limited Production on Thu Nov 27 15:05:11 2014

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

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

BBED>
BBED>
BBED>

下面开始修改数据:

BBED> set dba 1,58914
        DBA             0x0040e622 (4253218 1,58914)

BBED> find /c xuwu
 File: /u01/app/oracle/oradata/qxptfh01/system01.dbf (1)
 Block: 58914            Offsets: 8184 to 8191           Dba:0x0040e622
------------------------------------------------------------------------
 78757775 070670b4 

 <32 bytes per line>

BBED> dump /v dba 1,58914 offset 8184 count 4
 File: /u01/app/oracle/oradata/qxptfh01/system01.dbf (1)
 Block: 58914   Offsets: 8184 to 8187  Dba:0x0040e622
-------------------------------------------------------
 78757775                            l xuwu

 <16 bytes per line>

BBED> modify /c ‘hehe‘ dba 1,58914 offset 8184
 File: /u01/app/oracle/oradata/qxptfh01/system01.dbf (1)
 Block: 58914            Offsets: 8184 to 8187           Dba:0x0040e622
------------------------------------------------------------------------
 68656865 

 <32 bytes per line>

BBED> dump /v dba 1,58914 offset 8184 count 4
 File: /u01/app/oracle/oradata/qxptfh01/system01.dbf (1)
 Block: 58914   Offsets: 8184 to 8187  Dba:0x0040e622
-------------------------------------------------------
 68656865                            l hehe

 <16 bytes per line>

BBED> sum apply
Check value for File 1, Block 58914:
current = 0x153c, required = 0x153c

BBED> verify
DBVERIFY - Verification starting
FILE = /u01/app/oracle/oradata/qxptfh01/system01.dbf
BLOCK = 58914

DBVERIFY - Verification complete

Total Blocks Examined         : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing   (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing   (Index): 0
Total Blocks Empty            : 0
Total Blocks Marked Corrupt   : 0
Total Blocks Influx           : 0

BBED> exit

[[email protected] ~]$ sqlplus / as sysdba
[uniread] Loaded history (799 lines)

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Nov 27 15:09:25 2014

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from t1;

        ID NAME
---------- ----------
         1 xuwu
         2 xmj
         3 xnk

SQL> alter system flush buffer_cache;

System altered.

SQL> select * from t1;

        ID NAME
---------- ----------
         1 hehe
         2 xmj
         3 xnk

SQL>
时间: 2024-10-28 17:25:02

BBED使用的相关文章

oracle特殊恢复-bbed修改某个数据文件头

数据文件头中的scn要与控制文件中的scn一致,数据库才可以open,在open过程中我们可以通过bbed来修改某个数据文件头的scn,来欺骗oracle,来open库. 1.环境如下 使用Oracle 11gR2进行测试,具体版本为11.2.0.4 [email protected] SQL>select file#,name,checkpoint_change#,checkpoint_time from v$datafile;      FILE# NAME                 

通过bbed修复ora-01190错误

1.配置BBET Oracle11g中缺省不提供BBET库文件,如果需要可以将10g中的文件copy到11g相应目录再执行安装: $ORACLE_HOME/rdbms/lib/ssbbded.o $ORACLE_HOME/rdbms/lib/sbbdpt.o $ORACLE_HOME/rdbms/mesg/bbedus.msb 在第一次使用时会发现有默认的口令,从这里可以看出oracle对bbed工具的限制,默认的密码是blockedit SQL> col name for a50 SQL>

使用BBED理解和修改Oracle数据块

1.生成bbed list file文件: SQL> select file#||' '||name||' '||bytes from v$datafile; $ vim dbfile.txt 1 /u01/app/oradata/sydb/system01.dbf 754974720 2 /u01/app/oradata/sydb/sysaux01.dbf 587202560 3 /u01/app/oradata/sydb/undotbs01.dbf 429916160 4 /u01/app/

利用bbed来修复ora-08102错误

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/39677575 1.重现ORA-8102错主的实验步骤: SQL> conn gyj/gyjConnected. SQL>  drop table gyj_1000; Table dropped. SQL> create table gyj_1000(id int,name varchar2(100)); Table created. SQL> SQL> begin 

BBED工具使用

Oracle Block Brower and EDitor Tool(即bbed)工具,用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,简单来说就是一个针对 Oracle的二进制编辑工具.该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新编译. oracle 11g 下编译生成bbed工具 1.拷贝该工具所需类库 Oracle 11G中默认是不存在这些类库的,需要从10G版本中拷贝. [[email pr

【BBED】bbed常用命令

[BBED]bbed常用命令         一.1  相关知识点扫盲 BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用.该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接.   一.1.1  我的编译代码 ls -l  $ORACLE_HOME/rdbms/lib/*sbbd* ls -l 

Oracle模拟文件损坏BBED

模拟文件损坏可以使用两个工具,windows nt 下使用uttra edit ,还有就是使用ORACLE内部工具BBED,下面主要看这个工具如何使用. 一.BBED(Oracle?Block?Browerand?EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用.该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接. 我这里的作用 二.BBED 安装

使用bbed恢复表数据

对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等. 本文通过演示样例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也能够使用该方法来恢复其它数据. 实验过程: SQL> select tablespace_name,file_name from dba_data_files; TABLESPACE_NAME FILE_NAME --------------- -------------------------------

【BBED】编译及基本命令(1)

[BBED]编译及基本命令(1) 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① BBED的安装(编译) ② BBED的基本命令     Tips:        ① 若文章代码格式有错乱,推荐使用搜狗.QQ或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://yunpan.cn/cdEQedhCs2kFz 

BBED的安装

BBED(Block Brower and EDitor)是Oracle一款内部工具,可以用来直接查看和修改Oracle数据文件块的内容.使用前需要重新编译. 11g直接编译: [[email protected] ~]$ cd $ORACLE_HOME/rdbms/lib [[email protected] lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed Linking BBED utility (bbed) rm -f /u01