【oracle】11g dg搭建报错:ORA-16664、ORA-16714、ORA-16810解决
时间:2015-03-02 07:03:22 作者:beebol 标签: dg dgmgrl oracle standby 分类: Oracle
最近在弄11g的dg时,遇到如下问题,记录下。 首先在主上查看报如下错误:
DGMGRL> show configuration; Configuration - queue_zs_dg Protection Mode: MaxPerformance Databases: queuedb - Primary database queuedb02 - Physical standby database Error: ORA-16664: unable to receive the result from a database Fast-Start Failover: DISABLED Configuration Status: ERROR DGMGRL> show database verbose queuedb02; Database - queuedb02 Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: (unknown) Apply Lag: (unknown) Apply Rate: (unknown) Real Time Query: OFF Instance(s): Queuedb Properties: DGConnectIdentifier = 'queuedb_zs02' ObserverConnectIdentifier = '' LogXptMode = 'ASYNC' DelayMins = '0' Binding = 'optional' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' PreferredApplyInstance = '' ApplyInstanceTimeout = '0' ApplyParallel = 'AUTO' StandbyFileManagement = 'AUTO' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '4' LogArchiveMinSucceedDest = '1' DbFileNameConvert = '' LogFileNameConvert = '' FastStartFailoverTarget = '' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' ApplyLagThreshold = '0' TransportLagThreshold = '0' TransportDisconnectedThreshold = '30' SidName = 'Queuedb' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Queuedb_ZS02.cyou.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=QUEUEDB02_DGMGRL)(INSTANCE_NAME=Queuedb)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '0' LogArchiveFormat = '%t_%s_%r.dbf' TopWaitEvents = '(monitor)' Database Status: DGM-17016: failed to retrieve status for database "queuedb02"ORA-16664: unable to receive the result from a database ORA-16664: unable to receive the result from a database
alert日志狂刷:
Fatal NI connect error 12514, connecting to: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=Queuedb_ZS.cyou.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=queuedb_DGB)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=Queuedb_ZS02.cyou.com)(USER=oracle)))) VERSION INFORMATION: TNS for Linux: Version 11.2.0.4.0 - Production TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production Time: 02-MAR-2015 18:27:06 Tracing not turned on. Tns error struct: ns main err code: 12564 TNS-12564: TNS:connection refused ns secondary err code: 0 nt main err code: 0 nt secondary err code: 0nt OS err code: 0 nt OS err code: 0
tnsping 都是通的,为什么会报这个错呢? 到standby中查看database信息后,报如下错,primary和standby的报错信息是不一样的。
DGMGRL> show configuration; Configuration - queue_zs_dg Protection Mode: MaxPerformance Databases: queuedb - Primary database queuedb02 - Physical standby database Error: ORA-16810: multiple errors or warnings detected for the database Fast-Start Failover: DISABLED Configuration Status: ERROR DGMGRL> show database verbose queuedb02; Database - queuedb02 Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: (unknown) Apply Rate: (unknown) Real Time Query: OFF Instance(s): Queuedb Warning: ORA-16714: the value of property ArchiveLagTarget is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveMaxProcesses is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveMinSucceedDest is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveTrace is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveFormat is inconsistent with the database setting Database Error(s): ORA-16766: Redo Apply is stopped Properties: DGConnectIdentifier = 'queuedb_zs02' ObserverConnectIdentifier = '' LogXptMode = 'ASYNC' DelayMins = '0' Binding = 'optional' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' PreferredApplyInstance = '' ApplyInstanceTimeout = '0' ApplyParallel = 'AUTO' StandbyFileManagement = 'AUTO' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '4' LogArchiveMinSucceedDest = '1' DbFileNameConvert = '' LogFileNameConvert = '' FastStartFailoverTarget = '' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' ApplyLagThreshold = '0' TransportLagThreshold = '0' TransportDisconnectedThreshold = '30' SidName = 'Queuedb' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Queuedb_ZS02.cyou.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=QUEUEDB02_DGMGRL)(INSTANCE_NAME=Queuedb)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '0' LogArchiveFormat = '%t_%s_%r.dbf' TopWaitEvents = '(monitor)' Database Status:ERROR ERROR
看到报这个错:Error: ORA-16810: multiple errors or warnings detected for the database show database verbose里有5个warnning:
Warning: ORA-16714: the value of property ArchiveLagTarget is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveMaxProcesses is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveMinSucceedDest is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveTrace is inconsistent with the database settingWarning: ORA-16714: the value of property LogArchiveFormat is inconsistent with the database setting Warning: ORA-16714: the value of property LogArchiveFormat is inconsistent with the database setting
需要重新设置下这些属性值:
edit database queuedb02 set property ArchiveLagTarget='0'; edit database queuedb02 set property LogArchiveMaxProcesses='4'; edit database queuedb02 set property LogArchiveMinSucceedDest='1'; edit database queuedb02 set property LogArchiveTrace='0';edit database queuedb02 set property LogArchiveFormat='%t_%s_%r.dbf'; edit database queuedb02 set property LogArchiveFormat='%t_%s_%r.dbf';
原因是由于:
ORA-16714: | the value of property string is inconsistent with the database setting |
Cause: | The value of the specified configuration property is inconsistent with database in-memory settings or server parameter file settings. This may be caused by changing an initialization parameter that corresponds to a configuration property. |
Action: | Query property InconsistentProperties on the database to determine the inconsistent values. Reset the property to make it consistent with the database setting. |
然后再enable database 就可以了。之前报的Error: ORA-16664: unable to receive the result from a database这个问题也是这个属性的问题导致。
DGMGRL> show configuration; Configuration - queue_zs_dg Protection Mode: MaxPerformance Databases: queuedb - Primary database queuedb02 - Physical standby database Fast-Start Failover: DISABLED Configuration Status:SUCCESS SUCCESS