文档详情

物化视图日志简介.docx

发布:2017-05-09约1.52万字共20页下载文档
文本预览下载声明
 HYPERLINK /linjiqin/archive/2012/05/23/2514795.html oracle物化视图日志结构 ????? 物化视图的快速刷新要求基本必须建立物化视图日志,这篇文章简单描述一下物化视图日志中各个字段的含义和用途。 ????? 物化视图日志的名称为MLOG$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当截短后出现名称重复时,Oracle会自动在物化视图日志名称后面加上数字作为序号。 ??????物化视图日志在建立时有多种选项:可以指定为ROWID、PRIMARY KEY和OBJECT ID几种类型,同时还可以指定SEQUENCE或明确指定列名。上面这些情况产生的物化视图日志的结构都不相同。 ????????????????? 任何物化视图都会包括的4列: SNAPTIME$$:用于表示刷新时间。 DMLTYPE$$:用于表示DML操作类型,I表示INSERT,D表示DELETE,U表示UPDATE。 OLD_NEW$$:用于表示这个值是新值还是旧值。N(EW)表示新值,O(LD)表示旧值,U表示UPDATE操作。 CHANGE_VECTOR$$:表示修改矢量,用来表示被修改的是哪个或哪几个字段。 如果WITH后面跟了ROWID,则物化视图日志中会包含:M_ROW$$:用来存储发生变化的记录的ROWID。 如果WITH后面跟了PRIMARY KEY,则物化视图日志中会包含主键列。 如果WITH后面跟了OBJECT ID,则物化视图日志中会包含:SYS_NC_OID$:用来记录每个变化对象的对象ID。 如果WITH后面跟了SEQUENCE,则物化视图日子中会包含:SEQUENCE$$:给每个操作一个SEQUENCE号,从而保证刷新时按照顺序进行刷新。 如果WITH后面跟了一个或多个COLUMN名称,则物化视图日志中会包含这些列。 ??????????? 下面通过例子进行详细说明: SQL create table?t_rowid?(id number, name varchar2(30), num number); 表已创建。 ????????????? SQL create materialized view log on?t_rowid?with rowid, sequence (name, num) including new values; 实体化视图日志已创建。 ???????????????? SQL create table?t_pk?(id number primary key, name varchar2(30), num number); 表已创建。 ???????????????? SQL create materialized view log on?t_pk?with primary key; 实体化视图日志已创建。 ????????????? SQL create type?t_object?as object (id number, name varchar2(30), num number); ???? / 类型已创建 ???????????????? SQL create table?t_oid?of?t_object; 表已创建。 ?????????????? SQL desc t_oid; 名称????????????????????????????????????? 是否为空? 类型 ----------------------------------------- -------- --------------- ID???????????????????????????????????????????????? NUMBER NAME?????????????????????????????????????????????? VARCHAR2(30) NUM??????????????????????????????????????????????? NUMBER ???????????????? SQL create materialized view log on?t_oid?with object id; 实体化视图日志已创建。 ???????? 建立环境后来看看物化视图日志中包含的字段: SQL desc mlog$_t_rowid; 名称????????????????????????????????????? 是否为空? 类型 ----------------------------------------- -------- ------------- NAME??????????????????????????
显示全部
相似文档