Alert log reports redo log errors in the Standby Oracle database
Problem Details
Problem Statement
Alert log reports redo log error in the Standby Oracle database
Applicable Error Code
ORA-00312: online log 4 thread 1: '+DATA'
ORA-17503: ksfdopn:2 Failed to open file +DATA
ORA-15045: ASM file name '+DATA' is not in reference form
Affected Versions
All
Affected Platforms
Oracle
Description
Redo logs record the changes made in the database.
Especially when there is a change happening on the Primary database. Whenever a new archived redo log is generated, then archivelog logs are sent and applied to the standby through the SEND and APPLY.
The error below is reported in the alert log
ORA-00312: online log 4 thread 1: '+DATA' ORA-17503: ksfdopn:2 Failed to open file +DATA ORA-15045: ASM file name '+DATA' is not in reference form
A trace file is generated for this every time the above error occurs. Below is the snapshot of the trace file.
========= Dump for error ORA 1110 (no incident) ======== ----- DDE Action: 'DB_STRUCTURE_INTEGRITY_CHECK' (Async) ----- dbkh_reactive_run_check: BEGIN dbkh_reactive_run_check:; incident_id=0 dbkh_run_check_internal: BEGIN; check_namep=DB Structure Integrity Check, run_namep=<null> dbkh_run_check_internal: BEGIN; timeout=0 dbkh_run_check_internal: AFTER RUN CREATE; run_id=5388621 DDE previous invocation failed before phase II DDE was called in a 'No Invocation Mode' ----- Start Diag Diagnostic Dump ----- Diagnostic dump is performed due to an error in the diagfw code during error handling. DDE is switched to protected mode during the diagnostic dump to prevent recursive errors in the error handling code. Dump error and call stack for the diagnostic dump: *** 2025-08-06T16:14:11.358096-05:00 dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=1, mask=0x0) ----- Error Stack Dump ----- <error barrier> at 0x7ffc4e70f7c0 placed dbge.c@997 ORA-00312: online log 4 thread 1: '+DATA' ORA-17503: ksfdopn:2 Failed to open file +DATA ORA-15045: ASM file name '+DATA' is not in reference form ----- SQL Statement (None) ----- Current SQL information unavailable - no cursor.
The error is does not have any impact on the standby database as there are no redologs on the standby database. The redologs are created when a graceful switchover is performed and the standby takes up the role as a primary. This is taken care by the Dbvisit Standby Graceful switchover process.
By turning off the DB_STRUCTURE_INTEGRITY_CHECK setting, we can avoid the errors and unnecessary trace file that it generates.
ALTER SYSTEM SET "_db_structure_integrity_check" = FALSE SCOPE = SPFILE;
Comments