【BBED】使用bbed修改数字类型数据

简介: bbed的使用(一)  介绍了BBED的编译安装。bbed的使用(二)  介绍了bbed的语法规则和常用命令的使用。bbed的使用(三)  介绍了bbed的命令。
bbed的使用(一)  介绍了BBED的编译安装
bbed的使用(二)  介绍了bbed的语法规则和常用命令的使用。
bbed的使用(三)  介绍了bbed的命令。
如何修改字符类型的数据,使用bbed修改数据表中字符类型的数据
下面介绍使用bbed修改数字类型数据
yangobj表是有scott下的emp经过CTAS创建。
修改前:
SQL> select * from yangobj;
     EMPNO ENAME                          JOB               MGR HIREDATE                  SAL       COMM     DEPTNO
---------- ------------------------------ ---------- ---------- ------------------ ---------- ---------- ----------
      7369 SMITH                          CLERK            7902 17-DEC-80                 800                    20
      7499 ALLEN                          SALESMAN         7698 20-FEB-81                1600        300         30
      7521 WARD                           SALESMAN         7698 22-FEB-81                1250        500         30
计划对WARD的comm值500修改为800.
因为使用bbed修改数据时最好关闭数据库。所以从另外的数据库中查询800,500在数据库中的存储。
yang@rac1>select dump(800,1016) FROM DUAL;
DUMP(800,1016)
-----------------
Typ=2 Len=2: c2,9
yang@rac1>select dump(500,1016) FROM DUAL;
DUMP(500,1016)
-----------------
Typ=2 Len=2: c2,6
使用bbed对数据 
使用p 命令查看杭记录 
BBED> p kdbr
sb2 kdbr[0]                                 @142      8026
sb2 kdbr[1]                                 @144      7983
sb2 kdbr[2]                                 @146      7940
sb2 kdbr[3]                                 @148      7899
sb2 kdbr[4]                                 @150      7854
sb2 kdbr[5]                                 @152      7813
sb2 kdbr[6]                                 @154      7772
sb2 kdbr[7]                                 @156      7732
sb2 kdbr[8]                                 @158      7694
sb2 kdbr[9]                                 @160      7651
sb2 kdbr[10]                                @162      7613
sb2 kdbr[11]                                @164      7575
sb2 kdbr[12]                                @166      7536
sb2 kdbr[13]                                @168      7497
查看第三行WARD的数据。
BBED> p *kdbr[2]
rowdata[443]
------------
ub1 rowdata[443]                            @8064     0x2c
BBED> x /rnccntnnn
rowdata[443]                                @8064    
------------
flag@8064: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8065: 0x00
cols@8066:    8
col    0[3] @8067: 7521 
col    1[4] @8071: WARD
col    2[8] @8076: SALESMAN
col    3[3] @8085: 7698 
col    4[7] @8089: 22-FEB-81 
col    5[3] @8097: 1250 
col    6[2] @8101: 500 
col    7[2] @8104: 30 
显示数据库中存储的数据格式。
BBED> x /r        
rowdata[443]                                @8064    
------------
flag@8064: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8065: 0x00
cols@8066:    8
col    0[3] @8067:  0xc2  0x4c  0x16 
col    1[4] @8071:  0x57  0x41  0x52  0x44 
col    2[8] @8076:  0x53  0x41  0x4c  0x45  0x53  0x4d  0x41  0x4e 
col    3[3] @8085:  0xc2  0x4d  0x63 
col    4[7] @8089:  0x77  0xb5  0x02  0x16  0x01  0x01  0x01 
col    5[3] @8097:  0xc2  0x0d  0x33 
col    6[2] @8101:  0xc2  0x06 
col    7[2] @8104:  0xc1  0x1f 
BBED> set offset 8101
        OFFSET          8101
BBED> dump /v offset 8101
 File: /opt/oracle/oradata/orcl/users01.dbf (4)
 Block: 396     Offsets: 8101 to 8191  Dba:0x0100018c
-------------------------------------------------------
 02c20602 c11f2c00 0803c24b 6405414c l ......,....Kd.AL
 4c454e08 53414c45 534d414e 03c24d63 l LEN.SALESMAN..Mc
 0777b502 14010101 02c21102 c20402c1 l .w..............
 1f2c0008 03c24a46 05534d49 54480543 l .,....JF.SMITH.C
 4c45524b 03c25003 0777b40c 11010101 l LERK..P..w......
 02c209ff 02c11502 06250c            l .........%.
 
02 为列与列的间隔,所以再偏移一位(8bit)
BBED> dump /v offset 8102 
 File: /opt/oracle/oradata/orcl/users01.dbf (4)
 Block: 396     Offsets: 8102 to 8191  Dba:0x0100018c
-------------------------------------------------------
 c20602c1 1f2c0008 03c24b64 05414c4c l .....,....Kd.ALL
 454e0853 414c4553 4d414e03 c24d6307 l EN.SALESMAN..Mc.
 77b50214 01010102 c21102c2 0402c11f l w...............
 2c000803 c24a4605 534d4954 4805434c l ,....JF.SMITH.CL
 45524b03 c2500307 77b40c11 01010102 l ERK..P..w.......
 c209ff02 c1150206 250c              l ........%.
 
修改 c206-->c209
BBED> modify /x 0xc209
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
 File: /opt/oracle/oradata/orcl/users01.dbf (4)
 Block: 396              Offsets: 8102 to 8191           Dba:0x0100018c
------------------------------------------------------------------------
 c20902c1 1f2c0008 03c24b64 05414c4c 454e0853 414c4553 4d414e03 c24d6307 
 77b50214 01010102 c21102c2 0402c11f 2c000803 c24a4605 534d4954 4805434c 
 45524b03 c2500307 77b40c11 01010102 c209ff02 c1150206 250c 
 
校验并应用。
BBED> sum dba 4,396
Check value for File 4, Block 396:
current = 0x27cd, required = 0x28cd

BBED> sum dba 4,396 apply
Check value for File 4, Block 396:
current = 0x28cd, required = 0x28cd
重新显示,500-->800
BBED> x /rnccntnnn
rowdata[443]                                @8064    
------------
flag@8064: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8065: 0x00
cols@8066:    8

col    0[3] @8067: 7521 
col    1[4] @8071: WARD
col    2[8] @8076: SALESMAN
col    3[3] @8085: 7698 
col    4[7] @8089: 22-FEB-81 
col    5[3] @8097: 1250 
col    6[2] @8101: 800 
col    7[2] @8104: 30 
修改后,重新启动数据库查看结果:
SQL> set linesize 120
SQL> select * from yangobj;
     EMPNO ENAME           JOB               MGR HIREDATE                  SAL       COMM     DEPTNO
---------- --------------- ---------- ---------- ------------------ ---------- ---------- ----------
      7369 SMITH           CLERK            7902 17-DEC-80                 800                    20
      7499 ALLEN           SALESMAN         7698 20-FEB-81                1600        300         30
      7521 WARD            SALESMAN         7698 22-FEB-81                1250        800         30
      7566 JONES           MANAGER          7839 02-APR-81                2975                    20
      7654 MARTIN          SALESMAN         7698 28-SEP-81                1250       1400         30
      7698 BLAKE           MANAGER          7839 01-MAY-81                2850                    30
      7782 CLARK           MANAGER          7839 09-JUN-81                2450                    10
      7788 SCOTT           ANALYST          7566 19-APR-87                3000                    20
      7839 KING            PRESIDENT             17-NOV-81                5000                    10
      7844 TURNER          SALESMAN         7698 08-SEP-81                1500          0         30
      7876 ADAMS           CLERK            7788 23-MAY-87                1100                    20
14 rows selected.
注意:这里500 和800都是占有2byte,如果修改为888
yang@rac1>select dump(888,1016) FROM DUAL;
DUMP(888,1016)
--------------------
Typ=2 Len=3: c2,9,59
则占用3个byte,查询数据时会出现乱码,
如何修改字符类型的数据中有提到。
目录
相关文章
|
人工智能 自然语言处理 测试技术
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
Codex CLI是OpenAI推出的轻量级AI编程智能体,基于自然语言指令帮助开发者高效生成代码、执行文件操作和进行版本控制,支持代码生成、重构、测试及数据库迁移等功能。
3471 1
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
|
存储 Java 应用服务中间件
Java规则引擎Drools急速入门
Java规则引擎Drools急速入门
11552 0
Java规则引擎Drools急速入门
|
Python
Python下载速度太慢?使用国内网站速度直接飞起(附安装教程)
Python下载速度太慢?使用国内网站速度直接飞起(附安装教程)
4769 0
Python下载速度太慢?使用国内网站速度直接飞起(附安装教程)
|
6天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
7天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
713 6
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
7天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
8752 37
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
7天前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
705 6
|
7天前
|
存储 安全 Java
AgentScope Java 2.0:打造分布式、企业级智能体底座
AgentScope 2.0 面向分布式部署、稳定运行、权限安全等企业级需求全面升级,打造支持多租户隔离与长期稳定运行的企业级智能体底座。
|
7天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
749 148
|
7天前
|
人工智能 运维 自然语言处理
阿里云百炼Qwen3.7-Max模型详解:综合能力、核心优势与订阅计划参考指南
2026年,大模型技术持续向通用化、高性能、场景化方向迭代,阿里云百炼作为一站式大模型服务平台,持续推出迭代升级的模型产品,Qwen3.7-Max便是当前主力旗舰级大模型之一。该模型依托深度优化的底层架构与大规模训练数据,在文本理解、逻辑推理、多模态交互、代码生成、长文本处理等多个维度实现能力升级,同时搭配灵活的订阅计划体系,能够适配个人开发者、中小企业、大型企业、政企机构等不同类型用户的使用需求。
594 2

热门文章

最新文章