news 2026/1/12 5:45:28

obet 实现dbv功能(obet数据文件坏块检测)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
obet 实现dbv功能(obet数据文件坏块检测)

通过一段时间的测试和使用,obet修复了不少bug,关于obet的以往功能和特性的文章:
OBET工具使用说明

Oracle数据块编辑工具( Oracle Block Editor Tool)-obet
并且也在客户的生产环境上进行了实战:obet快速修改scn/resetlogs恢复数据库(缺少归档,ORA-00308).利用周末的时间又对obet的工具进行了功能增强,增加了dbv(数据块校验)功能.

Oracle dbv的不足
1. oracle dbv需要在安装oracle服务端的环境下才能执行
2. oracle dbv对于文件大小不正确(文件头记录block数和实际文件大小不匹配),文件头损坏等情况都可能导致dbv无法执行,类似下面的报错

C:\Users\XFF>dbvfile=H:\BaiduNetdisk\kingdee\system01.dbf

DBVERIFY: Release 11.2.0.4.0 - Production on 星期日 1月 11 17:30:29 2026

Copyright (c) 1982, 2011, Oracle and/orits affiliates. All rights reserved.

DBV-00107: 未知标头格式 (0) (2054913149)

C:\Users\XFF>

C:\Users\XFF>dbvfile=H:\BaiduNetdisk\kingdee\users01.dbf

DBVERIFY: Release 11.2.0.4.0 - Production on 星期日 1月 11 20:10:05 2026

Copyright (c) 1982, 2011, Oracle and/orits affiliates. All rights reserved.

DBV-00102: FILE (H:\BAIDUNETDISK\KINGDEE\USERS01.DBF) 在 endread操作 (-1) 期间出现文件 I/O错误

C:\Users\XFF>

3. oracle dbv一条命令执行检测一个数据文件,如果数据文件多,检查起来很繁琐
4. oracle dbv么有检查进度,对于io性能较慢,数据文件较大的情况,无法跟踪检查进度.

obet的dbv功能使用
1. 配置listfile.txt文件,格式为file# name

1 H:\BaiduNetdisk\kingdee\system01.dbf

5 H:\BaiduNetdisk\kingdee\EAS_D_EAS_STANDARD.ORA

2. 启动obet,执行open listfile.txt(如果不在obet目录提供完整路径)

OBET>openlistfile.txt

Loaded 2 files from configfile'listfile.txt'.

OBET> info

Loaded files (2 total):

----------------------------------------

Number Path

----------------------------------------

1 H:\BaiduNetdisk\kingdee\system01.dbf

5 H:\BaiduNetdisk\kingdee\EAS_D_EAS_STANDARD.ORA

----------------------------------------

3. 执行dbv命令(logfile 部分为可选),默认会记录日志在obet目录下面dbv_年月日时分秒.log的日志

OBET> dbv

===============================================

DBV (Data Block Verification)

Block Size: 8192 bytes

===============================================

Verifyingfile#1: H:\BaiduNetdisk\kingdee\system01.dbf (131841 blocks) - Started: 2026-01-11 18:03:58

file1, block 0: checksum error (expected 0xC4DA, got 0xC478), bad block

file1, block 1: checksum error (expected 0xF835, got 0xB835), bad block

Progress: 10000 / 131841 blocks checked...

Progress: 20000 / 131841 blocks checked...

……………….

Progress: 120000 / 131841 blocks checked...

Progress: 130000 / 131841 blocks checked...

File#1 completed: 0 all zero, 0 soft corrupted, 0 tailchk error, 2 checksum error, 0 rdba error

Verifyingfile#5: H:\BaiduNetdisk\kingdee\EAS_D_EAS_STANDARD.ORA (4194303 blocks) - Started: 2026-01-11 18:04:08

Progress: 10000 / 4194303 blocks checked...

Progress: 20000 / 4194303 blocks checked...

……………………

Progress: 260000 / 4194303 blocks checked...

Progress: 270000 / 4194303 blocks checked...

file5, block 277678: tailchk error (expected 0x0228BB21, got 0x0228AD21), bad block

file5, block 277679: rdba error (expected 277679, got 277615), bad block

file5, block 277680: rdba error (expected 277680, got 277616), bad block

file5, block 277681: rdba error (expected 277681, got 277617), bad block

………………

file5, block 277692: rdba error (expected 277692, got 277628), bad block

file5, block 277693: rdba error (expected 277693, got 277629), bad block

file5, block 277694: rdba error (expected 277694, got 277630), bad block

file5, block 279406: tailchk error (expected 0x02281E22, got 0x00000700), bad block

file5, block 279407: rdba error (expected 279407, got 448), bad block

file5, block 279408: rdba error (expected 279408, got 0), bad block

………………

Progress: 280000 / 4194303 blocks checked...

Progress: 290000 / 4194303 blocks checked...

Progress: 300000 / 4194303 blocks checked...

Progress: 310000 / 4194303 blocks checked...

file5, block 312932: tailchk error (expected 0x0106C0B8, got 0x010629B8), bad block

file5, block 312933: rdba error (expected 312933, got 312869), bad block

file5, block 312934: rdba error (expected 312934, got 312870), bad block

file5, block 312935: rdba error (expected 312935, got 312871), bad block

file5, block 312936: rdba error (expected 312936, got 312872), bad block

file5, block 312937: rdba error (expected 312937, got 312873), bad block

file5, block 312938: rdba error (expected 312938, got 312874), bad block

file5, block 312939: rdba error (expected 312939, got 312875), bad block

………………

Progress: 4180000 / 4194303 blocks checked...

Progress: 4190000 / 4194303 blocks checked...

File#5 completed: 1 all zero, 0 soft corrupted, 13 tailchk error, 1 checksum error, 255 rdba error

DBV completed at: 2026-01-11 18:09:30

===============================================

DBV Summary:

Total blocks checked: 4325872

Total all zero blocks found: 1

Total all rdba error blocks found: 255

Total all tailchk error blocks found: 13

Total all soft corrupted blocks found: 0

Total all checksum error blocks found: 3

Total bad blocks found: 272

===============================================

Detailed report saved to: dbv_20260111180358.log

OBET>

检测效果截图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/12 5:44:30

ResNet18应用场景:医疗影像辅助识别案例研究

ResNet18应用场景:医疗影像辅助识别案例研究 1. 引言:从通用识别到医疗场景的延伸价值 1.1 通用物体识别中的ResNet18优势 ResNet18作为深度残差网络家族中最轻量级的成员之一,凭借其简洁高效的结构,在图像分类任务中广受青睐。…

作者头像 李华
网站建设 2026/1/12 5:44:18

ResNet18实战指南:大规模图像分类系统

ResNet18实战指南:大规模图像分类系统 1. 引言:通用物体识别的工程价值与ResNet-18的角色 在当今AI驱动的应用场景中,通用物体识别已成为智能视觉系统的基石能力。无论是内容审核、智能相册管理,还是增强现实(AR&…

作者头像 李华
网站建设 2026/1/12 5:42:14

ResNet18性能测试:40MB轻量模型实战测评

ResNet18性能测试:40MB轻量模型实战测评 1. 引言:为何选择ResNet-18进行通用物体识别? 在边缘计算、嵌入式AI和低延迟场景中,模型大小与推理速度的平衡成为关键挑战。尽管大模型(如ResNet-50、EfficientNet-L2&#…

作者头像 李华
网站建设 2026/1/12 5:38:55

ResNet18优化教程:模型缓存加速方案

ResNet18优化教程:模型缓存加速方案 1. 背景与挑战:通用物体识别中的性能瓶颈 在当前AI应用快速落地的背景下,通用物体识别已成为智能监控、内容审核、辅助驾驶等多个场景的基础能力。基于ImageNet预训练的ResNet-18因其轻量级结构和高精度…

作者头像 李华
网站建设 2026/1/12 5:36:59

ResNet18技术解析:ResNet18模型架构优势

ResNet18技术解析:ResNet18模型架构优势 1. 引言:通用物体识别中的ResNet18 在计算机视觉领域,图像分类是基础且关键的任务之一。从智能相册自动打标签到自动驾驶系统感知环境,通用物体识别能力直接影响AI系统的智能化水平。在众…

作者头像 李华
网站建设 2026/1/12 5:34:53

8位加法器在Xilinx FPGA上的实现操作指南

从零开始:在Xilinx FPGA上亲手搭建一个8位加法器你有没有想过,计算机最底层的“计算”到底是怎么发生的?我们每天敲着代码做加减乘除,却很少去想——两个数字相加这个动作,在硬件层面究竟是如何实现的?今天…

作者头像 李华