随笔-64  评论-13  文章-2  trackbacks-0
from Kamus' Oracle World
  http://blog.csdn.net/Kamus/archive/2004/10/18/141579.aspx

进行trace:
1, 使用DBMS_SUPPORT包,这个包默认是没有安装的,需要运行下面的命令来手动安装。

SQL>conn / as sysdba

SQL>@?\rdbms\admin\dbmssupp.sql

SQL>GRANT execute ON dbms_support TO kamus;

SQL>CREATE PUBLIC SYNONYM dbms_support FOR dbms_support;


2,
执行trace

SQL>conn kamus

SQL>exec dbms_support.start_trace(waits=>TRUE,binds=>TRUE);

SQL>exec dbms_mview.refresh(list => 'MV_T1');

SQL>exec dbms_support.stop_trace;

3,用
然后tkprof生成trace结果的报表。

执行一次dbms_mview.refreshOracle后台会执行13 user  SQL92 internal SQL,实在是一个繁杂的工作。


---------

对增量刷新, 其中一步是:

delete from "KAMUS"."MLOG$_T1" where snaptime$$ <= :1

 这一步操作是比较耗费资源的,使用delete,产生redoundo,无法降低mlog表的HWM标志,同时又是一次全表扫描,如果经常有大量更新发生,最好能定时作mlog表的truncate动作,否则这一步操作可能会越来越慢。

   可以考虑在
snaptime$$字段上建立索引和增大undo段的大小。


 



posted on 2008-04-09 15:24 桂湖山 阅读(374) 评论(0)  编辑 收藏 引用 所属分类: oracle_plsql
只有注册用户登录后才能发表评论。