oracle Dataguard 代理报告 ORA-16801:重做传输相关属性与数据库设置不一致

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1901757/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 19:40:04  来源:igfitidea点击:

Dataguard broker reporting ORA-16801: redo transport-related property is inconsistent with database setting

oracledataguard

提问by Rand

I have set up a dataguard config, and done most of the work from within DGMGRL to avoid possible issues, its seems to be running fine, but its reporting the following problem:

我已经设置了一个 dataguard 配置,并在 DGMGRL 中完成了大部分工作以避免可能出现的问题,它似乎运行良好,但它报告了以下问题:

ORA-16801: redo transport-related property is inconsistent with database setting.

Looking at DGMGRL it gives me the following info:

查看 DGMGRL 它给了我以下信息:

DGMGRL> show database  'ELBEMP' 'InconsistentLogXptProps';
INCONSISTENT LOG TRANSPORT PROPERTIES
   INSTANCE_NAME         STANDBY_NAME        PROPERTY_NAME         MEMORY_VALUE         BROKER_VALUE

          ELBEMP              ELBEMS1           LogXptMode       (missing SRLs)                ASYNC

          ELBEMP              ELBEMS2           LogXptMode       (missing SRLs)                ASYNC

          ELBEMP              ELBEMS3           LogXptMode       (missing SRLs)                ASYNC

I have added SRL to the primary, and they have been copied over to the standby when I created it via rman

我已将 SRL 添加到主服务器,当我通过 rman 创建它时,它们已被复制到备用服务器

Logs on the primary:

登录主数据库:

1 - ONLINE - /oracle/ELBEMP/origlog/redo01.rdo
1 - ONLINE - /oracle/ELBEMP/mirrlog/redo01.rdo
2 - ONLINE - /oracle/ELBEMP/origlog/redo02.rdo
2 - ONLINE - /oracle/ELBEMP/mirrlog/redo02.rdo
3 - ONLINE - /oracle/ELBEMP/origlog/redo03.rdo
3 - ONLINE - /oracle/ELBEMP/mirrlog/redo03.rdo
4 - STANDBY - /oracle/ELBEMP/mirrarch/redostby04a.log
4 - STANDBY - /oracle/ELBEMP/mirrarch/redostby04b.log
5 - STANDBY - /oracle/ELBEMP/mirrarch/redostby05a.log
5 - STANDBY - /oracle/ELBEMP/mirrarch/redostby05b.log
6 - STANDBY - /oracle/ELBEMP/mirrarch/redostby06a.log
6 - STANDBY - /oracle/ELBEMP/mirrarch/redostby06b.log
7 - STANDBY - /oracle/ELBEMP/mirrarch/redostby07a.log
7 - STANDBY - /oracle/ELBEMP/mirrarch/redostby07b.log

These are the logs on one of the standbys (ELBEMS3):

这些是其中一个备用数据库 (ELBEMS3) 上的日志:

SQL> select group# ||' - '|| type ||' - '|| member from v$logfile;

GROUP#||'-'||TYPE||'-'||MEMBER
--------------------------------------------------------------------------------
1 - ONLINE - /oracle/ELBEMP/origlog/redo01.rdo
1 - ONLINE - /oracle/ELBEMP/mirrlog/redo01.rdo
2 - ONLINE - /oracle/ELBEMP/origlog/redo02.rdo
2 - ONLINE - /oracle/ELBEMP/mirrlog/redo02.rdo
3 - ONLINE - /oracle/ELBEMP/origlog/redo03.rdo
3 - ONLINE - /oracle/ELBEMP/mirrlog/redo03.rdo

I will be honest I was expecting the logs to be ELBEMS3 and not ELBEMP, but everything seems to be applying and there are no non applied logs in v$archived_log

老实说,我希望日志是 ELBEMS3 而不是 ELBEMP,但似乎一切都在应用中,并且 v$archived_log 中没有未应用的日志

Anyone have any ideas of how to get rid of the error message?

有人对如何摆脱错误消息有任何想法吗?

采纳答案by DCookie

It looks to me that you don't actually have any standby redo logs defined in the standby database - all your logfiles are ONLINE. You will need to create the standby logfiles on the standby databases as well. See the Data Guard Concepts and Administration Guide.

在我看来,您实际上并没有在备用数据库中定义任何备用重做日志——您的所有日志文件都是在线的。您还需要在备用数据库上创建备用日志文件。请参阅Data Guard 概念和管理指南

EDIT:

编辑:

Alternatively, you could drop the standby logs from the primary. Strictly speaking you don't have to operate with standby redo logs - they're only required for Real-Time Apply and maximum protection and maximum availability levels of data protection in Data Guard. Oracle does recommend using standby redo logs, and there's really no reason not to (and several reasons why you should). You really aren't using them at the moment anyway - the ones defined on the primary are only used if you switchover and make the primary a standby.

或者,您可以从主服务器中删除备用日志。严格来说,您不必使用备用重做日志进行操作——它们只需要实时应用和 Data Guard 中数据保护的最大保护和最大可用性级别。Oracle 确实建议使用备用重做日志,而且真的没有理由不这样做(以及您应该这样做的几个原因)。无论如何,您目前确实没有使用它们 - 只有在您切换并使主要成为备用时才会使用在主要上定义的那些。