In Oracle 19c, one can submit the DML to readonly standby database. the internals of the database detect a dml on standby and redirect that dml to primary apply it on primary and apply to standby back. However this require careful consideration of redo generation and identify the potential dml's or occasional dml;s that can go to standby.
Image Source: blogs.oracle.com
The DML Redirection process breaks down in 5 steps:
- The Client issues a DML against the read-only Standby Database
- The standby notices it is DML and sends this DML towards the primary database using an internal Db-link
- The primary executes the DML (which then generates redo)
- This redo is a normal redo stream and together with the normal redo stream this is sent to the standby database
- The standby database applies the received redo stream and releases the lock on the session so the session can see the result.
So consider before you put this feature in place and understand bandwidth and ideal candidates for DMLs that can run on standby.
Follow Me!!!