We need to run reports at a scheduled time of the day. The application runs 24*7 and so there is not "off-peak" time as such.
Therefore, running the reports should not add undue load on the system.
The application runs on WebSphere v6.1 and the database is Oracle 10g R2.
I have the following approaches at my disposal
- A set of de-normalized tables aimed at reporting.
- Creating Materialized views and using them for reports. We can update the views once a day.
- We can create another schema and replicate the tables realtime using Oracle's Data Guard.
(1) is not feasible due to certain internal constraints we have.
I need to know, from a performance point of view, which is better, (2) or (3) ?
I hear from many ppl that Materialized views initially work well but as data volumes increase, the performance is very poor.
Anyone has experience with Replication of tables within the same DB server (but diff instances or schemas).