Monday, August 21, 2023

ORA-16789: standby redo logs configured incorrectly

Creating standby redo log files is a recommended way of configuring dataguard in Oracle database environment. If there is any discrepancy found in standby redo log configuration, you might face ORA-16789 warning. While checking status of dataguard configuration through DGMGRL command, following is that you might see as an example, in a dataguard broker configuration.

[oracle:proddbhost oracle_install]$ dgmgrl /
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Jun 6 03:41:19 2023
Version 19.18.0.0.0
 
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
 
Welcome to DGMGRL, type "help" for information.
Connected to "PROD_DB"
Connected as SYSDG.
DGMGRL> show configuration
 
Configuration - PROD_DB
 
Protection Mode: MaxPerformance
  Members:
  PROD_DB - Primary database
    Warning: ORA-16789: standby redo logs configured incorrectly
 
    DR_DB - Physical standby database
 
Fast-Start Failover:  Disabled
 
Configuration Status:
WARNING   (status updated 53 seconds ago)

For me, the issue was that one of the standby redo log group (single member group) accidentally got created on the local file system of one of the RAC nodes. Of course this redo log file was inaccessible from other RAC node. Therefore, ORA-16789 was being reported. To solve this problem, I dropped the standby redo log group, and recreated on the shared/ASM file system so that both nodes could access it. After that, error was no longer visible.

SQL>  select group#,member from v$logfile where group# in (select group# from v$standby_log);
 
    GROUP# MEMBER
---------- ------------------------------------------------------------
         5 +REC/PROD_DB/ONLINELOG/group_5.467.1113444439
         6 +REC/PROD_DB/ONLINELOG/group_6.456.1113444455
         7 +REC/PROD_DB/ONLINELOG/group_7.465.1113444471
         8 +REC/PROD_DB/ONLINELOG/group_8.459.1113444489
         9 +REC/PROD_DB/ONLINELOG/group_9.455.1113444507
        10 +REC/PROD_DB/ONLINELOG/group_10.458.1113444525
        15 /u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/
        16 +REC/PROD_DB/ONLINELOG/group_16.490.1116307735
        17 +REC/PROD_DB/ONLINELOG/group_17.574.1116307751
        18 +REC/PROD_DB/ONLINELOG/group_18.522.1116307769
        19 +REC/PROD_DB/ONLINELOG/group_19.546.1116307785
        20 +REC/PROD_DB/ONLINELOG/group_20.606.1116307803


Removing group 15 and adding back on +REC ASM diskgroup

SQL> alter database drop standby logfile group 15;
 
Database altered.
 
SQL> alter database add standby logfile group 15 '+REC' size 2048m;
 
Database altered.

Error ORA-1689 is gone.

DGMGRL> show configuration
 
Configuration - PROD_DB
 
  Protection Mode: MaxPerformance
  Members:
  PROD_DB - Primary database
       DR_DB - Physical standby database
 
Fast-Start Failover:  Disabled
 
Configuration Status:
WARNING   (status updated 24 seconds ago)


No comments:

Post a Comment

Popular Posts - All Times