签到成功

知道了

CNDBA社区CNDBA社区

BBE工具使用样例1--修改modify数据

2018-03-13 17:28 2458 0 原创 BBED
作者: Marvinn

创建测试数据http://www.cndba.cn/Marvinn/article/2678http://www.cndba.cn/Marvinn/article/2678

17:15:33 SYS@orcl>alter user scott default tablespace xtts;
User altered.

17:16:12 SYS@orcl>conn scott/tiger@orclpdb;
Connected.

17:16:22 SCOTT@orclpdb>create table jwt(id number,name varchar2(10));
Table created.

17:20:04 SCOTT@orclpdb>insert into jwt values(1,'ss');

1 row created.

Elapsed: 00:00:01.03
17:20:18 SCOTT@orclpdb>insert into jwt values(2,'mm');

1 row created.

Elapsed: 00:00:00.00
17:20:29 SCOTT@orclpdb>insert into jwt values(3,'zz');

1 row created.
17:20:36 SCOTT@orclpdb>commit;

Commit complete.

17:20:39 SCOTT@orclpdb>insert into jwt values(4,'aa');

1 row created.

Elapsed: 00:00:00.00
17:22:26 SCOTT@orclpdb>insert into jwt values(5,'bb');

1 row created.

Elapsed: 00:00:00.00
17:22:36 SCOTT@orclpdb>insert into jwt values(6,'dd');

1 row created.

Elapsed: 00:00:00.00
17:22:43 SCOTT@orclpdb>commit;

Commit complete.

​ 注意:使用BBED工具对块进行操作时,需关库或者设置对应的表空间为只读再操做数据块,作防止BBED修改的块被覆盖,造成不必要的错误或者失败http://www.cndba.cn/Marvinn/article/2678http://www.cndba.cn/Marvinn/article/2678http://www.cndba.cn/Marvinn/article/2678

​ 由于当前处于12C测试环境,所以只需要将对应数据文件所在的PDB数据库关闭(mount状态即可)或者设置表空间只读即可,而其他版本的数据库需关库或者设置表空间只读操作http://www.cndba.cn/Marvinn/article/2678

http://www.cndba.cn/Marvinn/article/2678

查看表数据
17:47:08 SCOTT@orclpdb>select * from jwt;

        ID NAME
---------- ----------
         1 ss
         2 mm
         3 zz
         4 aa
         5 bb
         6 dd

6 rows selected.

Elapsed: 00:00:00.12

查看表所在数据文件以及块号、行号
17:50:13 SCOTT@orclpdb>select dbms_rowid.rowid_relative_fno(rowid) rfn,dbms_rowid.rowid_block_number(rowid) bln,dbms_rowid.rowid_row_number(rowid) rn from JWT;

       RFN        BLN         RN
---------- ---------- ----------
        28        134          0
        28        134          1
        28        134          2
        28        134          3
        28        134          4
        28        134          5

6 rows selected.

查看数据文件号为28的数据文件
17:51:17 SCOTT@orclpdb>select file#,name from v$datafile where file#=28;

     FILE#
----------
NAME
--------------------------------------------------------------------------------
        28
/data/orcl/orclpdb/XTTS.dbf
Elapsed: 00:00:00.15

BBED工具修改数据测试http://www.cndba.cn/Marvinn/article/2678http://www.cndba.cn/Marvinn/article/2678http://www.cndba.cn/Marvinn/article/2678


BBED> set filename '/data/orcl/orclpdb/XTTS.dbf'
        FILENAME        /data/orcl/orclpdb/XTTS.dbf

BBED> set offset 0 
        OFFSET          0

BBED> set block 134
        BLOCK#          134

查找需修改的字符 mm
BBED> find /c mm TOP
 File: /data/orcl/orclpdb/XTTS.dbf (0)
 Block: 134              Offsets: 8177 to 8191           Dba:0x00000000
------------------------------------------------------------------------
 6d6d2c01 0202c102 02737304 066110 

 <32 bytes per line>

dump转储相关信息
BBED> dump /v offset 8177 count 128
 File: /data/orcl/orclpdb/XTTS.dbf (0)
 Block: 134     Offsets: 8177 to 8191  Dba:0x00000000
-------------------------------------------------------
 6d6d2c01 0202c102 02737304 066110   l mm,......ss..a.

 <16 bytes per line>


设置表空间只读
20:00:38 SYS@orcl>alter tablespace xtts read only;

Tablespace altered.         

更改数据块
BBED> modify /c nn offset 8177
BBED-00215: editing not allowed in BROWSE mode

设置模式为编辑非浏览
BBED> set mode edit
        MODE            Edit

BBED> modify /c nn offset 8177 (注意长度,不能超过建表时候设置的长度,否则会出错)
 File: /data/orcl/orclpdb/XTTS.dbf (0)
 Block: 134              Offsets: 8177 to 8191           Dba:0x00000000
------------------------------------------------------------------------
 6e6e2c01 0202c102 02737304 066110 

 <32 bytes per line>

转储显示修改效果
BBED> dump /v offset 8177 count 128
 File: /data/orcl/orclpdb/XTTS.dbf (0)
 Block: 134     Offsets: 8177 to 8191  Dba:0x00000000
-------------------------------------------------------
 6e6e2c01 0202c102 02737304 066110   l nn,......ss..a.

 <16 bytes per line>

 检查数据块一致性,并应用修改
 BBED> sum
Check value for File 0, Block 134:
current = 0xe4cc, required = 0xe7cf

BBED> sum apply
Check value for File 0, Block 134:
current = 0xe7cf, required = 0xe7cf

验证SQL表数据效果
20:06:18 SCOTT@orclpdb>select * from jwt;

        ID NAME
---------- ----------
         1 ss
         2 nn
         3 zz
         4 aa
         5 bb
         6 dd

6 rows selected.

修改成功,重设对应表空间为Read Write
20:07:43 SYS@orcl>alter tablespace xtts read write;

Tablespace altered.

Elapsed: 00:00:00.63

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Marvinn

Marvinn

关注

路漫漫其修远兮、吾将上下而求索

  • 99
    原创
  • 0
    翻译
  • 2
    转载
  • 36
    评论
  • 访问:458397次
  • 积分:449
  • 等级:中级会员
  • 排名:第12名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ