如何在Oracle 11上检查索引构建状态?

前端之家收集整理的这篇文章主要介绍了如何在Oracle 11上检查索引构建状态?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在sql索引创建中犯了一个可怕的错误
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID,SESSION_ID,CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ;

正如您所看到的,我错过了关键字“ONLINE”来创建索引而不会阻止具有600m记录的高使用率的PRODUCTION表.更正的sql是:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID,CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ONLINE;

我是在PL / sql Developer下完成的.当我试图阻止程序停止响应并崩溃.

生产系统现在不工作9个小时,我的老板想要爆炸. :d

有没有机会看到Oracle 11g剩余多少秒/分钟/小时来处理这个索引创建?或者也许有机会看到Oracle仍在处理这个请求吗? (PL / sql Developer崩溃).

对于仇恨者:
我知道我应该像这里提到的那样:(source)

CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
您应该能够在V $SESSION_LONGOPS中查看操作的进度
SELECT sid,serial#,target,target_desc,sofar,totalwork,start_time,time_remaining,elapsed_seconds
  FROM v$session_longops
 WHERE time_remaining > 0

当然,在生产系统中,我可能会在几小时前杀死会话,而不是让DDL操作继续阻止用户访问应用程序.

猜你在找的Oracle相关文章