zoukankan      html  css  js  c++  java
  • kdbchk: the amount of space used is not equal to block size

    一.对数据文件检查

    注意:应该在关闭数据库模式下进行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]$


     

  • 相关阅读:
    Spring Boot源码分析-配置文件加载原理
    Spring Boot源码分析-启动过程
    Spring Cloud Alibaba基础教程:Nacos服务发现与配置管理
    JVM(九):垃圾回收算法
    JVM(八):Java 对象模型
    JVM(七):JVM内存结构
    JVM(六):探究类加载过程-下
    JVM(五):探究类加载过程-上
    JVM(四):深入分析Java字节码-下
    JVM(三):深入分析Java字节码-上
  • 原文地址:https://www.cnblogs.com/polestar/p/4239179.html
Copyright © 2011-2022 走看看