建立测试表
create table T_table nologging as select * from dba_objects; create table t_table_1 nologging as select * from dba_tables;
--建立日志记录
create materialized view log on T_table with rowid ,sequence(object_name,object_type,owner) including new values; create materialized view log on t_table_1 with rowid,sequence(table_name) including new values;
--建立物化视图
create materialized view mv_t_table nologging refresh fast on demand with rowid START WITH TO_DATE(‘21-08-2017 10:09:08‘, ‘DD-MM-YYYY HH24:MI:SS‘) NEXT SYSDATE + 1/(24*60) as select count(*),a.object_type,a.owner from T_table a,t_table_1 b where a.object_name=b.table_name group by a.object_type,a.owner
--测试
select * from mv_t_table where owner=‘SYSTEM‘; delete from t_table where owner=‘SYSTEM‘; insert into t_table select * from dba_objects where owner=‘SYSTEM‘;
--查看日志生成量
select a.name, b.value from v$statname a, v$mystat b where a.statistic# = b.statistic# and a.name = ‘redo size‘;
--查看刷新日志
SELECT owner,mview_name,last_refresh_scn,last_refresh_date,query,REVISION FROM dba_mview_analysis WHERE owner=‘UTF32‘;
--查看日志记录表,MLOG$为日志记录表,一旦更新完成,此表的内容会被清掉;
select * from MLOG$_T_TABLE select * from MLOG$_T_TABLE_1;
官方说明参见:http://docs.oracle.com/cd/E11882_01/server.112/e10706/repmview.htm#REPLN265
时间: 2024-10-14 23:01:01