Managed recovery is just the state of the standby in a physical standby. Essentially, it is permanently in recovery mode, like you would do manually when recovering a database from a backup using the archived logs. When an archived redo log arrives it is recovered straight away because the database is permanently in a state of recovery, hence managed recovery. This is why the database is not open and not available for use. In 11g active data guard was introduced that allows the standby to be open read-only while still in managed recovery. This costs extra because the standby can now be used for reporting and still be kept up to date.

DML is permitted on logical standby. It is different because the database is open for read-write and can be used. It can even diverge from the primary server. I'm not a fan of logical standby. There are also licensing issues around it because you have a fully functional database as the standby, rather than one in managed recovery.

There are a number of reasons why a standby database can lag behind a primary including:

- The standby server is a lower spec machine that can not keep up with the load on the primary server.- The standby apply services run as a single process. As such, it can't compete with the multi-process processing on the primary server.- The lag can be purposefully configured.

The solution to the lag problem depends on what the cause is. Impossible for me to comment. Some solutions may impact the performance on the primary database.