Oracle数据库adg数据没同步,Oracle 11g备库无法开启ADG的原因分析

今天碰到一个有些奇怪的问题,但是奇怪的现象背后都是有本质的因果。

下午在做一个环境的检查时,发现备库是在mount阶段,这可是一个11gR2的库,没有ADG实在是太浪费了,对于这种情况感觉太不应该了。

所以尝试启动至open阶段,发现状态一直是read only,在ADG中应该是READ ONLY WITH APPLY才对啊。

使用dg broker设置为READ-ONLY,备库的数据库日志如下:

Standby Database:          stestdb3, Enabled Physical Standby (0x02010000)

08/14/2014 16:03:28

version check on database stestdb3 detected stale metadata,

requesting update from primary database

Creating process RSM0

12/29/2015 16:28:11

Command EDIT DATABASE stestdb3 SET STATE = READ-ONLY completed

Read-Only state no longer supported

12/29/2015 16:29:10

似乎也看不出来什么端倪。使用dg broker查看一下。发现报了下面的错误。

DGMGRL> show configuration;

Configuration - testdb

Protection Mode: MaxPerformance

Databases:

testdbbak93 - Primary database

stestdb3    - Physical standby database

Error: ORA-16766: Redo Apply is stopped

Fast-Start Failover: DISABLED

Configuration Status:

ERROR

查看dg broker的日志如下:

Data Guard Broker initializing...

Data Guard Broker initialization complete

Tue Dec 29 16:47:15 2015

SMON: enabling cache recovery

No Resource Manager plan active

Physical standby database opened for read only access.

Completed: alter database open

Tue Dec 29 16:47:16 2015

idle dispatcher 'D000' terminated, pid = (18, 1)

Tue Dec 29 16:51:40 2015

Primary database is in MAXIMUM PERFORMANCE mode

RFS[3]: Assigned to RFS process 3596

RFS[3]: Selected log 7 for thread 1 sequence 72606 dbid -1549369665 branch 746558785

Tue Dec 29 16:51:41 2015

RFS[4]: Assigned to RFS process 3590

RFS[4]: Selected log 8 for thread 1 sequence 72605 dbid -1549369665 branch 746558785

Tue Dec 29 16:51:42 2015

Archived Log entry 69432 added for thread 1 sequence 72605 ID 0xa829ec3b dest 2:

从上面的情况可以很明显看到,确实MRP没有开始工作,只有RFS在接收归档。

然后使用dg broker把备库设置为ONLINE状态,再次查看dg broker的检查,发现检查就没有问题了。

DGMGRL> show configuration;

Configuration - testdb

Protection Mode: MaxPerformance

Databases:

testdbbak93 - Primary database

stestdb3    - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:

SUCCESS

总体感觉这不是一个11g的库。

然后再次尝试,手工启动到open阶段,然后可以看到备库还是READ ONLY,重启之后问题依然存在。

对于这个问题,最好的方式也还是查看日志,这个备库是一年前重启的了,庆幸的是数据库日志依然存在。从当时的启动情况来看,也没有其它的错误。

但是我注意到了compatible这个参数,因为在11g的库中还是比较显眼的。所以这个参数引起了我的好奇。

结果带着疑问在MOS一查,果然有几篇相关的文章,看来又碰上一个遗留问题,而且有一个相关的BUG描述。

ACTIVE DATAGUARD (ADG) NOT POSSIBLE WITH COMPATIBLE < 11.1.0.0.0 (Doc ID 1363396.1)

BUG:13032521 - ADG PHYSICAL STANDBY GOES TO MOUNT STATE INSTEAD OF READ ONLY WITH APPLY

问题基本定位后,主备库中查看这个参数都是10.2.0.5.0

SQL> show parameter compa

NAME                                TYPE        VALUE

------------------------------------ ----------- ------------------------------

compatible                          string      10.2.0.5.0

那么按照bug描述的WA,是设置备库的compatible为11.1.0.7以上,这个参数的修改需要重启实例,所以还是比较影响的,主库目前是没法重启了。

SQL> alter system set compatible='11.2.0.3.0';

alter system set compatible='11.2.0.3.0'

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

现在备库设置一番,先看看行不行。

SQL>  alter system set compatible='11.2.0.3.0' scope=spfile;

System altered.

重启时,可以看到备库的数据库日志有下面这么一段输出。

Tue Dec 29 17:25:26 2015

Spfile /U01/app/Oracle/product/11.2.3/db_1/dbs/spfiletestdb.ora is in old pre-11 format and compatible >= 11.0.0; converting to new H.A.R.D. compliant format.

Completed: alter database mount

但是再次设置为ONLINE,查看数据库状态依旧是MOUNT

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ ONLY

看来备库修改还不行,主库也得修改一致。

不过查看数据库日志可以看到下面的这么一段内容,发现MRP启动失败。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE

Attempt to start background Managed Standby Recovery process (testdb)

Tue Dec 29 17:57:03 2015

MRP0 started with pid=29, OS id=17740

MRP0: Background Managed Standby Recovery process started (testdb)

started logmerger process

Tue Dec 29 17:57:08 2015

Managed Standby Recovery starting Real Time Apply

Parallel Media Recovery started with 16 slaves

Waiting for all non-current ORLs to be archived...

All non-current ORLs have been archived.

Media Recovery Log /U01/app/oracle/fra/StestDB3/archivelog/2015_12_29/o1_mf_1_72606_c84n0xml_.arc

Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE

Errors with log /U01/app/oracle/fra/StestDB3/archivelog/2015_12_29/o1_mf_1_72606_c84n0xml_.arc

MRP0: Background Media Recovery terminated with error 38800

Errors in file /U01/app/oracle/diag/rdbms/stestdb3/testdb/trace/testdb_pr00_17745.trc:

ORA-38800: Cannot start Redo Apply on the open physical standby database

Managed Standby Recovery not using Real Time Apply

Recovery interrupted!

MRP0: Background Media Recovery process shutdown (testdb)

看来这个参数变化影响确实不小,备库先恢复正常状态再说,等协调主库重启再处理了,所以开始恢复参数原有的设置。把compatible设置为10.2.0.5.0

?但是重启的时候就开始报错了。

SQL> alter database mount;

alter database mount

*

ERROR at line 1:

ORA-00201: control file version 11.2.0.3.0 incompatible with ORACLE version

10.2.0.5.0

ORA-00202: control file: '/U01/app/oracle/oradata/testdb/control01.ctl'

这个问题看似还有余地,在主库生成备库控制文件,传输过去,mount就没有问题了

主库:

SQL> alter database create standby controlfile as '/tmp/std1.ctl';

Database altered.

?备库:

SQL> alter database mount standby database;

Database altered.

但是这个时候查看备库的数据库日志,发现问题貌似变麻烦了。文件头部已经修改,已经不同步了。

ALTER DATABASE RECOVER  managed standby database disconnect from session

Attempt to start background Managed Standby Recovery process (testdb)

Tue Dec 29 18:28:13 2015

MRP0 started with pid=30, OS id=24283

MRP0: Background Managed Standby Recovery process started (testdb)

started logmerger process

Tue Dec 29 18:28:18 2015

Managed Standby Recovery not using Real Time Apply

Read of datafile '/U01/app/oracle/oradata/testdb/system01.dbf' (fno 1) header failed with ORA-01130

Rereading datafile 1 header failed with ORA-01130

MRP0: Background Media Recovery terminated with error 1110

Errors in file /U01/app/oracle/diag/rdbms/stestdb3/testdb/trace/testdb_pr00_24288.trc:

ORA-01110: data file 1: '/U01/app/oracle/oradata/testdb/system01.dbf'

ORA-01122: database file 1 failed verification check

ORA-01110: data file 1: '/U01/app/oracle/oradata/testdb/system01.dbf'

ORA-01130: database file version 11.2.0.3.0 incompatible with ORACLE version 10.2.0.5.0

Slave exiting with ORA-1110 exception

Errors in file /U01/app/oracle/diag/rdbms/stestdb3/testdb/trace/testdb_pr00_24288.trc:

ORA-01110: data file 1: '/U01/app/oracle/oradata/testdb/system01.dbf'

ORA-01122: database file 1 failed verification check

ORA-01110: data file 1: '/U01/app/oracle/oradata/testdb/system01.dbf'

ORA-01130: database file version 11.2.0.3.0 incompatible with ORACLE version 10.2.0.5.0

Recovery Slave PR00 previously exited with exception 1110

MRP0: Background Media Recovery process shutdown (testdb)

Completed: ALTER DATABASE RECOVER  managed standby database disconnect from session

对应的trace文件如下:

*** 2015-12-29 18:28:18.495 4320 krsh.c

Managed Standby Recovery not using Real Time Apply

Read of datafile '/U01/app/oracle/oradata/testdb/system01.dbf' (fno 1) header failed with ORA-01130

Rereading datafile 1 header failed with ORA-01130

V10 STYLE FILE HEADER:

Compatibility Vsn = 186647296=0xb200300

Db ID=2745597631=0xa3a67ebf, Db Name='testDB'

Activation ID=0=0x0

Control Seq=1=0x1, File size=147200=0x23f00

File Number=1, Blksiz=8192, File Type=3 DATA

Tablespace #0 - SYSTEM  rel_fn:1

对于这种情况,其实恢复备库11g的控制文件,重启主库 应该就可以解决了,但是重启主库还需要协调时间,找维护窗口,所以不是一蹴而就的事情,那么这个期间容灾是重中之重,一旦主库出了问题,影响还是不小,所以最后的无奈之举就是重建备库。

当然搭建备库还是可以采用11g的active方式。

rman target sys@xxxxx auxiliary sys@xxxx nocatalog

RMAN> duplicate target database for standby from active database  nofilenamecheck;

?然后就没有然后了,就是备库搭建成功了,看着白忙活一场,心中像打翻了五味瓶。

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】使用JDK自带jvisualvm监控tomcat

转载地址: http://my.oschina.net/kone/blog/157239 jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。不失为一个用来监控tomcat的好工具。 在jdk目录下的bin目录中可以找到jvisu…

推荐十款非常优秀的 HTML5 在线设计工具

网络有很多优秀的设计和开发工具可能大家都不知道&#xff0c;因此这篇文章就向设计师推荐十款优秀 HTML5 在线工具&#xff0c;这些工具能够帮助设计师们设计出更有创意的作品。随着 HTML5 技术的不断成熟&#xff0c;网络上涌现出越来越多的优秀 HTML5 应用&#xff0c;一起看…

【转】使用Apache Kylin搭建企业级开源大数据分析平台

http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录&#xff1a;使用Apache Kylin搭建企业级开源大数据分析平台。 正文如下 我先做一个简单介绍我叫史少锋&#xff0c;我曾经在IBM、eBay做过大数据、云架构的…

俄罗斯游戏软件:C语言应用初步感受

俄罗斯游戏软件&#xff1a;C语言应用初步感受C语言课程设以一节课&#xff0c;老师提供了一个C语言的飞俄罗斯方块让我们感受&#xff0c;我们所学的C语言课程&#xff0c;主要是各种语句的练习&#xff0c;这次是用我们所学过的知识来感受一个实际的系统。首先安装c-free&…

oracle xml中cdata,XML CDATA的作用

XML CDATA的作用更新时间&#xff1a;2009年09月01日 00:52:36 作者&#xff1a;当你用FLASH和xml结合做网站应用程序时&#xff0c;例如你做在我研究游戏排行榜中&#xff0c;当让人自由输入姓名时&#xff0c;人们可以输入一些符号&#xff0c;例如∶""、"/…

android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏

概述 在很app上都见过 可折叠的顶部导航栏效果。google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果。效果图如下&#xff1a; 实现步骤 1. 写一个 CollapsingToolbarLayout&#xff0c;它有两个 子视图&#xff0c;一个就是上图显示的图片&#xff08;降落伞…

linux ssh服务端下载文件,Linux SSH服务端配置文件设置

一 SSH概述SSH 由 IETF 的网络小组(Network Working Group)所制定&#xff1b;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统…

使用GPUImage实现视频滤镜

关于GPUImage 这里直接引用官方描述&#xff1a;The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImag…

yunos5 linux内核,魅蓝5S、魅蓝5对比看差异 选Android还是YunOS?

原标题&#xff1a;魅蓝5S、魅蓝5对比看差异 选Android还是YunOS&#xff1f;几天前魅族发布了魅蓝5S&#xff0c;这款手机刚好2月20日上午10点开始销售&#xff0c;在魅族官方店和天猫都可以买到。作为新一代入门级手机&#xff0c;魅蓝5S最大得卖点恐怕就是加入了18W快充功能…

微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations

1. 综述 大多数程序里都会在Web.config里设置参数&#xff0c;并且在部署的时候需要更改。每次都手工更改这些配置很乏味&#xff0c;也容易出错。该章节将会告诉你如果通过自动化更新Web.config文件来避免这些问题。 2. Web.config Transformations 与Web Deploy Parameters 有…

myeclipse不编译

错误&#xff1a; org.eclipse.core.internal.registry.configurationElementHandle cannot be cast to org.eclipse.jdt.core.compiler.CompilationParticipant&#xff09; 解决&#xff1a; 关掉MyEclipse>把MyEclipse安装目录下的configuration中的update目录删掉>重…

eclipse配置PHP自动提示代码

为什么80%的码农都做不了架构师&#xff1f;>>> 配置php自动提示代码 &#xff08;html/js和PHP方法一样&#xff09; 1. 打开 Eclipse的 Window -> Preferences -> PHPeclipse -> PHP -> Code Assist 打开里面的Enable auto activation选项,下面有个…

linux卸载minicoda2,MiniConda2下载 MiniConda python 2.7 v4.3.30.2 Linux 64位 官方免费版(附安装步骤) 下载-脚本之家...

MiniConda python 2.7 Linux版是一款可以在Linux系统下使用的Python 环境管理工具&#xff0c;同时MiniConda是一个开源的软件包管理系统和环境管理系统&#xff0c;用于安装多个版本的软件包及其依赖关系&#xff0c;并在它们之间轻松切换&#xff0c;本次为大家提供的是Linux…

使用 python 操作 redis

1.安装pyredis &#xff08;1&#xff09;使用 # easy_install redis &#xff08;2&#xff09;直接编译安装 #wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz #tar xvzf redis-2.9.1.tar.gz #cd redis-2.9.1 #python setup.py install 2.简单的re…

android-XML解析Dom,Sax,Pull

android平台上解析xml的常见的工具有三种&#xff1a;dom,sax&#xff0c;pull。 第一种是DOM&#xff0c; 它的特点是一次全部加载&#xff0c;如果对于数据量小的情况下&#xff0c;它的效率还可以&#xff0c;如果XML文件很大的情况下&#xff0c;速度就会慢起来。 第二种方…

射击的乐趣:WIN32诠释打飞机游戏

一楼留给链接http://blog.csdn.net/crocodile__/article/details/11860129 楼上神贴&#xff0c;膜拜片刻...... 一、游戏玩法和已经实现的功能 1.打开游戏会有提示是否开始游戏。 2.键盘↑↓←→控制保卫者飞机&#xff08;米格21原型&#xff0c;米格粉们千万不要看这架飞机&…

内容营销11金规

内容营销11金规 现在也许是解释和讲述一个很重要观点的好时机&#xff1a;创造给力的内容十分关键&#xff0c;但还不够。你还必须提出满足大量其他目标的材料&#xff0c;而这些材料&#xff0c;符合给力的内容的惯例&#xff0c;或者&#xff08;你知道我们马上谈论这一点&am…

eclipse3.4 SVN插件安装

2019独角兽企业重金招聘Python工程师标准>>> SVN插件: http://subclipse.tigris.org/update_1.6.x 汉化版&#xff0c;现在我这边eclipse3.4是可用的。 转载于:https://my.oschina.net/dreamnight/blog/695060

连接两个linux系统软件,【技术共享】synergy-两台电脑共享一套鼠标键盘-Linuxwindows...

PS:这软件倒是不错,可是这要求两台电脑显示器都可以看到.当然一般我们是用不到的.再加上是局域网,直接用远程桌面连接或者控制软件也可以的.前些天&#xff0c;我把自己的台式电脑搬到实验室&#xff0c;与实验室里分配给我的电脑一起用。为了方便使用&#xff0c;我尝试了下用…

容错性设计

即便你的产品90&#xff05;的时间都运行良好。但是如果在用户需要帮助时置之不理&#xff0c;他们是不会忘记这一点的。——《getting real》 我们有时候不能不面对产品出错的时候。无论设计得多么用心&#xff0c;无论做了多少测试&#xff0c;用户仍然会遇到错误和问题。既然…