gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:54:53 25 4
gpt4 key购买 nike

我在创建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, SESSION_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

当然,在生产系统中,我可能会在几个小时前终止 session ,而不是继续执行DDL操作来阻止用户访问该应用程序。

关于oracle - 如何在Oracle 11上检查索引构建状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com