We have the following setting, with Oracle 10g:
- One primary database
- One logical standby database with setup with data guard. The logical standby is only used for generating reports and alike.
Currently the parameter PRESERVE_COMMIT_ORDER of DBMS_LOGSTDBY is set to true. In order to enhance the speed of data replication, we are thinking of setting it to false. But what are the risks, if any, of doing so? (Oracle says: "See the Usage Notes for details and recommendations." … but I couldn't find these recommendations.)
Best Answer
I found the following white paper: SQL Apply Best Practices: Oracle Data Guard 11g Release 1 that brings a lot of enlightement. On page 12 is says
there are some examples that illustrates the effects (logical and performance related) of setting this parameter to false.
Most reporting application are reporting about data that was processed some time ago (yesterday, the last month) it seems to be no problem to et this parameter to true
The most performant way to run a standby is to run it as a physical standby with the limitation that the database is a read only 1:1 copy of the primary database.