• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

ORA-16713: The Oracle Data Guard broker command timed out When Changing LogXptMode

by admin

After setting up a new dataguard configuration and broker the change of log transport mode to sync fail as below.

DGMGRL> edit database mystby set property LogXptMode='SYNC';
Error: ORA-16713: The Oracle Data Guard broker command timed out.

Failed.

Sync mode was needed to change the protection mode. There was no other DG issue and redo transport and log apply was working fine. Transport mode change was only failing on the standby at that time. However, the sync mode parameters gets setup on the primary’s log archive destination. Log transport mode of the two instances looks like below due to this failure.

Transport-Related Property Settings:
Property                        myprod Value             mystby Value
LogXptMode                      SYNC                     ASYNC

Solution 1

sm0 (Data Guard Broker Worker process) process hang (not responding to request).

System state show:

– sm0 on “waiting for ‘rdbms ipc message'” for long

wait times: snap=5389 min 21 sec, exc=5389 min 21 sec, total=5389 min 21 sec)

– The stack stack dump info show it did ‘timed out getting stack rsm0 process

Short stack dump: WAIT #0: nam='ksdxexeotherwait' ela= 30008940 p1=0 p2=0 p3=0 obj#=-1 tim=1430877633277147
ORA-32516: cannot wait for process 'Unix process pid: 25280, image: oracle@ropldb05.hsn.net (RSM0)' to finish executing ORADEBUG command 'SHORT_STACK'; wait time exceeds 30000 ms

– The stack trace getting stack of the process was ‘timed out’

– nsv1 process is idle wait as “waiting for ‘rdbms ipc message'”

The solution here is to kill rsm0 process:

$ kill -9  $RSM0_PID

rsm0 is non fatal background process. The new rsm0 process is to be respawned once being killed.

Solution 2

Disable the configuration and update the log transport mode and enabling it again (maybe this respwaned the rsm cleanly than killing it).

DGMGRL> disable configuration;
Disabled.
DGMGRL> edit database mystby set property LogXptMode='SYNC';
Property "logxptmode" updated
DGMGRL> enable configuration;
Enabled.

This worked as expected. The transprot node changes are now visible on the log_archive_dest on the primary.

log_archive_dest_3   string service="mystbytns", SYNC AFFIRM delay=0 optional c

  Transport-Related Property Settings:
    Property                        myprod Value             mystby Value
    LogXptMode                      SYNC                     SYNC

After this it was possible to change the protection mode.

Solution 3

The Broker is killing the RSM0 process and restarting it because of an internal timeout that is too low. This can happen even in network choke condition also. Please provide what the OperationTimeout is set to.

DGMGRL> connect sys/
DGMGRL> show configuration OperationTimeout;

Increase the OperationTimeout or apply the patch. If this shows low 30-120, then set it higher, up to 600 (10 mins) :

DGMGRL> EDIT CONFIGURATION SET PROPERTY OperationTimeout=600;

Then see if the problem persists.

Filed Under: oracle

Some more articles you might also be interested in …

  1. Oracle Database interview questions – Privileges And Roles
  2. Oracle ASM 12c – New Features with examples
  3. How to Force ASM to Scan the Multipathed Device First using ASMLIB/oracleasm
  4. What are Oracle Data Guard Protection Modes (redo transport rules) and how to configure them
  5. PL/SQL: Palindrome Program
  6. How to Roll Forward a standby database using RMAN incremental backup in 11g
  7. PL/SQL: Factorial Program
  8. Deleting duplicate records from a table
  9. Stored Procedures and Functions in PL/SQL
  10. How to Enable Fast-Start Failover using Enterprise Manager

You May Also Like

Primary Sidebar

Recent Posts

  • vgextend Command Examples in Linux
  • setpci command – configure PCI device
  • db_load command – generate db database
  • bsdtar command – Read and write tape archive files

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright