一.对数据文件检查

注意:应该在关闭数据库模式下进行bbed的操作

[oracle@ora10 controlfile]$  dbv file=/u01/app/oracle/oradata/ORCL/datafile/test_01.dbf blocksize=8192

DBVERIFY: Release 10.2.0.1.0 - Production on Fri Jan 16 23:05:01 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf
Block Checking: DBA = 20974772, Block Type = KTB-managed data block
data header at 0xb7ee3264
kdbchk: the amount of space used is not equal to block size
used=3681 fsc=7 avsp=4407 dtl=8088
Page 3252 failed with check code 6110 DBVERIFY - Verification complete Total Pages Examined : 12800
Total Pages Processed (Data) : 3204
Total Pages Failing (Data) : 1
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 68
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 9528
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Highest block SCN : 434362 (0.434362)
[oracle@ora10 controlfile]$

文件test_01.dbf的3252块 出现问题

二.查找资料

  dbsnake的建议,将所有itl的fsc全部改为0,然后将kdbh.kdbhavsp和kdbh.kdbhtosp的值改成相等。它们的值都等于dbv校验中显示的dtl-used=8088-3681=4407。

三.利用bbed修复

BBED> set dba 5,3252
DBA 0x01400cb4 (20974772 5,3252) BBED> verify
DBVERIFY - Verification starting
FILE = /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf
BLOCK = 3252 Block Checking: DBA = 20974772, Block Type = KTB-managed data block
data header at 0xb7e7b264
kdbchk: the amount of space used is not equal to block size
used=3681 fsc=7 avsp=4407 dtl=8088
Block 3252 failed with check code 6110 DBVERIFY - Verification complete Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0 BBED> print kdbh
struct kdbh, 14 bytes @100
ub1 kdbhflag @100 0x00 (NONE)
b1 kdbhntab @101 1
b2 kdbhnrow @102 333
sb2 kdbhfrre @104 -1
sb2 kdbhfsbo @106 684
sb2 kdbhfseo @108 5423
b2 kdbhavsp @110 4407
b2 kdbhtosp @112 4416 BBED>

3.1 查看itl中的fsc

BBED> p ktbbhitl
struct ktbbhitl[0], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x0004
ub2 kxidslt @46 0x001e
ub4 kxidsqn @48 0x000000eb
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00803a71
ub2 kubaseq @56 0x005f
ub1 kubarec @58 0x30
ub2 ktbitflg @60 0x2001 (KTBFUPB)
union _ktbitun, 2 bytes @62
b2 _ktbitfsc @62 7
ub2 _ktbitwrp @62 0x0007
ub4 ktbitbas @64 0x0006a0ba
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0002
ub2 kxidslt @70 0x0022
ub4 kxidsqn @72 0x000000f8
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x008090ac
ub2 kubaseq @80 0x0085
ub1 kubarec @82 0x1f
ub2 ktbitflg @84 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @86
b2 _ktbitfsc @86 0
ub2 _ktbitwrp @86 0x0000
ub4 ktbitbas @88 0x000600bc BBED>

修改 b2 _ktbitfsc 的值使其为0.

BBED> dump /v dba 5,3252 offset 62 count 32
File: /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf (5)
Block: 3252 Offsets: 62 to 93 Dba:0x01400cb4
-------------------------------------------------------
0700baa0 06000200 2200f800 0000ac90 l ..籂...."... 80008500 1f000080 0000bc00 06000000 l .............. <16 bytes per line> BBED> modify /x 00 dba 5,3252 offset 62
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf (5)
Block: 3252 Offsets: 62 to 93 Dba:0x01400cb4
------------------------------------------------------------------------
0000baa0 06000200 2200f800 0000ac90 80008500 1f000080 0000bc00 06000000 <32 bytes per line> BBED> BBED> print ktbbhitl
struct ktbbhitl[0], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x0004
ub2 kxidslt @46 0x001e
ub4 kxidsqn @48 0x000000eb
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00803a71
ub2 kubaseq @56 0x005f
ub1 kubarec @58 0x30
ub2 ktbitflg @60 0x2001 (KTBFUPB)
union _ktbitun, 2 bytes @62
b2 _ktbitfsc @62 0
ub2 _ktbitwrp @62 0x0000
ub4 ktbitbas @64 0x0006a0ba
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0002
ub2 kxidslt @70 0x0022
ub4 kxidsqn @72 0x000000f8
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x008090ac
ub2 kubaseq @80 0x0085
ub1 kubarec @82 0x1f
ub2 ktbitflg @84 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @86
b2 _ktbitfsc @86 0
ub2 _ktbitwrp @86 0x0000
ub4 ktbitbas @88 0x000600bc BBED> sum
Check value for File 5, Block 3252:
current = 0x0e90, required = 0x0e97 BBED> sum apply
Check value for File 5, Block 3252:
current = 0x0e97, required = 0x0e97 BBED>

3.2 修改kdbh.kdbhavsp和kdbh.kdbhtosp的值=8088-3681=4407

BBED> print kdbh
struct kdbh, 14 bytes @100
ub1 kdbhflag @100 0x00 (NONE)
b1 kdbhntab @101 1
b2 kdbhnrow @102 333
sb2 kdbhfrre @104 -1
sb2 kdbhfsbo @106 684
sb2 kdbhfseo @108 5423
b2 kdbhavsp @110 4407
b2 kdbhtosp @112 4416 BBED> dump /v dba 5,3252 offset 112 count 32
File: /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf (5)
Block: 3252 Offsets: 112 to 143 Dba:0x01400cb4
-------------------------------------------------------
40110000 4d01b01d b81dc01d c81dd01d l @...M. d81de01d e81df01d f81d001e 081e101e l ...... <16 bytes per line> BBED> --4416的16进制1140 转储后为 4011 BBED> dump /v dba 5,3252 offset 110 count 32
File: /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf (5)
Block: 3252 Offsets: 110 to 141 Dba:0x01400cb4
-------------------------------------------------------
37114011 00004d01 b01db81d c01dc81d l 7.@...M. d01dd81d e01de81d f01df81d 001e081e l .... <16 bytes per line> BBED> --4407的16进制1137 转储后为3711 --修改值
BBED> modify /x 3711 dba 5,3252 offset 112
File: /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf (5)
Block: 3252 Offsets: 112 to 143 Dba:0x01400cb4
------------------------------------------------------------------------
37110000 4d01b01d b81dc01d c81dd01d d81de01d e81df01d f81d001e 081e101e <32 bytes per line> BBED> --应用 BBED> sum apply
Check value for File 5, Block 3252:
current = 0x0ee0, required = 0x0ee0 BBED> verify
DBVERIFY - Verification starting
FILE = /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf
BLOCK = 3252 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

--利用dbv检查

[oracle@ora10 controlfile]$  dbv file=/u01/app/oracle/oradata/ORCL/datafile/test_01.dbf blocksize=8192

DBVERIFY: Release 10.2.0.1.0 - Production on Fri Jan 16 23:40:02 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/ORCL/datafile/test_01.dbf

DBVERIFY - Verification complete

Total Pages Examined         : 12800
Total Pages Processed (Data) : 3204
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 68
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 9528
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Highest block SCN : 434362 (0.434362)
[oracle@ora10 controlfile]$

kdbchk: the amount of space used is not equal to block size的更多相关文章

  1. [CVPR 2019]Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation

    论文地址:https://arxiv.org/abs/1901.02970    github链接:https://github.com/hughw19/NOCS_CVPR2019 类别级6D物体位姿 ...

  2. 利用BBED恢复UPDATE改动前的值

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/30615151 实验步骤例如以下: 1.创建表guo_test1 gyj@PROD> ...

  3. [20190225]删除tab$记录的恢复5.txt

    [20190225]删除tab$记录的恢复5.txt --//昨天下午看了链接https://blog.csdn.net/Enmotech/article/details/87834503,大概知道对 ...

  4. [20190226]测试使用bbed恢复索引.txt

    [20190226]测试使用bbed恢复索引.txt --//上午做tab$删除恢复测试时发现,tab$的索引i_tab1很小.可以尝试使用bbed解决这个问题.--//首先在普通表上做一个测试看看. ...

  5. [20190212]删除tab$记录的恢复3.txt

    [20190212]删除tab$记录的恢复3.txt --//春节前几天做了删除tan$记录的测试,链接:http://blog.itpub.net/267265/viewspace-2565245/ ...

  6. [20190213]学习bbed-恢复删除的数据.txt

    [20190213]学习bbed-恢复删除的数据.txt --//以前也做过类似测试,当时在用bbed做verify时错误都不处理,当时的想法就是能读出就ok了.--//而且当时也做成功,纯粹是依葫芦 ...

  7. [20181226]简单探究cluster table.txt

    [20181226]简单探究cluster table.txt --//简单探究cluster table.以前也做过,有点生疏了. 1.环境:SCOTT@book> @ ver1PORT_ST ...

  8. [20191206]隐含参数_db_always_check_system_ts.txt

    [20191206]隐含参数_db_always_check_system_ts.txt --//今年年头我做tab$删除恢复时,遇到的问题,就是遇到延迟块清除的问题.参考链接:http://blog ...

  9. [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt

    [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt --//http://blog.itpub.net/267265/viewspace-2646340/=>[2 ...

随机推荐

  1. PreparedStatement和Statement的区别

    转自:http://blog.sina.com.cn/s/blog_77eba18f01019csh.html 1. PreparedStatement接口继承Statement, PreparedS ...

  2. ajaxFileUpload 报这错jQuery.handleError is not a function 博客分类: WEB前端jquery

    ajaxfileuploadhandleError  今天刚打个一个技术群,里面有人问标题上的问题,嘿,我恰好遇过,现在大家至少也在用jquery1.9以上的版本,ajaxfileupload的版本早 ...

  3. PHP使用外部命令导出数据库,备份到服务器并下载到本地

    <?php // $dumpFileName目录要有可写权限 $DbHost = 'localhost'; $DbUser = 'root'; $DbPwd = '123456'; $DbNam ...

  4. javaweb学习总结二十四(servlet经常用到的对象)

    一:ServletConfig对象 1:用来封装数据初始化参数,在服务器web.xml配置文件中可以使用<init-param>标签配置初始化参数. 2:实例演示 web.xml文件中配置 ...

  5. Linux 驱动分类 与访问技术

    驱动开发概述 1.驱动分类 1.1 常规分析法 1.1.1  字符设备  字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,  这样的驱动通常实现open, close, read和wri ...

  6. HDU4272LianLianKan(dfs)

    Problem Description I like playing game with my friend, although sometimes looks pretty naive. Today ...

  7. js 数组的length(javascript教程四)

    这是一个简单的函数,就是利用length来判断数组再遍历数组了. <script language="javascript" type="text/javascri ...

  8. web.config connectionStrings 数据库连接字符串的解释

    先来看一下默认的连接SQL Server数据库配置<connectionStrings>   <add name="LocalSqlServer" connect ...

  9. VxWorks 6.9 内核编程指导之读书笔记 -- 多任务

    概述 VxWork系统任务 任务调度 任务创建和管理 任务的错误状态 任务异常处理 共享代码和重入 概述 现代实时操作系统是基于多任务和任务间通信的概念的.多任务环境运行一个实时进程RTP可以被作为一 ...

  10. ESB数据采集思路

    昨天接到一个任务,使用公司的ESB,调用别人的接口,把得到的数据存储到mysql数据库当中,这里简单记录解决思路,方便以后查看. 1.拿到一个网站的地址,使用火狐浏览器的firebug工具,查看其传递 ...