We're here to help!

Recover Standby Fails using SQLPLUS when performing Graceful Switchover

Follow

Read our docs The below article explains a possible  workaround for a scenario where Graceful Switchover fails during the last step of Recovery with the below error. The actual Graceful switchover does not fail but the step where the Archives are applied fails.


Problem Details

Problem Statement

Standby Recovery fails using SQLPLUS when doing Graceful Switchover during the synchronisation , where sqlplus is used for doing database recovery.

Applicable Error Code

Dbvisit Standby terminated... 
Error Code: 2044 
File (/usr/dbvisit/standby/tmp/<PID>.dbvisit.<timestamp>.last_archive.dbv) does not 
exist or is empty. Please check space and file permissions.

Affected Versions

Have been noticed in Version 8.0

Affected Platforms

Noticed in Linux but should be platform independent.

 
Description

Error Encountered during switchover. The error would be something similar to below

Dbvisit Standby terminated... 
Error Code: 1
Error returned from running command: "/usr/dbvisit/standby/dbvctl" -d devdb
--no_running_check --show_trace
=============================================================
Dbvisit Standby Database Technology (8.0.08.18506) (pid 3496)
dbvctl started on dbvlab03: Thu Jan 26 20:25:53 2017
=============================================================

DBVISIT_TRACEFILE=/usr/dbvisit/standby/trace/3496_dbvctl_devdb_201701262025.trc

>>> Applying Log file(s) from dbvlab01 to DB on dbvlab03:


Dbvisit Standby terminated...
Error Code: 2044
File (/usr/dbvisit/standby/tmp/3496.dbvisit.201701262025.last_archive.dbv) does not
exist or is empty. Please check space and file permissions.

Tracefile from server: dbvlab03 (PID:3496)
3496_dbvctl_devdb_201701262025.trc


Tracefile from server: dbvlab03 (PID:2367)
2367_dbvctl_switchover_devdb_201701262021.trc
Solution

There are two possible workarounds for this issue.

  • by setting the value of the global variable DB_CONNECTION_MODE_DR in the DDC file or
  • by setting the parameter APPLY_ARCHIVE_RMAN in the DDC file
Steps Performed
  1. Before proceeding, check if logs are getting applied on standby. Run ./dbvctl <DDC> on standby server and see if it errors out with above error.
  2. On primary, set APPLY_ARCHIVE_RMAN=Y in the DDC file. Run ./dbvctl -d <DDC> -c to copy the modified DDC file to the standby server. On standby, run ./dbvctl <DDC> to apply logs and verify if the error is repeating.
  3. If the error is repeating, set DB_CONNECTION_MODE_DR=dedicated as well in the DDC file (add it as the last line in the DDC file) on primary. Repeat the above operation of copying the DDC from primary to standby. Finally, run ./dbvctl <DDC> on standby to see if logs get applied.
To copy the DDC from Primary to Standby:
./dbvctl -d <DDC> -c

Have more questions? Submit a request

Comments