dataguard中MRP无法启动的问题分析和解决

  自己手头有一套dataguard环境,因为也有些日子没有用了,结果突然心血来潮准备启动起来学习一下,突然发现在敲了命令恢复管理备用数据库断开会话之后,命令运行正常,但是后台却报了奥拉错误。
  坐2015年6月27日23:16:39
  
  错误的文件/u02/dg11g/诊断接头/rdbms/dg11g/dg11g/跟踪/DG11G_mrp0_6514。委员会:
  ora - 01157:不能识别/锁数据文件7 -看到DBWR跟踪文件
  ora - 01110: 7:数据文件'/u02/dg11g oradata/dg11g/test_new01。dbf的
  
  坐2015年6月27日23:16:39
  完成:改变数据库恢复,管理备用数据库断开会话
  RFS[162]:打开日志171线程1序列dbid 1028247664支1028247664
  RFS[161]:打开日志173线程1序列dbid 1028247664支1028247664
  RFS[160]:打开日志172线程1序列dbid 1028247664支1028247664
  通过上面的日志我们可以看的到,MRP进程是在做数据恢复的时候报了奥拉错误ora - 01157
  但是RFS还是没有问题,RFS主要是从主库来传输归档文件的,可以看到能够正常从主库中传输归档日志,序列#号为171173172的归档日志都传输到了备库。
  
  本来这个问题没有引起多大的关注,想可能是哪些归档文件没有用到导致的,但是发现MRP压根用不了,所以尽管归档传输完成了,但是数据变更还是应用不到备库。
  查看v $ archive_gap没有任何记录,说明没有归档日志应用的时候出现问题。
  
  我们来看看这个奥拉问题的一些明细信息,提示是在7号数据文件的地方报了ora - 01157错误。
  
  
  
  对此我们采取保守态度,带着一丝尝试看看备库能不能启动到打开只读状态。
  但是这三个操作的结果让我有些迷茫了。
  打开不了,说可能需要恢复,恢复的文件竟然是system01。dbf,尝试恢复,直到取消也未果。
  idle>改变数据库打开只读;
  改变数据库打开只读
  *
  误差在1号线:
  ora - 10458:备用数据库需要复苏
  ora - 01196:文件1不一致是由于媒介恢复会话失败
  ora - 01110:数据文件1:'/u02/dg11g oradata/dg11g/system01。dbf的
  
  idle>恢复数据库,直到取消;
  ora - 00283:由于错误恢复会话取消
  ora - 01610:恢复使用备份CONTROLFILE选项必须完成
  
  idle>改变数据库打开只读;
  改变数据库打开只读
  *
  误差在1号线:
  ora - 10458:备用数据库需要复苏
  ora - 01196:文件1不一致是由于媒介恢复会话失败
  ora - 01110:数据文件1:'/u02/dg11g oradata/dg11g/system01。dbf的
     
     对于这个问题,如果有一个sql语句能够一针见血的解决问题就好了,自己在反复尝试之后发现还是有的,问题的解决思路就是先解决ora - 01157问题,然后dataguard中的MRP问题就能引刃而解。
  对于ora - 01157这个问题中的数据文件在主库中不存在,但是在备库的数据字典中存在,我们可以直接在备库中把数据字典中的问题先解决了。
  idle>
  数据库修改。
  然后dataguard的日志中就出现而来转机,在后台会去校验这个文件的问题,只是抛出了一个警告。
  然后MRP就正常启动了。后台开始使用归档文件做数据恢复了。
  
  修改数据库数据文件'/u02/dg11g oradata/dg11g/test_new01。dbf的离线下降
  完成:改变数据库数据文件'/u02/dg11g oradata/dg11g/test_new01。dbf的离线下降
  坐2015年6月27日23:24:08
  改变数据库恢复,管理备用数据库断开会话
  尝试启动后台管理备用恢复过程(DG11G)
  坐2015年6月27日23:24:08
  MRP0从pid=25开始,OS id=8431
  MRP0:后台管理备用恢复过程开始(DG11G)
  ,开始logmerger过程
  坐2015年6月27日23:24:13
  管理备用复苏不使用实时应用
  平行媒介恢复始于2奴隶
  警告:丢失7 (/u02/ora11g/oradata/TEST11G/test_new01.dbf)离线期间完整的数据库恢复,不会恢复
  等待所有非流动ORLs存档……
  所有非流动ORLs存档。
  
  完成:改变数据库恢复,管理备用数据库断开会话
  媒体恢复日志/u02/dg11g/flash_recovery_area _122_880742847/dg11g/archivelog/1。dbf
  坐2015年6月27日23:24:31
  媒体恢复日志/u02/dg11g/flash_recovery_area _123_880742847/dg11g/archivelog/1。dbf
  恢复删除文件# 7:“/u02/dg11g/oradata/dg11g/test_new01。从controlfile dbf”。

dataguard中MRP无法启动的问题分析和解决