The possible causes could be:
- Columns have been added into the master table: In most cases, you know who did it without notifying DBA.
- The master table has been dropped: If the dropping is planned.
- Database link is unavailable. The accounts of database links could be locked, altered or temporarily unreachable due to network problems.
- Unique constraint violated. The index violation happened on the snapshot, not on the master table.
You should: recreate the snapshot.
You should: drop the snapshot.
You should: check the availability of the database link, including account status and network availability.
You should: rebuild the index.
I summarized the solutions as below:
- Make a complete refresh: If the master table is quite small.
- Rebuild the unique index of the snapshot: If the master table is quite large.
- Rereate the snapshot: If DDL of the master table is altered or you had tried all above methods but failed.
- Drop the snapshot: If the master table is no longer existent.