BBED使用
admin
2023-05-12 01:22:04
0

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

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

[oracle@Srv02 ~]$ cd $ORACLE_HOME/rdbms/lib
[oracle@Srv02 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed 
[oracle@Srv02 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文件中:

[oracle@Srv02 ~]$ 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
[oracle@Srv02 ~]$ pwd
/home/oracle
[oracle@Srv02 ~]$

现在就可以登录BBED了:

[oracle@Srv02 ~]$ 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

[oracle@Srv02 ~]$ 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>

相关内容

热门资讯

俄外交部:对与日方接触持开放态... 当地时间5月14日,就日本政府此前发表的有关日俄关系的言论,俄罗斯外交部发言人扎哈罗娃表示,俄对与日...
打造AI影像协作实验场 上影节... 上海国际电影节全新单元“AI片场”开机 打造AI影像协作实验场 “我做AI电影已经两年了。”德国AI...
我国首次成功批量克隆超高产奶山... 西北农林科技大学14日向新华社记者独家披露,学校羊遗传改良与生物育种创新团队攻克关键核心技术,6只超...
医学院硕博研究生靠虚开发票冒签... 33岁的柴某系江苏人,案发前系某医院博士后研究人员。一审法院认定,2018年至2023年,柴某在某医...
京东618自营电脑桌椅服务升级... 随着京东心动购物季开启,职场人、居家办公族及电竞爱好者的“久坐刚需”升级需求集中释放,电脑桌椅品类迎...
扎波罗热核电站遭乌军袭击,两名... 当地时间5月14日,扎波罗热核电站官方通报称,乌克兰武装部队的无人机对核电站周边区域发动袭击。在距离...
储殷:“建设性稳定关系”涵盖了... 特朗普率高规格代表团访华,中方也是高规格接待。中美今天的互动总体呈现出什么特点?这次元首外交又将如何...
中科信息称目前没有研发具身机器... 瑞财经 严明会 5月13日,中科信息在路演活动中表示,公司目前没有研发具身机器人,现有机器人主要面向...
按下物理AI加速键!香港成全球... 近日,首届香港具身智能产业峰会暨智元APC2026(香港)召开,标志着具身智能从技术炫技正式转向生产...
内塔尼亚胡称将对《纽约时报》提... 新华社耶路撒冷5月14日电(记者庞昕熠 冯国芮)以色列总理办公室14日发表声明称,由于美国《纽约时报...