news 2026/4/16 21:42:21

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/4/17 20:12:22

Realtek高清晰音频驱动常见问题一文说清

Realtek高清音频驱动问题全解析:从原理到实战排错你有没有遇到过这样的情况?电脑突然没声音了,设备管理器里显示“未安装音频设备”;或者插上耳机后外放还在响,怎么都切不过去;又或者是录音时杂音不断、爆音…

作者头像 李华
网站建设 2026/4/13 14:48:43

AD环境下差分信号PCB布局技巧解析

高速差分信号设计实战:从AD原理图到PCB的完整闭环你有没有遇到过这样的情况——电路板打样回来,USB接口就是无法握手,千兆以太网频繁丢包,或者HDMI画面闪烁?排查了半天电源、时钟、器件焊接,最后发现罪魁祸…

作者头像 李华
网站建设 2026/4/15 3:38:00

ResNet18代码解读:从原理到实现的完整教程

ResNet18代码解读:从原理到实现的完整教程 1. 引言:通用物体识别中的ResNet-18 在计算机视觉领域,图像分类是基础且关键的任务之一。随着深度学习的发展,卷积神经网络(CNN)不断演进,从早期的L…

作者头像 李华
网站建设 2026/4/15 3:51:30

ResNet18技术解析:ImageNet预训练优势

ResNet18技术解析:ImageNet预训练优势 1. 通用物体识别中的ResNet18 在计算机视觉领域,通用物体识别是基础且关键的任务之一。其目标是在一张图像中准确判断出最可能的物体或场景类别,涵盖从日常物品到自然景观的广泛范畴。随着深度学习的发…

作者头像 李华
网站建设 2026/4/15 11:33:58

逆向思维|memo

正着不行就倒着&#xff0c;wa一次人之常情lc3609记忆化DFS从目标坐标反向递归&#xff0c;根据横竖坐标大小关系尝试减法或折半操作统计从目标回到起始坐标的最少操作次数&#xff0c;无法到达则返回-1class Solution { public:map<pair<int,int>,int> mp;int dfs…

作者头像 李华
网站建设 2026/4/17 18:02:43

Vulkan--概述

目录 Vulkan 的起源 绘制一个三角形需要做什么 步骤 1 - 实例与物理设备选择 步骤 2 - 逻辑设备与队列族 步骤 3 - 窗口表面与交换链 步骤 4 - 图像视图与帧缓冲 步骤 5 - 渲染通道 步骤 6 - 图形管线 步骤 7 - 命令池与命令缓冲区 步骤 8 - 主循环 总结 API 概念 …

作者头像 李华