oracle坏块检测工具:DBV

定义

 

        oracle的坏块可分为物理坏块和逻辑坏块。坏块损坏信息类似为:
        ORA-01578: ORACLE data block corrupted (file # 6, block # 11)
        ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/tbs01.dbf'
        DBVERIFY工具的主要目的是为了检查数据文件、控制文件的物理结构,包括数据文件是否损坏,是否存在逻辑坏块,以及数据文件中包含何种类型的数据。不管数据库是否打开,都可以访问数据文件,也就是无论其是online还是offline。在Unix系统中位于:$ORACLE_HOME/bin/dbv。

Oracle数据文件的坏块,可分为物理坏块和逻辑坏块。物理坏块(也可以称为介质坏块)指的是块格式本身是坏的,块内的数据没有任何意义。而逻辑坏块,指的是块内的数据在逻辑是存在问题。比如说索引块的索引值没有按从小到大排列。物理坏块一般是由于内存问题、OS问题、IO子系统问题和硬件引起,逻辑坏块一般是是由于Oracle Bug等原因引起。

 

    2 命令

[sql]  view plain copy
  1. C:\Users\Administrator>dbv  
  2.   
  3. DBVERIFY: Release 10.2.0.1.0 - Production on 星期四 9月 20 01:24:37 2012  
  4.   
  5. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  6.   
  7. 关键字      说明                    (默认值)  
  8. ----------------------------------------------------  
  9. FILE        要验证的文件                 (无)  
  10. START       起始块                    (文件的第一个块)  
  11. END         结束块                      (文件的最后一个块)  
  12. BLOCKSIZE   逻辑块大小             (8192)  
  13. LOGFILE     输出日志                     (无)  
  14. FEEDBACK    显示进度               (0)  
  15. PARFILE     参数文件                 (无)  
  16. USERID      用户名/口令              (无)  
  17. SEGMENT_ID  段 ID (tsn.relfile.block) (无)  
  18. HIGH_SCN    要验证的最高块 SCN    (无)  
  19.             (scn_wrap.scn_base 或 scn)  

 

          注释:
          ① 如果feedback=1000,则验证1000个块显示一个.这个符号
          ② USERID --当验证asm文件时,要指定
          ③ FILE --用户指定要验证的数据文件名
          ④ BLOCKSIZE --指定数据文件的尺寸,缺省值为8192,对于非8192块将收到DBV-00103错误
          ⑤ PARFILE --可以像使用expdp/impdp一样,将一些选项置于参数文件里面
          ⑥ SEGMENT_ID --校验段,需要表空间ID,数据文件ID,段的头部ID

 

    3 限制

 

        ①DBV受版本限制,高版本可以自动识别低版本数据库,比如11g的dbv访问9i的数据库,但是低版本的dbv访问高版本会报错。
        ②不支持联机日志文件,归档日志,RMAN备份集验证

 

    4 案例

       案例(一)

[sql]  view plain copy
  1. C:\Users\Administrator>dbv file=d:\oracle\product\10.2.0\oradata\ORCL\DATAFILE\O1_MF_USERS_7TQZTYTO_.DBF  
  2.   
  3. DBVERIFY: Release 10.2.0.1.0 - Production on 星期四 9月 20 01:04:07 2012  
  4.   
  5. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  6.   
  7. DBVERIFY - 开始验证: FILE = d:\oracle\product\10.2.0\oradata\ORCL\DATAFILE\O1_MF_USERS_7TQZTYTO_.DBF  
  8.   
  9.   
  10. DBVERIFY - 验证完成  
  11.   
  12. 检查的页总数: 42560   -- --校验的总页面数,一个页面即是一个数据块  
  13. 处理的页总数 (数据): 40681  
  14. 失败的页总数 (数据): 0  
  15. 处理的页总数 (索引): 97  
  16. 失败的页总数 (索引): 0  
  17. 处理的页总数 (其它): 592  
  18. 处理的总页数 (段)  : 0  
  19. 失败的总页数 (段)  : 0  
  20. 空的页总数: 1190  
  21. 标记为损坏的总页数: 0  
  22. 流入的页总数: 0  
  23. 最高块 SCN            : 4772756 (0.4772756)  


    可以看到,dbverify给出的结果包括数据文件包括的BLOCK数量,其中包括多少个数据块,多少个索引块,多少空块,多少个已经被标志为坏块的块,多少个坏块。注意:如果Total Pages Influx的值大于零,且未存在坏块的情况下,是由于针对open状态的文件运行dbv程序遇到了一个当前正在被DBWn进程写入的数据块。

 

        案例(二)

        DBV工具还有一种在数据库打开的情况下使用的,验证指定段的使用情况

[sql]  view plain copy
  1. 01:18:15 sys@ORCL (^ω^) SELECT TABLESPACE_ID, HEADER_FILE, HEADER_BLOCK  
  2. 01:19:27   2    FROM SYS_DBA_SEGS  
  3. 01:19:27   3   WHERE SEGMENT_NAME = 'S_EMP'  
  4. 01:19:29   4  /  
  5.   
  6. TABLESPACE_ID HEADER_FILE HEADER_BLOCK  
  7. ------------- ----------- ------------  
  8.             4           4          603  
  9.   
  10. C:\Users\Administrator>DBV userid=hr/hr segment_id=4.4.603  
  11.   
  12. DBVERIFY: Release 10.2.0.1.0 - Production on 星期四 9月 20 01:22:04 2012  
  13.   
  14. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  15.   
  16. DBVERIFY - 开始验证: SEGMENT_ID = 4.4.603  
  17.   
  18.   
  19. DBVERIFY - 验证完成  
  20.   
  21. 检查的页总数: 8  
  22. 处理的页总数 (数据): 5  
  23. 失败的页总数 (数据): 0  
  24. 处理的页总数 (索引): 0  
  25. 失败的页总数 (索引): 0  
  26. 处理的页总数 (其它): 2  
  27. 处理的总页数 (段)  : 1  
  28. 失败的总页数 (段)  : 0  
  29. 空的页总数: 0  
  30. 标记为损坏的总页数: 0  
  31. 流入的页总数: 0  
  32. 最高块 SCN            : 4689412 (0.4689412)  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值