Note
- For V4.4.x, this parameter is available starting with V4.4.2.
- For V4.3.5, this parameter is available starting with V4.3.5 BP5.
Description
enable_mv_binlog_minimal_mode specifies whether to enable the binlog minimal mode for materialized view incremental refresh.
Privilege requirements
Query the parameter
You can execute the
SHOW PARAMETERSstatement or query theGV$OB_PARAMETERSview to obtain the value of this parameter in thesystenant and all user tenants.Modify the parameter
You can modify this parameter in the
systenant and user tenants.
Attributes
| Attribute | Description |
|---|---|
| Type | Boolean |
| Default value | False |
| Value range |
|
| Modifiable | Yes. You can use the ALTER SYSTEM SET statement to modify the parameter. |
| Effective upon OBServer node restart | No. The setting takes effect immediately. |
Considerations
The
enable_mv_binlog_minimal_modeparameter affects only DML operations on materialized views. It does not affect other DML operations.The
enable_mv_binlog_minimal_modeparameter is independent of binlog_row_image. It specifies the special path for materialized view scenarios.- If you enable the
enable_mv_binlog_minimal_modeparameter, DML operations on materialized views use thebinlog minimalmode, even if thebinlog_row_imageparameter is set tofull.
- If you enable the
Enabling the
enable_mv_binlog_minimal_modeparameter improves the refresh performance of materialized views. However, this parameter simplifies theCLOGcontent. If downstream links (such as CDC + OMS) rely on the completeCLOGof materialized views for migration and synchronization, enabling this parameter may cause synchronization errors. Therefore, we recommend that you do not enable this parameter if you have downstream data synchronization requirements involving materialized views.
Examples
Enable the
binlog minimalmode for materialized view incremental refresh.obclient> ALTER SYSTEM SET enable_mv_binlog_minimal_mode = True;Create a table named
test_tbl1.obclient> CREATE TABLE test_tbl1(col1 INT, col2 INT, col3 INT);Create a materialized view named
mv1_t1.obclient> CREATE MATERIALIZED VIEW mv1_t1 REFRESH FAST AS SELECT col2, COUNT(*) cnt FROM test_tbl1 GROUP BY col2;When you perform incremental refresh, DML operations use the
binlog minimalmode.obclient> CALL DBMS_MVIEW.REFRESH('mv1_t1', 'f');Disable the
binlog minimalmode for materialized view incremental refresh.obclient> ALTER SYSTEM SET enable_mv_binlog_minimal_mode = False;