首批通过分布式安全可靠测评,为关键业务系统打造
REFRESH
更新时间:2026-06-06 15:24:13
REFRESHE 用于刷新指定的一个物化视图。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。
语法
DBMS_MVIEW.REFRESH (
{ list IN VARCHAR2
| tab IN DBMS_UTILITY.UNCL_ARRAY}
[, method IN VARCHAR2 := NULL]
[, rollback_seg IN VARCHAR2 := NULL]
[, push_deferred_rpc IN BOOLEAN := true]
[, refresh_after_errors IN BOOLEAN := false]
[, purge_option IN BINARY_INTEGER := 1]
[, parallelism IN BINARY_INTEGER := 0]
[, heap_size IN BINARY_INTEGER := 0]
[, atomic_refresh IN BOOLEAN := true]
[, nested IN BOOLEAN := false]
[, out_of_place IN BOOLEAN := false]
[, skip_ext_data IN BOOLEAN := false]
[, refresh_parallel IN BINARY_INTEGER := 0]
[, nested_refresh_mode IN VARCHAR2 := NULL]
);
参数解释
说明
非嵌套物化视图不存在级联刷新行为,指定 nested 和 nested_refresh_mode 参数无意义,默认独立刷新。
| 参数 | 说明 |
|---|---|
| list | 逗号分隔的待刷新物化视图名称清单。目前仅支持对单一物化视图进行刷新,不支持同时刷新多个物化视图。 |
| tab | 待刷新物化视图名称的数组。目前仅支持对单一物化视图名称数组进行刷新,不支持同时刷新多个物化视图名称数组。 |
| method | 定义了物化视图的刷新策略,可在创建物化视图时指定默认的策略。可选方法包括:
|
| rollback_seg | 暂无实际作用,仅作 Oracle 兼容。 |
| push_deferred_rpc | 暂无实际作用,仅作 Oracle 兼容。 |
| refresh_after_errors | 暂无实际作用,仅作 Oracle 兼容。 |
| purge_option | 暂无实际作用,仅作 Oracle 兼容。 |
| parallelism | 暂无实际作用,仅作 Oracle 兼容。 |
| heap_size | 暂无实际作用,仅作 Oracle 兼容。 |
| atomic_refresh | 暂无实际作用,仅作 Oracle 兼容。 |
| nested | 指定嵌套物化视图的刷新模式。取值如下:
|
| out_of_place | 暂无实际作用,仅作 Oracle 兼容。 |
| skip_ext_data | 暂无实际作用,仅作 Oracle 兼容。 |
| refresh_parallel | 刷新操作的并发度,即同时执行刷新操作的线程数。 |
| nested_refresh_mode | 指定级联刷新嵌套物化视图是一致刷新行为还是非一致刷新行为。取值如下:
|
示例
独立刷新模式:
只指定参数
mv_name。obclient> CALL DBMS_MVIEW.REFRESH('mv1');指定参数
mv_name及参数nested值为false。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> false);
级联非一致刷新模式:
指定参数
mv_name,参数nested值为true,不指定参数nested_refresh_mode。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true);指定参数
mv_name,参数nested值为true及参数nested_refresh_mode值为inconsistent。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => 'inconsistent');
级联一致刷新模式:
指定参数
mv_name,参数nested值为true及参数nested_refresh_mode值为consistent。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => 'consistent');以下为报错场景:
参数
nested值为false,又指定参数nested_refresh_mode值,报错。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> false, nested_refresh_mode => 'xxxx');没有指定参数
nested的值,只指定参数nested_refresh_mode的值,报错。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested_refresh_mode => 'xxxx');参数
nested值为true,参数nested_refresh_mode值为非法字符串,报错。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => '非法字符串');
相关文档
关于刷新物化视图的介绍信息,参见 刷新物化视图。