Saturday, March 6, 2021

Error: ORA-16724: cannot resolve gap for one or more standby databases

 If there is an archive gap and dataguard database is not fully in synch with the primary database, initiating DGMGRL and connecting to the database would immediately show ORA-16724 with the configuration. This can be seen bellow.

DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production 

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration 

Configuration - TEST DG configuration

  Protection Mode: MaxPerformance
  Databases:
      DB_PROD  - Primary database
      Error: ORA-16724: cannot resolve gap for one or more standby databases

    
DB_DG - Physical standby database
 

Fast-Start Failover: DISABLED

Configuration Status:
ERROR

DGMGRL> show database verbose 'DB_DG';

Database - DB_DG

  Enterprise Manager Name: DB_DGP
  Role:                    PHYSICAL STANDBY
  Intended State:          APPLY-OFF
  Transport Lag:           1 day(s) 13 hours 20 minutes 23 seconds (computed 8 seconds ago)
  Apply Lag:               1 day(s) 13 hours 32 minutes 48 seconds (computed 0 seconds ago)
  Apply Rate:              (unknown)
  Real Time Query:         ON
  Instance(s):
    DB_DG1 (apply instance)
    DB_DG2

  
Properties:
      DGConnectIdentifier             = 'DB_DG'
      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              = '+REDO_DG1/DB_PROD, +REDO_DG1/DB_DG, +REDO_DG2/DB_PROD, +REDO_DG2/DB_DG'
      FastStartFailoverTarget         = ''
      InconsistentProperties          = '(monitor)'
      InconsistentLogXptProps         = '(monitor)'
      SendQEntries                    = '(monitor)'
      LogXptStatus                    = '(monitor)'
      RecvQEntries                    = '(monitor)'
      ApplyLagThreshold               = '0'
      TransportLagThreshold           = '0'
      TransportDisconnectedThreshold  = '30'

 This error clearly shows that some of the archived redo logs are not available on the standby site to apply, thus causing a gap. To solve this issue, make sure that all the required archived logs are available on the physical standby database so that they could be applied to the database. If not available, you can manually copy the archived logs from the primary database. If the required archived logs have been deleted, and/or cannot be restored, you might want to perform an incremental restore to synchronize the dataguard with the primary.

No comments:

Post a Comment

Popular Posts - All Times