生产环境真实案例-dataguard数据文件坏块处理
状况:
开发人员反馈 dataguard数据较旧
查看dataguard 的alert日志,11日凌晨有报错:
查看数据库状态为read only
尝试重新执行恢复
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
通过iotop观察pr07进程执行一断时间的读写后停止
Alert日志中出现以下错误:
Slave exiting with ORA-10562 exception
Errors in file /mnt/data_1t/app/oracle/diag/rdbms/vmanages/VMANAGE/trace/VMANAGE_pr07_8747.trc:
ORA-10562: Error occurred while applying redo to data block (file# 67, block# 560900)
ORA-10564: tablespace USERS
ORA-01110: data file 67: ‘/u2/oracle/oradata/VMANAGE/users43.dbf’
ORA-10561: block type ‘TRANSACTION MANAGED DATA BLOCK’, data object# 145160
ORA-00607: Internal error occurred while making a change to a data block
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [__intel_new_memcpy()+52] [SIGSEGV] [ADDR:0x0] [PC:0x34516B4] [SI_KERNEL(general_protection)] []
Mon Jun 12 10:00:05 2017
Recovery Slave PR07 previously exited with exception 10562
Mon Jun 12 10:00:05 2017
MRP0: Background Media Recovery terminated with error 448
Errors in file /mnt/data_1t/app/oracle/diag/rdbms/vmanages/VMANAGE/trace/VMANAGE_pr00_8733.trc:
ORA-00448: normal completion of background process
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
数据库无法进行apply
执行sql查看未应用的日志:
SELECT *
FROM v