Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: RAC for Reporting...!
Matt wrote:
>>On the other hand, you've mentioned a couple of times the desire for >>synchronous transport of data, and that rather makes me suspect that >>your business rules are changing such that out-of-date reporting is >>becoming no longer acceptable. Are they? Or is it just a 'would like' >>rather than a 'must have'. >> >>Regards >>HJR
You seem to have your heart set on the RAC approach, but let me toss in another pitch for the Logical Standby approach which you originally considered as an alternative.
First, as HJR mentioned, by all means keep one physical standby dedicated exclusively to disaster recovery. Trying to combine HA and reporting into a single solution will necessarily compromise both (will you have to turn off your production reporting function if you are forced to fail over for HA purposes?). HA can also mean a cluster package at the OS level, such as Veritas, HP Service Guard, or Red Hat Clustering, and disk mirroring.
Assuming your reporting queries don't include the LONG datatypes, you should be able to set up a logical standby (LS) that skips those specific values, so that all the other data of interest can be updated in "real time". You're going to want to convert those LONG datatypes to LOB anyway -- although Oracle has not announced a de-support date, it is clear LONG is going away eventually.
One of the beauties of LS is precisely that you can place certain schema objects under the control SQL Apply from the primary redo logs, while doing whatever you want with other objects. You can even have your LS in noarchivelog mode, to further decrease overhead (if this fits your overall recovery strategy, of course).
For example, I am testing a reporting instance where the main schema of interest is maintained read-only via SQL apply. Then, I can create MV logs on tables, and then in another schema (local to the LS, not on the primary), I can create the fast-refresh MV's which use these logs, and then use query re-write against these MV's.
Under 9i, try the DBMS_MVIEW.EXPLAIN_REWRITE procedure, it is very helpful when trying to figure out why rewrite didn't work as expected.
--Mark Bole Received on Fri May 07 2004 - 17:08:25 CDT