Oracle技巧:用v$session_longops跟踪DDL语句

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航