dataguard中MRP无法启动的问题分析和解决
短信预约 -IT技能 免费直播动态提醒
自己手头有一套dataguard环境,因为也有些日子没有用了,结果突然心血来潮准备启动起来学习一下,突然发现在敲了命令 recover managed standby database disconnect from session之后,命令运行正常,但是后台却报了ora错误。
Sat Jun 27 23:16:39 2015
Recovery Slave PR00 previously exited with exception 1157
Errors in file /u02/dg11g/diag/rdbms/dg11g/DG11G/trace/DG11G_mrp0_6514.trc:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/u02/dg11g/oradata/DG11G/test_new01.dbf'
MRP0: Background Media Recovery process shutdown (DG11G)
Sat Jun 27 23:16:39 2015
Completed: ALTER DATABASE RECOVER managed standby database disconnect from session
RFS[162]: Opened log for thread 1 sequence 171 dbid 1028247664 branch 880742847
RFS[161]: Opened log for thread 1 sequence 173 dbid 1028247664 branch 880742847
RFS[160]: Opened log for thread 1 sequence 172 dbid 1028247664 branch 880742847
通过上面的日志我们可以看到,MRP进程是在做数据恢复的时候报了ora错误ora-01157
但是RFS还是没有问题,RFS主要是从主库来传输归档文件的,可以看到能够正常从主库中传输归档日志,sequence#号为171,173,172的归档日志都传输到了备库。
本来这个问题没有引起多大的关注,想可能是哪些归档文件没有用到导致的,但是发现MRP压根用不了。所以尽管归档传输完成了,但是数据变更还是应用不到备库。
查看v$archive_gap没有任何记录,说明没有归档日志apply的时候出现问题。
我们来看看这个ora问题的一些明细信息,提示是在7号数据文件的地方报了ora-01157错误。
Errors in file /u02/dg11g/diag/rdbms/dg11g/DG11G/trace/DG11G_mrp0_6514.trc:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/u02/dg11g/oradata/DG11G/test_new01.dbf'
从官方对于这个问题的描述来看,似乎是数据文件出了问题。
$ oerr ora 01157
01157, 00000, "cannot identify/lock data file %s - see DBWR trace file"
// *Cause: The background process was either unable to find one of the data
// files or failed to lock it because the file was already in use.
// The database will prohibit access to this file but other files will
// be unaffected. However the first instance to open the database will
// need to access all online data files. Accompanying error from the
// operating system describes why the file could not be identified.
// *Action: Have operating system make file available to database. Then either
// open the database or do ALTER SYSTEM CHECK DATAFILES.
因为这个环境被折腾了不知道多少遍,反复切换,反复测试,我都不记得是哪些特殊的操作导致了这个问题了。所以这个问题还得从头来分析。
首先查看了一下/u02/dg11g/oradata/DG11G/test_new01.dbf 这个文件,发现在文件系统中竟然不存在。
但是在数据字典信息中却存在,使用的sql语句为,可以返回对应的记录来。
select name,file# from v$datafile where file#=7;
从这个情况来看,可能是在备库端误删除了这个数据文件造成的。对于删除的数据文件我们怎么来评估呢,首先得查看主库,查看主库中的文件情况,但是在主库中这个数据文件和表空间压根不存在。
这样一来这个问题就有些棘手了。
如果能够修复MRP的问题,看似这个问题就引刃而解,如果修复不了,可能这个dataguard就不可用了,可能得考虑重建一个物理备库了。
对此我们采取保守态度,带着一丝尝试看看备库能不能启动到open read only状态。
但是这三个操作的结果让我有些迷茫了。
open不了,说可能需要恢复,恢复的文件竟然是system01.dbf,尝试recover until cancel也未果。
idle> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u02/dg11g/oradata/DG11G/system01.dbf'
idle> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
idle> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u02/dg11g/oradata/DG11G/system01.dbf'
Sat Jun 27 23:16:39 2015
Recovery Slave PR00 previously exited with exception 1157
Errors in file /u02/dg11g/diag/rdbms/dg11g/DG11G/trace/DG11G_mrp0_6514.trc:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/u02/dg11g/oradata/DG11G/test_new01.dbf'
MRP0: Background Media Recovery process shutdown (DG11G)
Sat Jun 27 23:16:39 2015
Completed: ALTER DATABASE RECOVER managed standby database disconnect from session
RFS[162]: Opened log for thread 1 sequence 171 dbid 1028247664 branch 880742847
RFS[161]: Opened log for thread 1 sequence 173 dbid 1028247664 branch 880742847
RFS[160]: Opened log for thread 1 sequence 172 dbid 1028247664 branch 880742847
通过上面的日志我们可以看到,MRP进程是在做数据恢复的时候报了ora错误ora-01157
但是RFS还是没有问题,RFS主要是从主库来传输归档文件的,可以看到能够正常从主库中传输归档日志,sequence#号为171,173,172的归档日志都传输到了备库。
本来这个问题没有引起多大的关注,想可能是哪些归档文件没有用到导致的,但是发现MRP压根用不了。所以尽管归档传输完成了,但是数据变更还是应用不到备库。
查看v$archive_gap没有任何记录,说明没有归档日志apply的时候出现问题。
我们来看看这个ora问题的一些明细信息,提示是在7号数据文件的地方报了ora-01157错误。
Errors in file /u02/dg11g/diag/rdbms/dg11g/DG11G/trace/DG11G_mrp0_6514.trc:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: '/u02/dg11g/oradata/DG11G/test_new01.dbf'
从官方对于这个问题的描述来看,似乎是数据文件出了问题。
$ oerr ora 01157
01157, 00000, "cannot identify/lock data file %s - see DBWR trace file"
// *Cause: The background process was either unable to find one of the data
// files or failed to lock it because the file was already in use.
// The database will prohibit access to this file but other files will
// be unaffected. However the first instance to open the database will
// need to access all online data files. Accompanying error from the
// operating system describes why the file could not be identified.
// *Action: Have operating system make file available to database. Then either
// open the database or do ALTER SYSTEM CHECK DATAFILES.
因为这个环境被折腾了不知道多少遍,反复切换,反复测试,我都不记得是哪些特殊的操作导致了这个问题了。所以这个问题还得从头来分析。
首先查看了一下/u02/dg11g/oradata/DG11G/test_new01.dbf 这个文件,发现在文件系统中竟然不存在。
但是在数据字典信息中却存在,使用的sql语句为,可以返回对应的记录来。
select name,file# from v$datafile where file#=7;
从这个情况来看,可能是在备库端误删除了这个数据文件造成的。对于删除的数据文件我们怎么来评估呢,首先得查看主库,查看主库中的文件情况,但是在主库中这个数据文件和表空间压根不存在。
这样一来这个问题就有些棘手了。
如果能够修复MRP的问题,看似这个问题就引刃而解,如果修复不了,可能这个dataguard就不可用了,可能得考虑重建一个物理备库了。
对此我们采取保守态度,带着一丝尝试看看备库能不能启动到open read only状态。
但是这三个操作的结果让我有些迷茫了。
open不了,说可能需要恢复,恢复的文件竟然是system01.dbf,尝试recover until cancel也未果。
idle> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u02/dg11g/oradata/DG11G/system01.dbf'
idle> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
idle> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u02/dg11g/oradata/DG11G/system01.dbf'
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
dataguard中MRP无法启动的问题分析和解决
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
宝塔面板mysql无法启动问题的分析和解决
目录宝塔面板无法启动的问题和解决一、mysql安装好后或迁移文件后无法启动二、Mysql异常关闭后无法启动三、Mysql停止后无法启动总结宝塔面板无法启动的问题和解决如果你的宝塔里面的mysql无法启动了,请先看是不是以下的配置问题 1
2023-04-21
MySQL 实例无法启动的问题分析及解决
前言前几天,有位朋友微信联系我,告知一个生产数据库,在机器宕机恢复后,实例启动失败,而且该实例没有做任何的高可用、容灾、备份等,对业务影响非常大,希望能够协助排查一下,我也在第一时间就加入到排查中。
场景分析(1)首先查看错误日志,报错很清
2022-05-26
解决Zookeeper无法启动的问题
链接1:https://blog.csdn.net/u012453843/article/details/70878117链接2:https://www.cnblogs.com/niunafei/p/11294560.html
2018-01-05
2023-09-23
2024-04-02
Xampp中mysql无法启动问题的解决方法
很突然的Xampp的mysql就打不开:很疑惑,之前一直可以打开的,然后刚才我启动了一下,就突然启动不了了,我想了一下,并没有出现端口号占用问题呀,而且报错也没有说端口号占用,报错写的很是通俗然后我查看了日志文件–发现日志文件
2022-06-23
win7系统无法加右键启动问题分析及解决方法
问题描述: 一般在gvim安装完之后,选中文件点击右键会有一个使用gvim打开的选项,但这个在vista上php面没有,对我们经常使用gvim编辑 文件来说极为不便。 解决办法: 通过修改regedit来添加一个gvim项。 复制代码代码如
2023-05-29
2024-04-02
解决Ubuntu中PHP服务无法启动的问题
解决Ubuntu中PHP服务无法启动的问题,需要具体代码示例Ubuntu是一款常用的Linux操作系统,PHP则是一种流行的服务器端脚本语言,而在Ubuntu中安装PHP服务后,有时候可能会出现无法启动的问题。这种情况可能会影响到网站或应
2024-02-29
分析和解决IIS无法加载CSS的问题
IIS 是一种常用的 Web 服务器软件,它能够处理和响应客户端的请求,并向客户端发送网页文件和其他静态资源。在 Web 开发中,CSS(层叠样式表)是一个非常重要的组成部分,它用于定义网页的样式、布局和外观。然而,有时候使用 IIS 时,可能会遇到无法加载 CSS 文件的问题。在本篇文章中,我们将分析 IIS 无法加载 CSS 的原因并提供相应的解决方案。1. 服务器配置问题
2023-05-14
2024-04-02
android开发环境遇到adt无法启动的问题分析及解决方法
开始研究android开发,搭建开发环境的时候就出了问题……果然是好事多磨~ 安装了jdk,配置环境变量,安装了完整版的adt、创建了helloworld程序,启动的时候就报错 “Please ensure that adb is corr
2022-06-06
2024-04-02
2024-04-02
MySQL服务无法启动的问题以及解决
目录mysql服务无法启动问题解决方法一解决方法二总结MySQL服务无法启动问题解决方法一1.找到你的my.ini文件,用notepad++打开,在右下角看保存编码格式是不是ANSI,如果不是,则在工具栏找到编码,改成ANSI,保存。
2024-09-08
如何解决虚拟机无法启动的问题
要解决虚拟机无法启动的问题,可以尝试以下方法:检查虚拟机的配置是否正确:确保虚拟机的配置信息正确,包括CPU、内存、硬盘等参数设置。检查虚拟机文件是否完整:确认虚拟机文件没有损坏或丢失,可以尝试重新下载或者从备份文件中恢复虚拟机文件。检查虚
2024-06-10
docker部署MySQL时无法启动问题的解决方法
最近做项目,遇到这样问题,docker中的mysql不能启动,下面这篇文章主要给大家介绍了关于docker部署MySQL时无法启动问题的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-01-28
如何解决windows防火墙无法启动的问题
今天重新给电脑做了系统,但发现昨晚系统后,电脑依然反应很慢。有清理了各个盘,杀完病毒后,防火墙又无法打开了。到网上找了一些解决方法整理了出来,希望对你有帮助。一、防火墙编程客栈配置出错 开始-->运行-->gpedit.msc 这时 打开了
2023-05-26