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
新闻热点
疑难解答