BBED的基本使用参考:https://blog.csdn.net/tianlesoftware/article/details/5006580
SQL> create table bbed_test (id number,name nvarchar2(20)); Table created. SQL> insert into bbed_test values(1,'devin1'); 1 row created. SQL> insert into bbed_test values(2,'devin2'); 1 row created. SQL> insert into bbed_test values(3,'devin3'); 1 row created. SQL> commit; Commit complete. SQL> SELECT 2 dbms_rowid.rowid_relative_fno(rowid) REL_FNO, 3 dbms_rowid.rowid_block_number(rowid) BLOCKNO, 4 dbms_rowid.rowid_row_number(rowid) ROWNO , 5 id , 6 name 7 from 8 bbed_test; REL_FNO BLOCKNO ROWNO ID NAME ---------- ---------- ---------- ---------- -------------------- 8 135 0 1 devin1 8 135 1 2 devin2 8 135 2 3 devin3
复制
8号文件 135块
将第三行的devin3修改成kevin3
SQL> select dump('k',16) from dual; DUMP('K',16) ---------------- Typ=96 Len=1: 6b [oracle@devin1 ~]$ bbed BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 3 14:52:15 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> info File# Name Size(blks) ----- ---- ---------- 1 /u01/app/oracle/oradata/ora12c/system01.dbf 0 2 /u01/app/oracle/oradata/ora12c/ccps_data.dbf 0 3 /u01/app/oracle/oradata/ora12c/sysaux01.dbf 0 4 /u01/app/oracle/oradata/ora12c/undotbs01.dbf 0 5 /u01/app/oracle/oradata/ora12c/ogg.dbf 0 7 /u01/app/oracle/oradata/ora12c/users01.dbf 0 8 /u01/app/oracle/oradata/ora12c/devin.dbf 0 BBED> set file 8 FILE# 8 BBED> set block 135 BLOCK# 135 BBED> map File: /u01/app/oracle/oradata/ora12c/devin.dbf (8) Block: 135 Dba:0x02000087 ------------------------------------------------------------ KTB Data Block (Table/Cluster) struct kcbh, 20 bytes @0 struct ktbbh, 72 bytes @20 struct kdbh, 14 bytes @100 struct kdbt[1], 4 bytes @114 sb2 kdbr[3] @118 ub1 freespace[8025] @124 ub1 rowdata[39] @8149 ub4 tailchk @8188 BBED> set file 8 block 135 FILE# 8 BLOCK# 135 BBED> find /c devin3 File: /u01/app/oracle/oradata/ora12c/devin.dbf (8) Block: 135 Offsets: 8156 to 8161 Dba:0x02000087 ------------------------------------------------------------------------ 64657669 6e33 <32 bytes per line> BBED> set offset 8156 OFFSET 8156
复制
将devin3修改成kevin3
BBED> m /x 6b File: /u01/app/oracle/oradata/ora12c/devin.dbf (8) Block: 135 Offsets: 8156 to 8161 Dba:0x02000087 ------------------------------------------------------------------------ 6b657669 6e33 <32 bytes per line> BBED> sum apply Check value for File 8, Block 135: current = 0x2b8b, required = 0x2b8b
复制
dump验证一下:
BBED> d /v dba 8,135 offset 8156 File: /u01/app/oracle/oradata/ora12c/devin.dbf (8) Block: 135 Offsets: 8156 to 8161 Dba:0x02000087 ------------------------------------------------------- 6b657669 6e33 l kevin3 <16 bytes per line> SQL> alter system flush buffer_cache; System altered. SQL> select * from bbed_test; ID NAME ---------- -------------------- 1 devin1 2 devin2 3 kevin3
复制
修改成功
注意:print打印出来的值和在文件中存储的值可能不是完全一致。在intel 的little endian是低位先存储,即顺序与我们看到的是相反的.可以利用assign命令,直接用十进制
BBED> assign dba 1,1 kcvfh.kcvfhckp.kcvcpscn.kscnbas = 342603401 ub4 kscnbas @484 0x146bb689
复制
最后修改时间:2020-09-14 16:55:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
590次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
544次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
462次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
443次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
440次阅读
2025-04-08 09:12:48
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
437次阅读
2025-04-22 00:20:37
墨天轮个人数说知识点合集
JiekeXu
437次阅读
2025-04-01 15:56:03
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
412次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
406次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
392次阅读
2025-04-08 23:57:08