ERR-3112: Apply waiting on lock on DBVREP user

This article helps in resolving ERR-3112 error in the APPLY. 

Problem Details

Problem Statement

APPLY log has ERR-3112 error.

Applicable Error Code

ERR-3112: Apply waiting on lock on DBVREP user.
This is either an internal deadlock, multiple running appliers using the same data, 
or someone manually changing data using this account.

Affected Versions

Generic

Affected Platforms

Generic

 

 Solution

APPLY_POSTPONE_LAST_LCR = YESAPPLY will postpone the last LCR or SQL until the next SQL for the same object is found. By setting to YES it means that APPLY is always one SQL behind. This means APPLY always keeps one SQL in each open transaction un-applied. It processes the changes it gets from MINE, but stops short of the last one available so far.Increase the INITRANS setting of the tableThis is by default 2. Set this to 10. When altering the transaction entry setting INITRANS of a table, note that a new setting for INITRANS applies only to data blocks subsequently allocated for the table. To have the change take effect for all existing rows in this case:

SQL> alter table <table_name> move initrans 100;

For both settings, the APPLY process needs to be restarted. Because the APPLY process is hung, the APPLY process cannot be stopped with the normal shutdown apply command from the console. Stop the process with the kill -9command or by stopping the service in Windows.

Arjen Visser September 10, 2014 21:18 


When altering the transaction entry setting INITRANS of a table, note that a new setting for INITRANS applies only to data blocks subsequently allocated for the table. For example:

SQL> alter table retest move initrans 100;

Donna Zehl