Friday, February 28, 2014

Error: ORA-16810: multiple errors or warnings detected for the database

I was getting error in dataguard broker when I issued show configuration
DGMGRL> show configuration
Configuration - racdg
  Protection Mode: MaxPerformance
  Databases:
    RAC      - Primary database
    RAC_STBY - Physical standby database
      Error: ORA-16810: multiple errors or warnings detected for the database
Fast-Start Failover: DISABLED
Configuration Status:
ERROR
DGMGRL>
best way to trouble shoot is start from primary database
DGMGRL> show database 'RAC';
Database - RAC
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    RAC1
    RAC2
Database Status:
SUCCESS
DGMGRL>
So no issues on primary lets go to standby
DGMGRL> show database 'RAC_STBY';
Database - RAC_STBY
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds
  Apply Lag:       (unknown)
  Real Time Query: OFF
  Instance(s):
    RAC_STBY1
      Warning: ORA-16714: the value of property ArchiveLagTarget 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
Database Status:
ERROR
DGMGRL> 
Ahh these are the parameter which i missed in spfile. To get the values of these parameter 
DGMGRL> show database 'RAC_STBY' inconsistentProperties
INCONSISTENT PROPERTIES
   INSTANCE_NAME        PROPERTY_NAME         MEMORY_VALUE         SPFILE_VALUE         BROKER_VALUE
       RAC_STBY1     ArchiveLagTarget                    0                                         0
       RAC_STBY1 LogArchiveMinSucceedDest                    1                                         1
       RAC_STBY1      LogArchiveTrace                    0            (missing)                    0
       RAC_STBY1     LogArchiveFormat         %t_%s_%r.arc            (missing)         %t_%s_%r.arc
DGMGRL> 
Now I know what should be done, alter system parameter on standby with scope=both and sid='*'
hence I did 
SQL> alter system set archive_lag_target=0 scope=both sid='*';
System altered.
SQL>
SQL> alter system set log_archive_min_succeed_dest=1 scope=both sid='*';
System altered.
SQL>
SQL> alter system set log_archive_trace=0 scope=both sid='*';
System altered.
SQL>
and did a restart of the database because I was still getting error on configuration
[oracle@racdr1 ~]$ srvctl stop database -d RAC_STBY
[oracle@racdr1 ~]$
[oracle@racdr1 ~]$ srvctl start database -d RAC_STBY
[oracle@racdr1 ~]$ 
After the restart of standby database below is what I get:
DGMGRL> show configuration
Configuration - racdg
  Protection Mode: MaxPerformance
  Databases:
    RAC      - Primary database
    RAC_STBY - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL>
DGMGRL>
DGMGRL> show database 'RAC'
Database - RAC
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    RAC1
    RAC2
Database Status:
SUCCESS
DGMGRL>
DGMGRL> show database 'RAC_STBY'
Database - RAC_STBY
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds
  Apply Lag:       0 seconds
  Real Time Query: ON
  Instance(s):
    RAC_STBY1
Database Status:
SUCCESS
DGMGRL> 

No comments: