create index online 异常处理 ORA-08104


开发online加了条索引,等了半小时没结果手动CRTL+C了,没起作用直接把窗口关了

SQL>  drop index clspuser.SPLIT_RSLT_HB_STATUS_IDX ;
 drop index clspuser.SPLIT_RSLT_HB_STATUS_IDX
                     *
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified


SQL> alter index   clspuser.SPLIT_RSLT_HB_STATUS_IDX  rebuild;
alter index   clspuser.SPLIT_RSLT_HB_STATUS_IDX  rebuild
*
ERROR at line 1:
ORA-08104: this index object 184546 is being online built or rebuilt


SQL> 

这个网上有很多血案:幸好未酿成大错

手工执行如下清理job:

SQL> DECLARE
  2  isClean BOOLEAN;
  3  BEGIN
  4    isClean := FALSE;
  5    WHILE isClean=FALSE
  6    LOOP
  7      isClean := dbms_repair.online_index_clean(dbms_repair.all_index_id, dbms_repair.lock_wait);
  8      dbms_lock.sleep(5);
  9    END LOOP;
 10  END;
 11  /

PL/SQL procedure successfully completed.

SQL> 
清理完成后显示索引不存在了:

SQL> select index_name, column_name,column_position from user_ind_columns where table_name ='CRF_P2P_INTEREST_SPLIT_RSLT' order by index_name, column_position;

INDEX_NAME                     COLUMN_NAME                    COLUMN_POSITION
------------------------------ ------------------------------ ---------------
IDX_INTEREST_SPLIT_RSLT_CPIISM CPIS_PRI_NUMBER                              1
IDX_INTEREST_SPLIT_RSLT_CPISM  CPISM_PRI_NUMBER                             1
PK_CRF_P2P_INTEREST_SPLIT_RSLT PRI_NUMBER                                   1

SQL>
再重新创建:

SQL> create index SPLIT_RSLT_HB_STATUS_IDX ON  clspuser.crf_p2p_interest_split_rslt (HB_STATUS) ;
create index SPLIT_RSLT_HB_STATUS_IDX ON  clspuser.crf_p2p_interest_split_rslt (HB_STATUS)
                                                   *
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified


SQL> alter  index SPLIT_RSLT_HB_STATUS_IDX  rebuild;
alter  index SPLIT_RSLT_HB_STATUS_IDX  rebuild
*
ERROR at line 1:
ORA-01418: specified index does not exist


SQL>  create index SPLIT_RSLT_HB_STATUS_IDX ON  clspuser.crf_p2p_interest_split_rslt (HB_STATUS) online;

Index created.

SQL> 






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值