千家信息网

怎么使用DBV

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍"怎么使用DBV",在日常操作中,相信很多人在怎么使用DBV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用DBV"的疑惑有所帮助!接下来,请跟着
千家信息网最后更新 2025年11月13日怎么使用DBV

这篇文章主要介绍"怎么使用DBV",在日常操作中,相信很多人在怎么使用DBV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用DBV"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、简介

dbverify工具的主要目的是为了检查数据文件的物理结构,包括数据文件是否损坏,是否存在逻辑坏块,以及数据文件中包含何种类型的数据。

二、原理

DBV 检查以确保Oracle数据文件:

  • 数据文件有一个有效的块头

  • 每个数据块在文件中有一个特殊的"wrapper"标识块,这"wrapper"是为了校验正确性

  • 数据 (表) 和索引块是内部一致的

  • 从8.1.6起:多块类型的内部一致性(如回滚segment blocks)

三、DBV 限制

  1. DBV 只能检测可以被 'ANALYZE TABLE .. VALIDATE STRUCTURE CASCADE'命令检测的块,像索引、表错误等

  2. 这个工具只能用于对数据文件。它不能用来验证归档文件或控制文件。

  3. 你可以使用DBV验证自动储存管理(ASM)文件。

    然而,数据库必须打开,选择用户名已使用

    例如:dbv file=+DG1/ORCL/datafile/system01.dbf userid=system/sys

    DBV检查用户名/密码为ASM文件管理,当数据库不是open状态则不可能。

  4. 在大多数版本的UNIX,DBV 基于文件扩展名。DBV 要求datafile 必须有扩展名

    如果裸设备没有扩展名,可以创建一个link,然后在进行dbv 检查。
    例如:ln -s /dev/rdsk/mydevice /tmp/mydevice.dbf

  5. 对于原始设备,你应该使用"END"参数,以避免运行结束的文件空间的结束。
    例如:"dbv FILE=/dev/rdsk/r1.dbf END="

    1. 用 file#=5 找到 END 值

      select BYTES/8192 from v$datafile where FILE#=5;BYTES/8192----------5120
    2. dbv file=/dev/rdsk/r1.dbf blocksize=8192 END=5120

  6. DBV可能无法扫描数据文件大于2GB同时报告"dbv-100"。如果你得到了dbv-100 错误首先请检查文件大小。

  7. DBV 从 8.1.6 起如果从 Oracle 7 迁移,基于回滚段块会报虚假错误。见错误:1359160 和注意事项:118008.1。

  8. DBV only checks a block in isolation -it does not know if the block is part of an existing object or not.

    DBV 只检查这个块,它不知道这个块是否是一个已经存在的对象的一部分。

  9. DBV 在 SCO Unix 上是不可用的,另见 Bug:814249

  10. DBV 是向下兼容的,不可用于高版本

四、DBV 示例

  1. 验证ASM 上的文件

    1. 查询数据文件路径
      select file_name from dba_data_Files;

    2. dbv check ASM 上的文件,注意添加userid参数
      [oracle@rac2 ~]$ dbv file='+DATA/anqing/datafile/undotbs02.dbf' userid=sys/oracle

  2. 验证普通datafile

    1. 实例没有启动的情况下进行datafile 验证
      这种情况下,db没有启动,要进入数据文件的存放目录后在运行该命令,不然会报找不到数据文件。
      dbv file=undotbs01.dbf

  3. DB open 状态,验证指定段

    1. 可以通过sys_dba_segs表获取tablespace_id,header_file, header_block三个字段,他们分别对应tsn,relfile,

      block.select tablespace_id,header_file, header_block from sys_dba_segs where segment_name = 'TA';TABLESPACE_ID HEADER_FILE HEADER_BLOCK------------- ----------- ------------           0           1        71513
    2. 语法:dbv USERID=username/password SEGMENT_ID=tsn.relfile.block

      [oracle@rac2 ~]$ dbv segment_id=0.1.71513 userid=system/oracle

    注:这种方式要求数据库处于打开的状态。

  4. 验证数据拷贝
    由于dbv可以在实例关闭情况下验证数据文件,因此dbv也可以验证数据文件的拷贝。这个拷贝指的是通过RMAN的COPY命令或者操作系统命令cp拷贝的数据文件,而不是RMAN生成的备份集格式。
    通过比较2个dbv 的结果来比较datafile 的copy

    [oracle@node1 ~]$ dbv file='/oradata/orcl/test01.dbf' userid=sys/oracleDBVERIFY: Release 11.2.0.4.0 - Production on Wed Aug 17 15:15:52 2016Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.DBVERIFY - Verification starting(开始验证) : FILE = /oradata/orcl/test01.dbfDBVERIFY - Verification complete(验证完成) Total Pages Examined(检查的页总数)         : 655360Total Pages Processed (Data) 处理的页总数 (数据): 261936Total Pages Failing   (Data) 失败的页总数 (数据): 0Total Pages Processed (Index)处理的页总数 (索引): 0Total Pages Failing   (Index)失败的页总数 (索引): 0Total Pages Processed (Other)处理的页总数 (其它): 876Total Pages Processed (Seg)处理的总页数 (段)  : 3Total Pages Failing   (Seg)失败的总页数 (段)  : 0Total Pages Empty空的页总数            : 392545Total Pages Marked Corrupt标记为损坏的总页数   : 0Total Pages Influx流入的页总数           : 0Total Pages Encrypted加密的总页数        : 0Highest block SCN最高块 SCN            : 117357549 (0.117357549)

到此,关于"怎么使用DBV"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

文件 数据 验证 总数 检查 命令 拷贝 索引 错误 页数 处理 学习 情况 扩展名 数据库 状态 一致 参数 实例 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全知识竞赛答案2020 网络安全黑客讲座论文 网络安全可控性完整性 网络技术属于什么类型 乔丹视频软件开发 随着网络技术的发展的英文 软件开发实习工作总结1000字 上海梵迅网络技术有限公司 多媒体与网络技术专业学校 大学生网络安全教育班会内容 迅捷录音软件开发商 京东互联网高科技 安卓端数据库软件 欧柏泰克互联网科技专修学院 世界网络安全新闻 黄浦区品牌软件开发管理系统 数据库资料怎么查 桓台陶瓷软件开发咨询 网络安全谈判新闻 什么是最基础的网络安全工作 计算机网络技术服务有啥内容 广东综合软件开发均价 暗黑2重制版代理服务器 菜刀能实现数据库管理吗 网络安全漏洞挖掘与披露 银行网络安全和攻坚战大讨论 欧柏泰克互联网科技专修学院 服务器咋样新建一个本地连接 信贷抢单软件开发原理 范一飞金融网络安全
0