一.对数据文件检查

注意:应该在关闭数据库模式下进行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. [ASP.NET] Http协议GET与POST

    引言 HTTP 协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状 ...

  2. 【Linux/Ubuntu学习 12】ubuntu下对/etc/profile误修改导致系统不能登录

    etc/profile里设置环境变量导致无法登录解决   1,因为不小心在 etc/profile里设在环境变量导致无法登录    不要在 etc/profile里设置 export PATH这样会导 ...

  3. ASP.NET页面与IIS底层交互和工作原理详解(第三回)

    引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进 ...

  4. CSS3实战手册(第3版)(影印版)

    <CSS3实战手册(第3版)(影印版)> 基本信息 原书名:CSS3: The Missing Manual, 3E 作者: David Sawyer McFarland 出版社:东南大学 ...

  5. IQueryable与IEnumberable的区别

    IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...

  6. 文本替换sed+字段处理cut,join+awk重新编排字段

    [1]sed工具(Stream Editor)--流编辑器 sed 本身也是一个管线(管道)命令,可以分析 standard input 的啦! 而且 sed 还可以将数据进行取代.删除.新增.截取特 ...

  7. 使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

    0.preliminary 环境搭建 Setup development environment Download the latest version of MRUnit jar from Apac ...

  8. IT技术方案最佳实践方案的收集

    一.图片鉴别服务 1. 阿里云,腾讯云等公开的服务. 2. 图谱科技提供的API 二. 网络直播服务器 1. SRS2 开源服务器 (https://github.com/ossrs/srs/wiki ...

  9. poj1330

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24762   Accept ...

  10. css隐藏元素display:none,opacity:0;filter:alpha(opacity=0-100;,visibility:hidden的区别

    在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.我们一般有三种方式:display:none, opacity:0;fil ...