日期:2013-03-16  浏览次数:20385 次

Oracle数字字典包含一个不为人知的v$session_longops视图。v$session_longops视图可以使Oracle专家减少运转时间很长的DDL和DML语句的运转时间。

 
例如在数据仓库环境中,即便使用并行索引创建技术,构建一个很多G字节大的索引需求耗费很多个小时。这里你就可以查询v$session_longops视图快速找出一个特定的DDL语句曾经完成了多少。其实v$session_longops视图也可以用于任何运转时间很长的操作,包括运转时间很长的更新操作。

下面的脚本将显示一个形状信息,说明了运转时间很长的DDL操作曾经使用的时间。留意你必须从v$session中取得SID并将其插入到下面的SQL语句中:

select
   sid,
   message
from
   v$session_longops
where
   sid = 13
order by
   start_time;
这里是一个输出的例子,显示了运转时间很长的CREATE INDEX语句的运转过程。


SID MESSAGE
--- -------------------------------------------------------------------
 11 Table Scan:  CUST.PK_IDX: 732 out of 243260 Blocks done