ORA-16778: redo transport error means the Data Guard broker can't send redo logs to standby(s), usually due to network issues, incorrect TNS/listener settings, missing executables, or parameter conflicts, requiring checks in the Alert Log, Broker Log, v$archive_dest_status, and confirming TNS entries on both primary/standby, often resolved by fixing TNS connectivity or restarting processes.
Common Causes & Solutions:
- Network Connectivity/TNS Issues:
- Check:
tnspingfrom primary to standby and vice-versa; checktnsnames.oraandlistener.orafor correct hostnames/IPs/ports. - Fix: Ensure hostnames resolve, TNS entries match, and listeners are running on both sides.
- Check:
- Data Guard Broker Configuration Errors:
- Check: Use
DGMGRL > SHOW CONFIGURATIONandSHOW DATABASEfor detailed status, check broker log (location varies by Oracle version). - Fix: Sometimes a simple restart or re-adding the standby via
DGMGRL(after cleaning up duplicates) can resolve broker state issues.
- Check: Use
- Missing or Incorrect Executables/Parameters:
- Check: Verify necessary Oracle executables (like
arcn/arcffor LGWR/ARCn processes) exist and permissions are correct on the standby. - Fix: Ensure
LOG_ARCHIVE_DEST_nparameters are correctly set on the primary to point to the standby, andFAL_SERVER/FAL_CLIENTare set on both.
- Check: Verify necessary Oracle executables (like
- Primary/Standby State Mismatch:
- Check: In
DGMGRL, see if the standby is disconnected (ORA-16857). - Fix: Try
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;and then restart recovery, or evenSHUTDOWNandSTARTUPthe standby.
- Check: In
Diagnostic Steps:
- Check Alert Logs: Look for related errors like
ORA-12541(no listener) or network errors in both primary and standbyalert_<sid>.logfiles. - Query
V$ARCHIVE_DEST_STATUS: On the primary, check this view for specific errors on the standby destination. - Use DGMGRL:
SHOW CONFIGURATION,SHOW DATABASE,SHOW LOGFILEfor status. - Verify TNS: Ensure connectivity is solid with
tnsping.
No comments:
Post a Comment