一、出现的问题
2024年09月11日,早上8:30数据库异常,有用户报告核心数据库异常,不能审批、存储数据,但部分业务能够进行查询和登录。
在oracle数据库上报数据块损坏(文件号11,块号1980768),(文件号29,块号49143)。问题紧急。初步判断是前段时间机房停电导致的大面积服务器、存储停机导致坏块。庆幸的是数据库能够启动,并且做过虚拟机备份,归档也在!但是,通过oracle dataguard进行的备份因为停电没有启动,数据库恢复是有希望的,可能会丢数据。(最后是一个数据没有丢。)
二、解决办法
首先,尝试通过主库进行坏块恢复。通过下面命令查询发现有200多个坏块。
select * from v$database_block_corruption
并尝试通过文件ID和块ID进行数据的恢复。
select * from dba_extents where file_id = &AFN and &BL between block_id AND block_id + blocks - 1;
blockrecover datafile 14 block 56,107,276,517;
没有成功!
然后&