跳到主要内容

ALTER MATERIALIZED VIEW LOG

描述

该语句用来修改物化视图日志(Materialized View Log,mlog)属性。

权限要求

执行 ALTER MATERIALIZED VIEW LOG 语句,需要当前用户拥有基表(普通表或物化视图)的 ALTER 权限。有关 seekdb 权限的详细介绍,参见 seekdb 的权限分类

语法

ALTER MATERIALIZED VIEW LOG ON [database.]table_name alter_mlog_action_list;

alter_mview_action_list:
alter_mlog_action [, alter_mlog_action ...]

alter_mlog_action:
parallel_clause
| PURGE [[START WITH expr] [NEXT expr]]
| LOB_INROW_THRESHOLD [=] integer

parallel_clause:
NOPARALLEL
| PARALLEL integer

参数说明

参数描述
database.可选项,指定物化视图所在的数据库。如果省略 database.,则默认基表在当前会话连接的数据库中。
table_name指定物化视图日志对应的基表名称。
alter_mlog_action_list表示可以对物化视图日志执行修改的操作列表。可以同时指定多个操作,使用英文逗号(,)分隔。详细介绍可参见下文 alter_mlog_action

alter_mlog_action

  • parallel_clause:用于修改物化视图日志表的并行度。取值如下:

    • NOPARALLEL:并行度为 1,默认配置。
    • PARALLEL integer:指定并行度,integer 取值为大于等于 1 的整数。

    示例如下:

    ALTER MATERIALIZED VIEW LOG ON tbl1 PARALLEL 5;
  • PURGE [[START WITH expr] [NEXT expr]]:用于修改物化视图日志的后台清理任务的时间周期。

    • [START WITH expr]:可选项,表示物化视图日志的首次清除时间。
    • [NEXT expr]:可选项,表示下一次清除物化视图日志的时间。用于设置下一次清除物化视图日志的时间。
    提示

    请确保 START WITH exprNEXT expr 这两个时间表达式设定在未来的时间点,否则会引发错误。

    建议使用 sysdate() 表示当前时区时间,时间表达式示例如下:

    START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY

    上述子句表示从当前时间(sysdate())开始,每隔 1 天清理一次过期的物化视图日志记录。

    示例如下:

    ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE START WITH sysdate();
    ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE NEXT sysdate() + INTERVAL 1 DAY;
    ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY;
  • LOB_INROW_THRESHOLD [=] integer:用于修改物化视图日志的 LOB 内联存储长度阈值,且只支持往大调整。

    信息

    LOB_INROW_THRESHOLD 默认值为 8KB。mlog 的 LOB_INROW_THRESHOLD 默认值不受系统变量 ob_default_lob_inrow_threshold 控制。

    示例如下:

    ALTER MATERIALIZED VIEW LOG ON tbl1 LOB_INROW_THRESHOLD 10000;

相关文档

物化视图日志