MRP0一启动即退出需先查trace定位根因,常见ORA-01111/01110/01157表明UNNAMED占位文件存在但物理缺失,须确认v$datafile中条目后选择CREATE DATAFILE或OFFLINE DROP修复,并确保standby_file_management=AUTO且db_file_name_convert配置准确。

MRP0进程一启动就退出,先查trace文件定位根因
MRP0异常终止不是配置没生效的问题,而是底层状态已损坏。直接执行 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 会秒退——因为错误还没清,强行拉起只会重复报错。
关键线索全在 trace 文件里:告警日志开头的 Errors in file 行明确写了路径,比如 /u01/app/oracle/diag/rdbms/orcl_stby/orcl_stby/trace/orcl_stby_mrp0_12345.trc。别只扫一眼就关,重点看最后 20 行的 call stack,找第一个非 ORA-00600 的错误,那才是真实根因。
-
ORA-01111+ORA-01110+ORA-01157组合:说明控制文件里登记了UNNAMED占位文件,但磁盘上根本不存在 -
ORA-27040或ORA-19502:指向实际写文件失败,常见于目录不存在、权限不足、ASM diskgroup 未挂载 -
ORA-16055或反复出现FAL request failed:归档有 gap,MRP 被卡在等缺失日志,不是文件问题,是传输断了
v$datafile里出现UNNAMED条目必须人工清理
UNNAMED 是症状,不是原因;它不会自动消失,哪怕主库早已删掉对应表空间,备库控制文件仍保留该记录。
在备库 MOUNT 状态下运行:SELECT file#, name FROM v$datafile WHERE name LIKE '%UNNAMED%';。如果返回类似 /u01/app/oracle/product/12.1.0/dbhome_1/dbs/UNNAMED00042 的结果,说明 recovery 过程中一定会尝试打开这个不存在的文件,MRP0 必然起不来。
- 不要用
RECOVER DATABASE或重启大法覆盖这个问题 - 确认该文件是否还需保留数据:若需,走
CREATE DATAFILE路径;若主库已删且备库无需,走OFFLINE DROP路径 - 修复后必须再次检查
v$recover_file,确保无FILE MISSING状态残留
standby_file_management=AUTO 但文件还是没自动创建?检查db_file_name_convert
即使 standby_file_management=AUTO,MRP 也依赖 db_file_name_convert 才能正确映射主备路径。如果该参数为空、格式错误或路径不匹配,主库新增数据文件时,备库会静默生成 UNNAMED 条目。
检查方式:SHOW PARAMETER db_file_name_convert。合法值应为成对出现的字符串,如 '/oradata/primary/', '/oradata/standby/'。注意:
- 两端路径结尾都要带斜杠,否则转换失败
- 如果用 ASM,必须确保
db_create_file_dest在备库已设且有效,否则AUTO模式下无法落地 - 修改后无需重启实例,但需重新启动 MRP(先
STOP再DISCONNECT)才生效
ORA-600[2619] 或其他内部错误,优先怀疑归档文件损坏
ORA-600[2619] 看似吓人,但多数情况就是归档日志写了一半就中断了——比如备库归档目录满、磁盘 IO hang、网络闪断导致传输截断。
验证方法很简单:在主备库分别执行 md5sum /path/to/archivelog_94.arc。如果结果不一致,说明备库上的归档已损坏。
- 不要尝试用
RECOVER DATABASE UNTIL跳过,可能引发更严重的数据不一致 - 把主库对应归档拷到备库相同路径,
mv备份旧文件后再重试 MRP 启动 - 如果发现多个归档损坏,建议用
RECOVER STANDBY DATABASE FROM SERVICE(19c+)从主库实时拉取补全
MRP 异常终止背后几乎没有“随机故障”,trace 文件里的第一个非 ORA-00600 错误、v$datafile 中的 UNNAMED 条目、db_file_name_convert 的路径精度、归档文件的 md5 一致性——这四点串起来,基本就是全部真相。漏掉任意一个,都可能让问题反复发生。


















