We are currently using a writable materialized view to perform data replication between our primary and secondary server. We are running into a problem because one of our tables gets updated quite a lot, and the materialized view refresh is at a point where it can't catch up with the updates (we're refreshing once every 30s, the refresh group takes anywhere from 9-22s to finish under load). After discussion with the server engineer we found that we really don't care about the updates on that particular table, only inserts and deletes. If we can just ignore synchronizing the updates that will be the perfect solution...
From my research, you really can't use materialized view to replicate data and only capture or ignore specific DML in Oracle 11.2. Am I correct here? Do we have to resort to a trigger/package-based manual replication strategy in order to only capture inserts/deletes without going to more advanced replication strategy (ex. use GoldenGate)?
You are correct that you can't use materialized views for this.
You should be able to use Streams, though, which would be much easier (and safer and quicker) than writing a bunch of code to manually replicate the data. GoldenGate would be another good choice though that would require additional licenses.
Thank you Justin. I remember vaguely that Oracle is going to slowly deprecate Streams (or at least put it on maintenance and not add new features), and focus on GoldenGate. I guess I'm going to have to look into the licensing aspect of these and see if that is a solution that we can use.