出现坏块,正确的途径是通过备份来恢复,使用Rman可以很容易的通过备份对坏块进行恢复,以下是一个简单的测试范例,首先备份数据库:
RMAN> backup database format='d:\oradata\eygle_fullbk.bak' tag='eygle';
如果数据文件上的数据块出现损坏,访问时会给出错误提示:
SQL> select count(*)from t; select count(*)from t * ERROR 位于第 1 行: ORA-01578: ORACLE 数据块损坏(文件号2,块号14) ORA-01110: 数据文件 2: 'D:\ORADATA\EYGLE\EYGLE01.DBF'
坏块的信息会记录在告警日志文件中,也可以通过DBV进行检测;但是注意RMAN也具备检测坏块的功能,在执行以下命令后RMAN会在字典视图中记录坏块信息:
RMAN> backup validate datafile 2;
查询RMAN发现的坏块信息
SQL> select * from v$database_block_corruption where file#=2; FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO ---------- ---------- ---------- ------------------ --------- 2 14 1 0 FRACTURED
使用RMAN进行坏块修复可以在Mount状态进行:
RMAN> startup mount; RMAN> blockrecover datafile 2 block 14 from backupset; 启动 blockrecover 于 12-6月 -05 正在使用目标数据库控制文件替代恢复目录 通道 ORA_DISK_1: 正在恢复块 通道 ORA_DISK_1: 正在指定要从备份集恢复的块 正在恢复数据文件 00002 的块 通道 ORA_DISK_1: 已从备份段 1 恢复块 段 handle=D:\ORADATA\EYGLE_FULLBK.BAK tag=EYGLE params=NULL 通道 ORA_DISK_1: 块恢复已完成 正在开始介质的恢复 完成介质的恢复 完成 blockrecover 于 12-6月 -05
最后修改时间:2019-07-24 10:34:15
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。