Prev: How to do path with spaces
Next: How do oracle programmers send batches of SQL from inside a program?
From: Guy Peleg on 20 Mar 2010 17:16 Does anybody know the purpose of _MAX_TRANSACTION_COUNT? Multiple documents recommend setting the parameter to 12 to improve the performance of SQL apply, but why? SQL> exec dbms_logstdby.apply_set ('_MAX_TRANSACTION_COUNT',12); Regards, Guy Peleg Maklee Engineering
From: joel garry on 21 Mar 2010 13:16
On Mar 20, 2:16 pm, Guy Peleg <makleeengineer...(a)gmail.com> wrote: > Does anybody know the purpose of _MAX_TRANSACTION_COUNT? > > Multiple documents recommend setting the parameter to 12 to improve > the performance of SQL apply, but why? > > SQL> exec dbms_logstdby.apply_set > ('_MAX_TRANSACTION_COUNT',12); > > Regards, > > Guy Peleg > Maklee Engineering Well, from looking at MOS Tuning SQL Apply Operations for Logical Standby, I'd say it only applies to 9i where you get alert log messages like WARNING: the following transaction makes no progress WARNING: in the last 300 seconds for the given message! See http://www.oracle.com/technology/deploy/availability/pdf/MAA_WP_9iR2_SQLApplyBestPractices.pdf about _EAGER_SIZE. I think we can reasonably guess that the purpose is to commit less often, by dedicating a slave to group sql statements that would otherwise be separate commits. I would guess _MAX_TRANSACTION_COUNT would be the grouping size. jg -- @home.com is bogus. http://www.pcpro.co.uk/blogs/2010/03/19/whats-that-eggy-smell-in-the-server-room/ |