设为首页 加入收藏

TOP

Oracle物化视图定时全量刷新导致归档日志骤增(二)
2014-11-24 02:28:05 来源: 作者: 【 】 浏览:2
Tags:Oracle 物化 定时 全量 刷新 导致 归档 日志 骤增
ere a.statistic# = b.statistic# and a.name = 'redo size';
--305808
select count(*) from big_table t where t.owner = 'EPAPRD';
--937
-- 每隔2秒钟,删除并重新插入1000条记录,执行100次吧。
-- 共删除10万条,插入10万条。
declare
i integer;
begin
i := 1;
loop
delete from big_table t where t.owner = 'EPAPRD';
insert into big_table select * from dba_objects o where o.OWNER = 'EPAPRD';
commit;
dbms_lock.sleep(2);
i := i + 1;
exit when i > 100;
end loop;
end;
-- 再查看REDO日志的量,比较一下
-- 记录下数值,用于接下来的比较
select a.name, b.value, to_char( b.value-&V, '999999999999' ) diff from v$statname a, v$mystat b where a.statistic# = b.statistic# and a.name = 'redo size';
--value:126422824
--diff:126117016,大约121M。
-- 给物化视图建立索引
create index big_table_mv_idx on big_table_mv(owner,object_type,object_name);
-- 每隔2秒钟,删除并重新插入1000条记录,执行100次
-- 共删除10万条,插入10万条。
declare
i integer;
begin
i := 1;
loop
delete from big_table t where t.owner = 'EPAPRD';
insert into big_table select * from dba_objects o where o.OWNER = 'EPAPRD';
commit;
dbms_lock.sleep(2);
i := i + 1;
exit when i > 100;
end loop;
end;
-- 再查看REDO日志的量,比较一下
select a.name, b.value, to_char( b.value-&V, '999999999999' ) diff from v$statname a, v$mystat b where a.statistic# = b.statistic# and a.name = 'redo size';
--value:252701192
--diff:126584176,大约121M。
-- 为什么有索引和没有索引的REDO大小几乎没有差别?删除、插入数据时,都是要维护索引的呀。
-- 清理
drop materialized view big_table_mv;
drop table big_table purge;
  可以看出,快速刷新模式下,刷新100次,每次删除1000条、插入1000条记录,产生的REDO日志大小与1次全量刷新的大小小了很多。而且在生产环境中,想来不太可能有如果之多的操作,实际产生的REDO日志会更小。
作者 yujj_cn
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle中常见的数据库对象--视图 下一篇IT忍者神龟之OracleDBA常用查询吐..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: