Resolving ORA-00283 and ORA-19909 Errors When Applying Logs to Standby in Oracle


When applying redo logs to a standby database, you may encounter errors such as:

ORA-00283: recovery session canceled due to errors
ORA-19909: datafile 1 belongs to an orphan incarnation

This issue often arises with a newly created standby or one that has been recreated after activation. The root cause is usually leftover database files from a previous incarnation in the Fast Recovery Area (FRA), which leads Oracle to reset the incarnation incorrectly.

Description

  • Old files remain in FRA from a prior incarnation.
  • Oracle detects these files and marks the datafile as belonging to an orphan incarnation.
  • The fix involves cleaning up FRA and resetting the incarnation using RMAN.

Steps to Resolve

1. Remove Old Files From FRA

Check the FRA directories and remove outdated files. Pay attention to date-based subdirectories that may contain remnants of older incarnations.

2. Compare Incarnations on Primary and Standby

On Primary:

$ rman target /

RMAN> list incarnation;

Example output:

DB Key Inc Key DB Name DB ID Status Reset SCN Reset Time
------- -------  --------  ----------  -------  ---------------  ----------
1       1        FINDB     123456789   PARENT   1                10-JAN-20
2       2        FINDB     123456789   PARENT   925702           15-MAR-22
3       3        FINDB     123456789   CURRENT  415119593857    01-DEC-24

On Standby:

$ rman target /

RMAN> list incarnation;

Example output:

DB Key Inc Key DB Name DB ID Status Reset SCN Reset Time
------- -------  --------  ----------  -------  ---------------  ----------
1       1        FINDB     123456789   PARENT   1                10-JAN-20
2       2        FINDB     123456789   PARENT   925702           15-MAR-22
3       3        FINDB     123456789   ORPHAN   415119593857    01-DEC-24
4       4        FINDB     123456789   CURRENT  415119636948    01-DEC-24

Notice that the primary shows incarnation 3 as CURRENT, while the standby has incarnation 4 as CURRENT and 3 marked as ORPHAN.

3. Reset Standby to Match Primary

Connect to the standby and reset the incarnation to match the primary:

$ rman target /


RMAN> reset database to incarnation 3;


This aligns the standby with the primary’s current incarnation, allowing redo logs to apply successfully.






Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs If you like this post please follow,share and comment