rman坏块的检测与恢复

1,先通过rman进行数据库的全备份(backup database

2,关闭数据库

3,通过ultraEdit对数据文件进行编辑,然后保存

rman坏块的检测与恢复_第1张图片

注意:修改时不能修改到数据文件头信息(因为要进行scn校验,如果修改了数据文件头的8个块可能导致数据库无法正常启动),应该尽量在中间地方修改

4,打开数据库,查询更改的数据文件中表的信息

rman坏块的检测与恢复_第2张图片

5,可以通过oracle自带的工具dbv来进行查询哪些块出现了块折断

rman坏块的检测与恢复_第3张图片

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

进行数据文件块校验时dbv USERID=username/passwordSEGMENT_ID=tsn.relfile.block

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


但是在进行数据文件的校验时:

db没有启动,要进入数据文件的存放目录后在运行该命令,不然会报找不到数据文件 

Db启动,直接输入文件位置即可


rman坏块的检测与恢复_第4张图片

6,也可以通过对表结构进行分析

   Analyze table t validate structure casecade --将表的索引等也一起分析(只能显示出一个)

rman坏块的检测与恢复_第5张图片

7,还有中方式是通过rman对数据文件,数据库进行检查,查询出来后放入表 v$database_block_corruption中;

rman坏块的检测与恢复_第6张图片

rman坏块的检测与恢复_第7张图片

8,如果有rman备份可以直接恢复数据块

Rman>blockrecover datafile 5 block 587;

你可能感兴趣的:(rman坏块的检测与恢复)