1.使用dbv检查
D:\oradata\eygle>dbv file=EYGLE.DBF blocksize=8192
DBVERIFY: Release
Copyright (c) 1982, 2004, Oracle. All rights reserved.
DBVERIFY - 开始验证: FILE = EYGLE.DBF
页 219 标记为损坏
Corrupt block relative dba: 0x010000db (file 4, block 219)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x010000db
last change scn: 0x0000.0005ee6d seq: 0x2 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0xee6d0602
check value in block header: 0x9779
computed block checksum: 0x6141
页 1258 标记为损坏
Corrupt block relative dba: 0x010004ea (file 4, block 1258)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x010004ea
last change scn: 0x0000.00042681 seq: 0x2 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x26810602
check value in block header: 0x660b
computed block checksum: 0x9317
DBVERIFY - 验证完成
检查的页总数: 1280
处理的页总数 (数据): 150
失败的页总数 (数据): 0
处理的页总数 (索引): 127
失败的页总数 (索引): 0
处理的页总数 (其它):
处理的总页数 (段) : 0
失败的总页数 (段) : 0
空的页总数: 0
标记为损坏的总页数: 2
流入的页总数: 0
Highest block SCN : 428223 (0.428223)
2.使用RMAN检查坏块
D:\oradata\eygle>rman target /
恢复管理器: 版本
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: EYGLE (DBID=1365961916)
RMAN> backup validate datafile 4;
启动 backup 于 11-6月 -05
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=17 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\ORADATA\EYGLE\EYGLE.DBF
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 11-6月 -05
RMAN>
SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
4 219 1 0 FRACTURED
4 1258 1 0 FRACTURED