千家信息网

BBED使用

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,BBED是oracle内部使用的工具,9i,10g默认是自带的,只要编译一下就可以使用了。下面我就来编译一下BBED并且用它来修改下数据:[oracle@Srv02 ~]$ cd $ORACLE_HO
千家信息网最后更新 2024年11月26日BBED使用

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 xnkSQL> 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          0AAAW9mAABAAAOYiAAB          1      58914          1AAAW9mAABAAAOYiAAC          1      58914          2SQL>

查出listfile

SQL> select file#||' '||name||' '||bytes from v$datafile;FILE#||''||NAME||''||BYTES--------------------------------------------------------------------------------1 /u01/app/oracle/oradata/qxptfh01/system01.dbf 5033164802 /u01/app/oracle/oradata/qxptfh01/undotbs01.dbf 12897484803 /u01/app/oracle/oradata/qxptfh01/sysaux01.dbf 4299161604 /u01/app/oracle/oradata/qxptfh01/users01.dbf 52428805 /u01/app/oracle/oradata/qxptfh01/QXDATA01.dbf 5242880006 /u01/app/oracle/oradata/qxptfh01/QXDATA02.dbf 116391936007 /backup/xuwu_tbs.dbf 107374182407 rows selected.

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

[oracle@Srv02 ~]$ cat listfile.txt 1 /u01/app/oracle/oradata/qxptfh01/system01.dbf 5033164802 /u01/app/oracle/oradata/qxptfh01/undotbs01.dbf 12897484803 /u01/app/oracle/oradata/qxptfh01/sysaux01.dbf 4299161604 /u01/app/oracle/oradata/qxptfh01/users01.dbf 52428805 /u01/app/oracle/oradata/qxptfh01/QXDATA01.dbf 5242880006 /u01/app/oracle/oradata/qxptfh01/QXDATA02.dbf 116391936007 /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=editBBED: Release 2.0.0.0.0 - Limited Production on Thu Nov 27 15:05:11 2014Copyright (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 applyCheck value for File 1, Block 58914:current = 0x153c, required = 0x153cBBED> verifyDBVERIFY - Verification startingFILE = /u01/app/oracle/oradata/qxptfh01/system01.dbfBLOCK = 58914DBVERIFY - Verification completeTotal Blocks Examined         : 1Total Blocks Processed (Data) : 1Total Blocks Failing   (Data) : 0Total Blocks Processed (Index): 0Total Blocks Failing   (Index): 0Total Blocks Empty            : 0Total Blocks Marked Corrupt   : 0Total Blocks Influx           : 0BBED> 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 2014Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select * from t1;        ID NAME---------- ----------         1 xuwu         2 xmj         3 xnkSQL> alter system flush buffer_cache;System altered.SQL> select * from t1;        ID NAME---------- ----------         1 hehe         2 xmj         3 xnkSQL>
0