Once a week, a procedure in a package is run from a cron job, only to give the error
"ORA-30926: unable to get a stable set of rows in the source tables"
The error appears to occur during an EXECUTE IMMEDIATE 'MERGE'
statement.
However, without changing any of the data involved, merely recompiling the package and rerunning the procedure works. Next week, the issue happens again.
The merge statement's source comes from a staging table that is loaded from an external table first using an INSERT /*+ APPEND*/,
followed by a COMMIT.
There are several other procedures within the package that do the same thing with different tables (all using the same staging table) that do not have a problem. Each procedure is run in sequence.
Any ideas?