使用bbed 修改数据块物理校验出错的问题。
SQL> select * from yangtab;
select * from yangtab
              *
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 4, block # 388)
ORA-01110: data file 4: '/opt/oracle/oradata/orcl/users01.dbf'
使用dbv 进行验证。
oracle@localhost.localdomain:/home/oracle>dbv file=/opt/oracle/oradata/orcl/users01.dbf 
DBVERIFY: Release 10.2.0.1.0 - Production on Sun Aug 7 20:01:34 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
DBVERIFY - Verification starting : FILE = /opt/oracle/oradata/orcl/users01.dbf
Page 388 is marked corrupt
Corrupt block relative dba: 0x01000184 (file 4, block 388)
Bad header found during dbv: 
Data in bad block:
 type: 6 format: 2 rdba: 0x0100018c与本来应该的rdba 0x01000184不一致。
 last change scn: 0x0000.000b0c25 seq: 0x2 flg: 0x04
 spare1: 0x0 spare2: 0x0 spare3: 0x0
 consistency value in tail: 0x0c250602
 check value in block header: 0x24df
 computed block checksum: 0x0
 
#Block Checking: DBA = 16777612, Block Type = KTB-managed data block
#data header at 0x2b92e120827c
#kdbchk: the amount of space used is not equal to block size
#        used=613 fsc=41 avsp=7451 dtl=8064
#Page 396 failed with check code 6110--这是另一个问题, https://blog.csdn.net/cojm55771/article/details/100261873 。
DBVERIFY - Verification complete
Total Pages Examined         : 640
Total Pages Processed (Data) : 45
Total Pages Failing   (Data) : 1
Total Pages Processed (Index): 63
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 142
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 389
Total Pages Marked Corrupt   : 1
Total Pages Influx           : 0
Highest block SCN            : 747176 (0.747176)
从上面dbv检查的信息查看,数据块388的错误信息属于数据块的物理校验Block Misplaced
解决方法是使用bbed 修改kcbh.rdba_kcbh 的值和Corrupt block relative dba: 0x01000184 (file 4, block 388)中的rdba一致。
BBED> set dba 4,388
        DBA             0x01000184 (16777604 4,388)
BBED> p kcbh
struct kcbh, 20 bytes                       @0       
   ub1 type_kcbh                            @0        0x06
   ub1 frmt_kcbh                            @1        0xa2
   ub1 spare1_kcbh                          @2        0x00
   ub1 spare2_kcbh                          @3        0x00
   ub4 rdba_kcbh                            @4        0x0100018c
   ub4 bas_kcbh                             @8        0x000b0c25
   ub2 wrp_kcbh                             @12       0x0000
   ub1 seq_kcbh                             @14       0x02
   ub1 flg_kcbh                             @15       0x04 (KCBHFCKV)
   ub2 chkval_kcbh                          @16       0x24df
   ub2 spare3_kcbh                          @18       0x0000
BBED> set dba 4,388 offset 4
        DBA             0x01000184 (16777604 4,388)
        OFFSET          4
BBED> dump /v dba 4,388 offset 4 count 64
 File: /opt/oracle/oradata/orcl/users01.dbf (4)
 Block: 388     Offsets:    4 to   67  Dba:0x01000184
-------------------------------------------------------
 8c010001 250c0b00 00000204 df240000 l ....%........$..
 01000000 2ecd0000 240c0b00 00000000 l ........$.......
 03003200 89010001 ffff0000 00000000 l ..2.............
 00000000 00000000 00800000 240c0b00 l ............$...
 <16 bytes per line>
注意0x0100018c 在块里的存储方式是低位优先的:8c010001
BBED> modify /x 84
 File: /opt/oracle/oradata/orcl/users01.dbf (4)
 Block: 388              Offsets:    4 to   67           Dba:0x01000184
------------------------------------------------------------------------
 84010001 250c0b00 00000204 df240000 01000000 2ecd0000 240c0b00 00000000 
 03003200 89010001 ffff0000 00000000 00000000 00000000 00800000 240c0b00 
 <32 bytes per line>
重新应用校验和。
BBED> sum dba 4,388
Check value for File 4, Block 388:
current = 0x24df, required = 0x24d7
BBED> sum dba 4,388 apply
Check value for File 4, Block 388:
current = 0x24d7, required = 0x24d7
在bbed中进行检查,坏块已经修复。
BBED> verify
DBVERIFY - Verification starting
FILE = /opt/oracle/oradata/orcl/users01.dbf
BLOCK = 388
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
数据库中检查,成功。
SQL> select * from yangtab;
     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 yang            SALESMAN         7698 22-FEB-81                1250        500         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
      7900 JAMES           CLERK            7698 03-DEC-81                 950                    30
      7902 FORD            ANALYST          7566 03-DEC-81                3000                    20
      7934 MILLER          CLERK            7782 23-JAN-82                1300                    10
14 rows selected.

【BBED】使用bbed 修改data block Block Misplaced相关推荐

  1. 【BBED】BBED模拟并修复ORA-08102错误

    [BBED]BBED模拟并修复ORA-08102错误 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  2. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  3. 微信小程序使用setData方法修改data中对象或数组的属性值

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站 微信小程序使用setData方法修改data中对象或数组的属性值 使用微信小程序开发时,涉及到data ...

  4. 0day 第10章--10.5节:修改data中的cooki突破GS

    文章目录 实验原理: 实验环境: 实验要求: 源程序: 实验原理: 修改.data中保存的cookie,然后替换掉检查时的cookie,即可绕过对cookie的检查! 实验环境: winxp sp3 ...

  5. LINUX 查看和修改文件系统的block的大小

    查看block的大小 tune2fs-l /dev/sda1 | grep "Block size"     #使用tune方法 这里Linux的"block size& ...

  6. 微软企业库(Microsoft Enterprise Library Data Access Block)

    1. Dynamic-link library Microsoft.Practices.ObjectBuilder.dll Microsoft.Practices.EnterpriseLibrary. ...

  7. Organizational Data assignment block里value help的determine逻辑

    Created by Jerry Wang, last modified on Apr 27, 2015 WebUI里发现Sales Org unit的value help里显示的entry只是系统全 ...

  8. linux之EXT2文件系统--理解block/block group/索引结点inode/索引位图

    0. 文件系统和图书馆 在linux上操作文件,和在图书馆借书是非常相似的. 硬盘上的文件系统,好比图书馆的书架:而vfs则是图书馆的管理系统. 内核的工作: 1. 维护一个文件的目录树(dentry ...

  9. mysql 修改data目录后 无法使用脚本启动

    一.公司Mysql环境 #1. 目前公司Mysql只做了主从 #2. Mysql数据库版本:Percona-Server-server-56-5.6.20-rel68.0.el6.x86_64.rpm ...

最新文章

  1. php语句中两个if语句,如何在PHP中组合两个IF语句
  2. SAP 供应商寄售业务的标准流程
  3. HTML DOM教程 22-HTML DOM Form 对象
  4. table tr省略后鼠标移入显示相应信息_中考来了,人机对话、信息技术考试要求看过来...
  5. ant design Modal关闭时清除数据的解决方案
  6. 不要放弃,你的梦想是这个世界上最伟大的事情。
  7. vim打开出现的文档^M什么
  8. Java 面向对象:接口的理解
  9. 中国呼叫中心产业五大关键技术
  10. (篇一)作为一个程序猿,这些C语言实例你必须会!
  11. STM8单片机ADC模拟看门狗功能实现
  12. 拼多多无货源一件代发怎么做,这些细节要知道
  13. 碳膜、金属膜、金属氧化膜电阻区别
  14. 2019hbcpc部分题解
  15. python变成灰色_Python怎么把彩色图像转换成灰色图像?
  16. luogu4093 [HEOI2016/TJOI2016]序列
  17. linux定时任务文件修改,linux 定时任务
  18. 算法提高 解二元一次方程组
  19. 易捷行云超大规模云计算中心巡检“零干预”
  20. CSR8670学习笔记:OTA升级固件

热门文章

  1. delmatch oracle_Oracle ERP 技术探讨
  2. 负载测试中极限负载_负载测试准则
  3. [电设训练]幅频特性测试仪
  4. 关于对技术群中群友积极参与问答的一点看法
  5. ionic3小知识(持续更新...)
  6. C#--WinForm--表格数据控件DataGridView--绑定模式
  7. JAVA生成二维码链接(扫描二维码后进行指定链接跳转)
  8. java dbutils工具类_DbUtils工具类使用
  9. python组态软件开源_开源纯C#工控网关+组态软件(八)表达式编译器
  10. matlab使用杂谈4-偏微分方程求解之pdede函数使用