From: Guy Peleg on

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
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/