小编beb*_*bbo的帖子

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

我在SQL索引创建中犯了一个可怕的错误:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ;
Run Code Online (Sandbox Code Playgroud)

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

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ONLINE;
Run Code Online (Sandbox Code Playgroud)

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

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

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

仇恨者:我知道我应该像这里提到的那样:( 来源)

CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
Run Code Online (Sandbox Code Playgroud)

oracle indexing plsql oracle11g plsqldeveloper

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

indexing ×1

oracle ×1

oracle11g ×1

plsql ×1

plsqldeveloper ×1