问:怎样使用dbv和rman来检查数据文件中的坏块?
答: 你可以参考以下两个示例:
示例1:用dbv检查
d:\oradata\eygle>dbv file=eygle.dbf blocksize=8192
dbverify: release 10.1.0.4.0 - production on 星期六 6月 11 17:36:37 2005
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
处理的页总数 (其它): 1001
处理的总页数 (段) : 0
失败的总页数 (段) : 0
空的页总数: 0
标记为损坏的总页数: 2
流入的页总数: 0
highest block scn : 428223 (0.428223)
|
示例2.用rman检查坏块
d:\oradata\eygle>rman target /
恢复管理器: 版本9.2.0.6.0 - production
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
|